<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://docs.larian.game/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Larian+octaaf</id>
	<title>Divinity Engine Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://docs.larian.game/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Larian+octaaf"/>
	<link rel="alternate" type="text/html" href="https://docs.larian.game/Special:Contributions/Larian_octaaf"/>
	<updated>2026-05-13T06:43:12Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.41.0</generator>
	<entry>
		<id>https://docs.larian.game/index.php?title=Script_debugger&amp;diff=955</id>
		<title>Script debugger</title>
		<link rel="alternate" type="text/html" href="https://docs.larian.game/index.php?title=Script_debugger&amp;diff=955"/>
		<updated>2017-08-07T13:03:54Z</updated>

		<summary type="html">&lt;p&gt;Larian octaaf: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;h1&amp;gt;&amp;lt;u&amp;gt;The interface&amp;lt;/u&amp;gt;&amp;lt;/h1&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;The script debugger is part of the script editor and it has 3 main areas:&amp;lt;/p&amp;gt;&lt;br /&gt;
[[File:Interface script editor.png]]&lt;br /&gt;
&amp;lt;ol&amp;gt;&amp;lt;li&amp;gt;Debug toolbar, with buttons and comboboxes for basic debug functions.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;An object panel, containing all the scripts of an object. The object panel is used to place breakpoints and to show the actual stepping.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The debug panels: errors, watch, and output. Watch and output are only actuve when debugging is enabled. The watch panel provides info on script parameters during debugging, while the output panel shows the debug flow output and user output.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&amp;lt;h2&amp;gt;Debug toolbar&amp;lt;/h2&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
[[File:Interface debug toolbar.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;ol&amp;gt;&amp;lt;li&amp;gt;Checkbox to enable/disable debugging features. Without this enabled no debug features will work, neither will the watch and output panel.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[Alt+Pause] Pause button to pause the game as soon as possible. In practice it will break in the very first script of the frame.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[F5] Continue button to continue the game when debugging.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[F10] Step button to execute a 'step' when debugging. What this step is and in which script it will do this step is dependent on the following comboboxes (5, 6, and 7).&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;A combobox to select the stepping type. 'Step in scripts' will step 1 action/condition forward in the script being debugged. 'Step in objects' will step 1 action/condition forward in the object being debugged. An object can have more than 1 script, meaning that a step might break in another script attached to the object.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;A combobox to select the debug object. All objects (whether item or character) with a script attached are available for selection. Whenever a step is made the object in this combobox is the object being stepped through. Selecting an object will open and show an object panel for the selected object.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;A combobox to select the debug script. The options are the scripts attached to the selected debug object. This combobox will be empty if no debug object is selected. Whenever a step is made the script in this combobox is the script being stepped through. Selecting a script will open and show an object panel for the selected object and show the selected script.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Checkbox to enable/disable the following of the debug helper. When enabled the debugger will always open the object file for the currently selected object in the debug helper (activated with CTRL+SHIFT+LMB).&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&amp;lt;h2&amp;gt;Object panel&amp;lt;/h2&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
[[File:Interface object panel.png]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;ol&amp;gt;&amp;lt;li&amp;gt;An object panel tab name is always preceded by 'Object - ', while a script panel is preceded by 'Script - '.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;A green bar if the object is active (= executing scripts) or a red bar if the object is inactive.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;All scripts that are attached to the object have their own tab. All these panels are read-only and are only used for debugging.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;When clicking this button it will select the object and script of this panel in the comboboxes in the debug toolbar.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;A breakpoint that will 'break' (pause) the script whenever it is about to execute the line it has been placed on. Place a breakpoint by clicking in the margin next to the linenumbers and remove it by clicking the breakpoint again. If a breakpoint is disabled it will be white instead of red. If a breakpoint has conditions it will have a cross as well.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The yellow arrow and grey background indicate the line that's about to be executed in the next step. These markers are only visible when debugging.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;When a script is included in another script it's still attached to the object. This is not always as obvious due to recursive includes, so a blue bar will notify you in that case:&amp;lt;/p&amp;gt;&lt;br /&gt;
[[File:Interface included file.png]]&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;h3&amp;gt;Breakpoint context menu&amp;lt;/h3&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;The breakpoint context menu can be accessed by CTRL+Click on a breakpoint:&amp;lt;/p&amp;gt;&lt;br /&gt;
[[File:Interface breakpoint.png]]&lt;br /&gt;
&amp;lt;p&amp;gt;It allows you to enable or disable the breakpoint (a disabled breakpoint will never break), access the breakpoint conditions menu, or to reset or view the hit count. The hit count of a breakpoint is the amount of times that line has been 'hit'/executed.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;h3&amp;gt;Breakpoint conditions menu&amp;lt;/h3&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;The breakpoint conditions menu can be accessed via the previously mentioned breakpoint context menu:&amp;lt;/p&amp;gt;&lt;br /&gt;
[[File:Interface breakpoint conditions.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;The menu is used to create conditional breakpoints: breakpoints that only break when all conditions pass. As can be seen there are two types:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ol&amp;gt;&amp;lt;li&amp;gt;Hit count: set a condition for the hit count by checking whether the hit count is equal to, not equal to, larger than or equal to, smaller than, or a multiple of your entered hit count.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Expression: set a condition by comparing the value of a parameter and check if it's equal to, not equal to, larger than or equal to, or smaller than your entered value. Checking whether a STRING is smaller than another STRING might not be best idea here. It would work for INT and FLOAT though.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&amp;lt;h3&amp;gt;Hover menu&amp;lt;/h3&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;The hover menu shows up when you're debugging and the mouse pointer hovers over a parameter for 0.5 or more seconds:&amp;lt;/p&amp;gt;&lt;br /&gt;
[[File:Interface hover.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;It's a quick way to see the value of a parameter, and it's not necessary to actually break to see the value.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;h2&amp;gt;Debug panels&amp;lt;/h2&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;All debug panels can be opened via the 'View'-dropdown in the menubar.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;h3&amp;gt;Watch panel&amp;lt;/h3&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
[[File:Interface watch panel.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;ol&amp;gt;&amp;lt;li&amp;gt;Filters for the script paramaters based on the file, scope, and name. Multiple filters can be added if seperated by a space (e.g. &amp;quot;filter1 filter2&amp;quot;).&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;All script parameters of the object that is currently being debugged. The scope column contains 'Global' if the script parameter is not part of a reaction, interrupt, event, or scriptframe. The value column contains 'NULL' if the script parameter containts no data.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&amp;lt;h3&amp;gt;Output panel&amp;lt;/h3&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
[[File:Interface_output_panel.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;ol&amp;gt;&amp;lt;li&amp;gt;Clear the output panel of all output. This will not clear the saved output file.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;This part contains all output messages. It will automatically scroll to the last output message if the mouse pointer is located after the last message and no selection has been made.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;It is possible to output text in the output panel with the Output() action:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;EVENTS&lt;br /&gt;
EVENT ExampleEvent&lt;br /&gt;
ON &lt;br /&gt;
    OnTimer(&amp;quot;ExampleTimer&amp;quot;)&lt;br /&gt;
VARS&lt;br /&gt;
    FIXEDSTRING:_ExampleFixedString=&amp;quot;ExampleFixedString&amp;quot;&lt;br /&gt;
ACTIONS&lt;br /&gt;
    Output(&amp;quot;Example output with a fixed string '[1]' and an int [2]&amp;quot;, _ExampleFixedString, INT:10)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;The script event above would output the following text:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;01:23:45.678: [CurrentDebugObject | CurrentDebugScript.charScript | 10]: Example output with a fixed string 'ExampleFixedString' and an int 10&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;As you can see, most output is preceded by some extra info on the location of the output (if relevant).&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;h1&amp;gt;&amp;lt;u&amp;gt;Debugging&amp;lt;/u&amp;gt;&amp;lt;/h1&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Before you start debugging there are a few more things you need to know.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;h2&amp;gt;Starting and stopping a debug session&amp;lt;/h2&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Starting and stopping a debug session can be done in both editor and game mode. To start or stop a debug session all you need to do is to enable 'Debug' in the debug toolbar. Starting a debug session will not change the behavior of the game, but you will start seeing output in the output panel if there is any. The watch panel will not contain any data until you break in a script by pausing or due to a breakpoint. The pause button and breakpoints will start working when you start a debug session as well.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;h2&amp;gt;Stepping through an object or script&amp;lt;/h2&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Once you've got a debug session running you can start to actually debug a script. You can do this by putting a breakpoint on the line where you would like to pause the script. When that line is about to be executed the script will pause. When the script is paused you can step with the 'step' button. This will execute the current line and then break on the next line. The next line could be in a different script in the same object. The next script break location depends on your step setting (in the combobox). When the script is paused it is possible to change the current debug object and/or script in the comboboxes in the debug toolbar. This will cause the next step to break the script in the newly selected object and script.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;h2&amp;gt;Breakpoints&amp;lt;/h2&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Breakpoints do not only have a line location, but an object and script location as well. Multiple objects can have the same script, but when you place a breakpoint it will count for only one of those. The actual breakpoint location is dependent on the object panel you used when placing the breakpoint. Also, not all locations are valid breakpoint locations. The only valid locations are lines that can be executed (i.e. actions, conditions, 'IF', and 'ELSE'). In the following code snippit the only valid line would be the last one:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;EVENTS&lt;br /&gt;
EVENT Init&lt;br /&gt;
ON&lt;br /&gt;
    OnInit()&lt;br /&gt;
ACTIONS&lt;br /&gt;
    Output(&amp;quot;OutputText&amp;quot;)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;h2&amp;gt;Script break&amp;lt;/h2&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;A script break will pause both the game and script. Right before the script is about to execute the line it will break (due to a breakpoint or a requested pause). After this script break nothing besides the script editor will update. This also means that there is no way to use other debug tools, like the console, during a script break. This is purely due to the nature of a debugger. If anything would be allowed to update during a script break it would invalidate the debug data and it would become unreliable.&amp;lt;/p&amp;gt;&lt;/div&gt;</summary>
		<author><name>Larian octaaf</name></author>
	</entry>
	<entry>
		<id>https://docs.larian.game/index.php?title=File:Interface_breakpoint.png&amp;diff=954</id>
		<title>File:Interface breakpoint.png</title>
		<link rel="alternate" type="text/html" href="https://docs.larian.game/index.php?title=File:Interface_breakpoint.png&amp;diff=954"/>
		<updated>2017-08-07T13:01:49Z</updated>

		<summary type="html">&lt;p&gt;Larian octaaf: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Larian octaaf</name></author>
	</entry>
	<entry>
		<id>https://docs.larian.game/index.php?title=Script_debugger&amp;diff=953</id>
		<title>Script debugger</title>
		<link rel="alternate" type="text/html" href="https://docs.larian.game/index.php?title=Script_debugger&amp;diff=953"/>
		<updated>2017-08-07T13:00:57Z</updated>

		<summary type="html">&lt;p&gt;Larian octaaf: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;h1&amp;gt;&amp;lt;u&amp;gt;The interface&amp;lt;/u&amp;gt;&amp;lt;/h1&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;The script debugger is part of the script editor and it has 3 main areas:&amp;lt;/p&amp;gt;&lt;br /&gt;
[[File:Interface script editor.png]]&lt;br /&gt;
&amp;lt;ol&amp;gt;&amp;lt;li&amp;gt;Debug toolbar, with buttons and comboboxes for basic debug functions.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;An object panel, containing all the scripts of an object. The object panel is used to place breakpoints and to show the actual stepping.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The debug panels: errors, watch, and output. Watch and output are only actuve when debugging is enabled. The watch panel provides info on script parameters during debugging, while the output panel shows the debug flow output and user output.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&amp;lt;h2&amp;gt;Debug toolbar&amp;lt;/h2&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
[[File:Interface debug toolbar.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;ol&amp;gt;&amp;lt;li&amp;gt;Checkbox to enable/disable debugging features. Without this enabled no debug features will work, neither will the watch and output panel.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[Alt+Pause] Pause button to pause the game as soon as possible. In practice it will break in the very first script of the frame.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[F5] Continue button to continue the game when debugging.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[F10] Step button to execute a 'step' when debugging. What this step is and in which script it will do this step is dependent on the following comboboxes (5, 6, and 7).&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;A combobox to select the stepping type. 'Step in scripts' will step 1 action/condition forward in the script being debugged. 'Step in objects' will step 1 action/condition forward in the object being debugged. An object can have more than 1 script, meaning that a step might break in another script attached to the object.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;A combobox to select the debug object. All objects (whether item or character) with a script attached are available for selection. Whenever a step is made the object in this combobox is the object being stepped through. Selecting an object will open and show an object panel for the selected object.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;A combobox to select the debug script. The options are the scripts attached to the selected debug object. This combobox will be empty if no debug object is selected. Whenever a step is made the script in this combobox is the script being stepped through. Selecting a script will open and show an object panel for the selected object and show the selected script.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Checkbox to enable/disable the following of the debug helper. When enabled the debugger will always open the object file for the currently selected object in the debug helper (activated with CTRL+SHIFT+LMB).&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&amp;lt;h2&amp;gt;Object panel&amp;lt;/h2&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
[[File:Interface object panel.png]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;ol&amp;gt;&amp;lt;li&amp;gt;An object panel tab name is always preceded by 'Object - ', while a script panel is preceded by 'Script - '.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;A green bar if the object is active (= executing scripts) or a red bar if the object is inactive.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;All scripts that are attached to the object have their own tab. All these panels are read-only and are only used for debugging.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;When clicking this button it will select the object and script of this panel in the comboboxes in the debug toolbar.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;A breakpoint that will 'break' (pause) the script whenever it is about to execute the line it has been placed on. Place a breakpoint by clicking in the margin next to the linenumbers and remove it by clicking the breakpoint again. If a breakpoint is disabled it will be white instead of red. If a breakpoint has conditions it will have a cross as well.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The yellow arrow and grey background indicate the line that's about to be executed in the next step. These markers are only visible when debugging.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;When a script is included in another script it's still attached to the object. This is not always as obvious due to recursive includes, so a blue bar will notify you in that case:&amp;lt;/p&amp;gt;&lt;br /&gt;
[[File:Interface included file.png]]&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;h3&amp;gt;Breakpoint context menu&amp;lt;/h3&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;The breakpoint context menu can be accessed by CTRL+Click on a breakpoint:&amp;lt;/p&amp;gt;&lt;br /&gt;
[[File:Interface breakpoint.png]]&lt;br /&gt;
&amp;lt;p&amp;gt;It allows you to enable or disable the breakpoint (a disabled breakpoint will never break), access the breakpoint conditions menu, or to reset or view the hit count. The hit count of a breakpoint is the amount of times that line has been 'hit'/executed.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;h3&amp;gt;Breakpoint conditions menu&amp;lt;/h3&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;The breakpoint conditions menu can be accessed via the previously mentioned breakpoint context menu:&amp;lt;/p&amp;gt;&lt;br /&gt;
[[File:Interface breakpoint conditions.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;The menu is used to create conditional breakpoints: breakpoints that only break when all conditions pass. As can be seen there are two types:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ol&amp;gt;&amp;lt;li&amp;gt;Hit count: set a condition for the hit count by checking whether the hit count is equal to, not equal to, larger than or equal to, smaller than, or a multiple of your entered hit count.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Expression: set a condition by comparing the value of a parameter and check if it's equal to, not equal to, larger than or equal to, or smaller than your entered value. Checking whether a STRING is smaller than another STRING might not be best idea here. It would work for INT and FLOAT though.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&amp;lt;h3&amp;gt;Hover menu&amp;lt;/h3&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;The hover menu shows up when you're debugging and the mouse pointer hovers over a parameter for 0.5 or more seconds:&amp;lt;/p&amp;gt;&lt;br /&gt;
[[File:Interface hover.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;It's a quick way to see the value of a parameter, and it's not necessary to actually break to see the value.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;h2&amp;gt;Debug panels&amp;lt;/h2&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;All debug panels can be opened via the 'View'-dropdown in the menubar.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;h3&amp;gt;Watch panel&amp;lt;/h3&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
[[File:Interface watch panel.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;ol&amp;gt;&amp;lt;li&amp;gt;Filters for the script paramaters based on the file, scope, and name. Multiple filters can be added if seperated by a space (e.g. &amp;quot;filter1 filter2&amp;quot;).&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;All script parameters of the object that is currently being debugged. The scope column contains 'Global' if the script parameter is not part of a reaction, interrupt, event, or scriptframe. The value column contains 'NULL' if the script parameter containts no data.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&amp;lt;h3&amp;gt;Output panel&amp;lt;/h3&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
[[File:Interface output panel]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;ol&amp;gt;&amp;lt;li&amp;gt;Clear the output panel of all output. This will not clear the saved output file.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;This part contains all output messages. It will automatically scroll to the last output message if the mouse pointer is located after the last message and no selection has been made.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;It is possible to output text in the output panel with the Output() action:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;EVENTS&lt;br /&gt;
EVENT ExampleEvent&lt;br /&gt;
ON &lt;br /&gt;
    OnTimer(&amp;quot;ExampleTimer&amp;quot;)&lt;br /&gt;
VARS&lt;br /&gt;
    FIXEDSTRING:_ExampleFixedString=&amp;quot;ExampleFixedString&amp;quot;&lt;br /&gt;
ACTIONS&lt;br /&gt;
    Output(&amp;quot;Example output with a fixed string '[1]' and an int [2]&amp;quot;, _ExampleFixedString, INT:10)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;The script event above would output the following text:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;01:23:45.678: [CurrentDebugObject | CurrentDebugScript.charScript | 10]: Example output with a fixed string 'ExampleFixedString' and an int 10&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;As you can see, most output is preceded by some extra info on the location of the output (if relevant).&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;h1&amp;gt;&amp;lt;u&amp;gt;Debugging&amp;lt;/u&amp;gt;&amp;lt;/h1&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Before you start debugging there are a few more things you need to know.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;h2&amp;gt;Starting and stopping a debug session&amp;lt;/h2&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Starting and stopping a debug session can be done in both editor and game mode. To start or stop a debug session all you need to do is to enable 'Debug' in the debug toolbar. Starting a debug session will not change the behavior of the game, but you will start seeing output in the output panel if there is any. The watch panel will not contain any data until you break in a script by pausing or due to a breakpoint. The pause button and breakpoints will start working when you start a debug session as well.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;h2&amp;gt;Stepping through an object or script&amp;lt;/h2&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Once you've got a debug session running you can start to actually debug a script. You can do this by putting a breakpoint on the line where you would like to pause the script. When that line is about to be executed the script will pause. When the script is paused you can step with the 'step' button. This will execute the current line and then break on the next line. The next line could be in a different script in the same object. The next script break location depends on your step setting (in the combobox). When the script is paused it is possible to change the current debug object and/or script in the comboboxes in the debug toolbar. This will cause the next step to break the script in the newly selected object and script.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;h2&amp;gt;Breakpoints&amp;lt;/h2&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Breakpoints do not only have a line location, but an object and script location as well. Multiple objects can have the same script, but when you place a breakpoint it will count for only one of those. The actual breakpoint location is dependent on the object panel you used when placing the breakpoint. Also, not all locations are valid breakpoint locations. The only valid locations are lines that can be executed (i.e. actions, conditions, 'IF', and 'ELSE'). In the following code snippit the only valid line would be the last one:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;EVENTS&lt;br /&gt;
EVENT Init&lt;br /&gt;
ON&lt;br /&gt;
    OnInit()&lt;br /&gt;
ACTIONS&lt;br /&gt;
    Output(&amp;quot;OutputText&amp;quot;)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;h2&amp;gt;Script break&amp;lt;/h2&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;A script break will pause both the game and script. Right before the script is about to execute the line it will break (due to a breakpoint or a requested pause). After this script break nothing besides the script editor will update. This also means that there is no way to use other debug tools, like the console, during a script break. This is purely due to the nature of a debugger. If anything would be allowed to update during a script break it would invalidate the debug data and it would become unreliable.&amp;lt;/p&amp;gt;&lt;/div&gt;</summary>
		<author><name>Larian octaaf</name></author>
	</entry>
	<entry>
		<id>https://docs.larian.game/index.php?title=Script_debugger&amp;diff=952</id>
		<title>Script debugger</title>
		<link rel="alternate" type="text/html" href="https://docs.larian.game/index.php?title=Script_debugger&amp;diff=952"/>
		<updated>2017-08-07T12:56:21Z</updated>

		<summary type="html">&lt;p&gt;Larian octaaf: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;h1&amp;gt;&amp;lt;u&amp;gt;The interface&amp;lt;/u&amp;gt;&amp;lt;/h1&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;The script debugger is part of the script editor and it has 3 main areas:&amp;lt;/p&amp;gt;&lt;br /&gt;
[[File:Interface script editor.png]]&lt;br /&gt;
&amp;lt;ol&amp;gt;&amp;lt;li&amp;gt;Debug toolbar, with buttons and comboboxes for basic debug functions.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;An object panel, containing all the scripts of an object. The object panel is used to place breakpoints and to show the actual stepping.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The debug panels: errors, watch, and output. Watch and output are only actuve when debugging is enabled. The watch panel provides info on script parameters during debugging, while the output panel shows the debug flow output and user output.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&amp;lt;h2&amp;gt;Debug toolbar&amp;lt;/h2&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
[[File:Interface debug toolbar.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;ol&amp;gt;&amp;lt;li&amp;gt;Checkbox to enable/disable debugging features. Without this enabled no debug features will work, neither will the watch and output panel.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[Alt+Pause] Pause button to pause the game as soon as possible. In practice it will break in the very first script of the frame.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[F5] Continue button to continue the game when debugging.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[F10] Step button to execute a 'step' when debugging. What this step is and in which script it will do this step is dependent on the following comboboxes (5, 6, and 7).&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;A combobox to select the stepping type. 'Step in scripts' will step 1 action/condition forward in the script being debugged. 'Step in objects' will step 1 action/condition forward in the object being debugged. An object can have more than 1 script, meaning that a step might break in another script attached to the object.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;A combobox to select the debug object. All objects (whether item or character) with a script attached are available for selection. Whenever a step is made the object in this combobox is the object being stepped through. Selecting an object will open and show an object panel for the selected object.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;A combobox to select the debug script. The options are the scripts attached to the selected debug object. This combobox will be empty if no debug object is selected. Whenever a step is made the script in this combobox is the script being stepped through. Selecting a script will open and show an object panel for the selected object and show the selected script.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Checkbox to enable/disable the following of the debug helper. When enabled the debugger will always open the object file for the currently selected object in the debug helper (activated with CTRL+SHIFT+LMB).&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&amp;lt;h2&amp;gt;Object panel&amp;lt;/h2&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
[[File:Interface object panel.png]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;ol&amp;gt;&amp;lt;li&amp;gt;An object panel tab name is always preceded by 'Object - ', while a script panel is preceded by 'Script - '.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;A green bar if the object is active (= executing scripts) or a red bar if the object is inactive.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;All scripts that are attached to the object have their own tab. All these panels are read-only and are only used for debugging.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;When clicking this button it will select the object and script of this panel in the comboboxes in the debug toolbar.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;A breakpoint that will 'break' (pause) the script whenever it is about to execute the line it has been placed on. Place a breakpoint by clicking in the margin next to the linenumbers and remove it by clicking the breakpoint again. If a breakpoint is disabled it will be white instead of red. If a breakpoint has conditions it will have a cross as well.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The yellow arrow and grey background indicate the line that's about to be executed in the next step. These markers are only visible when debugging.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;When a script is included in another script it's still attached to the object. This is not always as obvious due to recursive includes, so a blue bar will notify you in that case:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display:block;text-align:left&amp;quot;&amp;gt;&amp;lt;a href=&amp;quot;https://sites.google.com/a/larian.com/larian-wikisite/home/script-debugger/Interface_included_file.png?attredirects=0&amp;quot; imageanchor=&amp;quot;1&amp;quot;&amp;gt;&amp;lt;img border=&amp;quot;0&amp;quot; src=&amp;quot;https://sites.google.com/a/larian.com/larian-wikisite/home/script-debugger/Interface_included_file.png&amp;quot;&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;h3&amp;gt;Breakpoint context menu&amp;lt;/h3&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;The breakpoint context menu can be accessed by CTRL+Click on a breakpoint:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display:block;text-align:left&amp;quot;&amp;gt;&amp;lt;a href=&amp;quot;https://sites.google.com/a/larian.com/larian-wikisite/home/script-debugger/Interface_breakpoint.png?attredirects=0&amp;quot; imageanchor=&amp;quot;1&amp;quot;&amp;gt;&amp;lt;img border=&amp;quot;0&amp;quot; src=&amp;quot;https://sites.google.com/a/larian.com/larian-wikisite/home/script-debugger/Interface_breakpoint.png&amp;quot;&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;It allows you to enable or disable the breakpoint (a disabled breakpoint will never break), access the breakpoint conditions menu, or to reset or view the hit count. The hit count of a breakpoint is the amount of times that line has been 'hit'/executed.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;h3&amp;gt;Breakpoint conditions menu&amp;lt;/h3&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;The breakpoint conditions menu can be accessed via the previously mentioned breakpoint context menu:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display:block;text-align:left&amp;quot;&amp;gt;&amp;lt;a href=&amp;quot;https://sites.google.com/a/larian.com/larian-wikisite/home/script-debugger/Interface_breakpoint_conditions.png?attredirects=0&amp;quot; imageanchor=&amp;quot;1&amp;quot;&amp;gt;&amp;lt;img border=&amp;quot;0&amp;quot; src=&amp;quot;https://sites.google.com/a/larian.com/larian-wikisite/home/script-debugger/Interface_breakpoint_conditions.png&amp;quot;&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;The menu is used to create conditional breakpoints: breakpoints that only break when all conditions pass. As can be seen there are two types:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ol&amp;gt;&amp;lt;li&amp;gt;Hit count: set a condition for the hit count by checking whether the hit count is equal to, not equal to, larger than or equal to, smaller than, or a multiple of your entered hit count.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Expression: set a condition by comparing the value of a parameter and check if it's equal to, not equal to, larger than or equal to, or smaller than your entered value. Checking whether a STRING is smaller than another STRING might not be best idea here. It would work for INT and FLOAT though.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&amp;lt;h3&amp;gt;Hover menu&amp;lt;/h3&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;The hover menu shows up when you're debugging and the mouse pointer hovers over a parameter for 0.5 or more seconds:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display:block;text-align:left&amp;quot;&amp;gt;&amp;lt;a href=&amp;quot;https://sites.google.com/a/larian.com/larian-wikisite/home/script-debugger/Interface_hover.png?attredirects=0&amp;quot; imageanchor=&amp;quot;1&amp;quot;&amp;gt;&amp;lt;img border=&amp;quot;0&amp;quot; src=&amp;quot;https://sites.google.com/a/larian.com/larian-wikisite/home/script-debugger/Interface_hover.png&amp;quot;&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;It's a quick way to see the value of a parameter, and it's not necessary to actually break to see the value.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;h2&amp;gt;Debug panels&amp;lt;/h2&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;All debug panels can be opened via the 'View'-dropdown in the menubar.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;h3&amp;gt;Watch panel&amp;lt;/h3&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display:block;text-align:left&amp;quot;&amp;gt;&amp;lt;a href=&amp;quot;https://sites.google.com/a/larian.com/larian-wikisite/home/script-debugger/Interface_watch_panel.png?attredirects=0&amp;quot; imageanchor=&amp;quot;1&amp;quot;&amp;gt;&amp;lt;img border=&amp;quot;0&amp;quot; src=&amp;quot;https://sites.google.com/a/larian.com/larian-wikisite/home/script-debugger/Interface_watch_panel.png&amp;quot;&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;ol&amp;gt;&amp;lt;li&amp;gt;Filters for the script paramaters based on the file, scope, and name. Multiple filters can be added if seperated by a space (e.g. &amp;quot;filter1 filter2&amp;quot;).&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;All script parameters of the object that is currently being debugged. The scope column contains 'Global' if the script parameter is not part of a reaction, interrupt, event, or scriptframe. The value column contains 'NULL' if the script parameter containts no data.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&amp;lt;h3&amp;gt;Output panel&amp;lt;/h3&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display:block;text-align:left&amp;quot;&amp;gt;&amp;lt;a href=&amp;quot;https://sites.google.com/a/larian.com/larian-wikisite/home/script-debugger/Interface_output_panel.png?attredirects=0&amp;quot; imageanchor=&amp;quot;1&amp;quot;&amp;gt;&amp;lt;img border=&amp;quot;0&amp;quot; src=&amp;quot;https://sites.google.com/a/larian.com/larian-wikisite/home/script-debugger/Interface_output_panel.png&amp;quot;&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;ol&amp;gt;&amp;lt;li&amp;gt;Clear the output panel of all output. This will not clear the saved output file.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;This part contains all output messages. It will automatically scroll to the last output message if the mouse pointer is located after the last message and no selection has been made.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;It is possible to output text in the output panel with the Output() action:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;EVENTS&lt;br /&gt;
EVENT ExampleEvent&lt;br /&gt;
ON &lt;br /&gt;
    OnTimer(&amp;quot;ExampleTimer&amp;quot;)&lt;br /&gt;
VARS&lt;br /&gt;
    FIXEDSTRING:_ExampleFixedString=&amp;quot;ExampleFixedString&amp;quot;&lt;br /&gt;
ACTIONS&lt;br /&gt;
    Output(&amp;quot;Example output with a fixed string '[1]' and an int [2]&amp;quot;, _ExampleFixedString, INT:10)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;The script event above would output the following text:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;01:23:45.678: [CurrentDebugObject | CurrentDebugScript.charScript | 10]: Example output with a fixed string 'ExampleFixedString' and an int 10&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;As you can see, most output is preceded by some extra info on the location of the output (if relevant).&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;h1&amp;gt;&amp;lt;u&amp;gt;Debugging&amp;lt;/u&amp;gt;&amp;lt;/h1&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Before you start debugging there are a few more things you need to know.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;h2&amp;gt;Starting and stopping a debug session&amp;lt;/h2&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Starting and stopping a debug session can be done in both editor and game mode. To start or stop a debug session all you need to do is to enable 'Debug' in the debug toolbar. Starting a debug session will not change the behavior of the game, but you will start seeing output in the output panel if there is any. The watch panel will not contain any data until you break in a script by pausing or due to a breakpoint. The pause button and breakpoints will start working when you start a debug session as well.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;h2&amp;gt;Stepping through an object or script&amp;lt;/h2&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Once you've got a debug session running you can start to actually debug a script. You can do this by putting a breakpoint on the line where you would like to pause the script. When that line is about to be executed the script will pause. When the script is paused you can step with the 'step' button. This will execute the current line and then break on the next line. The next line could be in a different script in the same object. The next script break location depends on your step setting (in the combobox). When the script is paused it is possible to change the current debug object and/or script in the comboboxes in the debug toolbar. This will cause the next step to break the script in the newly selected object and script.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;h2&amp;gt;Breakpoints&amp;lt;/h2&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Breakpoints do not only have a line location, but an object and script location as well. Multiple objects can have the same script, but when you place a breakpoint it will count for only one of those. The actual breakpoint location is dependent on the object panel you used when placing the breakpoint. Also, not all locations are valid breakpoint locations. The only valid locations are lines that can be executed (i.e. actions, conditions, 'IF', and 'ELSE'). In the following code snippit the only valid line would be the last one:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;EVENTS&lt;br /&gt;
EVENT Init&lt;br /&gt;
ON&lt;br /&gt;
    OnInit()&lt;br /&gt;
ACTIONS&lt;br /&gt;
    Output(&amp;quot;OutputText&amp;quot;)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;h2&amp;gt;Script break&amp;lt;/h2&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;A script break will pause both the game and script. Right before the script is about to execute the line it will break (due to a breakpoint or a requested pause). After this script break nothing besides the script editor will update. This also means that there is no way to use other debug tools, like the console, during a script break. This is purely due to the nature of a debugger. If anything would be allowed to update during a script break it would invalidate the debug data and it would become unreliable.&amp;lt;/p&amp;gt;&lt;/div&gt;</summary>
		<author><name>Larian octaaf</name></author>
	</entry>
	<entry>
		<id>https://docs.larian.game/index.php?title=Script_debugger&amp;diff=951</id>
		<title>Script debugger</title>
		<link rel="alternate" type="text/html" href="https://docs.larian.game/index.php?title=Script_debugger&amp;diff=951"/>
		<updated>2017-08-07T12:55:29Z</updated>

		<summary type="html">&lt;p&gt;Larian octaaf: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;h1&amp;gt;&amp;lt;u&amp;gt;The interface&amp;lt;/u&amp;gt;&amp;lt;/h1&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;The script debugger is part of the script editor and it has 3 main areas:&amp;lt;/p&amp;gt;&lt;br /&gt;
[[File:Interface script editor.png]]&lt;br /&gt;
&amp;lt;ol&amp;gt;&amp;lt;li&amp;gt;Debug toolbar, with buttons and comboboxes for basic debug functions.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;An object panel, containing all the scripts of an object. The object panel is used to place breakpoints and to show the actual stepping.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The debug panels: errors, watch, and output. Watch and output are only actuve when debugging is enabled. The watch panel provides info on script parameters during debugging, while the output panel shows the debug flow output and user output.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&amp;lt;h2&amp;gt;Debug toolbar&amp;lt;/h2&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display:block;text-align:left&amp;quot;&amp;gt;&amp;lt;a href=&amp;quot;https://sites.google.com/a/larian.com/larian-wikisite/home/script-debugger/Interface_debug_toolbar.png?attredirects=0&amp;quot; imageanchor=&amp;quot;1&amp;quot;&amp;gt;&amp;lt;img border=&amp;quot;0&amp;quot; src=&amp;quot;https://sites.google.com/a/larian.com/larian-wikisite/home/script-debugger/Interface_debug_toolbar.png&amp;quot;&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;ol&amp;gt;&amp;lt;li&amp;gt;Checkbox to enable/disable debugging features. Without this enabled no debug features will work, neither will the watch and output panel.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[Alt+Pause] Pause button to pause the game as soon as possible. In practice it will break in the very first script of the frame.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[F5] Continue button to continue the game when debugging.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[F10] Step button to execute a 'step' when debugging. What this step is and in which script it will do this step is dependent on the following comboboxes (5, 6, and 7).&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;A combobox to select the stepping type. 'Step in scripts' will step 1 action/condition forward in the script being debugged. 'Step in objects' will step 1 action/condition forward in the object being debugged. An object can have more than 1 script, meaning that a step might break in another script attached to the object.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;A combobox to select the debug object. All objects (whether item or character) with a script attached are available for selection. Whenever a step is made the object in this combobox is the object being stepped through. Selecting an object will open and show an object panel for the selected object.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;A combobox to select the debug script. The options are the scripts attached to the selected debug object. This combobox will be empty if no debug object is selected. Whenever a step is made the script in this combobox is the script being stepped through. Selecting a script will open and show an object panel for the selected object and show the selected script.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Checkbox to enable/disable the following of the debug helper. When enabled the debugger will always open the object file for the currently selected object in the debug helper (activated with CTRL+SHIFT+LMB).&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&amp;lt;h2&amp;gt;Object panel&amp;lt;/h2&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display:block;text-align:left&amp;quot;&amp;gt;&amp;lt;a href=&amp;quot;https://sites.google.com/a/larian.com/larian-wikisite/home/script-debugger/Interface_object_panel.png?attredirects=0&amp;quot; imageanchor=&amp;quot;1&amp;quot;&amp;gt;&amp;lt;img border=&amp;quot;0&amp;quot; src=&amp;quot;https://sites.google.com/a/larian.com/larian-wikisite/home/script-debugger/Interface_object_panel.png&amp;quot;&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;ol&amp;gt;&amp;lt;li&amp;gt;An object panel tab name is always preceded by 'Object - ', while a script panel is preceded by 'Script - '.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;A green bar if the object is active (= executing scripts) or a red bar if the object is inactive.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;All scripts that are attached to the object have their own tab. All these panels are read-only and are only used for debugging.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;When clicking this button it will select the object and script of this panel in the comboboxes in the debug toolbar.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;A breakpoint that will 'break' (pause) the script whenever it is about to execute the line it has been placed on. Place a breakpoint by clicking in the margin next to the linenumbers and remove it by clicking the breakpoint again. If a breakpoint is disabled it will be white instead of red. If a breakpoint has conditions it will have a cross as well.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The yellow arrow and grey background indicate the line that's about to be executed in the next step. These markers are only visible when debugging.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;When a script is included in another script it's still attached to the object. This is not always as obvious due to recursive includes, so a blue bar will notify you in that case:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display:block;text-align:left&amp;quot;&amp;gt;&amp;lt;a href=&amp;quot;https://sites.google.com/a/larian.com/larian-wikisite/home/script-debugger/Interface_included_file.png?attredirects=0&amp;quot; imageanchor=&amp;quot;1&amp;quot;&amp;gt;&amp;lt;img border=&amp;quot;0&amp;quot; src=&amp;quot;https://sites.google.com/a/larian.com/larian-wikisite/home/script-debugger/Interface_included_file.png&amp;quot;&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;h3&amp;gt;Breakpoint context menu&amp;lt;/h3&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;The breakpoint context menu can be accessed by CTRL+Click on a breakpoint:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display:block;text-align:left&amp;quot;&amp;gt;&amp;lt;a href=&amp;quot;https://sites.google.com/a/larian.com/larian-wikisite/home/script-debugger/Interface_breakpoint.png?attredirects=0&amp;quot; imageanchor=&amp;quot;1&amp;quot;&amp;gt;&amp;lt;img border=&amp;quot;0&amp;quot; src=&amp;quot;https://sites.google.com/a/larian.com/larian-wikisite/home/script-debugger/Interface_breakpoint.png&amp;quot;&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;It allows you to enable or disable the breakpoint (a disabled breakpoint will never break), access the breakpoint conditions menu, or to reset or view the hit count. The hit count of a breakpoint is the amount of times that line has been 'hit'/executed.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;h3&amp;gt;Breakpoint conditions menu&amp;lt;/h3&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;The breakpoint conditions menu can be accessed via the previously mentioned breakpoint context menu:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display:block;text-align:left&amp;quot;&amp;gt;&amp;lt;a href=&amp;quot;https://sites.google.com/a/larian.com/larian-wikisite/home/script-debugger/Interface_breakpoint_conditions.png?attredirects=0&amp;quot; imageanchor=&amp;quot;1&amp;quot;&amp;gt;&amp;lt;img border=&amp;quot;0&amp;quot; src=&amp;quot;https://sites.google.com/a/larian.com/larian-wikisite/home/script-debugger/Interface_breakpoint_conditions.png&amp;quot;&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;The menu is used to create conditional breakpoints: breakpoints that only break when all conditions pass. As can be seen there are two types:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ol&amp;gt;&amp;lt;li&amp;gt;Hit count: set a condition for the hit count by checking whether the hit count is equal to, not equal to, larger than or equal to, smaller than, or a multiple of your entered hit count.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Expression: set a condition by comparing the value of a parameter and check if it's equal to, not equal to, larger than or equal to, or smaller than your entered value. Checking whether a STRING is smaller than another STRING might not be best idea here. It would work for INT and FLOAT though.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&amp;lt;h3&amp;gt;Hover menu&amp;lt;/h3&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;The hover menu shows up when you're debugging and the mouse pointer hovers over a parameter for 0.5 or more seconds:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display:block;text-align:left&amp;quot;&amp;gt;&amp;lt;a href=&amp;quot;https://sites.google.com/a/larian.com/larian-wikisite/home/script-debugger/Interface_hover.png?attredirects=0&amp;quot; imageanchor=&amp;quot;1&amp;quot;&amp;gt;&amp;lt;img border=&amp;quot;0&amp;quot; src=&amp;quot;https://sites.google.com/a/larian.com/larian-wikisite/home/script-debugger/Interface_hover.png&amp;quot;&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;It's a quick way to see the value of a parameter, and it's not necessary to actually break to see the value.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;h2&amp;gt;Debug panels&amp;lt;/h2&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;All debug panels can be opened via the 'View'-dropdown in the menubar.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;h3&amp;gt;Watch panel&amp;lt;/h3&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display:block;text-align:left&amp;quot;&amp;gt;&amp;lt;a href=&amp;quot;https://sites.google.com/a/larian.com/larian-wikisite/home/script-debugger/Interface_watch_panel.png?attredirects=0&amp;quot; imageanchor=&amp;quot;1&amp;quot;&amp;gt;&amp;lt;img border=&amp;quot;0&amp;quot; src=&amp;quot;https://sites.google.com/a/larian.com/larian-wikisite/home/script-debugger/Interface_watch_panel.png&amp;quot;&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;ol&amp;gt;&amp;lt;li&amp;gt;Filters for the script paramaters based on the file, scope, and name. Multiple filters can be added if seperated by a space (e.g. &amp;quot;filter1 filter2&amp;quot;).&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;All script parameters of the object that is currently being debugged. The scope column contains 'Global' if the script parameter is not part of a reaction, interrupt, event, or scriptframe. The value column contains 'NULL' if the script parameter containts no data.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&amp;lt;h3&amp;gt;Output panel&amp;lt;/h3&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display:block;text-align:left&amp;quot;&amp;gt;&amp;lt;a href=&amp;quot;https://sites.google.com/a/larian.com/larian-wikisite/home/script-debugger/Interface_output_panel.png?attredirects=0&amp;quot; imageanchor=&amp;quot;1&amp;quot;&amp;gt;&amp;lt;img border=&amp;quot;0&amp;quot; src=&amp;quot;https://sites.google.com/a/larian.com/larian-wikisite/home/script-debugger/Interface_output_panel.png&amp;quot;&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;ol&amp;gt;&amp;lt;li&amp;gt;Clear the output panel of all output. This will not clear the saved output file.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;This part contains all output messages. It will automatically scroll to the last output message if the mouse pointer is located after the last message and no selection has been made.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;It is possible to output text in the output panel with the Output() action:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;EVENTS&lt;br /&gt;
EVENT ExampleEvent&lt;br /&gt;
ON &lt;br /&gt;
    OnTimer(&amp;quot;ExampleTimer&amp;quot;)&lt;br /&gt;
VARS&lt;br /&gt;
    FIXEDSTRING:_ExampleFixedString=&amp;quot;ExampleFixedString&amp;quot;&lt;br /&gt;
ACTIONS&lt;br /&gt;
    Output(&amp;quot;Example output with a fixed string '[1]' and an int [2]&amp;quot;, _ExampleFixedString, INT:10)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;The script event above would output the following text:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;01:23:45.678: [CurrentDebugObject | CurrentDebugScript.charScript | 10]: Example output with a fixed string 'ExampleFixedString' and an int 10&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;As you can see, most output is preceded by some extra info on the location of the output (if relevant).&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;h1&amp;gt;&amp;lt;u&amp;gt;Debugging&amp;lt;/u&amp;gt;&amp;lt;/h1&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Before you start debugging there are a few more things you need to know.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;h2&amp;gt;Starting and stopping a debug session&amp;lt;/h2&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Starting and stopping a debug session can be done in both editor and game mode. To start or stop a debug session all you need to do is to enable 'Debug' in the debug toolbar. Starting a debug session will not change the behavior of the game, but you will start seeing output in the output panel if there is any. The watch panel will not contain any data until you break in a script by pausing or due to a breakpoint. The pause button and breakpoints will start working when you start a debug session as well.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;h2&amp;gt;Stepping through an object or script&amp;lt;/h2&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Once you've got a debug session running you can start to actually debug a script. You can do this by putting a breakpoint on the line where you would like to pause the script. When that line is about to be executed the script will pause. When the script is paused you can step with the 'step' button. This will execute the current line and then break on the next line. The next line could be in a different script in the same object. The next script break location depends on your step setting (in the combobox). When the script is paused it is possible to change the current debug object and/or script in the comboboxes in the debug toolbar. This will cause the next step to break the script in the newly selected object and script.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;h2&amp;gt;Breakpoints&amp;lt;/h2&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Breakpoints do not only have a line location, but an object and script location as well. Multiple objects can have the same script, but when you place a breakpoint it will count for only one of those. The actual breakpoint location is dependent on the object panel you used when placing the breakpoint. Also, not all locations are valid breakpoint locations. The only valid locations are lines that can be executed (i.e. actions, conditions, 'IF', and 'ELSE'). In the following code snippit the only valid line would be the last one:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;EVENTS&lt;br /&gt;
EVENT Init&lt;br /&gt;
ON&lt;br /&gt;
    OnInit()&lt;br /&gt;
ACTIONS&lt;br /&gt;
    Output(&amp;quot;OutputText&amp;quot;)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;h2&amp;gt;Script break&amp;lt;/h2&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;A script break will pause both the game and script. Right before the script is about to execute the line it will break (due to a breakpoint or a requested pause). After this script break nothing besides the script editor will update. This also means that there is no way to use other debug tools, like the console, during a script break. This is purely due to the nature of a debugger. If anything would be allowed to update during a script break it would invalidate the debug data and it would become unreliable.&amp;lt;/p&amp;gt;&lt;/div&gt;</summary>
		<author><name>Larian octaaf</name></author>
	</entry>
	<entry>
		<id>https://docs.larian.game/index.php?title=File:Interface_breakpoint_conditions.png&amp;diff=950</id>
		<title>File:Interface breakpoint conditions.png</title>
		<link rel="alternate" type="text/html" href="https://docs.larian.game/index.php?title=File:Interface_breakpoint_conditions.png&amp;diff=950"/>
		<updated>2017-08-07T12:54:23Z</updated>

		<summary type="html">&lt;p&gt;Larian octaaf: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Larian octaaf</name></author>
	</entry>
	<entry>
		<id>https://docs.larian.game/index.php?title=File:Interface_hover.png&amp;diff=949</id>
		<title>File:Interface hover.png</title>
		<link rel="alternate" type="text/html" href="https://docs.larian.game/index.php?title=File:Interface_hover.png&amp;diff=949"/>
		<updated>2017-08-07T12:54:18Z</updated>

		<summary type="html">&lt;p&gt;Larian octaaf: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Larian octaaf</name></author>
	</entry>
	<entry>
		<id>https://docs.larian.game/index.php?title=File:Interface_watch_panel.png&amp;diff=948</id>
		<title>File:Interface watch panel.png</title>
		<link rel="alternate" type="text/html" href="https://docs.larian.game/index.php?title=File:Interface_watch_panel.png&amp;diff=948"/>
		<updated>2017-08-07T12:54:11Z</updated>

		<summary type="html">&lt;p&gt;Larian octaaf: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Larian octaaf</name></author>
	</entry>
	<entry>
		<id>https://docs.larian.game/index.php?title=File:Interface_output_panel.png&amp;diff=947</id>
		<title>File:Interface output panel.png</title>
		<link rel="alternate" type="text/html" href="https://docs.larian.game/index.php?title=File:Interface_output_panel.png&amp;diff=947"/>
		<updated>2017-08-07T12:54:05Z</updated>

		<summary type="html">&lt;p&gt;Larian octaaf: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Larian octaaf</name></author>
	</entry>
	<entry>
		<id>https://docs.larian.game/index.php?title=File:Interface_included_file.png&amp;diff=946</id>
		<title>File:Interface included file.png</title>
		<link rel="alternate" type="text/html" href="https://docs.larian.game/index.php?title=File:Interface_included_file.png&amp;diff=946"/>
		<updated>2017-08-07T12:52:51Z</updated>

		<summary type="html">&lt;p&gt;Larian octaaf: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Larian octaaf</name></author>
	</entry>
	<entry>
		<id>https://docs.larian.game/index.php?title=File:Interface_object_panel.png&amp;diff=945</id>
		<title>File:Interface object panel.png</title>
		<link rel="alternate" type="text/html" href="https://docs.larian.game/index.php?title=File:Interface_object_panel.png&amp;diff=945"/>
		<updated>2017-08-07T12:52:43Z</updated>

		<summary type="html">&lt;p&gt;Larian octaaf: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Larian octaaf</name></author>
	</entry>
	<entry>
		<id>https://docs.larian.game/index.php?title=File:Interface_debug_toolbar.png&amp;diff=944</id>
		<title>File:Interface debug toolbar.png</title>
		<link rel="alternate" type="text/html" href="https://docs.larian.game/index.php?title=File:Interface_debug_toolbar.png&amp;diff=944"/>
		<updated>2017-08-07T12:52:36Z</updated>

		<summary type="html">&lt;p&gt;Larian octaaf: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Larian octaaf</name></author>
	</entry>
	<entry>
		<id>https://docs.larian.game/index.php?title=File:Interface_script_editor.png&amp;diff=943</id>
		<title>File:Interface script editor.png</title>
		<link rel="alternate" type="text/html" href="https://docs.larian.game/index.php?title=File:Interface_script_editor.png&amp;diff=943"/>
		<updated>2017-08-07T12:52:28Z</updated>

		<summary type="html">&lt;p&gt;Larian octaaf: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Larian octaaf</name></author>
	</entry>
	<entry>
		<id>https://docs.larian.game/index.php?title=Script_debugger&amp;diff=940</id>
		<title>Script debugger</title>
		<link rel="alternate" type="text/html" href="https://docs.larian.game/index.php?title=Script_debugger&amp;diff=940"/>
		<updated>2017-08-07T12:29:29Z</updated>

		<summary type="html">&lt;p&gt;Larian octaaf: Created page with &amp;quot;&amp;lt;h1&amp;gt;&amp;lt;u&amp;gt;The interface&amp;lt;/u&amp;gt;&amp;lt;/h1&amp;gt; &amp;lt;p&amp;gt;The script debugger is part of the script editor and it has 3 main areas:&amp;lt;/p&amp;gt; &amp;lt;div style=&amp;quot;display:block;text-align:left&amp;quot;&amp;gt;&amp;lt;a href=&amp;quot;https://site...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;h1&amp;gt;&amp;lt;u&amp;gt;The interface&amp;lt;/u&amp;gt;&amp;lt;/h1&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;The script debugger is part of the script editor and it has 3 main areas:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display:block;text-align:left&amp;quot;&amp;gt;&amp;lt;a href=&amp;quot;https://sites.google.com/a/larian.com/larian-wikisite/home/script-debugger/Interface_script_editor.PNG?attredirects=0&amp;quot; imageanchor=&amp;quot;1&amp;quot;&amp;gt;&amp;lt;img border=&amp;quot;0&amp;quot; src=&amp;quot;https://sites.google.com/a/larian.com/larian-wikisite/home/script-debugger/Interface_script_editor.PNG&amp;quot;&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;ol&amp;gt;&amp;lt;li&amp;gt;Debug toolbar, with buttons and comboboxes for basic debug functions.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;An object panel, containing all the scripts of an object. The object panel is used to place breakpoints and to show the actual stepping.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The debug panels: errors, watch, and output. Watch and output are only actuve when debugging is enabled. The watch panel provides info on script parameters during debugging, while the output panel shows the debug flow output and user output.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&amp;lt;h2&amp;gt;Debug toolbar&amp;lt;/h2&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display:block;text-align:left&amp;quot;&amp;gt;&amp;lt;a href=&amp;quot;https://sites.google.com/a/larian.com/larian-wikisite/home/script-debugger/Interface_debug_toolbar.png?attredirects=0&amp;quot; imageanchor=&amp;quot;1&amp;quot;&amp;gt;&amp;lt;img border=&amp;quot;0&amp;quot; src=&amp;quot;https://sites.google.com/a/larian.com/larian-wikisite/home/script-debugger/Interface_debug_toolbar.png&amp;quot;&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;ol&amp;gt;&amp;lt;li&amp;gt;Checkbox to enable/disable debugging features. Without this enabled no debug features will work, neither will the watch and output panel.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[Alt+Pause] Pause button to pause the game as soon as possible. In practice it will break in the very first script of the frame.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[F5] Continue button to continue the game when debugging.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[F10] Step button to execute a 'step' when debugging. What this step is and in which script it will do this step is dependent on the following comboboxes (5, 6, and 7).&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;A combobox to select the stepping type. 'Step in scripts' will step 1 action/condition forward in the script being debugged. 'Step in objects' will step 1 action/condition forward in the object being debugged. An object can have more than 1 script, meaning that a step might break in another script attached to the object.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;A combobox to select the debug object. All objects (whether item or character) with a script attached are available for selection. Whenever a step is made the object in this combobox is the object being stepped through. Selecting an object will open and show an object panel for the selected object.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;A combobox to select the debug script. The options are the scripts attached to the selected debug object. This combobox will be empty if no debug object is selected. Whenever a step is made the script in this combobox is the script being stepped through. Selecting a script will open and show an object panel for the selected object and show the selected script.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Checkbox to enable/disable the following of the debug helper. When enabled the debugger will always open the object file for the currently selected object in the debug helper (activated with CTRL+SHIFT+LMB).&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&amp;lt;h2&amp;gt;Object panel&amp;lt;/h2&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display:block;text-align:left&amp;quot;&amp;gt;&amp;lt;a href=&amp;quot;https://sites.google.com/a/larian.com/larian-wikisite/home/script-debugger/Interface_object_panel.png?attredirects=0&amp;quot; imageanchor=&amp;quot;1&amp;quot;&amp;gt;&amp;lt;img border=&amp;quot;0&amp;quot; src=&amp;quot;https://sites.google.com/a/larian.com/larian-wikisite/home/script-debugger/Interface_object_panel.png&amp;quot;&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;ol&amp;gt;&amp;lt;li&amp;gt;An object panel tab name is always preceded by 'Object - ', while a script panel is preceded by 'Script - '.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;A green bar if the object is active (= executing scripts) or a red bar if the object is inactive.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;All scripts that are attached to the object have their own tab. All these panels are read-only and are only used for debugging.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;When clicking this button it will select the object and script of this panel in the comboboxes in the debug toolbar.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;A breakpoint that will 'break' (pause) the script whenever it is about to execute the line it has been placed on. Place a breakpoint by clicking in the margin next to the linenumbers and remove it by clicking the breakpoint again. If a breakpoint is disabled it will be white instead of red. If a breakpoint has conditions it will have a cross as well.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The yellow arrow and grey background indicate the line that's about to be executed in the next step. These markers are only visible when debugging.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;When a script is included in another script it's still attached to the object. This is not always as obvious due to recursive includes, so a blue bar will notify you in that case:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display:block;text-align:left&amp;quot;&amp;gt;&amp;lt;a href=&amp;quot;https://sites.google.com/a/larian.com/larian-wikisite/home/script-debugger/Interface_included_file.png?attredirects=0&amp;quot; imageanchor=&amp;quot;1&amp;quot;&amp;gt;&amp;lt;img border=&amp;quot;0&amp;quot; src=&amp;quot;https://sites.google.com/a/larian.com/larian-wikisite/home/script-debugger/Interface_included_file.png&amp;quot;&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;h3&amp;gt;Breakpoint context menu&amp;lt;/h3&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;The breakpoint context menu can be accessed by CTRL+Click on a breakpoint:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display:block;text-align:left&amp;quot;&amp;gt;&amp;lt;a href=&amp;quot;https://sites.google.com/a/larian.com/larian-wikisite/home/script-debugger/Interface_breakpoint.png?attredirects=0&amp;quot; imageanchor=&amp;quot;1&amp;quot;&amp;gt;&amp;lt;img border=&amp;quot;0&amp;quot; src=&amp;quot;https://sites.google.com/a/larian.com/larian-wikisite/home/script-debugger/Interface_breakpoint.png&amp;quot;&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;It allows you to enable or disable the breakpoint (a disabled breakpoint will never break), access the breakpoint conditions menu, or to reset or view the hit count. The hit count of a breakpoint is the amount of times that line has been 'hit'/executed.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;h3&amp;gt;Breakpoint conditions menu&amp;lt;/h3&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;The breakpoint conditions menu can be accessed via the previously mentioned breakpoint context menu:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display:block;text-align:left&amp;quot;&amp;gt;&amp;lt;a href=&amp;quot;https://sites.google.com/a/larian.com/larian-wikisite/home/script-debugger/Interface_breakpoint_conditions.png?attredirects=0&amp;quot; imageanchor=&amp;quot;1&amp;quot;&amp;gt;&amp;lt;img border=&amp;quot;0&amp;quot; src=&amp;quot;https://sites.google.com/a/larian.com/larian-wikisite/home/script-debugger/Interface_breakpoint_conditions.png&amp;quot;&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;The menu is used to create conditional breakpoints: breakpoints that only break when all conditions pass. As can be seen there are two types:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ol&amp;gt;&amp;lt;li&amp;gt;Hit count: set a condition for the hit count by checking whether the hit count is equal to, not equal to, larger than or equal to, smaller than, or a multiple of your entered hit count.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Expression: set a condition by comparing the value of a parameter and check if it's equal to, not equal to, larger than or equal to, or smaller than your entered value. Checking whether a STRING is smaller than another STRING might not be best idea here. It would work for INT and FLOAT though.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&amp;lt;h3&amp;gt;Hover menu&amp;lt;/h3&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;The hover menu shows up when you're debugging and the mouse pointer hovers over a parameter for 0.5 or more seconds:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display:block;text-align:left&amp;quot;&amp;gt;&amp;lt;a href=&amp;quot;https://sites.google.com/a/larian.com/larian-wikisite/home/script-debugger/Interface_hover.png?attredirects=0&amp;quot; imageanchor=&amp;quot;1&amp;quot;&amp;gt;&amp;lt;img border=&amp;quot;0&amp;quot; src=&amp;quot;https://sites.google.com/a/larian.com/larian-wikisite/home/script-debugger/Interface_hover.png&amp;quot;&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;It's a quick way to see the value of a parameter, and it's not necessary to actually break to see the value.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;h2&amp;gt;Debug panels&amp;lt;/h2&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;All debug panels can be opened via the 'View'-dropdown in the menubar.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;h3&amp;gt;Watch panel&amp;lt;/h3&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display:block;text-align:left&amp;quot;&amp;gt;&amp;lt;a href=&amp;quot;https://sites.google.com/a/larian.com/larian-wikisite/home/script-debugger/Interface_watch_panel.png?attredirects=0&amp;quot; imageanchor=&amp;quot;1&amp;quot;&amp;gt;&amp;lt;img border=&amp;quot;0&amp;quot; src=&amp;quot;https://sites.google.com/a/larian.com/larian-wikisite/home/script-debugger/Interface_watch_panel.png&amp;quot;&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;ol&amp;gt;&amp;lt;li&amp;gt;Filters for the script paramaters based on the file, scope, and name. Multiple filters can be added if seperated by a space (e.g. &amp;quot;filter1 filter2&amp;quot;).&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;All script parameters of the object that is currently being debugged. The scope column contains 'Global' if the script parameter is not part of a reaction, interrupt, event, or scriptframe. The value column contains 'NULL' if the script parameter containts no data.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&amp;lt;h3&amp;gt;Output panel&amp;lt;/h3&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display:block;text-align:left&amp;quot;&amp;gt;&amp;lt;a href=&amp;quot;https://sites.google.com/a/larian.com/larian-wikisite/home/script-debugger/Interface_output_panel.png?attredirects=0&amp;quot; imageanchor=&amp;quot;1&amp;quot;&amp;gt;&amp;lt;img border=&amp;quot;0&amp;quot; src=&amp;quot;https://sites.google.com/a/larian.com/larian-wikisite/home/script-debugger/Interface_output_panel.png&amp;quot;&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;ol&amp;gt;&amp;lt;li&amp;gt;Clear the output panel of all output. This will not clear the saved output file.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;This part contains all output messages. It will automatically scroll to the last output message if the mouse pointer is located after the last message and no selection has been made.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;It is possible to output text in the output panel with the Output() action:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;EVENTS&lt;br /&gt;
EVENT ExampleEvent&lt;br /&gt;
ON &lt;br /&gt;
    OnTimer(&amp;quot;ExampleTimer&amp;quot;)&lt;br /&gt;
VARS&lt;br /&gt;
    FIXEDSTRING:_ExampleFixedString=&amp;quot;ExampleFixedString&amp;quot;&lt;br /&gt;
ACTIONS&lt;br /&gt;
    Output(&amp;quot;Example output with a fixed string '[1]' and an int [2]&amp;quot;, _ExampleFixedString, INT:10)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;The script event above would output the following text:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;01:23:45.678: [CurrentDebugObject | CurrentDebugScript.charScript | 10]: Example output with a fixed string 'ExampleFixedString' and an int 10&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;As you can see, most output is preceded by some extra info on the location of the output (if relevant).&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;h1&amp;gt;&amp;lt;u&amp;gt;Debugging&amp;lt;/u&amp;gt;&amp;lt;/h1&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Before you start debugging there are a few more things you need to know.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;h2&amp;gt;Starting and stopping a debug session&amp;lt;/h2&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Starting and stopping a debug session can be done in both editor and game mode. To start or stop a debug session all you need to do is to enable 'Debug' in the debug toolbar. Starting a debug session will not change the behavior of the game, but you will start seeing output in the output panel if there is any. The watch panel will not contain any data until you break in a script by pausing or due to a breakpoint. The pause button and breakpoints will start working when you start a debug session as well.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;h2&amp;gt;Stepping through an object or script&amp;lt;/h2&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Once you've got a debug session running you can start to actually debug a script. You can do this by putting a breakpoint on the line where you would like to pause the script. When that line is about to be executed the script will pause. When the script is paused you can step with the 'step' button. This will execute the current line and then break on the next line. The next line could be in a different script in the same object. The next script break location depends on your step setting (in the combobox). When the script is paused it is possible to change the current debug object and/or script in the comboboxes in the debug toolbar. This will cause the next step to break the script in the newly selected object and script.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;h2&amp;gt;Breakpoints&amp;lt;/h2&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Breakpoints do not only have a line location, but an object and script location as well. Multiple objects can have the same script, but when you place a breakpoint it will count for only one of those. The actual breakpoint location is dependent on the object panel you used when placing the breakpoint. Also, not all locations are valid breakpoint locations. The only valid locations are lines that can be executed (i.e. actions, conditions, 'IF', and 'ELSE'). In the following code snippit the only valid line would be the last one:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;EVENTS&lt;br /&gt;
EVENT Init&lt;br /&gt;
ON&lt;br /&gt;
    OnInit()&lt;br /&gt;
ACTIONS&lt;br /&gt;
    Output(&amp;quot;OutputText&amp;quot;)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;h2&amp;gt;Script break&amp;lt;/h2&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;A script break will pause both the game and script. Right before the script is about to execute the line it will break (due to a breakpoint or a requested pause). After this script break nothing besides the script editor will update. This also means that there is no way to use other debug tools, like the console, during a script break. This is purely due to the nature of a debugger. If anything would be allowed to update during a script break it would invalidate the debug data and it would become unreliable.&amp;lt;/p&amp;gt;&lt;/div&gt;</summary>
		<author><name>Larian octaaf</name></author>
	</entry>
	<entry>
		<id>https://docs.larian.game/index.php?title=Osiris_API_Tips_Events&amp;diff=521</id>
		<title>Osiris API Tips Events</title>
		<link rel="alternate" type="text/html" href="https://docs.larian.game/index.php?title=Osiris_API_Tips_Events&amp;diff=521"/>
		<updated>2017-08-02T13:24:52Z</updated>

		<summary type="html">&lt;p&gt;Larian octaaf: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Events =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Events are a way for Osiris to inform script that something happened. All event parameters have [in] semantics.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== CharacterBlockedBy == &lt;br /&gt;
&lt;br /&gt;
'''Full definitions'''&lt;br /&gt;
* event CharacterBlokedBy((CHARACTERGUID)_Defender, (CHARACTERGUID)_Attacker, (CHARACTERGUID)_AttackerOwner)&lt;br /&gt;
&lt;br /&gt;
'''Description'''&lt;br /&gt;
* Thrown when a character blocks an attack from another character.&lt;br /&gt;
&lt;br /&gt;
'''Parameters'''&lt;br /&gt;
* _Defender: The character that received/defended the attack.&lt;br /&gt;
* _Attacker: The character that attacked the _Defender.&lt;br /&gt;
* _AttackerOwner: The character that owns the _Attacker character.&lt;br /&gt;
&lt;br /&gt;
'''Notes'''&lt;br /&gt;
* _AttackerOwner can be the same character as _Attacker, _AttackOwner will be different in the case of summoned characters.&lt;br /&gt;
&lt;br /&gt;
See also: ''CharacterMissedBy''&lt;br /&gt;
&lt;br /&gt;
== CharacterMissedBy == &lt;br /&gt;
&lt;br /&gt;
'''Full definitions'''&lt;br /&gt;
* event CharacterMissedBy((CHARACTERGUID)_Defender, (CHARACTERGUID)_Attacker, (CHARACTERGUID)_AttackerOwner)&lt;br /&gt;
&lt;br /&gt;
'''Description'''&lt;br /&gt;
* Thrown when a character misses an attack from another character.&lt;br /&gt;
&lt;br /&gt;
'''Parameters'''&lt;br /&gt;
* _Defender: The character that received/defended the attack.&lt;br /&gt;
* _Attacker: The character that attacked the _Defender.&lt;br /&gt;
* _AttackerOwner: The character that owns the _Attacker character.&lt;br /&gt;
&lt;br /&gt;
'''Notes'''&lt;br /&gt;
* _AttackerOwner can be the same character as _Attacker, _AttackOwner will be different in the case of summoned characters.&lt;br /&gt;
&lt;br /&gt;
See also: ''CharacterBlockedBy'', ''CharacterCriticalHitBy''&lt;br /&gt;
&lt;br /&gt;
== Full definitions ==&lt;br /&gt;
event CharacterCriticalHitBy((CHARACTERGUID)_Defender, (CHARACTERGUID)_Attacker, (CHARACTERGUID)_AttackerOwner)&lt;br /&gt;
&lt;br /&gt;
Description&lt;br /&gt;
Thrown when a character receives a critical hit from an attack of another character.&lt;br /&gt;
&lt;br /&gt;
Parameters&lt;br /&gt;
_Defender: The character that received/defended the attack.&lt;br /&gt;
_Attacker: The character that attacked the _Defender.&lt;br /&gt;
_AttackerOwner: The character that owns the _Attacker character.&lt;br /&gt;
&lt;br /&gt;
Notes&lt;br /&gt;
_AttackerOwner can be the same character as _Attacker, _AttackOwner will be different in the case of summoned characters.&lt;br /&gt;
&lt;br /&gt;
See also&lt;br /&gt;
CharacterBlockedBy&lt;br /&gt;
CharacterKilledBy&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Full definitions&lt;br /&gt;
event CharacterKilledBy((CHARACTERGUID)_Defender, (CHARACTERGUID)_Attacker, (CHARACTERGUID)_AttackerOwner)&lt;br /&gt;
&lt;br /&gt;
Description&lt;br /&gt;
Thrown when a character is killed by another character.&lt;br /&gt;
&lt;br /&gt;
Parameters&lt;br /&gt;
_Defender: The character that received/defended the attack.&lt;br /&gt;
_Attacker: The character that attacked the _Defender.&lt;br /&gt;
_AttackerOwner: The character that owns the _Attacker character.&lt;br /&gt;
&lt;br /&gt;
Notes&lt;br /&gt;
_AttackerOwner can be the same character as _Attacker, _AttackOwner will be different in the case of summoned characters.&lt;br /&gt;
&lt;br /&gt;
See also&lt;br /&gt;
CharacterBlockedBy&lt;br /&gt;
CharacterEnteredRegion&lt;br /&gt;
&lt;br /&gt;
Full definitions&lt;br /&gt;
&lt;br /&gt;
event CharacterEnteredRegion((CHARACTERGUID)_Character, (STRING)_Region)&lt;br /&gt;
Description&lt;br /&gt;
Thrown when a character enters a level because it was placed there in the editor, it was teleported there via script, or it was created/spawned there via script.&lt;br /&gt;
&lt;br /&gt;
Parameters&lt;br /&gt;
&lt;br /&gt;
_Character: the character that entered the level/region&lt;br /&gt;
_Region: the name of the level/region (as entered in the Levelname property of the Level -&amp;gt; Edit Level Data... menu entry in the editor.&lt;br /&gt;
Notes&lt;br /&gt;
&lt;br /&gt;
For characters statically placed in a level using the editor, this event is thrown only once when the level is first entered. It is not thrown again when loading save games from within that level. TODO: check what happens if the players are teleported out of a level and then back into it (never done in DivinityOrigins mod).&lt;br /&gt;
See also&lt;br /&gt;
&lt;br /&gt;
/&lt;br /&gt;
CharacterSawCharacter&lt;br /&gt;
&lt;br /&gt;
Full definitions&lt;br /&gt;
&lt;br /&gt;
event CharacterSawCharacter((CHARACTERGUID)_Character, (CHARACTERGUID)_OtherCharacter)&lt;br /&gt;
Description&lt;br /&gt;
Thrown when one _Character sees _OtherCharacter. Note that this event is only thrown if _Character has been registered as an event generator.&lt;br /&gt;
&lt;br /&gt;
Parameters&lt;br /&gt;
&lt;br /&gt;
_Character: the character that does the seeing.&lt;br /&gt;
_OtherCharacter: the character that is seen&lt;br /&gt;
Notes&lt;br /&gt;
&lt;br /&gt;
By default, only player-controlled characters are event generators. Once you call CharacterCanSee with an NPC as first parameter, an event generator is also registered for this NPC and it will also start throwing CharacterSawCharacter events. This event generator may only work temporarily though, so in general only rely on these events be thrown for player characters.&lt;br /&gt;
See also&lt;br /&gt;
&lt;br /&gt;
CharacterCanSee&lt;br /&gt;
CharacterLostSightOfCharacter&lt;br /&gt;
CharacterStoppedUsingItem&lt;br /&gt;
&lt;br /&gt;
Full definitions&lt;br /&gt;
&lt;br /&gt;
event CharacterStoppedUsingItem((CHARACTERGUID)_Character, (ITEMGUID)_Item)&lt;br /&gt;
Description&lt;br /&gt;
Thrown when a character stopped using an item, or if a character tried to use an item and failed.&lt;br /&gt;
&lt;br /&gt;
Parameters&lt;br /&gt;
&lt;br /&gt;
_Character: the character that used or tried to use _Item.&lt;br /&gt;
_Item: the item that was used or attempted to be used&lt;br /&gt;
Notes&lt;br /&gt;
&lt;br /&gt;
/&lt;br /&gt;
See also&lt;br /&gt;
&lt;br /&gt;
/&lt;br /&gt;
CombatStarted&lt;br /&gt;
&lt;br /&gt;
Full definitions&lt;br /&gt;
&lt;br /&gt;
event CombatStarted((INTEGER)_CombatID)&lt;br /&gt;
Description&lt;br /&gt;
Thrown once a new combat has started and has been completely initialised. I.e., all initial participants have been added, and combat is ready to start.&lt;br /&gt;
&lt;br /&gt;
Parameters&lt;br /&gt;
&lt;br /&gt;
_CombatID: A handle that identifies the combat. Should always be &amp;gt; 0.&lt;br /&gt;
Notes&lt;br /&gt;
&lt;br /&gt;
This event can also be thrown for an ongoing combat after one or more participants left. In this case, first a new ObjectEnteredCombat event will be thrown for every participant still in the combat, followed by a new CombatStartedEvent with the same _CombatID as before. During these new ObjectEventeredCombat events and CombatStarted event, the combat must again be considered to be not completely initialised yet.&lt;br /&gt;
This event will also be thrown when two combats are merged.&lt;br /&gt;
See also&lt;br /&gt;
&lt;br /&gt;
ObjectEnteredCombat&lt;br /&gt;
ObjectLeftCombat&lt;br /&gt;
DialogStartRequested&lt;br /&gt;
&lt;br /&gt;
Full definitions&lt;br /&gt;
&lt;br /&gt;
event DialogStartRequested((GUIDSTRING)_Target,(GUIDSTRING)_Player)&lt;br /&gt;
Description&lt;br /&gt;
Thrown whenever a player tries to start a conversation with another object.&lt;br /&gt;
&lt;br /&gt;
Parameters&lt;br /&gt;
&lt;br /&gt;
_Target: The object to which the conversation request is directed.&lt;br /&gt;
_Player: The player that initiated the conversation&lt;br /&gt;
Notes&lt;br /&gt;
&lt;br /&gt;
Do not use this event directly. Overload PROC_GLOBAL_DialogStartRequested or PROC_GLOBAL_DialogStartRequested_AfterGenerics instead, so that certain common behaviours are guaranteed to hold in all cases.&lt;br /&gt;
This event can only be thrown if the target can accept dialog requests, i.e. if SetHasDialog(_Target,1) is currently active.&lt;br /&gt;
See also&lt;br /&gt;
&lt;br /&gt;
SetHasDialog&lt;br /&gt;
helper PROC_GLOBAL_DialogStartRequested&lt;br /&gt;
helper PROC_GLOBAL_DialogStartRequested_AfterGenerics&lt;br /&gt;
GameStarted&lt;br /&gt;
&lt;br /&gt;
Full definitions&lt;br /&gt;
&lt;br /&gt;
event GameStarted((String)_LevelName, (INTEGER)_IsEditorMode)&lt;br /&gt;
Description&lt;br /&gt;
Thrown when a level has been loaded and is ready at both the server and client side.&lt;br /&gt;
&lt;br /&gt;
Parameters&lt;br /&gt;
&lt;br /&gt;
_LevelName: The identifier name of the level that has been loaded&lt;br /&gt;
_IsEditorMode: Indicates whether the game is run in the editor or not&lt;br /&gt;
Notes&lt;br /&gt;
&lt;br /&gt;
The logic of Osiris is split into a server and a client side, even in single player mode. Some important things that run on the client side are visual effects and physics.&lt;br /&gt;
An example of something that is done only when the client side is ready, is playing the effect of the source collars on the characters in the tutorial and Fort Joy levels (since they're visual effects, and hence do not work if started when only the server side is ready)&lt;br /&gt;
See RegionStarted for an event that is thrown when the level is ready on the server side.&lt;br /&gt;
This event is also thrown when loading a savegame, so add additional logic for code that should be executed only the first time when this level is started (or trigger it from the INIT section of a story goal instead).&lt;br /&gt;
See also&lt;br /&gt;
&lt;br /&gt;
RegionStarted&lt;br /&gt;
ObjectEnteredCombat&lt;br /&gt;
&lt;br /&gt;
Full definitions&lt;br /&gt;
&lt;br /&gt;
event ObjectEnteredCombat((GUIDSTRING)_Object, (INTEGER)_CombatID)&lt;br /&gt;
Description&lt;br /&gt;
Thrown when an object (character or item) enters a combat.&lt;br /&gt;
&lt;br /&gt;
Parameters&lt;br /&gt;
&lt;br /&gt;
_Object: The object that has entered the combat&lt;br /&gt;
_CombatID: A handle that identifies the combat. Should always be &amp;gt; 0.&lt;br /&gt;
Notes&lt;br /&gt;
&lt;br /&gt;
This can be a combat that is still being set up, or an existing combat joined by a character that wandered too close.&lt;br /&gt;
If the combat is still being set up, not all information may be available yet (e.g., other initial objects may still be added after this one), and you cannot use APIs such as JumpToTurn yet. If you wish to perform some action when a combat has completely started, use CombatStarted instead.&lt;br /&gt;
See also&lt;br /&gt;
&lt;br /&gt;
CombatStarted&lt;br /&gt;
ObjectLeftCombat&lt;br /&gt;
ObjectFlagSet&lt;br /&gt;
&lt;br /&gt;
Full definitions&lt;br /&gt;
&lt;br /&gt;
event ObjectFlagSet((STRING)_FlagName, (GUIDSTRING)_Speaker, (INTEGER)_DialogInstance)&lt;br /&gt;
Description&lt;br /&gt;
Thrown when the flag _FlagName is set on object _Speaker in the context indicated by _DialogInstance.&lt;br /&gt;
&lt;br /&gt;
Parameters&lt;br /&gt;
&lt;br /&gt;
_FlagName: The flag that is set. &lt;br /&gt;
_Speaker: The object on which the (character) flag is set.&lt;br /&gt;
_DialogInstance: If the flag was set using a dialog node, _DialogInstance contains the dialog's instance ID. If the flag was set from story, _DialogInstance will contain whatever was passed as last parameter to ObjectSetFlag. If the flag was set from behaviour script, DialogInstance will be zero.&lt;br /&gt;
Notes&lt;br /&gt;
&lt;br /&gt;
/&lt;br /&gt;
See also&lt;br /&gt;
&lt;br /&gt;
ObjectSetFlag&lt;br /&gt;
ObjectClearFlag&lt;br /&gt;
ObjectLeftCombat&lt;br /&gt;
&lt;br /&gt;
Full definitions&lt;br /&gt;
&lt;br /&gt;
event ObjectLeftCombat((GUIDSTRING)_Object, (INTEGER)_CombatID)&lt;br /&gt;
Description&lt;br /&gt;
Thrown when an object (character or item) leaves a combat.&lt;br /&gt;
&lt;br /&gt;
Parameters&lt;br /&gt;
&lt;br /&gt;
_Object: The object that has left the combat&lt;br /&gt;
_CombatID: A handle that identifies the combat. Should always be &amp;gt; 0.&lt;br /&gt;
Notes&lt;br /&gt;
&lt;br /&gt;
Reasons why characters may leave combat is because they died, because they got too far from the other participants, or because story forced them to leave.&lt;br /&gt;
See also&lt;br /&gt;
&lt;br /&gt;
CombatStarted&lt;br /&gt;
ObjectEnteredCombat&lt;br /&gt;
ObjectSourcePointAddRequest&lt;br /&gt;
&lt;br /&gt;
Full definitions&lt;br /&gt;
&lt;br /&gt;
event ObjectSourcePointAddRequest((GUIDSTRING)_Target, (INTEGER)_Amount)&lt;br /&gt;
Description&lt;br /&gt;
Thrown for every attempt to add source to an object, even if the object cannot hold more source. It is thrown before the source has been added.&lt;br /&gt;
&lt;br /&gt;
Parameters&lt;br /&gt;
&lt;br /&gt;
_Target: The object to which source gets added. In case of a character, this means there is an attempt to add source points. In case of an item, this means there is an attempt to add charges.&lt;br /&gt;
_Amount: The number of source points/charges that is being added.&lt;br /&gt;
Notes&lt;br /&gt;
&lt;br /&gt;
As mentioned in the description, this is triggered even when _Target currently already holds its maximum of source.&lt;br /&gt;
See also&lt;br /&gt;
&lt;br /&gt;
/&lt;br /&gt;
RegionStarted&lt;br /&gt;
&lt;br /&gt;
Full definitions&lt;br /&gt;
&lt;br /&gt;
event RegionStarted((String)_LevelName)&lt;br /&gt;
Description&lt;br /&gt;
Thrown when the level has been loaded and is ready at the server side, but not yet at the client side.&lt;br /&gt;
&lt;br /&gt;
Parameters&lt;br /&gt;
&lt;br /&gt;
_LevelName: The identifier name of the level that has been loaded&lt;br /&gt;
Notes&lt;br /&gt;
&lt;br /&gt;
See GameStarted for usage information that also applies to this call.&lt;br /&gt;
See also&lt;br /&gt;
&lt;br /&gt;
GameStarted&lt;/div&gt;</summary>
		<author><name>Larian octaaf</name></author>
	</entry>
	<entry>
		<id>https://docs.larian.game/index.php?title=Osiris_API_Tips_Events&amp;diff=520</id>
		<title>Osiris API Tips Events</title>
		<link rel="alternate" type="text/html" href="https://docs.larian.game/index.php?title=Osiris_API_Tips_Events&amp;diff=520"/>
		<updated>2017-08-02T13:23:36Z</updated>

		<summary type="html">&lt;p&gt;Larian octaaf: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Events =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Events are a way for Osiris to inform script that something happened. All event parameters have [in] semantics.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== CharacterBlockedBy == &lt;br /&gt;
&lt;br /&gt;
'''Full definitions'''&lt;br /&gt;
* event CharacterBlokedBy((CHARACTERGUID)_Defender, (CHARACTERGUID)_Attacker, (CHARACTERGUID)_AttackerOwner)&lt;br /&gt;
&lt;br /&gt;
'''Description'''&lt;br /&gt;
* Thrown when a character blocks an attack from another character.&lt;br /&gt;
&lt;br /&gt;
'''Parameters'''&lt;br /&gt;
* _Defender: The character that received/defended the attack.&lt;br /&gt;
* _Attacker: The character that attacked the _Defender.&lt;br /&gt;
* _AttackerOwner: The character that owns the _Attacker character.&lt;br /&gt;
&lt;br /&gt;
'''Notes'''&lt;br /&gt;
* _AttackerOwner can be the same character as _Attacker, _AttackOwner will be different in the case of summoned characters.&lt;br /&gt;
&lt;br /&gt;
See also: ''CharacterMissedBy''&lt;br /&gt;
&lt;br /&gt;
== CharacterMissedBy == &lt;br /&gt;
&lt;br /&gt;
Full definitions&lt;br /&gt;
event CharacterMissedBy((CHARACTERGUID)_Defender, (CHARACTERGUID)_Attacker, (CHARACTERGUID)_AttackerOwner)&lt;br /&gt;
&lt;br /&gt;
Description&lt;br /&gt;
Thrown when a character misses an attack from another character.&lt;br /&gt;
&lt;br /&gt;
Parameters&lt;br /&gt;
_Defender: The character that received/defended the attack.&lt;br /&gt;
_Attacker: The character that attacked the _Defender.&lt;br /&gt;
_AttackerOwner: The character that owns the _Attacker character.&lt;br /&gt;
&lt;br /&gt;
Notes&lt;br /&gt;
_AttackerOwner can be the same character as _Attacker, _AttackOwner will be different in the case of summoned characters.&lt;br /&gt;
&lt;br /&gt;
See also&lt;br /&gt;
CharacterBlockedBy&lt;br /&gt;
CharacterCriticalHitBy&lt;br /&gt;
&lt;br /&gt;
Full definitions&lt;br /&gt;
event CharacterCriticalHitBy((CHARACTERGUID)_Defender, (CHARACTERGUID)_Attacker, (CHARACTERGUID)_AttackerOwner)&lt;br /&gt;
&lt;br /&gt;
Description&lt;br /&gt;
Thrown when a character receives a critical hit from an attack of another character.&lt;br /&gt;
&lt;br /&gt;
Parameters&lt;br /&gt;
_Defender: The character that received/defended the attack.&lt;br /&gt;
_Attacker: The character that attacked the _Defender.&lt;br /&gt;
_AttackerOwner: The character that owns the _Attacker character.&lt;br /&gt;
&lt;br /&gt;
Notes&lt;br /&gt;
_AttackerOwner can be the same character as _Attacker, _AttackOwner will be different in the case of summoned characters.&lt;br /&gt;
&lt;br /&gt;
See also&lt;br /&gt;
CharacterBlockedBy&lt;br /&gt;
CharacterKilledBy&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Full definitions&lt;br /&gt;
event CharacterKilledBy((CHARACTERGUID)_Defender, (CHARACTERGUID)_Attacker, (CHARACTERGUID)_AttackerOwner)&lt;br /&gt;
&lt;br /&gt;
Description&lt;br /&gt;
Thrown when a character is killed by another character.&lt;br /&gt;
&lt;br /&gt;
Parameters&lt;br /&gt;
_Defender: The character that received/defended the attack.&lt;br /&gt;
_Attacker: The character that attacked the _Defender.&lt;br /&gt;
_AttackerOwner: The character that owns the _Attacker character.&lt;br /&gt;
&lt;br /&gt;
Notes&lt;br /&gt;
_AttackerOwner can be the same character as _Attacker, _AttackOwner will be different in the case of summoned characters.&lt;br /&gt;
&lt;br /&gt;
See also&lt;br /&gt;
CharacterBlockedBy&lt;br /&gt;
CharacterEnteredRegion&lt;br /&gt;
&lt;br /&gt;
Full definitions&lt;br /&gt;
&lt;br /&gt;
event CharacterEnteredRegion((CHARACTERGUID)_Character, (STRING)_Region)&lt;br /&gt;
Description&lt;br /&gt;
Thrown when a character enters a level because it was placed there in the editor, it was teleported there via script, or it was created/spawned there via script.&lt;br /&gt;
&lt;br /&gt;
Parameters&lt;br /&gt;
&lt;br /&gt;
_Character: the character that entered the level/region&lt;br /&gt;
_Region: the name of the level/region (as entered in the Levelname property of the Level -&amp;gt; Edit Level Data... menu entry in the editor.&lt;br /&gt;
Notes&lt;br /&gt;
&lt;br /&gt;
For characters statically placed in a level using the editor, this event is thrown only once when the level is first entered. It is not thrown again when loading save games from within that level. TODO: check what happens if the players are teleported out of a level and then back into it (never done in DivinityOrigins mod).&lt;br /&gt;
See also&lt;br /&gt;
&lt;br /&gt;
/&lt;br /&gt;
CharacterSawCharacter&lt;br /&gt;
&lt;br /&gt;
Full definitions&lt;br /&gt;
&lt;br /&gt;
event CharacterSawCharacter((CHARACTERGUID)_Character, (CHARACTERGUID)_OtherCharacter)&lt;br /&gt;
Description&lt;br /&gt;
Thrown when one _Character sees _OtherCharacter. Note that this event is only thrown if _Character has been registered as an event generator.&lt;br /&gt;
&lt;br /&gt;
Parameters&lt;br /&gt;
&lt;br /&gt;
_Character: the character that does the seeing.&lt;br /&gt;
_OtherCharacter: the character that is seen&lt;br /&gt;
Notes&lt;br /&gt;
&lt;br /&gt;
By default, only player-controlled characters are event generators. Once you call CharacterCanSee with an NPC as first parameter, an event generator is also registered for this NPC and it will also start throwing CharacterSawCharacter events. This event generator may only work temporarily though, so in general only rely on these events be thrown for player characters.&lt;br /&gt;
See also&lt;br /&gt;
&lt;br /&gt;
CharacterCanSee&lt;br /&gt;
CharacterLostSightOfCharacter&lt;br /&gt;
CharacterStoppedUsingItem&lt;br /&gt;
&lt;br /&gt;
Full definitions&lt;br /&gt;
&lt;br /&gt;
event CharacterStoppedUsingItem((CHARACTERGUID)_Character, (ITEMGUID)_Item)&lt;br /&gt;
Description&lt;br /&gt;
Thrown when a character stopped using an item, or if a character tried to use an item and failed.&lt;br /&gt;
&lt;br /&gt;
Parameters&lt;br /&gt;
&lt;br /&gt;
_Character: the character that used or tried to use _Item.&lt;br /&gt;
_Item: the item that was used or attempted to be used&lt;br /&gt;
Notes&lt;br /&gt;
&lt;br /&gt;
/&lt;br /&gt;
See also&lt;br /&gt;
&lt;br /&gt;
/&lt;br /&gt;
CombatStarted&lt;br /&gt;
&lt;br /&gt;
Full definitions&lt;br /&gt;
&lt;br /&gt;
event CombatStarted((INTEGER)_CombatID)&lt;br /&gt;
Description&lt;br /&gt;
Thrown once a new combat has started and has been completely initialised. I.e., all initial participants have been added, and combat is ready to start.&lt;br /&gt;
&lt;br /&gt;
Parameters&lt;br /&gt;
&lt;br /&gt;
_CombatID: A handle that identifies the combat. Should always be &amp;gt; 0.&lt;br /&gt;
Notes&lt;br /&gt;
&lt;br /&gt;
This event can also be thrown for an ongoing combat after one or more participants left. In this case, first a new ObjectEnteredCombat event will be thrown for every participant still in the combat, followed by a new CombatStartedEvent with the same _CombatID as before. During these new ObjectEventeredCombat events and CombatStarted event, the combat must again be considered to be not completely initialised yet.&lt;br /&gt;
This event will also be thrown when two combats are merged.&lt;br /&gt;
See also&lt;br /&gt;
&lt;br /&gt;
ObjectEnteredCombat&lt;br /&gt;
ObjectLeftCombat&lt;br /&gt;
DialogStartRequested&lt;br /&gt;
&lt;br /&gt;
Full definitions&lt;br /&gt;
&lt;br /&gt;
event DialogStartRequested((GUIDSTRING)_Target,(GUIDSTRING)_Player)&lt;br /&gt;
Description&lt;br /&gt;
Thrown whenever a player tries to start a conversation with another object.&lt;br /&gt;
&lt;br /&gt;
Parameters&lt;br /&gt;
&lt;br /&gt;
_Target: The object to which the conversation request is directed.&lt;br /&gt;
_Player: The player that initiated the conversation&lt;br /&gt;
Notes&lt;br /&gt;
&lt;br /&gt;
Do not use this event directly. Overload PROC_GLOBAL_DialogStartRequested or PROC_GLOBAL_DialogStartRequested_AfterGenerics instead, so that certain common behaviours are guaranteed to hold in all cases.&lt;br /&gt;
This event can only be thrown if the target can accept dialog requests, i.e. if SetHasDialog(_Target,1) is currently active.&lt;br /&gt;
See also&lt;br /&gt;
&lt;br /&gt;
SetHasDialog&lt;br /&gt;
helper PROC_GLOBAL_DialogStartRequested&lt;br /&gt;
helper PROC_GLOBAL_DialogStartRequested_AfterGenerics&lt;br /&gt;
GameStarted&lt;br /&gt;
&lt;br /&gt;
Full definitions&lt;br /&gt;
&lt;br /&gt;
event GameStarted((String)_LevelName, (INTEGER)_IsEditorMode)&lt;br /&gt;
Description&lt;br /&gt;
Thrown when a level has been loaded and is ready at both the server and client side.&lt;br /&gt;
&lt;br /&gt;
Parameters&lt;br /&gt;
&lt;br /&gt;
_LevelName: The identifier name of the level that has been loaded&lt;br /&gt;
_IsEditorMode: Indicates whether the game is run in the editor or not&lt;br /&gt;
Notes&lt;br /&gt;
&lt;br /&gt;
The logic of Osiris is split into a server and a client side, even in single player mode. Some important things that run on the client side are visual effects and physics.&lt;br /&gt;
An example of something that is done only when the client side is ready, is playing the effect of the source collars on the characters in the tutorial and Fort Joy levels (since they're visual effects, and hence do not work if started when only the server side is ready)&lt;br /&gt;
See RegionStarted for an event that is thrown when the level is ready on the server side.&lt;br /&gt;
This event is also thrown when loading a savegame, so add additional logic for code that should be executed only the first time when this level is started (or trigger it from the INIT section of a story goal instead).&lt;br /&gt;
See also&lt;br /&gt;
&lt;br /&gt;
RegionStarted&lt;br /&gt;
ObjectEnteredCombat&lt;br /&gt;
&lt;br /&gt;
Full definitions&lt;br /&gt;
&lt;br /&gt;
event ObjectEnteredCombat((GUIDSTRING)_Object, (INTEGER)_CombatID)&lt;br /&gt;
Description&lt;br /&gt;
Thrown when an object (character or item) enters a combat.&lt;br /&gt;
&lt;br /&gt;
Parameters&lt;br /&gt;
&lt;br /&gt;
_Object: The object that has entered the combat&lt;br /&gt;
_CombatID: A handle that identifies the combat. Should always be &amp;gt; 0.&lt;br /&gt;
Notes&lt;br /&gt;
&lt;br /&gt;
This can be a combat that is still being set up, or an existing combat joined by a character that wandered too close.&lt;br /&gt;
If the combat is still being set up, not all information may be available yet (e.g., other initial objects may still be added after this one), and you cannot use APIs such as JumpToTurn yet. If you wish to perform some action when a combat has completely started, use CombatStarted instead.&lt;br /&gt;
See also&lt;br /&gt;
&lt;br /&gt;
CombatStarted&lt;br /&gt;
ObjectLeftCombat&lt;br /&gt;
ObjectFlagSet&lt;br /&gt;
&lt;br /&gt;
Full definitions&lt;br /&gt;
&lt;br /&gt;
event ObjectFlagSet((STRING)_FlagName, (GUIDSTRING)_Speaker, (INTEGER)_DialogInstance)&lt;br /&gt;
Description&lt;br /&gt;
Thrown when the flag _FlagName is set on object _Speaker in the context indicated by _DialogInstance.&lt;br /&gt;
&lt;br /&gt;
Parameters&lt;br /&gt;
&lt;br /&gt;
_FlagName: The flag that is set. &lt;br /&gt;
_Speaker: The object on which the (character) flag is set.&lt;br /&gt;
_DialogInstance: If the flag was set using a dialog node, _DialogInstance contains the dialog's instance ID. If the flag was set from story, _DialogInstance will contain whatever was passed as last parameter to ObjectSetFlag. If the flag was set from behaviour script, DialogInstance will be zero.&lt;br /&gt;
Notes&lt;br /&gt;
&lt;br /&gt;
/&lt;br /&gt;
See also&lt;br /&gt;
&lt;br /&gt;
ObjectSetFlag&lt;br /&gt;
ObjectClearFlag&lt;br /&gt;
ObjectLeftCombat&lt;br /&gt;
&lt;br /&gt;
Full definitions&lt;br /&gt;
&lt;br /&gt;
event ObjectLeftCombat((GUIDSTRING)_Object, (INTEGER)_CombatID)&lt;br /&gt;
Description&lt;br /&gt;
Thrown when an object (character or item) leaves a combat.&lt;br /&gt;
&lt;br /&gt;
Parameters&lt;br /&gt;
&lt;br /&gt;
_Object: The object that has left the combat&lt;br /&gt;
_CombatID: A handle that identifies the combat. Should always be &amp;gt; 0.&lt;br /&gt;
Notes&lt;br /&gt;
&lt;br /&gt;
Reasons why characters may leave combat is because they died, because they got too far from the other participants, or because story forced them to leave.&lt;br /&gt;
See also&lt;br /&gt;
&lt;br /&gt;
CombatStarted&lt;br /&gt;
ObjectEnteredCombat&lt;br /&gt;
ObjectSourcePointAddRequest&lt;br /&gt;
&lt;br /&gt;
Full definitions&lt;br /&gt;
&lt;br /&gt;
event ObjectSourcePointAddRequest((GUIDSTRING)_Target, (INTEGER)_Amount)&lt;br /&gt;
Description&lt;br /&gt;
Thrown for every attempt to add source to an object, even if the object cannot hold more source. It is thrown before the source has been added.&lt;br /&gt;
&lt;br /&gt;
Parameters&lt;br /&gt;
&lt;br /&gt;
_Target: The object to which source gets added. In case of a character, this means there is an attempt to add source points. In case of an item, this means there is an attempt to add charges.&lt;br /&gt;
_Amount: The number of source points/charges that is being added.&lt;br /&gt;
Notes&lt;br /&gt;
&lt;br /&gt;
As mentioned in the description, this is triggered even when _Target currently already holds its maximum of source.&lt;br /&gt;
See also&lt;br /&gt;
&lt;br /&gt;
/&lt;br /&gt;
RegionStarted&lt;br /&gt;
&lt;br /&gt;
Full definitions&lt;br /&gt;
&lt;br /&gt;
event RegionStarted((String)_LevelName)&lt;br /&gt;
Description&lt;br /&gt;
Thrown when the level has been loaded and is ready at the server side, but not yet at the client side.&lt;br /&gt;
&lt;br /&gt;
Parameters&lt;br /&gt;
&lt;br /&gt;
_LevelName: The identifier name of the level that has been loaded&lt;br /&gt;
Notes&lt;br /&gt;
&lt;br /&gt;
See GameStarted for usage information that also applies to this call.&lt;br /&gt;
See also&lt;br /&gt;
&lt;br /&gt;
GameStarted&lt;/div&gt;</summary>
		<author><name>Larian octaaf</name></author>
	</entry>
	<entry>
		<id>https://docs.larian.game/index.php?title=Osiris_API_Tips_Events&amp;diff=515</id>
		<title>Osiris API Tips Events</title>
		<link rel="alternate" type="text/html" href="https://docs.larian.game/index.php?title=Osiris_API_Tips_Events&amp;diff=515"/>
		<updated>2017-08-02T13:14:28Z</updated>

		<summary type="html">&lt;p&gt;Larian octaaf: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Events =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Events are a way for Osiris to inform script that something happened. All event parameters have [in] semantics.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== CharacterBlockedBy ==&lt;br /&gt;
&lt;br /&gt;
Full definitions&lt;br /&gt;
event CharacterBlokedBy((CHARACTERGUID)_Defender, (CHARACTERGUID)_Attacker, (CHARACTERGUID)_AttackerOwner)&lt;br /&gt;
&lt;br /&gt;
Description&lt;br /&gt;
Thrown when a character blocks an attack from another character.&lt;br /&gt;
&lt;br /&gt;
Parameters&lt;br /&gt;
_Defender: The character that received/defended the attack.&lt;br /&gt;
_Attacker: The character that attacked the _Defender.&lt;br /&gt;
_AttackerOwner: The character that owns the _Attacker character.&lt;br /&gt;
&lt;br /&gt;
Notes&lt;br /&gt;
_AttackerOwner can be the same character as _Attacker, _AttackOwner will be different in the case of summoned characters.&lt;br /&gt;
&lt;br /&gt;
See also&lt;br /&gt;
CharacterMissedBy&lt;br /&gt;
CharacterMissedBy&lt;br /&gt;
&lt;br /&gt;
Full definitions&lt;br /&gt;
event CharacterMissedBy((CHARACTERGUID)_Defender, (CHARACTERGUID)_Attacker, (CHARACTERGUID)_AttackerOwner)&lt;br /&gt;
&lt;br /&gt;
Description&lt;br /&gt;
Thrown when a character misses an attack from another character.&lt;br /&gt;
&lt;br /&gt;
Parameters&lt;br /&gt;
_Defender: The character that received/defended the attack.&lt;br /&gt;
_Attacker: The character that attacked the _Defender.&lt;br /&gt;
_AttackerOwner: The character that owns the _Attacker character.&lt;br /&gt;
&lt;br /&gt;
Notes&lt;br /&gt;
_AttackerOwner can be the same character as _Attacker, _AttackOwner will be different in the case of summoned characters.&lt;br /&gt;
&lt;br /&gt;
See also&lt;br /&gt;
CharacterBlockedBy&lt;br /&gt;
CharacterCriticalHitBy&lt;br /&gt;
&lt;br /&gt;
Full definitions&lt;br /&gt;
event CharacterCriticalHitBy((CHARACTERGUID)_Defender, (CHARACTERGUID)_Attacker, (CHARACTERGUID)_AttackerOwner)&lt;br /&gt;
&lt;br /&gt;
Description&lt;br /&gt;
Thrown when a character receives a critical hit from an attack of another character.&lt;br /&gt;
&lt;br /&gt;
Parameters&lt;br /&gt;
_Defender: The character that received/defended the attack.&lt;br /&gt;
_Attacker: The character that attacked the _Defender.&lt;br /&gt;
_AttackerOwner: The character that owns the _Attacker character.&lt;br /&gt;
&lt;br /&gt;
Notes&lt;br /&gt;
_AttackerOwner can be the same character as _Attacker, _AttackOwner will be different in the case of summoned characters.&lt;br /&gt;
&lt;br /&gt;
See also&lt;br /&gt;
CharacterBlockedBy&lt;br /&gt;
CharacterKilledBy&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Full definitions&lt;br /&gt;
event CharacterKilledBy((CHARACTERGUID)_Defender, (CHARACTERGUID)_Attacker, (CHARACTERGUID)_AttackerOwner)&lt;br /&gt;
&lt;br /&gt;
Description&lt;br /&gt;
Thrown when a character is killed by another character.&lt;br /&gt;
&lt;br /&gt;
Parameters&lt;br /&gt;
_Defender: The character that received/defended the attack.&lt;br /&gt;
_Attacker: The character that attacked the _Defender.&lt;br /&gt;
_AttackerOwner: The character that owns the _Attacker character.&lt;br /&gt;
&lt;br /&gt;
Notes&lt;br /&gt;
_AttackerOwner can be the same character as _Attacker, _AttackOwner will be different in the case of summoned characters.&lt;br /&gt;
&lt;br /&gt;
See also&lt;br /&gt;
CharacterBlockedBy&lt;br /&gt;
CharacterEnteredRegion&lt;br /&gt;
&lt;br /&gt;
Full definitions&lt;br /&gt;
&lt;br /&gt;
event CharacterEnteredRegion((CHARACTERGUID)_Character, (STRING)_Region)&lt;br /&gt;
Description&lt;br /&gt;
Thrown when a character enters a level because it was placed there in the editor, it was teleported there via script, or it was created/spawned there via script.&lt;br /&gt;
&lt;br /&gt;
Parameters&lt;br /&gt;
&lt;br /&gt;
_Character: the character that entered the level/region&lt;br /&gt;
_Region: the name of the level/region (as entered in the Levelname property of the Level -&amp;gt; Edit Level Data... menu entry in the editor.&lt;br /&gt;
Notes&lt;br /&gt;
&lt;br /&gt;
For characters statically placed in a level using the editor, this event is thrown only once when the level is first entered. It is not thrown again when loading save games from within that level. TODO: check what happens if the players are teleported out of a level and then back into it (never done in DivinityOrigins mod).&lt;br /&gt;
See also&lt;br /&gt;
&lt;br /&gt;
/&lt;br /&gt;
CharacterSawCharacter&lt;br /&gt;
&lt;br /&gt;
Full definitions&lt;br /&gt;
&lt;br /&gt;
event CharacterSawCharacter((CHARACTERGUID)_Character, (CHARACTERGUID)_OtherCharacter)&lt;br /&gt;
Description&lt;br /&gt;
Thrown when one _Character sees _OtherCharacter. Note that this event is only thrown if _Character has been registered as an event generator.&lt;br /&gt;
&lt;br /&gt;
Parameters&lt;br /&gt;
&lt;br /&gt;
_Character: the character that does the seeing.&lt;br /&gt;
_OtherCharacter: the character that is seen&lt;br /&gt;
Notes&lt;br /&gt;
&lt;br /&gt;
By default, only player-controlled characters are event generators. Once you call CharacterCanSee with an NPC as first parameter, an event generator is also registered for this NPC and it will also start throwing CharacterSawCharacter events. This event generator may only work temporarily though, so in general only rely on these events be thrown for player characters.&lt;br /&gt;
See also&lt;br /&gt;
&lt;br /&gt;
CharacterCanSee&lt;br /&gt;
CharacterLostSightOfCharacter&lt;br /&gt;
CharacterStoppedUsingItem&lt;br /&gt;
&lt;br /&gt;
Full definitions&lt;br /&gt;
&lt;br /&gt;
event CharacterStoppedUsingItem((CHARACTERGUID)_Character, (ITEMGUID)_Item)&lt;br /&gt;
Description&lt;br /&gt;
Thrown when a character stopped using an item, or if a character tried to use an item and failed.&lt;br /&gt;
&lt;br /&gt;
Parameters&lt;br /&gt;
&lt;br /&gt;
_Character: the character that used or tried to use _Item.&lt;br /&gt;
_Item: the item that was used or attempted to be used&lt;br /&gt;
Notes&lt;br /&gt;
&lt;br /&gt;
/&lt;br /&gt;
See also&lt;br /&gt;
&lt;br /&gt;
/&lt;br /&gt;
CombatStarted&lt;br /&gt;
&lt;br /&gt;
Full definitions&lt;br /&gt;
&lt;br /&gt;
event CombatStarted((INTEGER)_CombatID)&lt;br /&gt;
Description&lt;br /&gt;
Thrown once a new combat has started and has been completely initialised. I.e., all initial participants have been added, and combat is ready to start.&lt;br /&gt;
&lt;br /&gt;
Parameters&lt;br /&gt;
&lt;br /&gt;
_CombatID: A handle that identifies the combat. Should always be &amp;gt; 0.&lt;br /&gt;
Notes&lt;br /&gt;
&lt;br /&gt;
This event can also be thrown for an ongoing combat after one or more participants left. In this case, first a new ObjectEnteredCombat event will be thrown for every participant still in the combat, followed by a new CombatStartedEvent with the same _CombatID as before. During these new ObjectEventeredCombat events and CombatStarted event, the combat must again be considered to be not completely initialised yet.&lt;br /&gt;
This event will also be thrown when two combats are merged.&lt;br /&gt;
See also&lt;br /&gt;
&lt;br /&gt;
ObjectEnteredCombat&lt;br /&gt;
ObjectLeftCombat&lt;br /&gt;
DialogStartRequested&lt;br /&gt;
&lt;br /&gt;
Full definitions&lt;br /&gt;
&lt;br /&gt;
event DialogStartRequested((GUIDSTRING)_Target,(GUIDSTRING)_Player)&lt;br /&gt;
Description&lt;br /&gt;
Thrown whenever a player tries to start a conversation with another object.&lt;br /&gt;
&lt;br /&gt;
Parameters&lt;br /&gt;
&lt;br /&gt;
_Target: The object to which the conversation request is directed.&lt;br /&gt;
_Player: The player that initiated the conversation&lt;br /&gt;
Notes&lt;br /&gt;
&lt;br /&gt;
Do not use this event directly. Overload PROC_GLOBAL_DialogStartRequested or PROC_GLOBAL_DialogStartRequested_AfterGenerics instead, so that certain common behaviours are guaranteed to hold in all cases.&lt;br /&gt;
This event can only be thrown if the target can accept dialog requests, i.e. if SetHasDialog(_Target,1) is currently active.&lt;br /&gt;
See also&lt;br /&gt;
&lt;br /&gt;
SetHasDialog&lt;br /&gt;
helper PROC_GLOBAL_DialogStartRequested&lt;br /&gt;
helper PROC_GLOBAL_DialogStartRequested_AfterGenerics&lt;br /&gt;
GameStarted&lt;br /&gt;
&lt;br /&gt;
Full definitions&lt;br /&gt;
&lt;br /&gt;
event GameStarted((String)_LevelName, (INTEGER)_IsEditorMode)&lt;br /&gt;
Description&lt;br /&gt;
Thrown when a level has been loaded and is ready at both the server and client side.&lt;br /&gt;
&lt;br /&gt;
Parameters&lt;br /&gt;
&lt;br /&gt;
_LevelName: The identifier name of the level that has been loaded&lt;br /&gt;
_IsEditorMode: Indicates whether the game is run in the editor or not&lt;br /&gt;
Notes&lt;br /&gt;
&lt;br /&gt;
The logic of Osiris is split into a server and a client side, even in single player mode. Some important things that run on the client side are visual effects and physics.&lt;br /&gt;
An example of something that is done only when the client side is ready, is playing the effect of the source collars on the characters in the tutorial and Fort Joy levels (since they're visual effects, and hence do not work if started when only the server side is ready)&lt;br /&gt;
See RegionStarted for an event that is thrown when the level is ready on the server side.&lt;br /&gt;
This event is also thrown when loading a savegame, so add additional logic for code that should be executed only the first time when this level is started (or trigger it from the INIT section of a story goal instead).&lt;br /&gt;
See also&lt;br /&gt;
&lt;br /&gt;
RegionStarted&lt;br /&gt;
ObjectEnteredCombat&lt;br /&gt;
&lt;br /&gt;
Full definitions&lt;br /&gt;
&lt;br /&gt;
event ObjectEnteredCombat((GUIDSTRING)_Object, (INTEGER)_CombatID)&lt;br /&gt;
Description&lt;br /&gt;
Thrown when an object (character or item) enters a combat.&lt;br /&gt;
&lt;br /&gt;
Parameters&lt;br /&gt;
&lt;br /&gt;
_Object: The object that has entered the combat&lt;br /&gt;
_CombatID: A handle that identifies the combat. Should always be &amp;gt; 0.&lt;br /&gt;
Notes&lt;br /&gt;
&lt;br /&gt;
This can be a combat that is still being set up, or an existing combat joined by a character that wandered too close.&lt;br /&gt;
If the combat is still being set up, not all information may be available yet (e.g., other initial objects may still be added after this one), and you cannot use APIs such as JumpToTurn yet. If you wish to perform some action when a combat has completely started, use CombatStarted instead.&lt;br /&gt;
See also&lt;br /&gt;
&lt;br /&gt;
CombatStarted&lt;br /&gt;
ObjectLeftCombat&lt;br /&gt;
ObjectFlagSet&lt;br /&gt;
&lt;br /&gt;
Full definitions&lt;br /&gt;
&lt;br /&gt;
event ObjectFlagSet((STRING)_FlagName, (GUIDSTRING)_Speaker, (INTEGER)_DialogInstance)&lt;br /&gt;
Description&lt;br /&gt;
Thrown when the flag _FlagName is set on object _Speaker in the context indicated by _DialogInstance.&lt;br /&gt;
&lt;br /&gt;
Parameters&lt;br /&gt;
&lt;br /&gt;
_FlagName: The flag that is set. &lt;br /&gt;
_Speaker: The object on which the (character) flag is set.&lt;br /&gt;
_DialogInstance: If the flag was set using a dialog node, _DialogInstance contains the dialog's instance ID. If the flag was set from story, _DialogInstance will contain whatever was passed as last parameter to ObjectSetFlag. If the flag was set from behaviour script, DialogInstance will be zero.&lt;br /&gt;
Notes&lt;br /&gt;
&lt;br /&gt;
/&lt;br /&gt;
See also&lt;br /&gt;
&lt;br /&gt;
ObjectSetFlag&lt;br /&gt;
ObjectClearFlag&lt;br /&gt;
ObjectLeftCombat&lt;br /&gt;
&lt;br /&gt;
Full definitions&lt;br /&gt;
&lt;br /&gt;
event ObjectLeftCombat((GUIDSTRING)_Object, (INTEGER)_CombatID)&lt;br /&gt;
Description&lt;br /&gt;
Thrown when an object (character or item) leaves a combat.&lt;br /&gt;
&lt;br /&gt;
Parameters&lt;br /&gt;
&lt;br /&gt;
_Object: The object that has left the combat&lt;br /&gt;
_CombatID: A handle that identifies the combat. Should always be &amp;gt; 0.&lt;br /&gt;
Notes&lt;br /&gt;
&lt;br /&gt;
Reasons why characters may leave combat is because they died, because they got too far from the other participants, or because story forced them to leave.&lt;br /&gt;
See also&lt;br /&gt;
&lt;br /&gt;
CombatStarted&lt;br /&gt;
ObjectEnteredCombat&lt;br /&gt;
ObjectSourcePointAddRequest&lt;br /&gt;
&lt;br /&gt;
Full definitions&lt;br /&gt;
&lt;br /&gt;
event ObjectSourcePointAddRequest((GUIDSTRING)_Target, (INTEGER)_Amount)&lt;br /&gt;
Description&lt;br /&gt;
Thrown for every attempt to add source to an object, even if the object cannot hold more source. It is thrown before the source has been added.&lt;br /&gt;
&lt;br /&gt;
Parameters&lt;br /&gt;
&lt;br /&gt;
_Target: The object to which source gets added. In case of a character, this means there is an attempt to add source points. In case of an item, this means there is an attempt to add charges.&lt;br /&gt;
_Amount: The number of source points/charges that is being added.&lt;br /&gt;
Notes&lt;br /&gt;
&lt;br /&gt;
As mentioned in the description, this is triggered even when _Target currently already holds its maximum of source.&lt;br /&gt;
See also&lt;br /&gt;
&lt;br /&gt;
/&lt;br /&gt;
RegionStarted&lt;br /&gt;
&lt;br /&gt;
Full definitions&lt;br /&gt;
&lt;br /&gt;
event RegionStarted((String)_LevelName)&lt;br /&gt;
Description&lt;br /&gt;
Thrown when the level has been loaded and is ready at the server side, but not yet at the client side.&lt;br /&gt;
&lt;br /&gt;
Parameters&lt;br /&gt;
&lt;br /&gt;
_LevelName: The identifier name of the level that has been loaded&lt;br /&gt;
Notes&lt;br /&gt;
&lt;br /&gt;
See GameStarted for usage information that also applies to this call.&lt;br /&gt;
See also&lt;br /&gt;
&lt;br /&gt;
GameStarted&lt;/div&gt;</summary>
		<author><name>Larian octaaf</name></author>
	</entry>
	<entry>
		<id>https://docs.larian.game/index.php?title=Osiris_API_Tips_Events&amp;diff=514</id>
		<title>Osiris API Tips Events</title>
		<link rel="alternate" type="text/html" href="https://docs.larian.game/index.php?title=Osiris_API_Tips_Events&amp;diff=514"/>
		<updated>2017-08-02T13:13:53Z</updated>

		<summary type="html">&lt;p&gt;Larian octaaf: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Events ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Events are a way for Osiris to inform script that something happened. All event parameters have [in] semantics.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= CharacterBlockedBy = &lt;br /&gt;
&lt;br /&gt;
Full definitions&lt;br /&gt;
event CharacterBlokedBy((CHARACTERGUID)_Defender, (CHARACTERGUID)_Attacker, (CHARACTERGUID)_AttackerOwner)&lt;br /&gt;
&lt;br /&gt;
Description&lt;br /&gt;
Thrown when a character blocks an attack from another character.&lt;br /&gt;
&lt;br /&gt;
Parameters&lt;br /&gt;
_Defender: The character that received/defended the attack.&lt;br /&gt;
_Attacker: The character that attacked the _Defender.&lt;br /&gt;
_AttackerOwner: The character that owns the _Attacker character.&lt;br /&gt;
&lt;br /&gt;
Notes&lt;br /&gt;
_AttackerOwner can be the same character as _Attacker, _AttackOwner will be different in the case of summoned characters.&lt;br /&gt;
&lt;br /&gt;
See also&lt;br /&gt;
CharacterMissedBy&lt;br /&gt;
CharacterMissedBy&lt;br /&gt;
&lt;br /&gt;
Full definitions&lt;br /&gt;
event CharacterMissedBy((CHARACTERGUID)_Defender, (CHARACTERGUID)_Attacker, (CHARACTERGUID)_AttackerOwner)&lt;br /&gt;
&lt;br /&gt;
Description&lt;br /&gt;
Thrown when a character misses an attack from another character.&lt;br /&gt;
&lt;br /&gt;
Parameters&lt;br /&gt;
_Defender: The character that received/defended the attack.&lt;br /&gt;
_Attacker: The character that attacked the _Defender.&lt;br /&gt;
_AttackerOwner: The character that owns the _Attacker character.&lt;br /&gt;
&lt;br /&gt;
Notes&lt;br /&gt;
_AttackerOwner can be the same character as _Attacker, _AttackOwner will be different in the case of summoned characters.&lt;br /&gt;
&lt;br /&gt;
See also&lt;br /&gt;
CharacterBlockedBy&lt;br /&gt;
CharacterCriticalHitBy&lt;br /&gt;
&lt;br /&gt;
Full definitions&lt;br /&gt;
event CharacterCriticalHitBy((CHARACTERGUID)_Defender, (CHARACTERGUID)_Attacker, (CHARACTERGUID)_AttackerOwner)&lt;br /&gt;
&lt;br /&gt;
Description&lt;br /&gt;
Thrown when a character receives a critical hit from an attack of another character.&lt;br /&gt;
&lt;br /&gt;
Parameters&lt;br /&gt;
_Defender: The character that received/defended the attack.&lt;br /&gt;
_Attacker: The character that attacked the _Defender.&lt;br /&gt;
_AttackerOwner: The character that owns the _Attacker character.&lt;br /&gt;
&lt;br /&gt;
Notes&lt;br /&gt;
_AttackerOwner can be the same character as _Attacker, _AttackOwner will be different in the case of summoned characters.&lt;br /&gt;
&lt;br /&gt;
See also&lt;br /&gt;
CharacterBlockedBy&lt;br /&gt;
CharacterKilledBy&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Full definitions&lt;br /&gt;
event CharacterKilledBy((CHARACTERGUID)_Defender, (CHARACTERGUID)_Attacker, (CHARACTERGUID)_AttackerOwner)&lt;br /&gt;
&lt;br /&gt;
Description&lt;br /&gt;
Thrown when a character is killed by another character.&lt;br /&gt;
&lt;br /&gt;
Parameters&lt;br /&gt;
_Defender: The character that received/defended the attack.&lt;br /&gt;
_Attacker: The character that attacked the _Defender.&lt;br /&gt;
_AttackerOwner: The character that owns the _Attacker character.&lt;br /&gt;
&lt;br /&gt;
Notes&lt;br /&gt;
_AttackerOwner can be the same character as _Attacker, _AttackOwner will be different in the case of summoned characters.&lt;br /&gt;
&lt;br /&gt;
See also&lt;br /&gt;
CharacterBlockedBy&lt;br /&gt;
CharacterEnteredRegion&lt;br /&gt;
&lt;br /&gt;
Full definitions&lt;br /&gt;
&lt;br /&gt;
event CharacterEnteredRegion((CHARACTERGUID)_Character, (STRING)_Region)&lt;br /&gt;
Description&lt;br /&gt;
Thrown when a character enters a level because it was placed there in the editor, it was teleported there via script, or it was created/spawned there via script.&lt;br /&gt;
&lt;br /&gt;
Parameters&lt;br /&gt;
&lt;br /&gt;
_Character: the character that entered the level/region&lt;br /&gt;
_Region: the name of the level/region (as entered in the Levelname property of the Level -&amp;gt; Edit Level Data... menu entry in the editor.&lt;br /&gt;
Notes&lt;br /&gt;
&lt;br /&gt;
For characters statically placed in a level using the editor, this event is thrown only once when the level is first entered. It is not thrown again when loading save games from within that level. TODO: check what happens if the players are teleported out of a level and then back into it (never done in DivinityOrigins mod).&lt;br /&gt;
See also&lt;br /&gt;
&lt;br /&gt;
/&lt;br /&gt;
CharacterSawCharacter&lt;br /&gt;
&lt;br /&gt;
Full definitions&lt;br /&gt;
&lt;br /&gt;
event CharacterSawCharacter((CHARACTERGUID)_Character, (CHARACTERGUID)_OtherCharacter)&lt;br /&gt;
Description&lt;br /&gt;
Thrown when one _Character sees _OtherCharacter. Note that this event is only thrown if _Character has been registered as an event generator.&lt;br /&gt;
&lt;br /&gt;
Parameters&lt;br /&gt;
&lt;br /&gt;
_Character: the character that does the seeing.&lt;br /&gt;
_OtherCharacter: the character that is seen&lt;br /&gt;
Notes&lt;br /&gt;
&lt;br /&gt;
By default, only player-controlled characters are event generators. Once you call CharacterCanSee with an NPC as first parameter, an event generator is also registered for this NPC and it will also start throwing CharacterSawCharacter events. This event generator may only work temporarily though, so in general only rely on these events be thrown for player characters.&lt;br /&gt;
See also&lt;br /&gt;
&lt;br /&gt;
CharacterCanSee&lt;br /&gt;
CharacterLostSightOfCharacter&lt;br /&gt;
CharacterStoppedUsingItem&lt;br /&gt;
&lt;br /&gt;
Full definitions&lt;br /&gt;
&lt;br /&gt;
event CharacterStoppedUsingItem((CHARACTERGUID)_Character, (ITEMGUID)_Item)&lt;br /&gt;
Description&lt;br /&gt;
Thrown when a character stopped using an item, or if a character tried to use an item and failed.&lt;br /&gt;
&lt;br /&gt;
Parameters&lt;br /&gt;
&lt;br /&gt;
_Character: the character that used or tried to use _Item.&lt;br /&gt;
_Item: the item that was used or attempted to be used&lt;br /&gt;
Notes&lt;br /&gt;
&lt;br /&gt;
/&lt;br /&gt;
See also&lt;br /&gt;
&lt;br /&gt;
/&lt;br /&gt;
CombatStarted&lt;br /&gt;
&lt;br /&gt;
Full definitions&lt;br /&gt;
&lt;br /&gt;
event CombatStarted((INTEGER)_CombatID)&lt;br /&gt;
Description&lt;br /&gt;
Thrown once a new combat has started and has been completely initialised. I.e., all initial participants have been added, and combat is ready to start.&lt;br /&gt;
&lt;br /&gt;
Parameters&lt;br /&gt;
&lt;br /&gt;
_CombatID: A handle that identifies the combat. Should always be &amp;gt; 0.&lt;br /&gt;
Notes&lt;br /&gt;
&lt;br /&gt;
This event can also be thrown for an ongoing combat after one or more participants left. In this case, first a new ObjectEnteredCombat event will be thrown for every participant still in the combat, followed by a new CombatStartedEvent with the same _CombatID as before. During these new ObjectEventeredCombat events and CombatStarted event, the combat must again be considered to be not completely initialised yet.&lt;br /&gt;
This event will also be thrown when two combats are merged.&lt;br /&gt;
See also&lt;br /&gt;
&lt;br /&gt;
ObjectEnteredCombat&lt;br /&gt;
ObjectLeftCombat&lt;br /&gt;
DialogStartRequested&lt;br /&gt;
&lt;br /&gt;
Full definitions&lt;br /&gt;
&lt;br /&gt;
event DialogStartRequested((GUIDSTRING)_Target,(GUIDSTRING)_Player)&lt;br /&gt;
Description&lt;br /&gt;
Thrown whenever a player tries to start a conversation with another object.&lt;br /&gt;
&lt;br /&gt;
Parameters&lt;br /&gt;
&lt;br /&gt;
_Target: The object to which the conversation request is directed.&lt;br /&gt;
_Player: The player that initiated the conversation&lt;br /&gt;
Notes&lt;br /&gt;
&lt;br /&gt;
Do not use this event directly. Overload PROC_GLOBAL_DialogStartRequested or PROC_GLOBAL_DialogStartRequested_AfterGenerics instead, so that certain common behaviours are guaranteed to hold in all cases.&lt;br /&gt;
This event can only be thrown if the target can accept dialog requests, i.e. if SetHasDialog(_Target,1) is currently active.&lt;br /&gt;
See also&lt;br /&gt;
&lt;br /&gt;
SetHasDialog&lt;br /&gt;
helper PROC_GLOBAL_DialogStartRequested&lt;br /&gt;
helper PROC_GLOBAL_DialogStartRequested_AfterGenerics&lt;br /&gt;
GameStarted&lt;br /&gt;
&lt;br /&gt;
Full definitions&lt;br /&gt;
&lt;br /&gt;
event GameStarted((String)_LevelName, (INTEGER)_IsEditorMode)&lt;br /&gt;
Description&lt;br /&gt;
Thrown when a level has been loaded and is ready at both the server and client side.&lt;br /&gt;
&lt;br /&gt;
Parameters&lt;br /&gt;
&lt;br /&gt;
_LevelName: The identifier name of the level that has been loaded&lt;br /&gt;
_IsEditorMode: Indicates whether the game is run in the editor or not&lt;br /&gt;
Notes&lt;br /&gt;
&lt;br /&gt;
The logic of Osiris is split into a server and a client side, even in single player mode. Some important things that run on the client side are visual effects and physics.&lt;br /&gt;
An example of something that is done only when the client side is ready, is playing the effect of the source collars on the characters in the tutorial and Fort Joy levels (since they're visual effects, and hence do not work if started when only the server side is ready)&lt;br /&gt;
See RegionStarted for an event that is thrown when the level is ready on the server side.&lt;br /&gt;
This event is also thrown when loading a savegame, so add additional logic for code that should be executed only the first time when this level is started (or trigger it from the INIT section of a story goal instead).&lt;br /&gt;
See also&lt;br /&gt;
&lt;br /&gt;
RegionStarted&lt;br /&gt;
ObjectEnteredCombat&lt;br /&gt;
&lt;br /&gt;
Full definitions&lt;br /&gt;
&lt;br /&gt;
event ObjectEnteredCombat((GUIDSTRING)_Object, (INTEGER)_CombatID)&lt;br /&gt;
Description&lt;br /&gt;
Thrown when an object (character or item) enters a combat.&lt;br /&gt;
&lt;br /&gt;
Parameters&lt;br /&gt;
&lt;br /&gt;
_Object: The object that has entered the combat&lt;br /&gt;
_CombatID: A handle that identifies the combat. Should always be &amp;gt; 0.&lt;br /&gt;
Notes&lt;br /&gt;
&lt;br /&gt;
This can be a combat that is still being set up, or an existing combat joined by a character that wandered too close.&lt;br /&gt;
If the combat is still being set up, not all information may be available yet (e.g., other initial objects may still be added after this one), and you cannot use APIs such as JumpToTurn yet. If you wish to perform some action when a combat has completely started, use CombatStarted instead.&lt;br /&gt;
See also&lt;br /&gt;
&lt;br /&gt;
CombatStarted&lt;br /&gt;
ObjectLeftCombat&lt;br /&gt;
ObjectFlagSet&lt;br /&gt;
&lt;br /&gt;
Full definitions&lt;br /&gt;
&lt;br /&gt;
event ObjectFlagSet((STRING)_FlagName, (GUIDSTRING)_Speaker, (INTEGER)_DialogInstance)&lt;br /&gt;
Description&lt;br /&gt;
Thrown when the flag _FlagName is set on object _Speaker in the context indicated by _DialogInstance.&lt;br /&gt;
&lt;br /&gt;
Parameters&lt;br /&gt;
&lt;br /&gt;
_FlagName: The flag that is set. &lt;br /&gt;
_Speaker: The object on which the (character) flag is set.&lt;br /&gt;
_DialogInstance: If the flag was set using a dialog node, _DialogInstance contains the dialog's instance ID. If the flag was set from story, _DialogInstance will contain whatever was passed as last parameter to ObjectSetFlag. If the flag was set from behaviour script, DialogInstance will be zero.&lt;br /&gt;
Notes&lt;br /&gt;
&lt;br /&gt;
/&lt;br /&gt;
See also&lt;br /&gt;
&lt;br /&gt;
ObjectSetFlag&lt;br /&gt;
ObjectClearFlag&lt;br /&gt;
ObjectLeftCombat&lt;br /&gt;
&lt;br /&gt;
Full definitions&lt;br /&gt;
&lt;br /&gt;
event ObjectLeftCombat((GUIDSTRING)_Object, (INTEGER)_CombatID)&lt;br /&gt;
Description&lt;br /&gt;
Thrown when an object (character or item) leaves a combat.&lt;br /&gt;
&lt;br /&gt;
Parameters&lt;br /&gt;
&lt;br /&gt;
_Object: The object that has left the combat&lt;br /&gt;
_CombatID: A handle that identifies the combat. Should always be &amp;gt; 0.&lt;br /&gt;
Notes&lt;br /&gt;
&lt;br /&gt;
Reasons why characters may leave combat is because they died, because they got too far from the other participants, or because story forced them to leave.&lt;br /&gt;
See also&lt;br /&gt;
&lt;br /&gt;
CombatStarted&lt;br /&gt;
ObjectEnteredCombat&lt;br /&gt;
ObjectSourcePointAddRequest&lt;br /&gt;
&lt;br /&gt;
Full definitions&lt;br /&gt;
&lt;br /&gt;
event ObjectSourcePointAddRequest((GUIDSTRING)_Target, (INTEGER)_Amount)&lt;br /&gt;
Description&lt;br /&gt;
Thrown for every attempt to add source to an object, even if the object cannot hold more source. It is thrown before the source has been added.&lt;br /&gt;
&lt;br /&gt;
Parameters&lt;br /&gt;
&lt;br /&gt;
_Target: The object to which source gets added. In case of a character, this means there is an attempt to add source points. In case of an item, this means there is an attempt to add charges.&lt;br /&gt;
_Amount: The number of source points/charges that is being added.&lt;br /&gt;
Notes&lt;br /&gt;
&lt;br /&gt;
As mentioned in the description, this is triggered even when _Target currently already holds its maximum of source.&lt;br /&gt;
See also&lt;br /&gt;
&lt;br /&gt;
/&lt;br /&gt;
RegionStarted&lt;br /&gt;
&lt;br /&gt;
Full definitions&lt;br /&gt;
&lt;br /&gt;
event RegionStarted((String)_LevelName)&lt;br /&gt;
Description&lt;br /&gt;
Thrown when the level has been loaded and is ready at the server side, but not yet at the client side.&lt;br /&gt;
&lt;br /&gt;
Parameters&lt;br /&gt;
&lt;br /&gt;
_LevelName: The identifier name of the level that has been loaded&lt;br /&gt;
Notes&lt;br /&gt;
&lt;br /&gt;
See GameStarted for usage information that also applies to this call.&lt;br /&gt;
See also&lt;br /&gt;
&lt;br /&gt;
GameStarted&lt;/div&gt;</summary>
		<author><name>Larian octaaf</name></author>
	</entry>
	<entry>
		<id>https://docs.larian.game/index.php?title=Osiris_API_Tips_Queries&amp;diff=453</id>
		<title>Osiris API Tips Queries</title>
		<link rel="alternate" type="text/html" href="https://docs.larian.game/index.php?title=Osiris_API_Tips_Queries&amp;diff=453"/>
		<updated>2017-08-02T10:11:49Z</updated>

		<summary type="html">&lt;p&gt;Larian octaaf: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;h3&amp;gt;Queries&amp;lt;/h3&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Queries request information about the state of the world from Osiris. They can be used in the part of a rule that checks conditions. Queries almost always succeed, except if you pass an initialised value as an &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;[out]&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt; parameter and it does not match the value the query would returns. Below, this will be called the &amp;lt;b&amp;gt;Default Return Value&amp;lt;/b&amp;gt;. If a query can also fail under other circumstances, this will be mentioned.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&amp;lt;h4 style=&amp;quot;font-size:1.1em;color:rgb(36,53,93)&amp;quot;&amp;gt;CharacterGetEquippedItem&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Full definitions&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;query &amp;lt;b&amp;gt;CharacterGetEquippedItem&amp;lt;/b&amp;gt;(&amp;lt;i&amp;gt;&amp;lt;b&amp;gt;[in]&amp;lt;/b&amp;gt;(CHARACTERGUID)&amp;lt;/i&amp;gt;&amp;lt;b&amp;gt;_Character&amp;lt;/b&amp;gt;,&amp;lt;i&amp;gt;&amp;lt;b&amp;gt; [in]&amp;lt;/b&amp;gt;(STRING)&amp;lt;/i&amp;gt;&amp;lt;b&amp;gt;_Slotname&amp;lt;/b&amp;gt;,&amp;lt;i&amp;gt;&amp;lt;b&amp;gt; [out]&amp;lt;/b&amp;gt;&amp;lt;/i&amp;gt;(&amp;lt;i&amp;gt;GUIDSTRING&amp;lt;/i&amp;gt;)&amp;lt;b&amp;gt;_ItemGUID&amp;lt;/b&amp;gt;)&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;u&amp;gt;Description&amp;lt;/u&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Returns in &amp;lt;b&amp;gt;_ItemGUID&amp;lt;/b&amp;gt; the item equipped by &amp;lt;b&amp;gt;_Character&amp;lt;/b&amp;gt; in slot &amp;lt;b&amp;gt;_Slotname&amp;lt;/b&amp;gt;, if any.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Return values&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;&amp;lt;b&amp;gt;&amp;lt;b&amp;gt;Success/Failure&amp;lt;/b&amp;gt;: &amp;lt;/b&amp;gt;&amp;lt;/b&amp;gt;Fails if &amp;lt;b&amp;gt;_Character&amp;lt;/b&amp;gt; does not exist, or if no item is equipped in &amp;lt;b&amp;gt;_Slotname&amp;lt;/b&amp;gt;.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;_ItemGuid&amp;lt;/b&amp;gt;: The item equipped by &amp;lt;b&amp;gt;_Character&amp;lt;/b&amp;gt; in &amp;lt;b&amp;gt;_Slotname.&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Notes&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;The valid values for &amp;lt;b&amp;gt;_Slotname&amp;lt;/b&amp;gt; are: &amp;lt;b&amp;gt;Helmet&amp;lt;/b&amp;gt;, &amp;lt;b&amp;gt;Amulet&amp;lt;/b&amp;gt;, &amp;lt;b&amp;gt;Breast&amp;lt;/b&amp;gt;, &amp;lt;b&amp;gt;Belt&amp;lt;/b&amp;gt;, &amp;lt;b&amp;gt;Gloves&amp;lt;/b&amp;gt;, &amp;lt;b&amp;gt;Leggings&amp;lt;/b&amp;gt;, &amp;lt;b&amp;gt;Boots&amp;lt;/b&amp;gt;, &amp;lt;b&amp;gt;Weapon&amp;lt;/b&amp;gt;, &amp;lt;b&amp;gt;Shield&amp;lt;/b&amp;gt;, &amp;lt;b&amp;gt;Ring&amp;lt;/b&amp;gt;, &amp;lt;b&amp;gt;Ring2&amp;lt;/b&amp;gt;.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;See also&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;CharacterUnequipItem&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;CharacterGetHenchmanPresetPrice&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-size:13.3333px&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;font-size:13.3333px&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Full definitions&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul style=&amp;quot;font-size:13.3333px&amp;quot;&amp;gt;&amp;lt;li&amp;gt;query&amp;amp;nbsp;&amp;lt;b&amp;gt;CharacterGetHenchmanPresetPrice&amp;lt;/b&amp;gt;(&amp;lt;i&amp;gt;&amp;lt;b&amp;gt;[in]&amp;lt;/b&amp;gt;&amp;lt;/i&amp;gt;(STRING)&amp;lt;b&amp;gt;_Preset&amp;lt;/b&amp;gt;,&amp;lt;b&amp;gt;&amp;amp;nbsp;&amp;lt;/b&amp;gt;&amp;lt;i style=&amp;quot;font-size:13.3333px&amp;quot;&amp;gt;&amp;lt;b&amp;gt;[in]&amp;lt;/b&amp;gt;(CHARACTERGUID)&amp;lt;/i&amp;gt;&amp;lt;b style=&amp;quot;font-size:13.3333px&amp;quot;&amp;gt;_Character&amp;lt;/b&amp;gt;&amp;lt;span style=&amp;quot;font-size:13.3333px&amp;quot;&amp;gt;,&amp;amp;nbsp;&amp;lt;b&amp;gt;&amp;lt;i&amp;gt;[out]&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt;&amp;lt;i&amp;gt;(INTEGER)&amp;lt;/i&amp;gt;&amp;lt;b&amp;gt;_Price&amp;lt;/b&amp;gt;&amp;lt;/span&amp;gt;)&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;u style=&amp;quot;font-size:13.3333px&amp;quot;&amp;gt;Description&amp;lt;/u&amp;gt;&amp;lt;br style=&amp;quot;font-size:13.3333px&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;font-size:13.3333px&amp;quot;&amp;gt;Returns the price of the preset scaled to the level of&amp;amp;nbsp;&amp;lt;b&amp;gt;_Character&amp;lt;/b&amp;gt;.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;font-size:13.3333px&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Return values&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul style=&amp;quot;font-size:13.3333px&amp;quot;&amp;gt;&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;_Price&amp;lt;/b&amp;gt;: The price of the preset scaled to the level of&amp;amp;nbsp;&amp;lt;b&amp;gt;_Character.&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;font-size:13.3333px&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Notes&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul style=&amp;quot;font-size:13.3333px&amp;quot;&amp;gt;&amp;lt;li&amp;gt;Presets come from the folder&amp;amp;nbsp;&amp;lt;b&amp;gt;&amp;quot;.../DOS2/Data/Mods/Shared/CharacterCreation/HenchmanPresets/&amp;quot;&amp;lt;/b&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Presets can be customized using the following documentation:&amp;amp;nbsp;&amp;lt;b&amp;gt;link&amp;lt;/b&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;font-size:13.3333px&amp;quot;&amp;gt;&amp;lt;u&amp;gt;See also&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul style=&amp;quot;font-size:13.3333px&amp;quot;&amp;gt;&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;CharacterApplyHenchmanPreset&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;CharacterIsAlly&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Full definitions&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;query &amp;lt;b&amp;gt;CharacterIsAlly&amp;lt;/b&amp;gt;(&amp;lt;i&amp;gt;&amp;lt;b&amp;gt;[in]&amp;lt;/b&amp;gt;(CHARACTERGUID)&amp;lt;/i&amp;gt;&amp;lt;b&amp;gt;_Character&amp;lt;/b&amp;gt;,&amp;lt;i&amp;gt;&amp;lt;b&amp;gt; &amp;lt;/b&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;i&amp;gt;&amp;lt;b&amp;gt;&amp;lt;i&amp;gt;&amp;lt;b&amp;gt;[in]&amp;lt;/b&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt;&amp;lt;i&amp;gt;(CHARACTERGUID)&amp;lt;/i&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;b&amp;gt;&amp;lt;b&amp;gt;_OtherCharacter&amp;lt;/b&amp;gt;&amp;lt;/b&amp;gt;&amp;lt;i&amp;gt;&amp;lt;b&amp;gt;,&amp;lt;i&amp;gt;&amp;lt;b&amp;gt; &amp;lt;/b&amp;gt;&amp;lt;/i&amp;gt;[out]&amp;lt;/b&amp;gt;&amp;lt;/i&amp;gt;(INTEGER)&amp;lt;b&amp;gt;_Bool&amp;lt;/b&amp;gt;)&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;u&amp;gt;Description&amp;lt;/u&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Returns whether &amp;lt;b&amp;gt;_Character&amp;lt;/b&amp;gt; is an ally of &amp;lt;b&amp;gt;_OtherCharacter&amp;lt;/b&amp;gt;.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Return values&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;&amp;lt;b&amp;gt;&amp;lt;b&amp;gt;Success/Failure&amp;lt;/b&amp;gt;:&amp;lt;/b&amp;gt;&amp;lt;/b&amp;gt; Default return value.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;_Bool&amp;lt;/b&amp;gt;: &amp;lt;b&amp;gt;1&amp;lt;/b&amp;gt; if &amp;lt;b&amp;gt;_Character&amp;lt;/b&amp;gt; and &amp;lt;b&amp;gt;_OtherCharacter &amp;lt;/b&amp;gt;are allies, &amp;lt;b&amp;gt;0&amp;lt;/b&amp;gt; if not&amp;lt;b&amp;gt;.&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Notes&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;Also works outside combat.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;If &amp;lt;b&amp;gt;_Character&amp;lt;/b&amp;gt; or &amp;lt;b&amp;gt;_OtherCharacter&amp;lt;/b&amp;gt; is dead or dying, the result solely depends on the characters' alignments (factions). If they are alive, it is also influenced by temporary hostile relations, e.g. induced by attacking a neutral character.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;See also&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;CharacterIsNeutral&amp;lt;/b&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;CharacterIsEnemy&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/b&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;CharacterIsEnemy&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Notes&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;See &amp;lt;b&amp;gt;CharacterIsAlly&amp;lt;/b&amp;gt; for detailed information, except that this query returns whether the characters are enemies.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;See also&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;CharacterIsAlly&amp;lt;/b&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;CharacterIsEnemy&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/b&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;CharacterIsNeutral&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Notes&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;See &amp;lt;b&amp;gt;CharacterIsAlly&amp;lt;/b&amp;gt; for detailed information, except that this query returns whether the characters are neutral.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;See also&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;CharacterIsAlly&amp;lt;/b&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;CharacterIsEnemy&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/b&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;CharacterIsPartyFollower&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Full definitions&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;query &amp;lt;b&amp;gt;CharacterIsPartyFollower&amp;lt;/b&amp;gt;(&amp;lt;i&amp;gt;&amp;lt;b&amp;gt;[in]&amp;lt;/b&amp;gt;(CHARACTERGUID)&amp;lt;/i&amp;gt;&amp;lt;b&amp;gt;_Character&amp;lt;/b&amp;gt;,&amp;lt;i&amp;gt;&amp;lt;b&amp;gt; &amp;lt;/b&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;i&amp;gt;&amp;lt;b&amp;gt;[out]&amp;lt;/b&amp;gt;&amp;lt;/i&amp;gt;(INTEGER)&amp;lt;b&amp;gt;_Bool&amp;lt;/b&amp;gt;)&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;u&amp;gt;Description&amp;lt;/u&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Returns whether &amp;lt;b&amp;gt;_Character&amp;lt;/b&amp;gt; is a character that follows a player character around. An NPC can be instructed to do so through &amp;lt;b&amp;gt;CharacterFollowCharacter&amp;lt;/b&amp;gt;.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Return values&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;&amp;lt;b&amp;gt;&amp;lt;b&amp;gt;Success/Failure&amp;lt;/b&amp;gt;: &amp;lt;/b&amp;gt;&amp;lt;/b&amp;gt;Fails if &amp;lt;b&amp;gt;_Character&amp;lt;/b&amp;gt; does not exist&amp;lt;b&amp;gt;.&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;_Bool&amp;lt;/b&amp;gt;: &amp;lt;b&amp;gt;1&amp;lt;/b&amp;gt; if &amp;lt;b&amp;gt;_Character&amp;lt;/b&amp;gt; is a party follower, &amp;lt;b&amp;gt;0&amp;lt;/b&amp;gt; if not&amp;lt;b&amp;gt;.&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Notes&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;CharacterIsPlayer&amp;lt;/b&amp;gt; will also return true for party followers.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;See also&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;CharacterIsPlayer&amp;lt;/b&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;CharacterFollowCharacter&amp;lt;/b&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;CharacterIsPlayer&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Full definitions&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;query &amp;lt;b&amp;gt;CharacterIsPlayer&amp;lt;/b&amp;gt;(&amp;lt;i&amp;gt;&amp;lt;b&amp;gt;[in]&amp;lt;/b&amp;gt;(CHARACTERGUID)&amp;lt;/i&amp;gt;&amp;lt;b&amp;gt;_Character&amp;lt;/b&amp;gt;,&amp;lt;i&amp;gt;&amp;lt;b&amp;gt; &amp;lt;/b&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;i&amp;gt;&amp;lt;b&amp;gt;[out]&amp;lt;/b&amp;gt;&amp;lt;/i&amp;gt;(INTEGER)&amp;lt;b&amp;gt;_Bool&amp;lt;/b&amp;gt;)&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;u&amp;gt;Description&amp;lt;/u&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Returns whether &amp;lt;b&amp;gt;_Character&amp;lt;/b&amp;gt; is &amp;lt;i&amp;gt;player-controlled&amp;lt;/i&amp;gt;.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Return values&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;&amp;lt;b&amp;gt;&amp;lt;b&amp;gt;Success/Failure&amp;lt;/b&amp;gt;: &amp;lt;/b&amp;gt;&amp;lt;/b&amp;gt;Fails if &amp;lt;b&amp;gt;_Character&amp;lt;/b&amp;gt; does not exist&amp;lt;b&amp;gt;.&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;_Bool&amp;lt;/b&amp;gt;: &amp;lt;b&amp;gt;1&amp;lt;/b&amp;gt; if &amp;lt;b&amp;gt;_Character&amp;lt;/b&amp;gt; is &amp;lt;i&amp;gt;player-controlled&amp;lt;/i&amp;gt;, &amp;lt;b&amp;gt;0&amp;lt;/b&amp;gt; if not&amp;lt;b&amp;gt;.&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Notes&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;Apart from avatars and recruited companions, &amp;lt;i&amp;gt;player-controlled&amp;lt;/i&amp;gt; characters also include summons and followers.&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;See also&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;CharacterIsPartyFollower&amp;lt;/b&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;CharacterIsSummon&amp;lt;/b&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;CharacterFollowCharacter&amp;lt;/b&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;CharacterIsSummon&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Full definitions&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;query &amp;lt;b&amp;gt;CharacterIsSummon&amp;lt;/b&amp;gt;(&amp;lt;i&amp;gt;&amp;lt;b&amp;gt;[in]&amp;lt;/b&amp;gt;(CHARACTERGUID)&amp;lt;/i&amp;gt;&amp;lt;b&amp;gt;_Character&amp;lt;/b&amp;gt;,&amp;lt;i&amp;gt;&amp;lt;b&amp;gt; &amp;lt;/b&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;i&amp;gt;&amp;lt;b&amp;gt;[out]&amp;lt;/b&amp;gt;&amp;lt;/i&amp;gt;(INTEGER)&amp;lt;b&amp;gt;_Bool&amp;lt;/b&amp;gt;)&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;u&amp;gt;Description&amp;lt;/u&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Returns whether &amp;lt;b&amp;gt;_Character&amp;lt;/b&amp;gt; is a summon. Summon can be &amp;lt;i&amp;gt;player-controlled&amp;lt;/i&amp;gt; or not.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Return values&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;&amp;lt;b&amp;gt;&amp;lt;b&amp;gt;Success/Failure&amp;lt;/b&amp;gt;: &amp;lt;/b&amp;gt;&amp;lt;/b&amp;gt;Fails if &amp;lt;b&amp;gt;_Character&amp;lt;/b&amp;gt; does not exist&amp;lt;b&amp;gt;.&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;_Bool&amp;lt;/b&amp;gt;: &amp;lt;b&amp;gt;1&amp;lt;/b&amp;gt; if &amp;lt;b&amp;gt;_Character&amp;lt;/b&amp;gt; is a summon, &amp;lt;b&amp;gt;0&amp;lt;/b&amp;gt; if not&amp;lt;b&amp;gt;.&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Notes&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Summons can also be distinguished by the fact that hey have the &amp;lt;b&amp;gt;SUMMON&amp;lt;/b&amp;gt; tag.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;If you wish to know whether a summon is &amp;lt;i&amp;gt;player-controlled&amp;lt;/i&amp;gt;, also check &amp;lt;b&amp;gt;CharacterIsPlayer&amp;lt;/b&amp;gt;.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;See also&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;CharacterIsPlayer&amp;lt;/b&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;GetClosestAlivePlayer&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Full definitions&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;query &amp;lt;span style=&amp;quot;font-family:arial,sans-serif&amp;quot;&amp;gt;&amp;lt;b&amp;gt;GetClosestAlivePlayer&amp;lt;/b&amp;gt;&amp;lt;/span&amp;gt;(&amp;lt;i&amp;gt;&amp;lt;b&amp;gt;[in]&amp;lt;/b&amp;gt;(GUIDSTRING)&amp;lt;/i&amp;gt;&amp;lt;b&amp;gt;_Target&amp;lt;/b&amp;gt;, &amp;lt;i&amp;gt;&amp;lt;b&amp;gt;[out]&amp;lt;/b&amp;gt;(CHARACTERGUID)&amp;lt;/i&amp;gt;&amp;lt;b&amp;gt;_Player&amp;lt;/b&amp;gt;)&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;u&amp;gt;Description&amp;lt;/u&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Gets the closest player to &amp;lt;b&amp;gt;_Target&amp;lt;/b&amp;gt; that is alive and stores it in &amp;lt;b&amp;gt;_Player&amp;lt;/b&amp;gt;.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Return values&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;&amp;lt;b&amp;gt;&amp;lt;b&amp;gt;&amp;lt;b&amp;gt;Success/Failure&amp;lt;/b&amp;gt;: &amp;lt;/b&amp;gt;&amp;lt;/b&amp;gt;&amp;lt;/b&amp;gt;Fails if no living player is found.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;_Player&amp;lt;/b&amp;gt;: The found player character.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Notes&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;Be careful if you check for extra conditions on the returned player: if any of those conditions fail, no other players will be considered.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;If you want to start a dialog, use &amp;lt;b&amp;gt;&amp;lt;span style=&amp;quot;font-family:arial,sans-serif&amp;quot;&amp;gt;ProcGetClosestAvailableCharacterTo&amp;lt;/span&amp;gt;&amp;lt;/b&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;See also&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;Helper &amp;lt;b&amp;gt;&amp;lt;span style=&amp;quot;font-family:arial,sans-serif&amp;quot;&amp;gt;ProcGetClosestAvailableCharacterTo&amp;lt;/span&amp;gt;&amp;lt;/b&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;GetDistanceTo&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Full definitions&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;query &amp;lt;span style=&amp;quot;font-family:arial,sans-serif&amp;quot;&amp;gt;&amp;lt;b&amp;gt;GetDistanceTo&amp;lt;/b&amp;gt;&amp;lt;/span&amp;gt;(&amp;lt;i&amp;gt;&amp;lt;b&amp;gt;[in]&amp;lt;/b&amp;gt;(GUIDSTRING)&amp;lt;/i&amp;gt;&amp;lt;b&amp;gt;_Object1&amp;lt;/b&amp;gt;, &amp;lt;i&amp;gt;&amp;lt;b&amp;gt;[in]&amp;lt;/b&amp;gt;(GUIDSTRING)&amp;lt;/i&amp;gt;&amp;lt;b&amp;gt;_Object2&amp;lt;/b&amp;gt;, &amp;lt;i&amp;gt;&amp;lt;b&amp;gt;[out]&amp;lt;/b&amp;gt;(REAL)&amp;lt;/i&amp;gt;&amp;lt;b&amp;gt;_Dist&amp;lt;/b&amp;gt;)&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;u&amp;gt;Description&amp;lt;/u&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Calculates the distance between &amp;lt;b&amp;gt;_Object1&amp;lt;/b&amp;gt; and &amp;lt;b&amp;gt;_Object2&amp;lt;/b&amp;gt;.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Return values&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;Success/Failure&amp;lt;/b&amp;gt;: Fails if &amp;lt;span style=&amp;quot;font-family:arial,sans-serif&amp;quot;&amp;gt;if either &amp;lt;b&amp;gt;_Object1&amp;lt;/b&amp;gt; or _&amp;lt;b&amp;gt;Object2&amp;lt;/b&amp;gt; is in a container or in an inventory. Use &amp;lt;b&amp;gt;ItemIsInInventory&amp;lt;/b&amp;gt; to check for this.&amp;lt;/span&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;_Dist&amp;lt;/b&amp;gt;: The distance in metres.&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Notes&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;&amp;lt;span style=&amp;quot;font-family:arial,sans-serif&amp;quot;&amp;gt;/&amp;lt;/span&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;See also&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;ItemIsInInventory&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;GetInventoryOwner&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Full definitions&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;query &amp;lt;b&amp;gt;GetInventoryOwner&amp;lt;/b&amp;gt;(&amp;lt;i&amp;gt;&amp;lt;b&amp;gt;[in]&amp;lt;/b&amp;gt;(ITEMGUID)&amp;lt;/i&amp;gt;&amp;lt;b&amp;gt;_Item&amp;lt;/b&amp;gt;, &amp;lt;i&amp;gt;&amp;lt;b&amp;gt;[out]&amp;lt;/b&amp;gt;(GUIDSTRING)&amp;lt;/i&amp;gt;&amp;lt;b&amp;gt;_Owner&amp;lt;/b&amp;gt;)&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;u&amp;gt;Description&amp;lt;/u&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Returns the inventory/container that holds &amp;lt;b&amp;gt;_Item&amp;lt;/b&amp;gt; in &amp;lt;b&amp;gt;_Owner&amp;lt;/b&amp;gt;.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Return values&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;Success/Failure&amp;lt;/b&amp;gt;: Fails if &amp;lt;b&amp;gt;_Item&amp;lt;/b&amp;gt; is not in anyone's inventory nor in a container.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;_Owner&amp;lt;/b&amp;gt;: The character or item in whose inventory the item currently resides.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Notes&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;This call returns the outermost container. I.e., if a character has crate in their inventory, and the crate contains a pouch with the item, this call will return the character.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;See also&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;ItemIsInInventory&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;GetRandomPositionInTrigger&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Full definitions&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;query &amp;lt;b&amp;gt;GetRandomPositionInTrigger&amp;lt;/b&amp;gt;(&amp;lt;i&amp;gt;&amp;lt;b&amp;gt;[in]&amp;lt;/b&amp;gt;(TRIGGERGUID)&amp;lt;/i&amp;gt;&amp;lt;b&amp;gt;_Trigger&amp;lt;/b&amp;gt;, &amp;lt;i&amp;gt;&amp;lt;b&amp;gt;[out]&amp;lt;/b&amp;gt;(REAL)&amp;lt;/i&amp;gt;&amp;lt;b&amp;gt;_X&amp;lt;/b&amp;gt;, &amp;lt;i&amp;gt;&amp;lt;b&amp;gt;[out]&amp;lt;/b&amp;gt;(REAL)&amp;lt;/i&amp;gt;&amp;lt;b&amp;gt;_Y&amp;lt;/b&amp;gt;, &amp;lt;i&amp;gt;&amp;lt;b&amp;gt;[out]&amp;lt;/b&amp;gt;(REAL)&amp;lt;/i&amp;gt;&amp;lt;b&amp;gt;_Z&amp;lt;/b&amp;gt;)&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;u&amp;gt;Description&amp;lt;/u&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Returns a random position &amp;lt;i&amp;gt;that is valid on the AI-grid&amp;lt;/i&amp;gt; inside &amp;lt;b&amp;gt;_Trigger&amp;lt;/b&amp;gt;.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Return values&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;Success/Failure&amp;lt;/b&amp;gt;: Default return value.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;_Trigger&amp;lt;/b&amp;gt;: A box trigger inside which the random position should be gotten.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;_X&amp;lt;/b&amp;gt;, &amp;lt;b&amp;gt;_Y&amp;lt;/b&amp;gt;, &amp;lt;b&amp;gt;_Z&amp;lt;/b&amp;gt;: the coordinates of the random position&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Notes&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;This routine will first get a random position in the trigger, and if this random position is not valid on the AI-grid, the coordinates will be snapped to a nearby valid position on the AI-grid.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;This call does not work for polytriggers&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;See also&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;/&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;HasActiveStatus&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Full definitions&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;query &amp;lt;b&amp;gt;HasActiveStatus&amp;lt;/b&amp;gt;(&amp;lt;i&amp;gt;&amp;lt;b&amp;gt;[in]&amp;lt;/b&amp;gt;(GUIDSTRING)&amp;lt;/i&amp;gt;&amp;lt;b&amp;gt;_Target&amp;lt;/b&amp;gt;, &amp;lt;i&amp;gt;&amp;lt;b&amp;gt;[in]&amp;lt;/b&amp;gt;(STRING)&amp;lt;/i&amp;gt;&amp;lt;b&amp;gt;_Status&amp;lt;/b&amp;gt;,&amp;lt;i&amp;gt;&amp;lt;b&amp;gt; [out]&amp;lt;/b&amp;gt;(INTEGER)&amp;lt;/i&amp;gt;&amp;lt;b&amp;gt;_Bool&amp;lt;/b&amp;gt;)&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;u&amp;gt;Description&amp;lt;/u&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Returns whether &amp;lt;b&amp;gt;_Target&amp;lt;/b&amp;gt; is currently under the influence of &amp;lt;b&amp;gt;_Status&amp;lt;/b&amp;gt;.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Return values&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;Success/Failure&amp;lt;/b&amp;gt;: Default return value.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;_Bool&amp;lt;/b&amp;gt;: 0 if &amp;lt;b&amp;gt;_Target&amp;lt;/b&amp;gt; is currently not under the influence of &amp;lt;b&amp;gt;_Status&amp;lt;/b&amp;gt;, 1 if it is.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Notes&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;/&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;See also&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;HasAppliedStatus&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;HasAppliedStatus&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Full definitions&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;query &amp;lt;b&amp;gt;HasAppliedStatus&amp;lt;/b&amp;gt;(&amp;lt;i&amp;gt;&amp;lt;b&amp;gt;[in]&amp;lt;/b&amp;gt;(GUIDSTRING)&amp;lt;/i&amp;gt;&amp;lt;b&amp;gt;_Target&amp;lt;/b&amp;gt;, &amp;lt;i&amp;gt;&amp;lt;b&amp;gt;[in]&amp;lt;/b&amp;gt;(STRING)&amp;lt;/i&amp;gt;&amp;lt;b&amp;gt;_Status&amp;lt;/b&amp;gt;,&amp;lt;i&amp;gt;&amp;lt;b&amp;gt; [out]&amp;lt;/b&amp;gt;(INTEGER)&amp;lt;/i&amp;gt;&amp;lt;b&amp;gt;_Bool&amp;lt;/b&amp;gt;)&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;u&amp;gt;Description&amp;lt;/u&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Returns whether &amp;lt;b&amp;gt;_Status&amp;lt;/b&amp;gt; has been applied to &amp;lt;b&amp;gt;_Target&amp;lt;/b&amp;gt;. &amp;lt;b&amp;gt;_Target&amp;lt;/b&amp;gt; may or may not yet actually be under its influence.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Return values&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;&amp;lt;b&amp;gt;Success/Failure&amp;lt;/b&amp;gt;: &amp;lt;/b&amp;gt;Default return value.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;_Bool&amp;lt;/b&amp;gt;: 0 if &amp;lt;b&amp;gt;_Status&amp;lt;/b&amp;gt; has not been applied to &amp;lt;b&amp;gt;_Target&amp;lt;/b&amp;gt;, 1 if it has been.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Notes&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;In virtually all cases, use &amp;lt;b&amp;gt;HasActiveStatus&amp;lt;/b&amp;gt; instead. The main purpose of this query is for crime reactions, and is only needed due to frame delays between code and Osiris.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;See also&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;HasActiveStatus&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;IsSpeakerReserved&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Full definitions&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;query &amp;lt;b&amp;gt;IsSpeakerReserved&amp;lt;/b&amp;gt;(&amp;lt;i&amp;gt;&amp;lt;b&amp;gt;[in]&amp;lt;/b&amp;gt;(GUIDSTRING)&amp;lt;/i&amp;gt;&amp;lt;b&amp;gt;_Speaker&amp;lt;/b&amp;gt;, &amp;lt;i&amp;gt;&amp;lt;b&amp;gt;[out]&amp;lt;/b&amp;gt;(INTEGER)&amp;lt;/i&amp;gt;&amp;lt;b&amp;gt;_success&amp;lt;/b&amp;gt;)&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;u&amp;gt;Description&amp;lt;/u&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Returns whether &amp;lt;b&amp;gt;_Speaker&amp;lt;/b&amp;gt; is already in a dialog.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Return values&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;&amp;lt;b&amp;gt;Success/Failure&amp;lt;/b&amp;gt;: &amp;lt;/b&amp;gt;Default return value.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;_success&amp;lt;/b&amp;gt;: &amp;lt;b&amp;gt;0&amp;lt;/b&amp;gt; if &amp;lt;b&amp;gt;_Speaker&amp;lt;/b&amp;gt; is currently not in a dialog, &amp;lt;b&amp;gt;1&amp;lt;/b&amp;gt; otherwise.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Notes&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;/&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;See also&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;DialogStartRequested&amp;lt;/b&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;Proc_StartDialog&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/b&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;ItemIsInInventory&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Full definitions&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;query &amp;lt;b&amp;gt;&amp;lt;span style=&amp;quot;font-family:arial,sans-serif&amp;quot;&amp;gt;Item&amp;lt;/span&amp;gt;IsInInventory&amp;lt;/b&amp;gt;(&amp;lt;i&amp;gt;&amp;lt;b&amp;gt;[in]&amp;lt;/b&amp;gt;(ITEMGUID)&amp;lt;/i&amp;gt;&amp;lt;b&amp;gt;_Item&amp;lt;/b&amp;gt;, &amp;lt;i&amp;gt;&amp;lt;b&amp;gt;[out]&amp;lt;/b&amp;gt;(INTEGER)&amp;lt;/i&amp;gt;&amp;lt;b&amp;gt;_Bool&amp;lt;/b&amp;gt;)&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;u&amp;gt;Description&amp;lt;/u&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Returns whether &amp;lt;b&amp;gt;_Item&amp;lt;/b&amp;gt; is in an inventory. This includes both character and container inventories.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Return values&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;&amp;lt;b&amp;gt;Success/Failure&amp;lt;/b&amp;gt;: &amp;lt;/b&amp;gt;Default return value.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;_Bool&amp;lt;/b&amp;gt;: 0 if &amp;lt;b&amp;gt;_Item&amp;lt;/b&amp;gt; is not in an inventory (as defined above), 1 if it is.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Notes&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;/&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;See also&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;GetInventoryOwner&amp;lt;/b&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&amp;lt;hr&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Larian octaaf</name></author>
	</entry>
	<entry>
		<id>https://docs.larian.game/index.php?title=Osiris_API_Tips_Queries&amp;diff=451</id>
		<title>Osiris API Tips Queries</title>
		<link rel="alternate" type="text/html" href="https://docs.larian.game/index.php?title=Osiris_API_Tips_Queries&amp;diff=451"/>
		<updated>2017-08-02T10:08:31Z</updated>

		<summary type="html">&lt;p&gt;Larian octaaf: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div&amp;gt;&lt;br /&gt;
&amp;lt;h3&amp;gt;Queries&amp;lt;/h3&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Queries request information about the state of the world from Osiris. They can be used in the part of a rule that checks conditions. Queries almost always succeed, except if you pass an initialised value as an &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;[out]&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt; parameter and it does not match the value the query would returns. Below, this will be called the &amp;lt;b&amp;gt;Default Return Value&amp;lt;/b&amp;gt;. If a query can also fail under other circumstances, this will be mentioned.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&amp;lt;h4 style=&amp;quot;font-size:1.1em;color:rgb(36,53,93)&amp;quot;&amp;gt;CharacterGetEquippedItem&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Full definitions&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;query &amp;lt;b&amp;gt;CharacterGetEquippedItem&amp;lt;/b&amp;gt;(&amp;lt;i&amp;gt;&amp;lt;b&amp;gt;[in]&amp;lt;/b&amp;gt;(CHARACTERGUID)&amp;lt;/i&amp;gt;&amp;lt;b&amp;gt;_Character&amp;lt;/b&amp;gt;,&amp;lt;i&amp;gt;&amp;lt;b&amp;gt; [in]&amp;lt;/b&amp;gt;(STRING)&amp;lt;/i&amp;gt;&amp;lt;b&amp;gt;_Slotname&amp;lt;/b&amp;gt;,&amp;lt;i&amp;gt;&amp;lt;b&amp;gt; [out]&amp;lt;/b&amp;gt;&amp;lt;/i&amp;gt;(&amp;lt;i&amp;gt;GUIDSTRING&amp;lt;/i&amp;gt;)&amp;lt;b&amp;gt;_ItemGUID&amp;lt;/b&amp;gt;)&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;u&amp;gt;Description&amp;lt;/u&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Returns in &amp;lt;b&amp;gt;_ItemGUID&amp;lt;/b&amp;gt; the item equipped by &amp;lt;b&amp;gt;_Character&amp;lt;/b&amp;gt; in slot &amp;lt;b&amp;gt;_Slotname&amp;lt;/b&amp;gt;, if any.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Return values&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;&amp;lt;b&amp;gt;&amp;lt;b&amp;gt;Success/Failure&amp;lt;/b&amp;gt;: &amp;lt;/b&amp;gt;&amp;lt;/b&amp;gt;Fails if &amp;lt;b&amp;gt;_Character&amp;lt;/b&amp;gt; does not exist, or if no item is equipped in &amp;lt;b&amp;gt;_Slotname&amp;lt;/b&amp;gt;.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;_ItemGuid&amp;lt;/b&amp;gt;: The item equipped by &amp;lt;b&amp;gt;_Character&amp;lt;/b&amp;gt; in &amp;lt;b&amp;gt;_Slotname.&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Notes&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;The valid values for &amp;lt;b&amp;gt;_Slotname&amp;lt;/b&amp;gt; are: &amp;lt;b&amp;gt;Helmet&amp;lt;/b&amp;gt;, &amp;lt;b&amp;gt;Amulet&amp;lt;/b&amp;gt;, &amp;lt;b&amp;gt;Breast&amp;lt;/b&amp;gt;, &amp;lt;b&amp;gt;Belt&amp;lt;/b&amp;gt;, &amp;lt;b&amp;gt;Gloves&amp;lt;/b&amp;gt;, &amp;lt;b&amp;gt;Leggings&amp;lt;/b&amp;gt;, &amp;lt;b&amp;gt;Boots&amp;lt;/b&amp;gt;, &amp;lt;b&amp;gt;Weapon&amp;lt;/b&amp;gt;, &amp;lt;b&amp;gt;Shield&amp;lt;/b&amp;gt;, &amp;lt;b&amp;gt;Ring&amp;lt;/b&amp;gt;, &amp;lt;b&amp;gt;Ring2&amp;lt;/b&amp;gt;.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;See also&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;CharacterUnequipItem&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;CharacterGetHenchmanPresetPrice&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-size:13.3333px&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;font-size:13.3333px&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Full definitions&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul style=&amp;quot;font-size:13.3333px&amp;quot;&amp;gt;&amp;lt;li&amp;gt;query&amp;amp;nbsp;&amp;lt;b&amp;gt;CharacterGetHenchmanPresetPrice&amp;lt;/b&amp;gt;(&amp;lt;i&amp;gt;&amp;lt;b&amp;gt;[in]&amp;lt;/b&amp;gt;&amp;lt;/i&amp;gt;(STRING)&amp;lt;b&amp;gt;_Preset&amp;lt;/b&amp;gt;,&amp;lt;b&amp;gt;&amp;amp;nbsp;&amp;lt;/b&amp;gt;&amp;lt;i style=&amp;quot;font-size:13.3333px&amp;quot;&amp;gt;&amp;lt;b&amp;gt;[in]&amp;lt;/b&amp;gt;(CHARACTERGUID)&amp;lt;/i&amp;gt;&amp;lt;b style=&amp;quot;font-size:13.3333px&amp;quot;&amp;gt;_Character&amp;lt;/b&amp;gt;&amp;lt;span style=&amp;quot;font-size:13.3333px&amp;quot;&amp;gt;,&amp;amp;nbsp;&amp;lt;b&amp;gt;&amp;lt;i&amp;gt;[out]&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt;&amp;lt;i&amp;gt;(INTEGER)&amp;lt;/i&amp;gt;&amp;lt;b&amp;gt;_Price&amp;lt;/b&amp;gt;&amp;lt;/span&amp;gt;)&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;u style=&amp;quot;font-size:13.3333px&amp;quot;&amp;gt;Description&amp;lt;/u&amp;gt;&amp;lt;br style=&amp;quot;font-size:13.3333px&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;font-size:13.3333px&amp;quot;&amp;gt;Returns the price of the preset scaled to the level of&amp;amp;nbsp;&amp;lt;b&amp;gt;_Character&amp;lt;/b&amp;gt;.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;font-size:13.3333px&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Return values&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul style=&amp;quot;font-size:13.3333px&amp;quot;&amp;gt;&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;_Price&amp;lt;/b&amp;gt;: The price of the preset scaled to the level of&amp;amp;nbsp;&amp;lt;b&amp;gt;_Character.&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;font-size:13.3333px&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Notes&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul style=&amp;quot;font-size:13.3333px&amp;quot;&amp;gt;&amp;lt;li&amp;gt;Presets come from the folder&amp;amp;nbsp;&amp;lt;b&amp;gt;&amp;quot;.../DOS2/Data/Mods/Shared/CharacterCreation/HenchmanPresets/&amp;quot;&amp;lt;/b&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Presets can be customized using the following documentation:&amp;amp;nbsp;&amp;lt;b&amp;gt;link&amp;lt;/b&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;font-size:13.3333px&amp;quot;&amp;gt;&amp;lt;u&amp;gt;See also&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul style=&amp;quot;font-size:13.3333px&amp;quot;&amp;gt;&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;CharacterApplyHenchmanPreset&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;CharacterIsAlly&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Full definitions&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;query &amp;lt;b&amp;gt;CharacterIsAlly&amp;lt;/b&amp;gt;(&amp;lt;i&amp;gt;&amp;lt;b&amp;gt;[in]&amp;lt;/b&amp;gt;(CHARACTERGUID)&amp;lt;/i&amp;gt;&amp;lt;b&amp;gt;_Character&amp;lt;/b&amp;gt;,&amp;lt;i&amp;gt;&amp;lt;b&amp;gt; &amp;lt;/b&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;i&amp;gt;&amp;lt;b&amp;gt;&amp;lt;i&amp;gt;&amp;lt;b&amp;gt;[in]&amp;lt;/b&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt;&amp;lt;i&amp;gt;(CHARACTERGUID)&amp;lt;/i&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;b&amp;gt;&amp;lt;b&amp;gt;_OtherCharacter&amp;lt;/b&amp;gt;&amp;lt;/b&amp;gt;&amp;lt;i&amp;gt;&amp;lt;b&amp;gt;,&amp;lt;i&amp;gt;&amp;lt;b&amp;gt; &amp;lt;/b&amp;gt;&amp;lt;/i&amp;gt;[out]&amp;lt;/b&amp;gt;&amp;lt;/i&amp;gt;(INTEGER)&amp;lt;b&amp;gt;_Bool&amp;lt;/b&amp;gt;)&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;u&amp;gt;Description&amp;lt;/u&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Returns whether &amp;lt;b&amp;gt;_Character&amp;lt;/b&amp;gt; is an ally of &amp;lt;b&amp;gt;_OtherCharacter&amp;lt;/b&amp;gt;.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Return values&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;&amp;lt;b&amp;gt;&amp;lt;b&amp;gt;Success/Failure&amp;lt;/b&amp;gt;:&amp;lt;/b&amp;gt;&amp;lt;/b&amp;gt; Default return value.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;_Bool&amp;lt;/b&amp;gt;: &amp;lt;b&amp;gt;1&amp;lt;/b&amp;gt; if &amp;lt;b&amp;gt;_Character&amp;lt;/b&amp;gt; and &amp;lt;b&amp;gt;_OtherCharacter &amp;lt;/b&amp;gt;are allies, &amp;lt;b&amp;gt;0&amp;lt;/b&amp;gt; if not&amp;lt;b&amp;gt;.&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Notes&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;Also works outside combat.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;If &amp;lt;b&amp;gt;_Character&amp;lt;/b&amp;gt; or &amp;lt;b&amp;gt;_OtherCharacter&amp;lt;/b&amp;gt; is dead or dying, the result solely depends on the characters' alignments (factions). If they are alive, it is also influenced by temporary hostile relations, e.g. induced by attacking a neutral character.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;See also&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;CharacterIsNeutral&amp;lt;/b&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;CharacterIsEnemy&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/b&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;CharacterIsEnemy&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Notes&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;See &amp;lt;b&amp;gt;CharacterIsAlly&amp;lt;/b&amp;gt; for detailed information, except that this query returns whether the characters are enemies.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;See also&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;CharacterIsAlly&amp;lt;/b&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;CharacterIsEnemy&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/b&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;CharacterIsNeutral&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Notes&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;See &amp;lt;b&amp;gt;CharacterIsAlly&amp;lt;/b&amp;gt; for detailed information, except that this query returns whether the characters are neutral.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;See also&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;CharacterIsAlly&amp;lt;/b&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;CharacterIsEnemy&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/b&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;CharacterIsPartyFollower&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Full definitions&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;query &amp;lt;b&amp;gt;CharacterIsPartyFollower&amp;lt;/b&amp;gt;(&amp;lt;i&amp;gt;&amp;lt;b&amp;gt;[in]&amp;lt;/b&amp;gt;(CHARACTERGUID)&amp;lt;/i&amp;gt;&amp;lt;b&amp;gt;_Character&amp;lt;/b&amp;gt;,&amp;lt;i&amp;gt;&amp;lt;b&amp;gt; &amp;lt;/b&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;i&amp;gt;&amp;lt;b&amp;gt;[out]&amp;lt;/b&amp;gt;&amp;lt;/i&amp;gt;(INTEGER)&amp;lt;b&amp;gt;_Bool&amp;lt;/b&amp;gt;)&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;u&amp;gt;Description&amp;lt;/u&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Returns whether &amp;lt;b&amp;gt;_Character&amp;lt;/b&amp;gt; is a character that follows a player character around. An NPC can be instructed to do so through &amp;lt;b&amp;gt;CharacterFollowCharacter&amp;lt;/b&amp;gt;.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Return values&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;&amp;lt;b&amp;gt;&amp;lt;b&amp;gt;Success/Failure&amp;lt;/b&amp;gt;: &amp;lt;/b&amp;gt;&amp;lt;/b&amp;gt;Fails if &amp;lt;b&amp;gt;_Character&amp;lt;/b&amp;gt; does not exist&amp;lt;b&amp;gt;.&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;_Bool&amp;lt;/b&amp;gt;: &amp;lt;b&amp;gt;1&amp;lt;/b&amp;gt; if &amp;lt;b&amp;gt;_Character&amp;lt;/b&amp;gt; is a party follower, &amp;lt;b&amp;gt;0&amp;lt;/b&amp;gt; if not&amp;lt;b&amp;gt;.&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Notes&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;CharacterIsPlayer&amp;lt;/b&amp;gt; will also return true for party followers.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;See also&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;CharacterIsPlayer&amp;lt;/b&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;CharacterFollowCharacter&amp;lt;/b&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;CharacterIsPlayer&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Full definitions&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;query &amp;lt;b&amp;gt;CharacterIsPlayer&amp;lt;/b&amp;gt;(&amp;lt;i&amp;gt;&amp;lt;b&amp;gt;[in]&amp;lt;/b&amp;gt;(CHARACTERGUID)&amp;lt;/i&amp;gt;&amp;lt;b&amp;gt;_Character&amp;lt;/b&amp;gt;,&amp;lt;i&amp;gt;&amp;lt;b&amp;gt; &amp;lt;/b&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;i&amp;gt;&amp;lt;b&amp;gt;[out]&amp;lt;/b&amp;gt;&amp;lt;/i&amp;gt;(INTEGER)&amp;lt;b&amp;gt;_Bool&amp;lt;/b&amp;gt;)&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;u&amp;gt;Description&amp;lt;/u&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Returns whether &amp;lt;b&amp;gt;_Character&amp;lt;/b&amp;gt; is &amp;lt;i&amp;gt;player-controlled&amp;lt;/i&amp;gt;.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Return values&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;&amp;lt;b&amp;gt;&amp;lt;b&amp;gt;Success/Failure&amp;lt;/b&amp;gt;: &amp;lt;/b&amp;gt;&amp;lt;/b&amp;gt;Fails if &amp;lt;b&amp;gt;_Character&amp;lt;/b&amp;gt; does not exist&amp;lt;b&amp;gt;.&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;_Bool&amp;lt;/b&amp;gt;: &amp;lt;b&amp;gt;1&amp;lt;/b&amp;gt; if &amp;lt;b&amp;gt;_Character&amp;lt;/b&amp;gt; is &amp;lt;i&amp;gt;player-controlled&amp;lt;/i&amp;gt;, &amp;lt;b&amp;gt;0&amp;lt;/b&amp;gt; if not&amp;lt;b&amp;gt;.&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Notes&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;Apart from avatars and recruited companions, &amp;lt;i&amp;gt;player-controlled&amp;lt;/i&amp;gt; characters also include summons and followers.&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;See also&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;CharacterIsPartyFollower&amp;lt;/b&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;CharacterIsSummon&amp;lt;/b&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;CharacterFollowCharacter&amp;lt;/b&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;CharacterIsSummon&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Full definitions&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;query &amp;lt;b&amp;gt;CharacterIsSummon&amp;lt;/b&amp;gt;(&amp;lt;i&amp;gt;&amp;lt;b&amp;gt;[in]&amp;lt;/b&amp;gt;(CHARACTERGUID)&amp;lt;/i&amp;gt;&amp;lt;b&amp;gt;_Character&amp;lt;/b&amp;gt;,&amp;lt;i&amp;gt;&amp;lt;b&amp;gt; &amp;lt;/b&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;i&amp;gt;&amp;lt;b&amp;gt;[out]&amp;lt;/b&amp;gt;&amp;lt;/i&amp;gt;(INTEGER)&amp;lt;b&amp;gt;_Bool&amp;lt;/b&amp;gt;)&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;u&amp;gt;Description&amp;lt;/u&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Returns whether &amp;lt;b&amp;gt;_Character&amp;lt;/b&amp;gt; is a summon. Summon can be &amp;lt;i&amp;gt;player-controlled&amp;lt;/i&amp;gt; or not.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Return values&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;&amp;lt;b&amp;gt;&amp;lt;b&amp;gt;Success/Failure&amp;lt;/b&amp;gt;: &amp;lt;/b&amp;gt;&amp;lt;/b&amp;gt;Fails if &amp;lt;b&amp;gt;_Character&amp;lt;/b&amp;gt; does not exist&amp;lt;b&amp;gt;.&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;_Bool&amp;lt;/b&amp;gt;: &amp;lt;b&amp;gt;1&amp;lt;/b&amp;gt; if &amp;lt;b&amp;gt;_Character&amp;lt;/b&amp;gt; is a summon, &amp;lt;b&amp;gt;0&amp;lt;/b&amp;gt; if not&amp;lt;b&amp;gt;.&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Notes&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Summons can also be distinguished by the fact that hey have the &amp;lt;b&amp;gt;SUMMON&amp;lt;/b&amp;gt; tag.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;If you wish to know whether a summon is &amp;lt;i&amp;gt;player-controlled&amp;lt;/i&amp;gt;, also check &amp;lt;b&amp;gt;CharacterIsPlayer&amp;lt;/b&amp;gt;.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;See also&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;CharacterIsPlayer&amp;lt;/b&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;GetClosestAlivePlayer&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Full definitions&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;query &amp;lt;span style=&amp;quot;font-family:arial,sans-serif&amp;quot;&amp;gt;&amp;lt;b&amp;gt;GetClosestAlivePlayer&amp;lt;/b&amp;gt;&amp;lt;/span&amp;gt;(&amp;lt;i&amp;gt;&amp;lt;b&amp;gt;[in]&amp;lt;/b&amp;gt;(GUIDSTRING)&amp;lt;/i&amp;gt;&amp;lt;b&amp;gt;_Target&amp;lt;/b&amp;gt;, &amp;lt;i&amp;gt;&amp;lt;b&amp;gt;[out]&amp;lt;/b&amp;gt;(CHARACTERGUID)&amp;lt;/i&amp;gt;&amp;lt;b&amp;gt;_Player&amp;lt;/b&amp;gt;)&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;u&amp;gt;Description&amp;lt;/u&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Gets the closest player to &amp;lt;b&amp;gt;_Target&amp;lt;/b&amp;gt; that is alive and stores it in &amp;lt;b&amp;gt;_Player&amp;lt;/b&amp;gt;.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Return values&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;&amp;lt;b&amp;gt;&amp;lt;b&amp;gt;&amp;lt;b&amp;gt;Success/Failure&amp;lt;/b&amp;gt;: &amp;lt;/b&amp;gt;&amp;lt;/b&amp;gt;&amp;lt;/b&amp;gt;Fails if no living player is found.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;_Player&amp;lt;/b&amp;gt;: The found player character.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Notes&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;Be careful if you check for extra conditions on the returned player: if any of those conditions fail, no other players will be considered.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;If you want to start a dialog, use &amp;lt;b&amp;gt;&amp;lt;span style=&amp;quot;font-family:arial,sans-serif&amp;quot;&amp;gt;ProcGetClosestAvailableCharacterTo&amp;lt;/span&amp;gt;&amp;lt;/b&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;See also&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;Helper &amp;lt;b&amp;gt;&amp;lt;span style=&amp;quot;font-family:arial,sans-serif&amp;quot;&amp;gt;ProcGetClosestAvailableCharacterTo&amp;lt;/span&amp;gt;&amp;lt;/b&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;GetDistanceTo&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Full definitions&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;query &amp;lt;span style=&amp;quot;font-family:arial,sans-serif&amp;quot;&amp;gt;&amp;lt;b&amp;gt;GetDistanceTo&amp;lt;/b&amp;gt;&amp;lt;/span&amp;gt;(&amp;lt;i&amp;gt;&amp;lt;b&amp;gt;[in]&amp;lt;/b&amp;gt;(GUIDSTRING)&amp;lt;/i&amp;gt;&amp;lt;b&amp;gt;_Object1&amp;lt;/b&amp;gt;, &amp;lt;i&amp;gt;&amp;lt;b&amp;gt;[in]&amp;lt;/b&amp;gt;(GUIDSTRING)&amp;lt;/i&amp;gt;&amp;lt;b&amp;gt;_Object2&amp;lt;/b&amp;gt;, &amp;lt;i&amp;gt;&amp;lt;b&amp;gt;[out]&amp;lt;/b&amp;gt;(REAL)&amp;lt;/i&amp;gt;&amp;lt;b&amp;gt;_Dist&amp;lt;/b&amp;gt;)&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;u&amp;gt;Description&amp;lt;/u&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Calculates the distance between &amp;lt;b&amp;gt;_Object1&amp;lt;/b&amp;gt; and &amp;lt;b&amp;gt;_Object2&amp;lt;/b&amp;gt;.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Return values&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;Success/Failure&amp;lt;/b&amp;gt;: Fails if &amp;lt;span style=&amp;quot;font-family:arial,sans-serif&amp;quot;&amp;gt;if either &amp;lt;b&amp;gt;_Object1&amp;lt;/b&amp;gt; or _&amp;lt;b&amp;gt;Object2&amp;lt;/b&amp;gt; is in a container or in an inventory. Use &amp;lt;b&amp;gt;ItemIsInInventory&amp;lt;/b&amp;gt; to check for this.&amp;lt;/span&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;_Dist&amp;lt;/b&amp;gt;: The distance in metres.&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Notes&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;&amp;lt;span style=&amp;quot;font-family:arial,sans-serif&amp;quot;&amp;gt;/&amp;lt;/span&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;See also&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;ItemIsInInventory&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;GetInventoryOwner&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Full definitions&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;query &amp;lt;b&amp;gt;GetInventoryOwner&amp;lt;/b&amp;gt;(&amp;lt;i&amp;gt;&amp;lt;b&amp;gt;[in]&amp;lt;/b&amp;gt;(ITEMGUID)&amp;lt;/i&amp;gt;&amp;lt;b&amp;gt;_Item&amp;lt;/b&amp;gt;, &amp;lt;i&amp;gt;&amp;lt;b&amp;gt;[out]&amp;lt;/b&amp;gt;(GUIDSTRING)&amp;lt;/i&amp;gt;&amp;lt;b&amp;gt;_Owner&amp;lt;/b&amp;gt;)&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;u&amp;gt;Description&amp;lt;/u&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Returns the inventory/container that holds &amp;lt;b&amp;gt;_Item&amp;lt;/b&amp;gt; in &amp;lt;b&amp;gt;_Owner&amp;lt;/b&amp;gt;.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Return values&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;Success/Failure&amp;lt;/b&amp;gt;: Fails if &amp;lt;b&amp;gt;_Item&amp;lt;/b&amp;gt; is not in anyone's inventory nor in a container.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;_Owner&amp;lt;/b&amp;gt;: The character or item in whose inventory the item currently resides.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Notes&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;This call returns the outermost container. I.e., if a character has crate in their inventory, and the crate contains a pouch with the item, this call will return the character.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;See also&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;ItemIsInInventory&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;GetRandomPositionInTrigger&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Full definitions&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;query &amp;lt;b&amp;gt;GetRandomPositionInTrigger&amp;lt;/b&amp;gt;(&amp;lt;i&amp;gt;&amp;lt;b&amp;gt;[in]&amp;lt;/b&amp;gt;(TRIGGERGUID)&amp;lt;/i&amp;gt;&amp;lt;b&amp;gt;_Trigger&amp;lt;/b&amp;gt;, &amp;lt;i&amp;gt;&amp;lt;b&amp;gt;[out]&amp;lt;/b&amp;gt;(REAL)&amp;lt;/i&amp;gt;&amp;lt;b&amp;gt;_X&amp;lt;/b&amp;gt;, &amp;lt;i&amp;gt;&amp;lt;b&amp;gt;[out]&amp;lt;/b&amp;gt;(REAL)&amp;lt;/i&amp;gt;&amp;lt;b&amp;gt;_Y&amp;lt;/b&amp;gt;, &amp;lt;i&amp;gt;&amp;lt;b&amp;gt;[out]&amp;lt;/b&amp;gt;(REAL)&amp;lt;/i&amp;gt;&amp;lt;b&amp;gt;_Z&amp;lt;/b&amp;gt;)&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;u&amp;gt;Description&amp;lt;/u&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Returns a random position &amp;lt;i&amp;gt;that is valid on the AI-grid&amp;lt;/i&amp;gt; inside &amp;lt;b&amp;gt;_Trigger&amp;lt;/b&amp;gt;.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Return values&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;Success/Failure&amp;lt;/b&amp;gt;: Default return value.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;_Trigger&amp;lt;/b&amp;gt;: A box trigger inside which the random position should be gotten.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;_X&amp;lt;/b&amp;gt;, &amp;lt;b&amp;gt;_Y&amp;lt;/b&amp;gt;, &amp;lt;b&amp;gt;_Z&amp;lt;/b&amp;gt;: the coordinates of the random position&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Notes&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;This routine will first get a random position in the trigger, and if this random position is not valid on the AI-grid, the coordinates will be snapped to a nearby valid position on the AI-grid.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;This call does not work for polytriggers&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;See also&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;/&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;HasActiveStatus&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Full definitions&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;query &amp;lt;b&amp;gt;HasActiveStatus&amp;lt;/b&amp;gt;(&amp;lt;i&amp;gt;&amp;lt;b&amp;gt;[in]&amp;lt;/b&amp;gt;(GUIDSTRING)&amp;lt;/i&amp;gt;&amp;lt;b&amp;gt;_Target&amp;lt;/b&amp;gt;, &amp;lt;i&amp;gt;&amp;lt;b&amp;gt;[in]&amp;lt;/b&amp;gt;(STRING)&amp;lt;/i&amp;gt;&amp;lt;b&amp;gt;_Status&amp;lt;/b&amp;gt;,&amp;lt;i&amp;gt;&amp;lt;b&amp;gt; [out]&amp;lt;/b&amp;gt;(INTEGER)&amp;lt;/i&amp;gt;&amp;lt;b&amp;gt;_Bool&amp;lt;/b&amp;gt;)&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;u&amp;gt;Description&amp;lt;/u&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Returns whether &amp;lt;b&amp;gt;_Target&amp;lt;/b&amp;gt; is currently under the influence of &amp;lt;b&amp;gt;_Status&amp;lt;/b&amp;gt;.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Return values&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;Success/Failure&amp;lt;/b&amp;gt;: Default return value.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;_Bool&amp;lt;/b&amp;gt;: 0 if &amp;lt;b&amp;gt;_Target&amp;lt;/b&amp;gt; is currently not under the influence of &amp;lt;b&amp;gt;_Status&amp;lt;/b&amp;gt;, 1 if it is.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Notes&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;/&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;See also&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;HasAppliedStatus&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;HasAppliedStatus&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Full definitions&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;query &amp;lt;b&amp;gt;HasAppliedStatus&amp;lt;/b&amp;gt;(&amp;lt;i&amp;gt;&amp;lt;b&amp;gt;[in]&amp;lt;/b&amp;gt;(GUIDSTRING)&amp;lt;/i&amp;gt;&amp;lt;b&amp;gt;_Target&amp;lt;/b&amp;gt;, &amp;lt;i&amp;gt;&amp;lt;b&amp;gt;[in]&amp;lt;/b&amp;gt;(STRING)&amp;lt;/i&amp;gt;&amp;lt;b&amp;gt;_Status&amp;lt;/b&amp;gt;,&amp;lt;i&amp;gt;&amp;lt;b&amp;gt; [out]&amp;lt;/b&amp;gt;(INTEGER)&amp;lt;/i&amp;gt;&amp;lt;b&amp;gt;_Bool&amp;lt;/b&amp;gt;)&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;u&amp;gt;Description&amp;lt;/u&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Returns whether &amp;lt;b&amp;gt;_Status&amp;lt;/b&amp;gt; has been applied to &amp;lt;b&amp;gt;_Target&amp;lt;/b&amp;gt;. &amp;lt;b&amp;gt;_Target&amp;lt;/b&amp;gt; may or may not yet actually be under its influence.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Return values&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;&amp;lt;b&amp;gt;Success/Failure&amp;lt;/b&amp;gt;: &amp;lt;/b&amp;gt;Default return value.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;_Bool&amp;lt;/b&amp;gt;: 0 if &amp;lt;b&amp;gt;_Status&amp;lt;/b&amp;gt; has not been applied to &amp;lt;b&amp;gt;_Target&amp;lt;/b&amp;gt;, 1 if it has been.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Notes&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;In virtually all cases, use &amp;lt;b&amp;gt;HasActiveStatus&amp;lt;/b&amp;gt; instead. The main purpose of this query is for crime reactions, and is only needed due to frame delays between code and Osiris.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;See also&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;HasActiveStatus&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;IsSpeakerReserved&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Full definitions&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;query &amp;lt;b&amp;gt;IsSpeakerReserved&amp;lt;/b&amp;gt;(&amp;lt;i&amp;gt;&amp;lt;b&amp;gt;[in]&amp;lt;/b&amp;gt;(GUIDSTRING)&amp;lt;/i&amp;gt;&amp;lt;b&amp;gt;_Speaker&amp;lt;/b&amp;gt;, &amp;lt;i&amp;gt;&amp;lt;b&amp;gt;[out]&amp;lt;/b&amp;gt;(INTEGER)&amp;lt;/i&amp;gt;&amp;lt;b&amp;gt;_success&amp;lt;/b&amp;gt;)&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;u&amp;gt;Description&amp;lt;/u&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Returns whether &amp;lt;b&amp;gt;_Speaker&amp;lt;/b&amp;gt; is already in a dialog.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Return values&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;&amp;lt;b&amp;gt;Success/Failure&amp;lt;/b&amp;gt;: &amp;lt;/b&amp;gt;Default return value.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;_success&amp;lt;/b&amp;gt;: &amp;lt;b&amp;gt;0&amp;lt;/b&amp;gt; if &amp;lt;b&amp;gt;_Speaker&amp;lt;/b&amp;gt; is currently not in a dialog, &amp;lt;b&amp;gt;1&amp;lt;/b&amp;gt; otherwise.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Notes&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;/&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;See also&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;DialogStartRequested&amp;lt;/b&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;Proc_StartDialog&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/b&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;ItemIsInInventory&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Full definitions&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;query &amp;lt;b&amp;gt;&amp;lt;span style=&amp;quot;font-family:arial,sans-serif&amp;quot;&amp;gt;Item&amp;lt;/span&amp;gt;IsInInventory&amp;lt;/b&amp;gt;(&amp;lt;i&amp;gt;&amp;lt;b&amp;gt;[in]&amp;lt;/b&amp;gt;(ITEMGUID)&amp;lt;/i&amp;gt;&amp;lt;b&amp;gt;_Item&amp;lt;/b&amp;gt;, &amp;lt;i&amp;gt;&amp;lt;b&amp;gt;[out]&amp;lt;/b&amp;gt;(INTEGER)&amp;lt;/i&amp;gt;&amp;lt;b&amp;gt;_Bool&amp;lt;/b&amp;gt;)&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;u&amp;gt;Description&amp;lt;/u&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Returns whether &amp;lt;b&amp;gt;_Item&amp;lt;/b&amp;gt; is in an inventory. This includes both character and container inventories.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Return values&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;&amp;lt;b&amp;gt;Success/Failure&amp;lt;/b&amp;gt;: &amp;lt;/b&amp;gt;Default return value.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;_Bool&amp;lt;/b&amp;gt;: 0 if &amp;lt;b&amp;gt;_Item&amp;lt;/b&amp;gt; is not in an inventory (as defined above), 1 if it is.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Notes&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;/&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;See also&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;GetInventoryOwner&amp;lt;/b&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&amp;lt;hr&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Larian octaaf</name></author>
	</entry>
	<entry>
		<id>https://docs.larian.game/index.php?title=Osiris_API_Tips_Queries&amp;diff=450</id>
		<title>Osiris API Tips Queries</title>
		<link rel="alternate" type="text/html" href="https://docs.larian.game/index.php?title=Osiris_API_Tips_Queries&amp;diff=450"/>
		<updated>2017-08-02T10:08:08Z</updated>

		<summary type="html">&lt;p&gt;Larian octaaf: Blanked the page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Larian octaaf</name></author>
	</entry>
	<entry>
		<id>https://docs.larian.game/index.php?title=Osiris_API_Tips_Queries&amp;diff=445</id>
		<title>Osiris API Tips Queries</title>
		<link rel="alternate" type="text/html" href="https://docs.larian.game/index.php?title=Osiris_API_Tips_Queries&amp;diff=445"/>
		<updated>2017-08-02T10:04:22Z</updated>

		<summary type="html">&lt;p&gt;Larian octaaf: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;h3&amp;gt;Queries&amp;lt;/h3&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Queries request information about the state of the world from Osiris. They can be used in the part of a rule that checks conditions. Queries almost always succeed, except if you pass an initialised value as an &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;[out]&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt; parameter and it does not match the value the query would returns. Below, this will be called the &amp;lt;b&amp;gt;Default Return Value&amp;lt;/b&amp;gt;. If a query can also fail under other circumstances, this will be mentioned.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&amp;lt;h4 style=&amp;quot;font-size:1.1em;color:rgb(36,53,93)&amp;quot;&amp;gt;CharacterGetEquippedItem&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Full definitions&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;query &amp;lt;b&amp;gt;CharacterGetEquippedItem&amp;lt;/b&amp;gt;(&amp;lt;i&amp;gt;&amp;lt;b&amp;gt;[in]&amp;lt;/b&amp;gt;(CHARACTERGUID)&amp;lt;/i&amp;gt;&amp;lt;b&amp;gt;_Character&amp;lt;/b&amp;gt;,&amp;lt;i&amp;gt;&amp;lt;b&amp;gt; [in]&amp;lt;/b&amp;gt;(STRING)&amp;lt;/i&amp;gt;&amp;lt;b&amp;gt;_Slotname&amp;lt;/b&amp;gt;,&amp;lt;i&amp;gt;&amp;lt;b&amp;gt; [out]&amp;lt;/b&amp;gt;&amp;lt;/i&amp;gt;(&amp;lt;i&amp;gt;GUIDSTRING&amp;lt;/i&amp;gt;)&amp;lt;b&amp;gt;_ItemGUID&amp;lt;/b&amp;gt;)&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;u&amp;gt;Description&amp;lt;/u&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Returns in &amp;lt;b&amp;gt;_ItemGUID&amp;lt;/b&amp;gt; the item equipped by &amp;lt;b&amp;gt;_Character&amp;lt;/b&amp;gt; in slot &amp;lt;b&amp;gt;_Slotname&amp;lt;/b&amp;gt;, if any.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Return values&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;&amp;lt;b&amp;gt;&amp;lt;b&amp;gt;Success/Failure&amp;lt;/b&amp;gt;: &amp;lt;/b&amp;gt;&amp;lt;/b&amp;gt;Fails if &amp;lt;b&amp;gt;_Character&amp;lt;/b&amp;gt; does not exist, or if no item is equipped in &amp;lt;b&amp;gt;_Slotname&amp;lt;/b&amp;gt;.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;_ItemGuid&amp;lt;/b&amp;gt;: The item equipped by &amp;lt;b&amp;gt;_Character&amp;lt;/b&amp;gt; in &amp;lt;b&amp;gt;_Slotname.&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Notes&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;The valid values for &amp;lt;b&amp;gt;_Slotname&amp;lt;/b&amp;gt; are: &amp;lt;b&amp;gt;Helmet&amp;lt;/b&amp;gt;, &amp;lt;b&amp;gt;Amulet&amp;lt;/b&amp;gt;, &amp;lt;b&amp;gt;Breast&amp;lt;/b&amp;gt;, &amp;lt;b&amp;gt;Belt&amp;lt;/b&amp;gt;, &amp;lt;b&amp;gt;Gloves&amp;lt;/b&amp;gt;, &amp;lt;b&amp;gt;Leggings&amp;lt;/b&amp;gt;, &amp;lt;b&amp;gt;Boots&amp;lt;/b&amp;gt;, &amp;lt;b&amp;gt;Weapon&amp;lt;/b&amp;gt;, &amp;lt;b&amp;gt;Shield&amp;lt;/b&amp;gt;, &amp;lt;b&amp;gt;Ring&amp;lt;/b&amp;gt;, &amp;lt;b&amp;gt;Ring2&amp;lt;/b&amp;gt;.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;See also&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;CharacterUnequipItem&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;CharacterGetHenchmanPresetPrice&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-size:13.3333px&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;font-size:13.3333px&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Full definitions&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul style=&amp;quot;font-size:13.3333px&amp;quot;&amp;gt;&amp;lt;li&amp;gt;query&amp;amp;nbsp;&amp;lt;b&amp;gt;CharacterGetHenchmanPresetPrice&amp;lt;/b&amp;gt;(&amp;lt;i&amp;gt;&amp;lt;b&amp;gt;[in]&amp;lt;/b&amp;gt;&amp;lt;/i&amp;gt;(STRING)&amp;lt;b&amp;gt;_Preset&amp;lt;/b&amp;gt;,&amp;lt;b&amp;gt;&amp;amp;nbsp;&amp;lt;/b&amp;gt;&amp;lt;i style=&amp;quot;font-size:13.3333px&amp;quot;&amp;gt;&amp;lt;b&amp;gt;[in]&amp;lt;/b&amp;gt;(CHARACTERGUID)&amp;lt;/i&amp;gt;&amp;lt;b style=&amp;quot;font-size:13.3333px&amp;quot;&amp;gt;_Character&amp;lt;/b&amp;gt;&amp;lt;span style=&amp;quot;font-size:13.3333px&amp;quot;&amp;gt;,&amp;amp;nbsp;&amp;lt;b&amp;gt;&amp;lt;i&amp;gt;[out]&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt;&amp;lt;i&amp;gt;(INTEGER)&amp;lt;/i&amp;gt;&amp;lt;b&amp;gt;_Price&amp;lt;/b&amp;gt;&amp;lt;/span&amp;gt;)&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;u style=&amp;quot;font-size:13.3333px&amp;quot;&amp;gt;Description&amp;lt;/u&amp;gt;&amp;lt;br style=&amp;quot;font-size:13.3333px&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;font-size:13.3333px&amp;quot;&amp;gt;Returns the price of the preset scaled to the level of&amp;amp;nbsp;&amp;lt;b&amp;gt;_Character&amp;lt;/b&amp;gt;.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;font-size:13.3333px&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Return values&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul style=&amp;quot;font-size:13.3333px&amp;quot;&amp;gt;&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;_Price&amp;lt;/b&amp;gt;: The price of the preset scaled to the level of&amp;amp;nbsp;&amp;lt;b&amp;gt;_Character.&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;font-size:13.3333px&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Notes&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul style=&amp;quot;font-size:13.3333px&amp;quot;&amp;gt;&amp;lt;li&amp;gt;Presets come from the folder&amp;amp;nbsp;&amp;lt;b&amp;gt;&amp;quot;.../DOS2/Data/Mods/Shared/CharacterCreation/HenchmanPresets/&amp;quot;&amp;lt;/b&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Presets can be customized using the following documentation:&amp;amp;nbsp;&amp;lt;b&amp;gt;link&amp;lt;/b&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;font-size:13.3333px&amp;quot;&amp;gt;&amp;lt;u&amp;gt;See also&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul style=&amp;quot;font-size:13.3333px&amp;quot;&amp;gt;&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;CharacterApplyHenchmanPreset&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;CharacterIsAlly&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Full definitions&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;query &amp;lt;b&amp;gt;CharacterIsAlly&amp;lt;/b&amp;gt;(&amp;lt;i&amp;gt;&amp;lt;b&amp;gt;[in]&amp;lt;/b&amp;gt;(CHARACTERGUID)&amp;lt;/i&amp;gt;&amp;lt;b&amp;gt;_Character&amp;lt;/b&amp;gt;,&amp;lt;i&amp;gt;&amp;lt;b&amp;gt; &amp;lt;/b&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;i&amp;gt;&amp;lt;b&amp;gt;&amp;lt;i&amp;gt;&amp;lt;b&amp;gt;[in]&amp;lt;/b&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt;&amp;lt;i&amp;gt;(CHARACTERGUID)&amp;lt;/i&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;b&amp;gt;&amp;lt;b&amp;gt;_OtherCharacter&amp;lt;/b&amp;gt;&amp;lt;/b&amp;gt;&amp;lt;i&amp;gt;&amp;lt;b&amp;gt;,&amp;lt;i&amp;gt;&amp;lt;b&amp;gt; &amp;lt;/b&amp;gt;&amp;lt;/i&amp;gt;[out]&amp;lt;/b&amp;gt;&amp;lt;/i&amp;gt;(INTEGER)&amp;lt;b&amp;gt;_Bool&amp;lt;/b&amp;gt;)&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;u&amp;gt;Description&amp;lt;/u&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Returns whether &amp;lt;b&amp;gt;_Character&amp;lt;/b&amp;gt; is an ally of &amp;lt;b&amp;gt;_OtherCharacter&amp;lt;/b&amp;gt;.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Return values&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;&amp;lt;b&amp;gt;&amp;lt;b&amp;gt;Success/Failure&amp;lt;/b&amp;gt;:&amp;lt;/b&amp;gt;&amp;lt;/b&amp;gt; Default return value.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;_Bool&amp;lt;/b&amp;gt;: &amp;lt;b&amp;gt;1&amp;lt;/b&amp;gt; if &amp;lt;b&amp;gt;_Character&amp;lt;/b&amp;gt; and &amp;lt;b&amp;gt;_OtherCharacter &amp;lt;/b&amp;gt;are allies, &amp;lt;b&amp;gt;0&amp;lt;/b&amp;gt; if not&amp;lt;b&amp;gt;.&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Notes&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;Also works outside combat.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;If &amp;lt;b&amp;gt;_Character&amp;lt;/b&amp;gt; or &amp;lt;b&amp;gt;_OtherCharacter&amp;lt;/b&amp;gt; is dead or dying, the result solely depends on the characters' alignments (factions). If they are alive, it is also influenced by temporary hostile relations, e.g. induced by attacking a neutral character.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;See also&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;CharacterIsNeutral&amp;lt;/b&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;CharacterIsEnemy&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/b&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;CharacterIsEnemy&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Notes&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;See &amp;lt;b&amp;gt;CharacterIsAlly&amp;lt;/b&amp;gt; for detailed information, except that this query returns whether the characters are enemies.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;See also&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;CharacterIsAlly&amp;lt;/b&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;CharacterIsEnemy&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/b&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;CharacterIsNeutral&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Notes&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;See &amp;lt;b&amp;gt;CharacterIsAlly&amp;lt;/b&amp;gt; for detailed information, except that this query returns whether the characters are neutral.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;See also&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;CharacterIsAlly&amp;lt;/b&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;CharacterIsEnemy&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/b&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;CharacterIsPartyFollower&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Full definitions&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;query &amp;lt;b&amp;gt;CharacterIsPartyFollower&amp;lt;/b&amp;gt;(&amp;lt;i&amp;gt;&amp;lt;b&amp;gt;[in]&amp;lt;/b&amp;gt;(CHARACTERGUID)&amp;lt;/i&amp;gt;&amp;lt;b&amp;gt;_Character&amp;lt;/b&amp;gt;,&amp;lt;i&amp;gt;&amp;lt;b&amp;gt; &amp;lt;/b&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;i&amp;gt;&amp;lt;b&amp;gt;[out]&amp;lt;/b&amp;gt;&amp;lt;/i&amp;gt;(INTEGER)&amp;lt;b&amp;gt;_Bool&amp;lt;/b&amp;gt;)&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;u&amp;gt;Description&amp;lt;/u&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Returns whether &amp;lt;b&amp;gt;_Character&amp;lt;/b&amp;gt; is a character that follows a player character around. An NPC can be instructed to do so through &amp;lt;b&amp;gt;CharacterFollowCharacter&amp;lt;/b&amp;gt;.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Return values&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;&amp;lt;b&amp;gt;&amp;lt;b&amp;gt;Success/Failure&amp;lt;/b&amp;gt;: &amp;lt;/b&amp;gt;&amp;lt;/b&amp;gt;Fails if &amp;lt;b&amp;gt;_Character&amp;lt;/b&amp;gt; does not exist&amp;lt;b&amp;gt;.&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;_Bool&amp;lt;/b&amp;gt;: &amp;lt;b&amp;gt;1&amp;lt;/b&amp;gt; if &amp;lt;b&amp;gt;_Character&amp;lt;/b&amp;gt; is a party follower, &amp;lt;b&amp;gt;0&amp;lt;/b&amp;gt; if not&amp;lt;b&amp;gt;.&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Notes&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;CharacterIsPlayer&amp;lt;/b&amp;gt; will also return true for party followers.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;See also&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;CharacterIsPlayer&amp;lt;/b&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;CharacterFollowCharacter&amp;lt;/b&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;CharacterIsPlayer&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Full definitions&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;query &amp;lt;b&amp;gt;CharacterIsPlayer&amp;lt;/b&amp;gt;(&amp;lt;i&amp;gt;&amp;lt;b&amp;gt;[in]&amp;lt;/b&amp;gt;(CHARACTERGUID)&amp;lt;/i&amp;gt;&amp;lt;b&amp;gt;_Character&amp;lt;/b&amp;gt;,&amp;lt;i&amp;gt;&amp;lt;b&amp;gt; &amp;lt;/b&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;i&amp;gt;&amp;lt;b&amp;gt;[out]&amp;lt;/b&amp;gt;&amp;lt;/i&amp;gt;(INTEGER)&amp;lt;b&amp;gt;_Bool&amp;lt;/b&amp;gt;)&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;u&amp;gt;Description&amp;lt;/u&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Returns whether &amp;lt;b&amp;gt;_Character&amp;lt;/b&amp;gt; is &amp;lt;i&amp;gt;player-controlled&amp;lt;/i&amp;gt;.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Return values&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;&amp;lt;b&amp;gt;&amp;lt;b&amp;gt;Success/Failure&amp;lt;/b&amp;gt;: &amp;lt;/b&amp;gt;&amp;lt;/b&amp;gt;Fails if &amp;lt;b&amp;gt;_Character&amp;lt;/b&amp;gt; does not exist&amp;lt;b&amp;gt;.&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;_Bool&amp;lt;/b&amp;gt;: &amp;lt;b&amp;gt;1&amp;lt;/b&amp;gt; if &amp;lt;b&amp;gt;_Character&amp;lt;/b&amp;gt; is &amp;lt;i&amp;gt;player-controlled&amp;lt;/i&amp;gt;, &amp;lt;b&amp;gt;0&amp;lt;/b&amp;gt; if not&amp;lt;b&amp;gt;.&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Notes&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;Apart from avatars and recruited companions, &amp;lt;i&amp;gt;player-controlled&amp;lt;/i&amp;gt; characters also include summons and followers.&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;See also&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;CharacterIsPartyFollower&amp;lt;/b&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;CharacterIsSummon&amp;lt;/b&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;CharacterFollowCharacter&amp;lt;/b&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;CharacterIsSummon&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Full definitions&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;query &amp;lt;b&amp;gt;CharacterIsSummon&amp;lt;/b&amp;gt;(&amp;lt;i&amp;gt;&amp;lt;b&amp;gt;[in]&amp;lt;/b&amp;gt;(CHARACTERGUID)&amp;lt;/i&amp;gt;&amp;lt;b&amp;gt;_Character&amp;lt;/b&amp;gt;,&amp;lt;i&amp;gt;&amp;lt;b&amp;gt; &amp;lt;/b&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;i&amp;gt;&amp;lt;b&amp;gt;[out]&amp;lt;/b&amp;gt;&amp;lt;/i&amp;gt;(INTEGER)&amp;lt;b&amp;gt;_Bool&amp;lt;/b&amp;gt;)&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;u&amp;gt;Description&amp;lt;/u&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Returns whether &amp;lt;b&amp;gt;_Character&amp;lt;/b&amp;gt; is a summon. Summon can be &amp;lt;i&amp;gt;player-controlled&amp;lt;/i&amp;gt; or not.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Return values&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;&amp;lt;b&amp;gt;&amp;lt;b&amp;gt;Success/Failure&amp;lt;/b&amp;gt;: &amp;lt;/b&amp;gt;&amp;lt;/b&amp;gt;Fails if &amp;lt;b&amp;gt;_Character&amp;lt;/b&amp;gt; does not exist&amp;lt;b&amp;gt;.&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;_Bool&amp;lt;/b&amp;gt;: &amp;lt;b&amp;gt;1&amp;lt;/b&amp;gt; if &amp;lt;b&amp;gt;_Character&amp;lt;/b&amp;gt; is a summon, &amp;lt;b&amp;gt;0&amp;lt;/b&amp;gt; if not&amp;lt;b&amp;gt;.&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Notes&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Summons can also be distinguished by the fact that hey have the &amp;lt;b&amp;gt;SUMMON&amp;lt;/b&amp;gt; tag.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;If you wish to know whether a summon is &amp;lt;i&amp;gt;player-controlled&amp;lt;/i&amp;gt;, also check &amp;lt;b&amp;gt;CharacterIsPlayer&amp;lt;/b&amp;gt;.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;See also&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;CharacterIsPlayer&amp;lt;/b&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;GetClosestAlivePlayer&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Full definitions&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;query &amp;lt;span style=&amp;quot;font-family:arial,sans-serif&amp;quot;&amp;gt;&amp;lt;b&amp;gt;GetClosestAlivePlayer&amp;lt;/b&amp;gt;&amp;lt;/span&amp;gt;(&amp;lt;i&amp;gt;&amp;lt;b&amp;gt;[in]&amp;lt;/b&amp;gt;(GUIDSTRING)&amp;lt;/i&amp;gt;&amp;lt;b&amp;gt;_Target&amp;lt;/b&amp;gt;, &amp;lt;i&amp;gt;&amp;lt;b&amp;gt;[out]&amp;lt;/b&amp;gt;(CHARACTERGUID)&amp;lt;/i&amp;gt;&amp;lt;b&amp;gt;_Player&amp;lt;/b&amp;gt;)&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;u&amp;gt;Description&amp;lt;/u&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Gets the closest player to &amp;lt;b&amp;gt;_Target&amp;lt;/b&amp;gt; that is alive and stores it in &amp;lt;b&amp;gt;_Player&amp;lt;/b&amp;gt;.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Return values&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;&amp;lt;b&amp;gt;&amp;lt;b&amp;gt;&amp;lt;b&amp;gt;Success/Failure&amp;lt;/b&amp;gt;: &amp;lt;/b&amp;gt;&amp;lt;/b&amp;gt;&amp;lt;/b&amp;gt;Fails if no living player is found.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;_Player&amp;lt;/b&amp;gt;: The found player character.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Notes&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;Be careful if you check for extra conditions on the returned player: if any of those conditions fail, no other players will be considered.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;If you want to start a dialog, use &amp;lt;b&amp;gt;&amp;lt;span style=&amp;quot;font-family:arial,sans-serif&amp;quot;&amp;gt;ProcGetClosestAvailableCharacterTo&amp;lt;/span&amp;gt;&amp;lt;/b&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;See also&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;Helper &amp;lt;b&amp;gt;&amp;lt;span style=&amp;quot;font-family:arial,sans-serif&amp;quot;&amp;gt;ProcGetClosestAvailableCharacterTo&amp;lt;/span&amp;gt;&amp;lt;/b&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;GetDistanceTo&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Full definitions&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;query &amp;lt;span style=&amp;quot;font-family:arial,sans-serif&amp;quot;&amp;gt;&amp;lt;b&amp;gt;GetDistanceTo&amp;lt;/b&amp;gt;&amp;lt;/span&amp;gt;(&amp;lt;i&amp;gt;&amp;lt;b&amp;gt;[in]&amp;lt;/b&amp;gt;(GUIDSTRING)&amp;lt;/i&amp;gt;&amp;lt;b&amp;gt;_Object1&amp;lt;/b&amp;gt;, &amp;lt;i&amp;gt;&amp;lt;b&amp;gt;[in]&amp;lt;/b&amp;gt;(GUIDSTRING)&amp;lt;/i&amp;gt;&amp;lt;b&amp;gt;_Object2&amp;lt;/b&amp;gt;, &amp;lt;i&amp;gt;&amp;lt;b&amp;gt;[out]&amp;lt;/b&amp;gt;(REAL)&amp;lt;/i&amp;gt;&amp;lt;b&amp;gt;_Dist&amp;lt;/b&amp;gt;)&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;u&amp;gt;Description&amp;lt;/u&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Calculates the distance between &amp;lt;b&amp;gt;_Object1&amp;lt;/b&amp;gt; and &amp;lt;b&amp;gt;_Object2&amp;lt;/b&amp;gt;.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Return values&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;Success/Failure&amp;lt;/b&amp;gt;: Fails if &amp;lt;span style=&amp;quot;font-family:arial,sans-serif&amp;quot;&amp;gt;if either &amp;lt;b&amp;gt;_Object1&amp;lt;/b&amp;gt; or _&amp;lt;b&amp;gt;Object2&amp;lt;/b&amp;gt; is in a container or in an inventory. Use &amp;lt;b&amp;gt;ItemIsInInventory&amp;lt;/b&amp;gt; to check for this.&amp;lt;/span&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;_Dist&amp;lt;/b&amp;gt;: The distance in metres.&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Notes&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;&amp;lt;span style=&amp;quot;font-family:arial,sans-serif&amp;quot;&amp;gt;/&amp;lt;/span&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;See also&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;ItemIsInInventory&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;GetInventoryOwner&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Full definitions&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;query &amp;lt;b&amp;gt;GetInventoryOwner&amp;lt;/b&amp;gt;(&amp;lt;i&amp;gt;&amp;lt;b&amp;gt;[in]&amp;lt;/b&amp;gt;(ITEMGUID)&amp;lt;/i&amp;gt;&amp;lt;b&amp;gt;_Item&amp;lt;/b&amp;gt;, &amp;lt;i&amp;gt;&amp;lt;b&amp;gt;[out]&amp;lt;/b&amp;gt;(GUIDSTRING)&amp;lt;/i&amp;gt;&amp;lt;b&amp;gt;_Owner&amp;lt;/b&amp;gt;)&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;u&amp;gt;Description&amp;lt;/u&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Returns the inventory/container that holds &amp;lt;b&amp;gt;_Item&amp;lt;/b&amp;gt; in &amp;lt;b&amp;gt;_Owner&amp;lt;/b&amp;gt;.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Return values&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;Success/Failure&amp;lt;/b&amp;gt;: Fails if &amp;lt;b&amp;gt;_Item&amp;lt;/b&amp;gt; is not in anyone's inventory nor in a container.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;_Owner&amp;lt;/b&amp;gt;: The character or item in whose inventory the item currently resides.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Notes&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;This call returns the outermost container. I.e., if a character has crate in their inventory, and the crate contains a pouch with the item, this call will return the character.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;See also&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;ItemIsInInventory&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;GetRandomPositionInTrigger&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Full definitions&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;query &amp;lt;b&amp;gt;GetRandomPositionInTrigger&amp;lt;/b&amp;gt;(&amp;lt;i&amp;gt;&amp;lt;b&amp;gt;[in]&amp;lt;/b&amp;gt;(TRIGGERGUID)&amp;lt;/i&amp;gt;&amp;lt;b&amp;gt;_Trigger&amp;lt;/b&amp;gt;, &amp;lt;i&amp;gt;&amp;lt;b&amp;gt;[out]&amp;lt;/b&amp;gt;(REAL)&amp;lt;/i&amp;gt;&amp;lt;b&amp;gt;_X&amp;lt;/b&amp;gt;, &amp;lt;i&amp;gt;&amp;lt;b&amp;gt;[out]&amp;lt;/b&amp;gt;(REAL)&amp;lt;/i&amp;gt;&amp;lt;b&amp;gt;_Y&amp;lt;/b&amp;gt;, &amp;lt;i&amp;gt;&amp;lt;b&amp;gt;[out]&amp;lt;/b&amp;gt;(REAL)&amp;lt;/i&amp;gt;&amp;lt;b&amp;gt;_Z&amp;lt;/b&amp;gt;)&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;u&amp;gt;Description&amp;lt;/u&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Returns a random position &amp;lt;i&amp;gt;that is valid on the AI-grid&amp;lt;/i&amp;gt; inside &amp;lt;b&amp;gt;_Trigger&amp;lt;/b&amp;gt;.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Return values&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;Success/Failure&amp;lt;/b&amp;gt;: Default return value.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;_Trigger&amp;lt;/b&amp;gt;: A box trigger inside which the random position should be gotten.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;_X&amp;lt;/b&amp;gt;, &amp;lt;b&amp;gt;_Y&amp;lt;/b&amp;gt;, &amp;lt;b&amp;gt;_Z&amp;lt;/b&amp;gt;: the coordinates of the random position&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Notes&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;This routine will first get a random position in the trigger, and if this random position is not valid on the AI-grid, the coordinates will be snapped to a nearby valid position on the AI-grid.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;This call does not work for polytriggers&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;See also&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;/&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;HasActiveStatus&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Full definitions&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;query &amp;lt;b&amp;gt;HasActiveStatus&amp;lt;/b&amp;gt;(&amp;lt;i&amp;gt;&amp;lt;b&amp;gt;[in]&amp;lt;/b&amp;gt;(GUIDSTRING)&amp;lt;/i&amp;gt;&amp;lt;b&amp;gt;_Target&amp;lt;/b&amp;gt;, &amp;lt;i&amp;gt;&amp;lt;b&amp;gt;[in]&amp;lt;/b&amp;gt;(STRING)&amp;lt;/i&amp;gt;&amp;lt;b&amp;gt;_Status&amp;lt;/b&amp;gt;,&amp;lt;i&amp;gt;&amp;lt;b&amp;gt; [out]&amp;lt;/b&amp;gt;(INTEGER)&amp;lt;/i&amp;gt;&amp;lt;b&amp;gt;_Bool&amp;lt;/b&amp;gt;)&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;u&amp;gt;Description&amp;lt;/u&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Returns whether &amp;lt;b&amp;gt;_Target&amp;lt;/b&amp;gt; is currently under the influence of &amp;lt;b&amp;gt;_Status&amp;lt;/b&amp;gt;.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Return values&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;Success/Failure&amp;lt;/b&amp;gt;: Default return value.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;_Bool&amp;lt;/b&amp;gt;: 0 if &amp;lt;b&amp;gt;_Target&amp;lt;/b&amp;gt; is currently not under the influence of &amp;lt;b&amp;gt;_Status&amp;lt;/b&amp;gt;, 1 if it is.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Notes&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;/&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;See also&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;HasAppliedStatus&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;HasAppliedStatus&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Full definitions&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;query &amp;lt;b&amp;gt;HasAppliedStatus&amp;lt;/b&amp;gt;(&amp;lt;i&amp;gt;&amp;lt;b&amp;gt;[in]&amp;lt;/b&amp;gt;(GUIDSTRING)&amp;lt;/i&amp;gt;&amp;lt;b&amp;gt;_Target&amp;lt;/b&amp;gt;, &amp;lt;i&amp;gt;&amp;lt;b&amp;gt;[in]&amp;lt;/b&amp;gt;(STRING)&amp;lt;/i&amp;gt;&amp;lt;b&amp;gt;_Status&amp;lt;/b&amp;gt;,&amp;lt;i&amp;gt;&amp;lt;b&amp;gt; [out]&amp;lt;/b&amp;gt;(INTEGER)&amp;lt;/i&amp;gt;&amp;lt;b&amp;gt;_Bool&amp;lt;/b&amp;gt;)&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;u&amp;gt;Description&amp;lt;/u&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Returns whether &amp;lt;b&amp;gt;_Status&amp;lt;/b&amp;gt; has been applied to &amp;lt;b&amp;gt;_Target&amp;lt;/b&amp;gt;. &amp;lt;b&amp;gt;_Target&amp;lt;/b&amp;gt; may or may not yet actually be under its influence.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Return values&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;&amp;lt;b&amp;gt;Success/Failure&amp;lt;/b&amp;gt;: &amp;lt;/b&amp;gt;Default return value.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;_Bool&amp;lt;/b&amp;gt;: 0 if &amp;lt;b&amp;gt;_Status&amp;lt;/b&amp;gt; has not been applied to &amp;lt;b&amp;gt;_Target&amp;lt;/b&amp;gt;, 1 if it has been.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Notes&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;In virtually all cases, use &amp;lt;b&amp;gt;HasActiveStatus&amp;lt;/b&amp;gt; instead. The main purpose of this query is for crime reactions, and is only needed due to frame delays between code and Osiris.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;See also&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;HasActiveStatus&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;IsSpeakerReserved&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Full definitions&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;query &amp;lt;b&amp;gt;IsSpeakerReserved&amp;lt;/b&amp;gt;(&amp;lt;i&amp;gt;&amp;lt;b&amp;gt;[in]&amp;lt;/b&amp;gt;(GUIDSTRING)&amp;lt;/i&amp;gt;&amp;lt;b&amp;gt;_Speaker&amp;lt;/b&amp;gt;, &amp;lt;i&amp;gt;&amp;lt;b&amp;gt;[out]&amp;lt;/b&amp;gt;(INTEGER)&amp;lt;/i&amp;gt;&amp;lt;b&amp;gt;_success&amp;lt;/b&amp;gt;)&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;u&amp;gt;Description&amp;lt;/u&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Returns whether &amp;lt;b&amp;gt;_Speaker&amp;lt;/b&amp;gt; is already in a dialog.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Return values&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;&amp;lt;b&amp;gt;Success/Failure&amp;lt;/b&amp;gt;: &amp;lt;/b&amp;gt;Default return value.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;_success&amp;lt;/b&amp;gt;: &amp;lt;b&amp;gt;0&amp;lt;/b&amp;gt; if &amp;lt;b&amp;gt;_Speaker&amp;lt;/b&amp;gt; is currently not in a dialog, &amp;lt;b&amp;gt;1&amp;lt;/b&amp;gt; otherwise.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Notes&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;/&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;See also&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;DialogStartRequested&amp;lt;/b&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;Proc_StartDialog&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/b&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;ItemIsInInventory&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Full definitions&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;query &amp;lt;b&amp;gt;&amp;lt;span style=&amp;quot;font-family:arial,sans-serif&amp;quot;&amp;gt;Item&amp;lt;/span&amp;gt;IsInInventory&amp;lt;/b&amp;gt;(&amp;lt;i&amp;gt;&amp;lt;b&amp;gt;[in]&amp;lt;/b&amp;gt;(ITEMGUID)&amp;lt;/i&amp;gt;&amp;lt;b&amp;gt;_Item&amp;lt;/b&amp;gt;, &amp;lt;i&amp;gt;&amp;lt;b&amp;gt;[out]&amp;lt;/b&amp;gt;(INTEGER)&amp;lt;/i&amp;gt;&amp;lt;b&amp;gt;_Bool&amp;lt;/b&amp;gt;)&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;u&amp;gt;Description&amp;lt;/u&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Returns whether &amp;lt;b&amp;gt;_Item&amp;lt;/b&amp;gt; is in an inventory. This includes both character and container inventories.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Return values&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;&amp;lt;b&amp;gt;Success/Failure&amp;lt;/b&amp;gt;: &amp;lt;/b&amp;gt;Default return value.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;_Bool&amp;lt;/b&amp;gt;: 0 if &amp;lt;b&amp;gt;_Item&amp;lt;/b&amp;gt; is not in an inventory (as defined above), 1 if it is.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Notes&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;/&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;See also&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;GetInventoryOwner&amp;lt;/b&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&amp;lt;hr&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Larian octaaf</name></author>
	</entry>
	<entry>
		<id>https://docs.larian.game/index.php?title=Osiris_API_Tips_Queries&amp;diff=442</id>
		<title>Osiris API Tips Queries</title>
		<link rel="alternate" type="text/html" href="https://docs.larian.game/index.php?title=Osiris_API_Tips_Queries&amp;diff=442"/>
		<updated>2017-08-02T10:02:34Z</updated>

		<summary type="html">&lt;p&gt;Larian octaaf: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;h2&amp;gt;Queries&amp;lt;/h2&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Queries request information about the state of the world from Osiris. They can be used in the part of a rule that checks conditions. Queries almost always succeed, except if you pass an initialised value as an &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;[out]&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt; parameter and it does not match the value the query would returns. Below, this will be called the &amp;lt;b&amp;gt;Default Return Value&amp;lt;/b&amp;gt;. If a query can also fail under other circumstances, this will be mentioned.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&amp;lt;h4 style=&amp;quot;font-size:1.1em;color:rgb(36,53,93)&amp;quot;&amp;gt;CharacterGetEquippedItem&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Full definitions&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;query &amp;lt;b&amp;gt;CharacterGetEquippedItem&amp;lt;/b&amp;gt;(&amp;lt;i&amp;gt;&amp;lt;b&amp;gt;[in]&amp;lt;/b&amp;gt;(CHARACTERGUID)&amp;lt;/i&amp;gt;&amp;lt;b&amp;gt;_Character&amp;lt;/b&amp;gt;,&amp;lt;i&amp;gt;&amp;lt;b&amp;gt; [in]&amp;lt;/b&amp;gt;(STRING)&amp;lt;/i&amp;gt;&amp;lt;b&amp;gt;_Slotname&amp;lt;/b&amp;gt;,&amp;lt;i&amp;gt;&amp;lt;b&amp;gt; [out]&amp;lt;/b&amp;gt;&amp;lt;/i&amp;gt;(&amp;lt;i&amp;gt;GUIDSTRING&amp;lt;/i&amp;gt;)&amp;lt;b&amp;gt;_ItemGUID&amp;lt;/b&amp;gt;)&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;u&amp;gt;Description&amp;lt;/u&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Returns in &amp;lt;b&amp;gt;_ItemGUID&amp;lt;/b&amp;gt; the item equipped by &amp;lt;b&amp;gt;_Character&amp;lt;/b&amp;gt; in slot &amp;lt;b&amp;gt;_Slotname&amp;lt;/b&amp;gt;, if any.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Return values&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;&amp;lt;b&amp;gt;&amp;lt;b&amp;gt;Success/Failure&amp;lt;/b&amp;gt;: &amp;lt;/b&amp;gt;&amp;lt;/b&amp;gt;Fails if &amp;lt;b&amp;gt;_Character&amp;lt;/b&amp;gt; does not exist, or if no item is equipped in &amp;lt;b&amp;gt;_Slotname&amp;lt;/b&amp;gt;.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;_ItemGuid&amp;lt;/b&amp;gt;: The item equipped by &amp;lt;b&amp;gt;_Character&amp;lt;/b&amp;gt; in &amp;lt;b&amp;gt;_Slotname.&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Notes&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;The valid values for &amp;lt;b&amp;gt;_Slotname&amp;lt;/b&amp;gt; are: &amp;lt;b&amp;gt;Helmet&amp;lt;/b&amp;gt;, &amp;lt;b&amp;gt;Amulet&amp;lt;/b&amp;gt;, &amp;lt;b&amp;gt;Breast&amp;lt;/b&amp;gt;, &amp;lt;b&amp;gt;Belt&amp;lt;/b&amp;gt;, &amp;lt;b&amp;gt;Gloves&amp;lt;/b&amp;gt;, &amp;lt;b&amp;gt;Leggings&amp;lt;/b&amp;gt;, &amp;lt;b&amp;gt;Boots&amp;lt;/b&amp;gt;, &amp;lt;b&amp;gt;Weapon&amp;lt;/b&amp;gt;, &amp;lt;b&amp;gt;Shield&amp;lt;/b&amp;gt;, &amp;lt;b&amp;gt;Ring&amp;lt;/b&amp;gt;, &amp;lt;b&amp;gt;Ring2&amp;lt;/b&amp;gt;.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;See also&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;CharacterUnequipItem&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;CharacterGetHenchmanPresetPrice&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-size:13.3333px&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;font-size:13.3333px&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Full definitions&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul style=&amp;quot;font-size:13.3333px&amp;quot;&amp;gt;&amp;lt;li&amp;gt;query&amp;amp;nbsp;&amp;lt;b&amp;gt;CharacterGetHenchmanPresetPrice&amp;lt;/b&amp;gt;(&amp;lt;i&amp;gt;&amp;lt;b&amp;gt;[in]&amp;lt;/b&amp;gt;&amp;lt;/i&amp;gt;(STRING)&amp;lt;b&amp;gt;_Preset&amp;lt;/b&amp;gt;,&amp;lt;b&amp;gt;&amp;amp;nbsp;&amp;lt;/b&amp;gt;&amp;lt;i style=&amp;quot;font-size:13.3333px&amp;quot;&amp;gt;&amp;lt;b&amp;gt;[in]&amp;lt;/b&amp;gt;(CHARACTERGUID)&amp;lt;/i&amp;gt;&amp;lt;b style=&amp;quot;font-size:13.3333px&amp;quot;&amp;gt;_Character&amp;lt;/b&amp;gt;&amp;lt;span style=&amp;quot;font-size:13.3333px&amp;quot;&amp;gt;,&amp;amp;nbsp;&amp;lt;b&amp;gt;&amp;lt;i&amp;gt;[out]&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt;&amp;lt;i&amp;gt;(INTEGER)&amp;lt;/i&amp;gt;&amp;lt;b&amp;gt;_Price&amp;lt;/b&amp;gt;&amp;lt;/span&amp;gt;)&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;u style=&amp;quot;font-size:13.3333px&amp;quot;&amp;gt;Description&amp;lt;/u&amp;gt;&amp;lt;br style=&amp;quot;font-size:13.3333px&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;font-size:13.3333px&amp;quot;&amp;gt;Returns the price of the preset scaled to the level of&amp;amp;nbsp;&amp;lt;b&amp;gt;_Character&amp;lt;/b&amp;gt;.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;font-size:13.3333px&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Return values&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul style=&amp;quot;font-size:13.3333px&amp;quot;&amp;gt;&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;_Price&amp;lt;/b&amp;gt;: The price of the preset scaled to the level of&amp;amp;nbsp;&amp;lt;b&amp;gt;_Character.&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;font-size:13.3333px&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Notes&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul style=&amp;quot;font-size:13.3333px&amp;quot;&amp;gt;&amp;lt;li&amp;gt;Presets come from the folder&amp;amp;nbsp;&amp;lt;b&amp;gt;&amp;quot;.../DOS2/Data/Mods/Shared/CharacterCreation/HenchmanPresets/&amp;quot;&amp;lt;/b&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Presets can be customized using the following documentation:&amp;amp;nbsp;&amp;lt;b&amp;gt;link&amp;lt;/b&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;font-size:13.3333px&amp;quot;&amp;gt;&amp;lt;u&amp;gt;See also&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul style=&amp;quot;font-size:13.3333px&amp;quot;&amp;gt;&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;CharacterApplyHenchmanPreset&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;CharacterIsAlly&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Full definitions&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;query &amp;lt;b&amp;gt;CharacterIsAlly&amp;lt;/b&amp;gt;(&amp;lt;i&amp;gt;&amp;lt;b&amp;gt;[in]&amp;lt;/b&amp;gt;(CHARACTERGUID)&amp;lt;/i&amp;gt;&amp;lt;b&amp;gt;_Character&amp;lt;/b&amp;gt;,&amp;lt;i&amp;gt;&amp;lt;b&amp;gt; &amp;lt;/b&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;i&amp;gt;&amp;lt;b&amp;gt;&amp;lt;i&amp;gt;&amp;lt;b&amp;gt;[in]&amp;lt;/b&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt;&amp;lt;i&amp;gt;(CHARACTERGUID)&amp;lt;/i&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;b&amp;gt;&amp;lt;b&amp;gt;_OtherCharacter&amp;lt;/b&amp;gt;&amp;lt;/b&amp;gt;&amp;lt;i&amp;gt;&amp;lt;b&amp;gt;,&amp;lt;i&amp;gt;&amp;lt;b&amp;gt; &amp;lt;/b&amp;gt;&amp;lt;/i&amp;gt;[out]&amp;lt;/b&amp;gt;&amp;lt;/i&amp;gt;(INTEGER)&amp;lt;b&amp;gt;_Bool&amp;lt;/b&amp;gt;)&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;u&amp;gt;Description&amp;lt;/u&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Returns whether &amp;lt;b&amp;gt;_Character&amp;lt;/b&amp;gt; is an ally of &amp;lt;b&amp;gt;_OtherCharacter&amp;lt;/b&amp;gt;.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Return values&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;&amp;lt;b&amp;gt;&amp;lt;b&amp;gt;Success/Failure&amp;lt;/b&amp;gt;:&amp;lt;/b&amp;gt;&amp;lt;/b&amp;gt; Default return value.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;_Bool&amp;lt;/b&amp;gt;: &amp;lt;b&amp;gt;1&amp;lt;/b&amp;gt; if &amp;lt;b&amp;gt;_Character&amp;lt;/b&amp;gt; and &amp;lt;b&amp;gt;_OtherCharacter &amp;lt;/b&amp;gt;are allies, &amp;lt;b&amp;gt;0&amp;lt;/b&amp;gt; if not&amp;lt;b&amp;gt;.&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Notes&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;Also works outside combat.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;If &amp;lt;b&amp;gt;_Character&amp;lt;/b&amp;gt; or &amp;lt;b&amp;gt;_OtherCharacter&amp;lt;/b&amp;gt; is dead or dying, the result solely depends on the characters' alignments (factions). If they are alive, it is also influenced by temporary hostile relations, e.g. induced by attacking a neutral character.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;See also&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;CharacterIsNeutral&amp;lt;/b&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;CharacterIsEnemy&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/b&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;CharacterIsEnemy&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Notes&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;See &amp;lt;b&amp;gt;CharacterIsAlly&amp;lt;/b&amp;gt; for detailed information, except that this query returns whether the characters are enemies.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;See also&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;CharacterIsAlly&amp;lt;/b&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;CharacterIsEnemy&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/b&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;CharacterIsNeutral&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Notes&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;See &amp;lt;b&amp;gt;CharacterIsAlly&amp;lt;/b&amp;gt; for detailed information, except that this query returns whether the characters are neutral.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;See also&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;CharacterIsAlly&amp;lt;/b&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;CharacterIsEnemy&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/b&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;CharacterIsPartyFollower&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Full definitions&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;query &amp;lt;b&amp;gt;CharacterIsPartyFollower&amp;lt;/b&amp;gt;(&amp;lt;i&amp;gt;&amp;lt;b&amp;gt;[in]&amp;lt;/b&amp;gt;(CHARACTERGUID)&amp;lt;/i&amp;gt;&amp;lt;b&amp;gt;_Character&amp;lt;/b&amp;gt;,&amp;lt;i&amp;gt;&amp;lt;b&amp;gt; &amp;lt;/b&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;i&amp;gt;&amp;lt;b&amp;gt;[out]&amp;lt;/b&amp;gt;&amp;lt;/i&amp;gt;(INTEGER)&amp;lt;b&amp;gt;_Bool&amp;lt;/b&amp;gt;)&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;u&amp;gt;Description&amp;lt;/u&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Returns whether &amp;lt;b&amp;gt;_Character&amp;lt;/b&amp;gt; is a character that follows a player character around. An NPC can be instructed to do so through &amp;lt;b&amp;gt;CharacterFollowCharacter&amp;lt;/b&amp;gt;.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Return values&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;&amp;lt;b&amp;gt;&amp;lt;b&amp;gt;Success/Failure&amp;lt;/b&amp;gt;: &amp;lt;/b&amp;gt;&amp;lt;/b&amp;gt;Fails if &amp;lt;b&amp;gt;_Character&amp;lt;/b&amp;gt; does not exist&amp;lt;b&amp;gt;.&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;_Bool&amp;lt;/b&amp;gt;: &amp;lt;b&amp;gt;1&amp;lt;/b&amp;gt; if &amp;lt;b&amp;gt;_Character&amp;lt;/b&amp;gt; is a party follower, &amp;lt;b&amp;gt;0&amp;lt;/b&amp;gt; if not&amp;lt;b&amp;gt;.&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Notes&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;CharacterIsPlayer&amp;lt;/b&amp;gt; will also return true for party followers.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;See also&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;CharacterIsPlayer&amp;lt;/b&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;CharacterFollowCharacter&amp;lt;/b&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;CharacterIsPlayer&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Full definitions&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;query &amp;lt;b&amp;gt;CharacterIsPlayer&amp;lt;/b&amp;gt;(&amp;lt;i&amp;gt;&amp;lt;b&amp;gt;[in]&amp;lt;/b&amp;gt;(CHARACTERGUID)&amp;lt;/i&amp;gt;&amp;lt;b&amp;gt;_Character&amp;lt;/b&amp;gt;,&amp;lt;i&amp;gt;&amp;lt;b&amp;gt; &amp;lt;/b&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;i&amp;gt;&amp;lt;b&amp;gt;[out]&amp;lt;/b&amp;gt;&amp;lt;/i&amp;gt;(INTEGER)&amp;lt;b&amp;gt;_Bool&amp;lt;/b&amp;gt;)&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;u&amp;gt;Description&amp;lt;/u&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Returns whether &amp;lt;b&amp;gt;_Character&amp;lt;/b&amp;gt; is &amp;lt;i&amp;gt;player-controlled&amp;lt;/i&amp;gt;.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Return values&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;&amp;lt;b&amp;gt;&amp;lt;b&amp;gt;Success/Failure&amp;lt;/b&amp;gt;: &amp;lt;/b&amp;gt;&amp;lt;/b&amp;gt;Fails if &amp;lt;b&amp;gt;_Character&amp;lt;/b&amp;gt; does not exist&amp;lt;b&amp;gt;.&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;_Bool&amp;lt;/b&amp;gt;: &amp;lt;b&amp;gt;1&amp;lt;/b&amp;gt; if &amp;lt;b&amp;gt;_Character&amp;lt;/b&amp;gt; is &amp;lt;i&amp;gt;player-controlled&amp;lt;/i&amp;gt;, &amp;lt;b&amp;gt;0&amp;lt;/b&amp;gt; if not&amp;lt;b&amp;gt;.&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Notes&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;Apart from avatars and recruited companions, &amp;lt;i&amp;gt;player-controlled&amp;lt;/i&amp;gt; characters also include summons and followers.&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;See also&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;CharacterIsPartyFollower&amp;lt;/b&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;CharacterIsSummon&amp;lt;/b&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;CharacterFollowCharacter&amp;lt;/b&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;CharacterIsSummon&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Full definitions&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;query &amp;lt;b&amp;gt;CharacterIsSummon&amp;lt;/b&amp;gt;(&amp;lt;i&amp;gt;&amp;lt;b&amp;gt;[in]&amp;lt;/b&amp;gt;(CHARACTERGUID)&amp;lt;/i&amp;gt;&amp;lt;b&amp;gt;_Character&amp;lt;/b&amp;gt;,&amp;lt;i&amp;gt;&amp;lt;b&amp;gt; &amp;lt;/b&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;i&amp;gt;&amp;lt;b&amp;gt;[out]&amp;lt;/b&amp;gt;&amp;lt;/i&amp;gt;(INTEGER)&amp;lt;b&amp;gt;_Bool&amp;lt;/b&amp;gt;)&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;u&amp;gt;Description&amp;lt;/u&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Returns whether &amp;lt;b&amp;gt;_Character&amp;lt;/b&amp;gt; is a summon. Summon can be &amp;lt;i&amp;gt;player-controlled&amp;lt;/i&amp;gt; or not.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Return values&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;&amp;lt;b&amp;gt;&amp;lt;b&amp;gt;Success/Failure&amp;lt;/b&amp;gt;: &amp;lt;/b&amp;gt;&amp;lt;/b&amp;gt;Fails if &amp;lt;b&amp;gt;_Character&amp;lt;/b&amp;gt; does not exist&amp;lt;b&amp;gt;.&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;_Bool&amp;lt;/b&amp;gt;: &amp;lt;b&amp;gt;1&amp;lt;/b&amp;gt; if &amp;lt;b&amp;gt;_Character&amp;lt;/b&amp;gt; is a summon, &amp;lt;b&amp;gt;0&amp;lt;/b&amp;gt; if not&amp;lt;b&amp;gt;.&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Notes&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Summons can also be distinguished by the fact that hey have the &amp;lt;b&amp;gt;SUMMON&amp;lt;/b&amp;gt; tag.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;If you wish to know whether a summon is &amp;lt;i&amp;gt;player-controlled&amp;lt;/i&amp;gt;, also check &amp;lt;b&amp;gt;CharacterIsPlayer&amp;lt;/b&amp;gt;.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;See also&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;CharacterIsPlayer&amp;lt;/b&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;GetClosestAlivePlayer&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Full definitions&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;query &amp;lt;span style=&amp;quot;font-family:arial,sans-serif&amp;quot;&amp;gt;&amp;lt;b&amp;gt;GetClosestAlivePlayer&amp;lt;/b&amp;gt;&amp;lt;/span&amp;gt;(&amp;lt;i&amp;gt;&amp;lt;b&amp;gt;[in]&amp;lt;/b&amp;gt;(GUIDSTRING)&amp;lt;/i&amp;gt;&amp;lt;b&amp;gt;_Target&amp;lt;/b&amp;gt;, &amp;lt;i&amp;gt;&amp;lt;b&amp;gt;[out]&amp;lt;/b&amp;gt;(CHARACTERGUID)&amp;lt;/i&amp;gt;&amp;lt;b&amp;gt;_Player&amp;lt;/b&amp;gt;)&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;u&amp;gt;Description&amp;lt;/u&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Gets the closest player to &amp;lt;b&amp;gt;_Target&amp;lt;/b&amp;gt; that is alive and stores it in &amp;lt;b&amp;gt;_Player&amp;lt;/b&amp;gt;.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Return values&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;&amp;lt;b&amp;gt;&amp;lt;b&amp;gt;&amp;lt;b&amp;gt;Success/Failure&amp;lt;/b&amp;gt;: &amp;lt;/b&amp;gt;&amp;lt;/b&amp;gt;&amp;lt;/b&amp;gt;Fails if no living player is found.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;_Player&amp;lt;/b&amp;gt;: The found player character.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Notes&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;Be careful if you check for extra conditions on the returned player: if any of those conditions fail, no other players will be considered.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;If you want to start a dialog, use &amp;lt;b&amp;gt;&amp;lt;span style=&amp;quot;font-family:arial,sans-serif&amp;quot;&amp;gt;ProcGetClosestAvailableCharacterTo&amp;lt;/span&amp;gt;&amp;lt;/b&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;See also&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;Helper &amp;lt;b&amp;gt;&amp;lt;span style=&amp;quot;font-family:arial,sans-serif&amp;quot;&amp;gt;ProcGetClosestAvailableCharacterTo&amp;lt;/span&amp;gt;&amp;lt;/b&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;GetDistanceTo&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Full definitions&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;query &amp;lt;span style=&amp;quot;font-family:arial,sans-serif&amp;quot;&amp;gt;&amp;lt;b&amp;gt;GetDistanceTo&amp;lt;/b&amp;gt;&amp;lt;/span&amp;gt;(&amp;lt;i&amp;gt;&amp;lt;b&amp;gt;[in]&amp;lt;/b&amp;gt;(GUIDSTRING)&amp;lt;/i&amp;gt;&amp;lt;b&amp;gt;_Object1&amp;lt;/b&amp;gt;, &amp;lt;i&amp;gt;&amp;lt;b&amp;gt;[in]&amp;lt;/b&amp;gt;(GUIDSTRING)&amp;lt;/i&amp;gt;&amp;lt;b&amp;gt;_Object2&amp;lt;/b&amp;gt;, &amp;lt;i&amp;gt;&amp;lt;b&amp;gt;[out]&amp;lt;/b&amp;gt;(REAL)&amp;lt;/i&amp;gt;&amp;lt;b&amp;gt;_Dist&amp;lt;/b&amp;gt;)&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;u&amp;gt;Description&amp;lt;/u&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Calculates the distance between &amp;lt;b&amp;gt;_Object1&amp;lt;/b&amp;gt; and &amp;lt;b&amp;gt;_Object2&amp;lt;/b&amp;gt;.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Return values&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;Success/Failure&amp;lt;/b&amp;gt;: Fails if &amp;lt;span style=&amp;quot;font-family:arial,sans-serif&amp;quot;&amp;gt;if either &amp;lt;b&amp;gt;_Object1&amp;lt;/b&amp;gt; or _&amp;lt;b&amp;gt;Object2&amp;lt;/b&amp;gt; is in a container or in an inventory. Use &amp;lt;b&amp;gt;ItemIsInInventory&amp;lt;/b&amp;gt; to check for this.&amp;lt;/span&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;_Dist&amp;lt;/b&amp;gt;: The distance in metres.&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Notes&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;&amp;lt;span style=&amp;quot;font-family:arial,sans-serif&amp;quot;&amp;gt;/&amp;lt;/span&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;See also&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;ItemIsInInventory&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;GetInventoryOwner&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Full definitions&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;query &amp;lt;b&amp;gt;GetInventoryOwner&amp;lt;/b&amp;gt;(&amp;lt;i&amp;gt;&amp;lt;b&amp;gt;[in]&amp;lt;/b&amp;gt;(ITEMGUID)&amp;lt;/i&amp;gt;&amp;lt;b&amp;gt;_Item&amp;lt;/b&amp;gt;, &amp;lt;i&amp;gt;&amp;lt;b&amp;gt;[out]&amp;lt;/b&amp;gt;(GUIDSTRING)&amp;lt;/i&amp;gt;&amp;lt;b&amp;gt;_Owner&amp;lt;/b&amp;gt;)&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;u&amp;gt;Description&amp;lt;/u&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Returns the inventory/container that holds &amp;lt;b&amp;gt;_Item&amp;lt;/b&amp;gt; in &amp;lt;b&amp;gt;_Owner&amp;lt;/b&amp;gt;.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Return values&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;Success/Failure&amp;lt;/b&amp;gt;: Fails if &amp;lt;b&amp;gt;_Item&amp;lt;/b&amp;gt; is not in anyone's inventory nor in a container.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;_Owner&amp;lt;/b&amp;gt;: The character or item in whose inventory the item currently resides.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Notes&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;This call returns the outermost container. I.e., if a character has crate in their inventory, and the crate contains a pouch with the item, this call will return the character.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;See also&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;ItemIsInInventory&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;GetRandomPositionInTrigger&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Full definitions&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;query &amp;lt;b&amp;gt;GetRandomPositionInTrigger&amp;lt;/b&amp;gt;(&amp;lt;i&amp;gt;&amp;lt;b&amp;gt;[in]&amp;lt;/b&amp;gt;(TRIGGERGUID)&amp;lt;/i&amp;gt;&amp;lt;b&amp;gt;_Trigger&amp;lt;/b&amp;gt;, &amp;lt;i&amp;gt;&amp;lt;b&amp;gt;[out]&amp;lt;/b&amp;gt;(REAL)&amp;lt;/i&amp;gt;&amp;lt;b&amp;gt;_X&amp;lt;/b&amp;gt;, &amp;lt;i&amp;gt;&amp;lt;b&amp;gt;[out]&amp;lt;/b&amp;gt;(REAL)&amp;lt;/i&amp;gt;&amp;lt;b&amp;gt;_Y&amp;lt;/b&amp;gt;, &amp;lt;i&amp;gt;&amp;lt;b&amp;gt;[out]&amp;lt;/b&amp;gt;(REAL)&amp;lt;/i&amp;gt;&amp;lt;b&amp;gt;_Z&amp;lt;/b&amp;gt;)&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;u&amp;gt;Description&amp;lt;/u&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Returns a random position &amp;lt;i&amp;gt;that is valid on the AI-grid&amp;lt;/i&amp;gt; inside &amp;lt;b&amp;gt;_Trigger&amp;lt;/b&amp;gt;.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Return values&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;Success/Failure&amp;lt;/b&amp;gt;: Default return value.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;_Trigger&amp;lt;/b&amp;gt;: A box trigger inside which the random position should be gotten.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;_X&amp;lt;/b&amp;gt;, &amp;lt;b&amp;gt;_Y&amp;lt;/b&amp;gt;, &amp;lt;b&amp;gt;_Z&amp;lt;/b&amp;gt;: the coordinates of the random position&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Notes&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;This routine will first get a random position in the trigger, and if this random position is not valid on the AI-grid, the coordinates will be snapped to a nearby valid position on the AI-grid.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;This call does not work for polytriggers&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;See also&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;/&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;HasActiveStatus&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Full definitions&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;query &amp;lt;b&amp;gt;HasActiveStatus&amp;lt;/b&amp;gt;(&amp;lt;i&amp;gt;&amp;lt;b&amp;gt;[in]&amp;lt;/b&amp;gt;(GUIDSTRING)&amp;lt;/i&amp;gt;&amp;lt;b&amp;gt;_Target&amp;lt;/b&amp;gt;, &amp;lt;i&amp;gt;&amp;lt;b&amp;gt;[in]&amp;lt;/b&amp;gt;(STRING)&amp;lt;/i&amp;gt;&amp;lt;b&amp;gt;_Status&amp;lt;/b&amp;gt;,&amp;lt;i&amp;gt;&amp;lt;b&amp;gt; [out]&amp;lt;/b&amp;gt;(INTEGER)&amp;lt;/i&amp;gt;&amp;lt;b&amp;gt;_Bool&amp;lt;/b&amp;gt;)&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;u&amp;gt;Description&amp;lt;/u&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Returns whether &amp;lt;b&amp;gt;_Target&amp;lt;/b&amp;gt; is currently under the influence of &amp;lt;b&amp;gt;_Status&amp;lt;/b&amp;gt;.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Return values&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;Success/Failure&amp;lt;/b&amp;gt;: Default return value.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;_Bool&amp;lt;/b&amp;gt;: 0 if &amp;lt;b&amp;gt;_Target&amp;lt;/b&amp;gt; is currently not under the influence of &amp;lt;b&amp;gt;_Status&amp;lt;/b&amp;gt;, 1 if it is.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Notes&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;/&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;See also&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;HasAppliedStatus&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;HasAppliedStatus&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Full definitions&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;query &amp;lt;b&amp;gt;HasAppliedStatus&amp;lt;/b&amp;gt;(&amp;lt;i&amp;gt;&amp;lt;b&amp;gt;[in]&amp;lt;/b&amp;gt;(GUIDSTRING)&amp;lt;/i&amp;gt;&amp;lt;b&amp;gt;_Target&amp;lt;/b&amp;gt;, &amp;lt;i&amp;gt;&amp;lt;b&amp;gt;[in]&amp;lt;/b&amp;gt;(STRING)&amp;lt;/i&amp;gt;&amp;lt;b&amp;gt;_Status&amp;lt;/b&amp;gt;,&amp;lt;i&amp;gt;&amp;lt;b&amp;gt; [out]&amp;lt;/b&amp;gt;(INTEGER)&amp;lt;/i&amp;gt;&amp;lt;b&amp;gt;_Bool&amp;lt;/b&amp;gt;)&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;u&amp;gt;Description&amp;lt;/u&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Returns whether &amp;lt;b&amp;gt;_Status&amp;lt;/b&amp;gt; has been applied to &amp;lt;b&amp;gt;_Target&amp;lt;/b&amp;gt;. &amp;lt;b&amp;gt;_Target&amp;lt;/b&amp;gt; may or may not yet actually be under its influence.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Return values&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;&amp;lt;b&amp;gt;Success/Failure&amp;lt;/b&amp;gt;: &amp;lt;/b&amp;gt;Default return value.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;_Bool&amp;lt;/b&amp;gt;: 0 if &amp;lt;b&amp;gt;_Status&amp;lt;/b&amp;gt; has not been applied to &amp;lt;b&amp;gt;_Target&amp;lt;/b&amp;gt;, 1 if it has been.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Notes&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;In virtually all cases, use &amp;lt;b&amp;gt;HasActiveStatus&amp;lt;/b&amp;gt; instead. The main purpose of this query is for crime reactions, and is only needed due to frame delays between code and Osiris.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;See also&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;HasActiveStatus&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;IsSpeakerReserved&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Full definitions&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;query &amp;lt;b&amp;gt;IsSpeakerReserved&amp;lt;/b&amp;gt;(&amp;lt;i&amp;gt;&amp;lt;b&amp;gt;[in]&amp;lt;/b&amp;gt;(GUIDSTRING)&amp;lt;/i&amp;gt;&amp;lt;b&amp;gt;_Speaker&amp;lt;/b&amp;gt;, &amp;lt;i&amp;gt;&amp;lt;b&amp;gt;[out]&amp;lt;/b&amp;gt;(INTEGER)&amp;lt;/i&amp;gt;&amp;lt;b&amp;gt;_success&amp;lt;/b&amp;gt;)&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;u&amp;gt;Description&amp;lt;/u&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Returns whether &amp;lt;b&amp;gt;_Speaker&amp;lt;/b&amp;gt; is already in a dialog.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Return values&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;&amp;lt;b&amp;gt;Success/Failure&amp;lt;/b&amp;gt;: &amp;lt;/b&amp;gt;Default return value.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;_success&amp;lt;/b&amp;gt;: &amp;lt;b&amp;gt;0&amp;lt;/b&amp;gt; if &amp;lt;b&amp;gt;_Speaker&amp;lt;/b&amp;gt; is currently not in a dialog, &amp;lt;b&amp;gt;1&amp;lt;/b&amp;gt; otherwise.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Notes&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;/&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;See also&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;DialogStartRequested&amp;lt;/b&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;Proc_StartDialog&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/b&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;ItemIsInInventory&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Full definitions&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;query &amp;lt;b&amp;gt;&amp;lt;span style=&amp;quot;font-family:arial,sans-serif&amp;quot;&amp;gt;Item&amp;lt;/span&amp;gt;IsInInventory&amp;lt;/b&amp;gt;(&amp;lt;i&amp;gt;&amp;lt;b&amp;gt;[in]&amp;lt;/b&amp;gt;(ITEMGUID)&amp;lt;/i&amp;gt;&amp;lt;b&amp;gt;_Item&amp;lt;/b&amp;gt;, &amp;lt;i&amp;gt;&amp;lt;b&amp;gt;[out]&amp;lt;/b&amp;gt;(INTEGER)&amp;lt;/i&amp;gt;&amp;lt;b&amp;gt;_Bool&amp;lt;/b&amp;gt;)&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;u&amp;gt;Description&amp;lt;/u&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Returns whether &amp;lt;b&amp;gt;_Item&amp;lt;/b&amp;gt; is in an inventory. This includes both character and container inventories.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Return values&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;&amp;lt;b&amp;gt;Success/Failure&amp;lt;/b&amp;gt;: &amp;lt;/b&amp;gt;Default return value.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;_Bool&amp;lt;/b&amp;gt;: 0 if &amp;lt;b&amp;gt;_Item&amp;lt;/b&amp;gt; is not in an inventory (as defined above), 1 if it is.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Notes&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;/&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;See also&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;GetInventoryOwner&amp;lt;/b&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&amp;lt;hr&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Larian octaaf</name></author>
	</entry>
	<entry>
		<id>https://docs.larian.game/index.php?title=Osiris_API_Tips_Queries&amp;diff=441</id>
		<title>Osiris API Tips Queries</title>
		<link rel="alternate" type="text/html" href="https://docs.larian.game/index.php?title=Osiris_API_Tips_Queries&amp;diff=441"/>
		<updated>2017-08-02T10:02:15Z</updated>

		<summary type="html">&lt;p&gt;Larian octaaf: Created page with &amp;quot;&amp;lt;h3&amp;gt;Queries&amp;lt;/h3&amp;gt; &amp;lt;p&amp;gt;Queries request information about the state of the world from Osiris. They can be used in the part of a rule that checks conditions. Queries almost always...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;h3&amp;gt;Queries&amp;lt;/h3&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Queries request information about the state of the world from Osiris. They can be used in the part of a rule that checks conditions. Queries almost always succeed, except if you pass an initialised value as an &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;[out]&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt; parameter and it does not match the value the query would returns. Below, this will be called the &amp;lt;b&amp;gt;Default Return Value&amp;lt;/b&amp;gt;. If a query can also fail under other circumstances, this will be mentioned.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&amp;lt;h4 style=&amp;quot;font-size:1.1em;color:rgb(36,53,93)&amp;quot;&amp;gt;CharacterGetEquippedItem&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Full definitions&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;query &amp;lt;b&amp;gt;CharacterGetEquippedItem&amp;lt;/b&amp;gt;(&amp;lt;i&amp;gt;&amp;lt;b&amp;gt;[in]&amp;lt;/b&amp;gt;(CHARACTERGUID)&amp;lt;/i&amp;gt;&amp;lt;b&amp;gt;_Character&amp;lt;/b&amp;gt;,&amp;lt;i&amp;gt;&amp;lt;b&amp;gt; [in]&amp;lt;/b&amp;gt;(STRING)&amp;lt;/i&amp;gt;&amp;lt;b&amp;gt;_Slotname&amp;lt;/b&amp;gt;,&amp;lt;i&amp;gt;&amp;lt;b&amp;gt; [out]&amp;lt;/b&amp;gt;&amp;lt;/i&amp;gt;(&amp;lt;i&amp;gt;GUIDSTRING&amp;lt;/i&amp;gt;)&amp;lt;b&amp;gt;_ItemGUID&amp;lt;/b&amp;gt;)&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;u&amp;gt;Description&amp;lt;/u&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Returns in &amp;lt;b&amp;gt;_ItemGUID&amp;lt;/b&amp;gt; the item equipped by &amp;lt;b&amp;gt;_Character&amp;lt;/b&amp;gt; in slot &amp;lt;b&amp;gt;_Slotname&amp;lt;/b&amp;gt;, if any.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Return values&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;&amp;lt;b&amp;gt;&amp;lt;b&amp;gt;Success/Failure&amp;lt;/b&amp;gt;: &amp;lt;/b&amp;gt;&amp;lt;/b&amp;gt;Fails if &amp;lt;b&amp;gt;_Character&amp;lt;/b&amp;gt; does not exist, or if no item is equipped in &amp;lt;b&amp;gt;_Slotname&amp;lt;/b&amp;gt;.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;_ItemGuid&amp;lt;/b&amp;gt;: The item equipped by &amp;lt;b&amp;gt;_Character&amp;lt;/b&amp;gt; in &amp;lt;b&amp;gt;_Slotname.&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Notes&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;The valid values for &amp;lt;b&amp;gt;_Slotname&amp;lt;/b&amp;gt; are: &amp;lt;b&amp;gt;Helmet&amp;lt;/b&amp;gt;, &amp;lt;b&amp;gt;Amulet&amp;lt;/b&amp;gt;, &amp;lt;b&amp;gt;Breast&amp;lt;/b&amp;gt;, &amp;lt;b&amp;gt;Belt&amp;lt;/b&amp;gt;, &amp;lt;b&amp;gt;Gloves&amp;lt;/b&amp;gt;, &amp;lt;b&amp;gt;Leggings&amp;lt;/b&amp;gt;, &amp;lt;b&amp;gt;Boots&amp;lt;/b&amp;gt;, &amp;lt;b&amp;gt;Weapon&amp;lt;/b&amp;gt;, &amp;lt;b&amp;gt;Shield&amp;lt;/b&amp;gt;, &amp;lt;b&amp;gt;Ring&amp;lt;/b&amp;gt;, &amp;lt;b&amp;gt;Ring2&amp;lt;/b&amp;gt;.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;See also&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;CharacterUnequipItem&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;CharacterGetHenchmanPresetPrice&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-size:13.3333px&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;font-size:13.3333px&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Full definitions&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul style=&amp;quot;font-size:13.3333px&amp;quot;&amp;gt;&amp;lt;li&amp;gt;query&amp;amp;nbsp;&amp;lt;b&amp;gt;CharacterGetHenchmanPresetPrice&amp;lt;/b&amp;gt;(&amp;lt;i&amp;gt;&amp;lt;b&amp;gt;[in]&amp;lt;/b&amp;gt;&amp;lt;/i&amp;gt;(STRING)&amp;lt;b&amp;gt;_Preset&amp;lt;/b&amp;gt;,&amp;lt;b&amp;gt;&amp;amp;nbsp;&amp;lt;/b&amp;gt;&amp;lt;i style=&amp;quot;font-size:13.3333px&amp;quot;&amp;gt;&amp;lt;b&amp;gt;[in]&amp;lt;/b&amp;gt;(CHARACTERGUID)&amp;lt;/i&amp;gt;&amp;lt;b style=&amp;quot;font-size:13.3333px&amp;quot;&amp;gt;_Character&amp;lt;/b&amp;gt;&amp;lt;span style=&amp;quot;font-size:13.3333px&amp;quot;&amp;gt;,&amp;amp;nbsp;&amp;lt;b&amp;gt;&amp;lt;i&amp;gt;[out]&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt;&amp;lt;i&amp;gt;(INTEGER)&amp;lt;/i&amp;gt;&amp;lt;b&amp;gt;_Price&amp;lt;/b&amp;gt;&amp;lt;/span&amp;gt;)&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;u style=&amp;quot;font-size:13.3333px&amp;quot;&amp;gt;Description&amp;lt;/u&amp;gt;&amp;lt;br style=&amp;quot;font-size:13.3333px&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;font-size:13.3333px&amp;quot;&amp;gt;Returns the price of the preset scaled to the level of&amp;amp;nbsp;&amp;lt;b&amp;gt;_Character&amp;lt;/b&amp;gt;.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;font-size:13.3333px&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Return values&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul style=&amp;quot;font-size:13.3333px&amp;quot;&amp;gt;&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;_Price&amp;lt;/b&amp;gt;: The price of the preset scaled to the level of&amp;amp;nbsp;&amp;lt;b&amp;gt;_Character.&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;font-size:13.3333px&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Notes&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul style=&amp;quot;font-size:13.3333px&amp;quot;&amp;gt;&amp;lt;li&amp;gt;Presets come from the folder&amp;amp;nbsp;&amp;lt;b&amp;gt;&amp;quot;.../DOS2/Data/Mods/Shared/CharacterCreation/HenchmanPresets/&amp;quot;&amp;lt;/b&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Presets can be customized using the following documentation:&amp;amp;nbsp;&amp;lt;b&amp;gt;link&amp;lt;/b&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;font-size:13.3333px&amp;quot;&amp;gt;&amp;lt;u&amp;gt;See also&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul style=&amp;quot;font-size:13.3333px&amp;quot;&amp;gt;&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;CharacterApplyHenchmanPreset&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;CharacterIsAlly&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Full definitions&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;query &amp;lt;b&amp;gt;CharacterIsAlly&amp;lt;/b&amp;gt;(&amp;lt;i&amp;gt;&amp;lt;b&amp;gt;[in]&amp;lt;/b&amp;gt;(CHARACTERGUID)&amp;lt;/i&amp;gt;&amp;lt;b&amp;gt;_Character&amp;lt;/b&amp;gt;,&amp;lt;i&amp;gt;&amp;lt;b&amp;gt; &amp;lt;/b&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;i&amp;gt;&amp;lt;b&amp;gt;&amp;lt;i&amp;gt;&amp;lt;b&amp;gt;[in]&amp;lt;/b&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt;&amp;lt;i&amp;gt;(CHARACTERGUID)&amp;lt;/i&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;b&amp;gt;&amp;lt;b&amp;gt;_OtherCharacter&amp;lt;/b&amp;gt;&amp;lt;/b&amp;gt;&amp;lt;i&amp;gt;&amp;lt;b&amp;gt;,&amp;lt;i&amp;gt;&amp;lt;b&amp;gt; &amp;lt;/b&amp;gt;&amp;lt;/i&amp;gt;[out]&amp;lt;/b&amp;gt;&amp;lt;/i&amp;gt;(INTEGER)&amp;lt;b&amp;gt;_Bool&amp;lt;/b&amp;gt;)&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;u&amp;gt;Description&amp;lt;/u&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Returns whether &amp;lt;b&amp;gt;_Character&amp;lt;/b&amp;gt; is an ally of &amp;lt;b&amp;gt;_OtherCharacter&amp;lt;/b&amp;gt;.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Return values&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;&amp;lt;b&amp;gt;&amp;lt;b&amp;gt;Success/Failure&amp;lt;/b&amp;gt;:&amp;lt;/b&amp;gt;&amp;lt;/b&amp;gt; Default return value.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;_Bool&amp;lt;/b&amp;gt;: &amp;lt;b&amp;gt;1&amp;lt;/b&amp;gt; if &amp;lt;b&amp;gt;_Character&amp;lt;/b&amp;gt; and &amp;lt;b&amp;gt;_OtherCharacter &amp;lt;/b&amp;gt;are allies, &amp;lt;b&amp;gt;0&amp;lt;/b&amp;gt; if not&amp;lt;b&amp;gt;.&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Notes&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;Also works outside combat.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;If &amp;lt;b&amp;gt;_Character&amp;lt;/b&amp;gt; or &amp;lt;b&amp;gt;_OtherCharacter&amp;lt;/b&amp;gt; is dead or dying, the result solely depends on the characters' alignments (factions). If they are alive, it is also influenced by temporary hostile relations, e.g. induced by attacking a neutral character.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;See also&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;CharacterIsNeutral&amp;lt;/b&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;CharacterIsEnemy&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/b&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;CharacterIsEnemy&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Notes&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;See &amp;lt;b&amp;gt;CharacterIsAlly&amp;lt;/b&amp;gt; for detailed information, except that this query returns whether the characters are enemies.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;See also&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;CharacterIsAlly&amp;lt;/b&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;CharacterIsEnemy&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/b&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;CharacterIsNeutral&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Notes&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;See &amp;lt;b&amp;gt;CharacterIsAlly&amp;lt;/b&amp;gt; for detailed information, except that this query returns whether the characters are neutral.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;See also&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;CharacterIsAlly&amp;lt;/b&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;CharacterIsEnemy&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/b&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;CharacterIsPartyFollower&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Full definitions&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;query &amp;lt;b&amp;gt;CharacterIsPartyFollower&amp;lt;/b&amp;gt;(&amp;lt;i&amp;gt;&amp;lt;b&amp;gt;[in]&amp;lt;/b&amp;gt;(CHARACTERGUID)&amp;lt;/i&amp;gt;&amp;lt;b&amp;gt;_Character&amp;lt;/b&amp;gt;,&amp;lt;i&amp;gt;&amp;lt;b&amp;gt; &amp;lt;/b&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;i&amp;gt;&amp;lt;b&amp;gt;[out]&amp;lt;/b&amp;gt;&amp;lt;/i&amp;gt;(INTEGER)&amp;lt;b&amp;gt;_Bool&amp;lt;/b&amp;gt;)&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;u&amp;gt;Description&amp;lt;/u&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Returns whether &amp;lt;b&amp;gt;_Character&amp;lt;/b&amp;gt; is a character that follows a player character around. An NPC can be instructed to do so through &amp;lt;b&amp;gt;CharacterFollowCharacter&amp;lt;/b&amp;gt;.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Return values&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;&amp;lt;b&amp;gt;&amp;lt;b&amp;gt;Success/Failure&amp;lt;/b&amp;gt;: &amp;lt;/b&amp;gt;&amp;lt;/b&amp;gt;Fails if &amp;lt;b&amp;gt;_Character&amp;lt;/b&amp;gt; does not exist&amp;lt;b&amp;gt;.&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;_Bool&amp;lt;/b&amp;gt;: &amp;lt;b&amp;gt;1&amp;lt;/b&amp;gt; if &amp;lt;b&amp;gt;_Character&amp;lt;/b&amp;gt; is a party follower, &amp;lt;b&amp;gt;0&amp;lt;/b&amp;gt; if not&amp;lt;b&amp;gt;.&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Notes&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;CharacterIsPlayer&amp;lt;/b&amp;gt; will also return true for party followers.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;See also&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;CharacterIsPlayer&amp;lt;/b&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;CharacterFollowCharacter&amp;lt;/b&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;CharacterIsPlayer&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Full definitions&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;query &amp;lt;b&amp;gt;CharacterIsPlayer&amp;lt;/b&amp;gt;(&amp;lt;i&amp;gt;&amp;lt;b&amp;gt;[in]&amp;lt;/b&amp;gt;(CHARACTERGUID)&amp;lt;/i&amp;gt;&amp;lt;b&amp;gt;_Character&amp;lt;/b&amp;gt;,&amp;lt;i&amp;gt;&amp;lt;b&amp;gt; &amp;lt;/b&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;i&amp;gt;&amp;lt;b&amp;gt;[out]&amp;lt;/b&amp;gt;&amp;lt;/i&amp;gt;(INTEGER)&amp;lt;b&amp;gt;_Bool&amp;lt;/b&amp;gt;)&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;u&amp;gt;Description&amp;lt;/u&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Returns whether &amp;lt;b&amp;gt;_Character&amp;lt;/b&amp;gt; is &amp;lt;i&amp;gt;player-controlled&amp;lt;/i&amp;gt;.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Return values&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;&amp;lt;b&amp;gt;&amp;lt;b&amp;gt;Success/Failure&amp;lt;/b&amp;gt;: &amp;lt;/b&amp;gt;&amp;lt;/b&amp;gt;Fails if &amp;lt;b&amp;gt;_Character&amp;lt;/b&amp;gt; does not exist&amp;lt;b&amp;gt;.&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;_Bool&amp;lt;/b&amp;gt;: &amp;lt;b&amp;gt;1&amp;lt;/b&amp;gt; if &amp;lt;b&amp;gt;_Character&amp;lt;/b&amp;gt; is &amp;lt;i&amp;gt;player-controlled&amp;lt;/i&amp;gt;, &amp;lt;b&amp;gt;0&amp;lt;/b&amp;gt; if not&amp;lt;b&amp;gt;.&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Notes&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;Apart from avatars and recruited companions, &amp;lt;i&amp;gt;player-controlled&amp;lt;/i&amp;gt; characters also include summons and followers.&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;See also&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;CharacterIsPartyFollower&amp;lt;/b&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;CharacterIsSummon&amp;lt;/b&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;CharacterFollowCharacter&amp;lt;/b&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;CharacterIsSummon&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Full definitions&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;query &amp;lt;b&amp;gt;CharacterIsSummon&amp;lt;/b&amp;gt;(&amp;lt;i&amp;gt;&amp;lt;b&amp;gt;[in]&amp;lt;/b&amp;gt;(CHARACTERGUID)&amp;lt;/i&amp;gt;&amp;lt;b&amp;gt;_Character&amp;lt;/b&amp;gt;,&amp;lt;i&amp;gt;&amp;lt;b&amp;gt; &amp;lt;/b&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;i&amp;gt;&amp;lt;b&amp;gt;[out]&amp;lt;/b&amp;gt;&amp;lt;/i&amp;gt;(INTEGER)&amp;lt;b&amp;gt;_Bool&amp;lt;/b&amp;gt;)&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;u&amp;gt;Description&amp;lt;/u&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Returns whether &amp;lt;b&amp;gt;_Character&amp;lt;/b&amp;gt; is a summon. Summon can be &amp;lt;i&amp;gt;player-controlled&amp;lt;/i&amp;gt; or not.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Return values&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;&amp;lt;b&amp;gt;&amp;lt;b&amp;gt;Success/Failure&amp;lt;/b&amp;gt;: &amp;lt;/b&amp;gt;&amp;lt;/b&amp;gt;Fails if &amp;lt;b&amp;gt;_Character&amp;lt;/b&amp;gt; does not exist&amp;lt;b&amp;gt;.&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;_Bool&amp;lt;/b&amp;gt;: &amp;lt;b&amp;gt;1&amp;lt;/b&amp;gt; if &amp;lt;b&amp;gt;_Character&amp;lt;/b&amp;gt; is a summon, &amp;lt;b&amp;gt;0&amp;lt;/b&amp;gt; if not&amp;lt;b&amp;gt;.&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Notes&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Summons can also be distinguished by the fact that hey have the &amp;lt;b&amp;gt;SUMMON&amp;lt;/b&amp;gt; tag.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;If you wish to know whether a summon is &amp;lt;i&amp;gt;player-controlled&amp;lt;/i&amp;gt;, also check &amp;lt;b&amp;gt;CharacterIsPlayer&amp;lt;/b&amp;gt;.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;See also&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;CharacterIsPlayer&amp;lt;/b&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;GetClosestAlivePlayer&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Full definitions&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;query &amp;lt;span style=&amp;quot;font-family:arial,sans-serif&amp;quot;&amp;gt;&amp;lt;b&amp;gt;GetClosestAlivePlayer&amp;lt;/b&amp;gt;&amp;lt;/span&amp;gt;(&amp;lt;i&amp;gt;&amp;lt;b&amp;gt;[in]&amp;lt;/b&amp;gt;(GUIDSTRING)&amp;lt;/i&amp;gt;&amp;lt;b&amp;gt;_Target&amp;lt;/b&amp;gt;, &amp;lt;i&amp;gt;&amp;lt;b&amp;gt;[out]&amp;lt;/b&amp;gt;(CHARACTERGUID)&amp;lt;/i&amp;gt;&amp;lt;b&amp;gt;_Player&amp;lt;/b&amp;gt;)&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;u&amp;gt;Description&amp;lt;/u&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Gets the closest player to &amp;lt;b&amp;gt;_Target&amp;lt;/b&amp;gt; that is alive and stores it in &amp;lt;b&amp;gt;_Player&amp;lt;/b&amp;gt;.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Return values&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;&amp;lt;b&amp;gt;&amp;lt;b&amp;gt;&amp;lt;b&amp;gt;Success/Failure&amp;lt;/b&amp;gt;: &amp;lt;/b&amp;gt;&amp;lt;/b&amp;gt;&amp;lt;/b&amp;gt;Fails if no living player is found.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;_Player&amp;lt;/b&amp;gt;: The found player character.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Notes&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;Be careful if you check for extra conditions on the returned player: if any of those conditions fail, no other players will be considered.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;If you want to start a dialog, use &amp;lt;b&amp;gt;&amp;lt;span style=&amp;quot;font-family:arial,sans-serif&amp;quot;&amp;gt;ProcGetClosestAvailableCharacterTo&amp;lt;/span&amp;gt;&amp;lt;/b&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;See also&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;Helper &amp;lt;b&amp;gt;&amp;lt;span style=&amp;quot;font-family:arial,sans-serif&amp;quot;&amp;gt;ProcGetClosestAvailableCharacterTo&amp;lt;/span&amp;gt;&amp;lt;/b&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;GetDistanceTo&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Full definitions&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;query &amp;lt;span style=&amp;quot;font-family:arial,sans-serif&amp;quot;&amp;gt;&amp;lt;b&amp;gt;GetDistanceTo&amp;lt;/b&amp;gt;&amp;lt;/span&amp;gt;(&amp;lt;i&amp;gt;&amp;lt;b&amp;gt;[in]&amp;lt;/b&amp;gt;(GUIDSTRING)&amp;lt;/i&amp;gt;&amp;lt;b&amp;gt;_Object1&amp;lt;/b&amp;gt;, &amp;lt;i&amp;gt;&amp;lt;b&amp;gt;[in]&amp;lt;/b&amp;gt;(GUIDSTRING)&amp;lt;/i&amp;gt;&amp;lt;b&amp;gt;_Object2&amp;lt;/b&amp;gt;, &amp;lt;i&amp;gt;&amp;lt;b&amp;gt;[out]&amp;lt;/b&amp;gt;(REAL)&amp;lt;/i&amp;gt;&amp;lt;b&amp;gt;_Dist&amp;lt;/b&amp;gt;)&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;u&amp;gt;Description&amp;lt;/u&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Calculates the distance between &amp;lt;b&amp;gt;_Object1&amp;lt;/b&amp;gt; and &amp;lt;b&amp;gt;_Object2&amp;lt;/b&amp;gt;.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Return values&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;Success/Failure&amp;lt;/b&amp;gt;: Fails if &amp;lt;span style=&amp;quot;font-family:arial,sans-serif&amp;quot;&amp;gt;if either &amp;lt;b&amp;gt;_Object1&amp;lt;/b&amp;gt; or _&amp;lt;b&amp;gt;Object2&amp;lt;/b&amp;gt; is in a container or in an inventory. Use &amp;lt;b&amp;gt;ItemIsInInventory&amp;lt;/b&amp;gt; to check for this.&amp;lt;/span&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;_Dist&amp;lt;/b&amp;gt;: The distance in metres.&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Notes&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;&amp;lt;span style=&amp;quot;font-family:arial,sans-serif&amp;quot;&amp;gt;/&amp;lt;/span&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;See also&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;ItemIsInInventory&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;GetInventoryOwner&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Full definitions&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;query &amp;lt;b&amp;gt;GetInventoryOwner&amp;lt;/b&amp;gt;(&amp;lt;i&amp;gt;&amp;lt;b&amp;gt;[in]&amp;lt;/b&amp;gt;(ITEMGUID)&amp;lt;/i&amp;gt;&amp;lt;b&amp;gt;_Item&amp;lt;/b&amp;gt;, &amp;lt;i&amp;gt;&amp;lt;b&amp;gt;[out]&amp;lt;/b&amp;gt;(GUIDSTRING)&amp;lt;/i&amp;gt;&amp;lt;b&amp;gt;_Owner&amp;lt;/b&amp;gt;)&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;u&amp;gt;Description&amp;lt;/u&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Returns the inventory/container that holds &amp;lt;b&amp;gt;_Item&amp;lt;/b&amp;gt; in &amp;lt;b&amp;gt;_Owner&amp;lt;/b&amp;gt;.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Return values&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;Success/Failure&amp;lt;/b&amp;gt;: Fails if &amp;lt;b&amp;gt;_Item&amp;lt;/b&amp;gt; is not in anyone's inventory nor in a container.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;_Owner&amp;lt;/b&amp;gt;: The character or item in whose inventory the item currently resides.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Notes&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;This call returns the outermost container. I.e., if a character has crate in their inventory, and the crate contains a pouch with the item, this call will return the character.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;See also&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;ItemIsInInventory&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;GetRandomPositionInTrigger&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Full definitions&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;query &amp;lt;b&amp;gt;GetRandomPositionInTrigger&amp;lt;/b&amp;gt;(&amp;lt;i&amp;gt;&amp;lt;b&amp;gt;[in]&amp;lt;/b&amp;gt;(TRIGGERGUID)&amp;lt;/i&amp;gt;&amp;lt;b&amp;gt;_Trigger&amp;lt;/b&amp;gt;, &amp;lt;i&amp;gt;&amp;lt;b&amp;gt;[out]&amp;lt;/b&amp;gt;(REAL)&amp;lt;/i&amp;gt;&amp;lt;b&amp;gt;_X&amp;lt;/b&amp;gt;, &amp;lt;i&amp;gt;&amp;lt;b&amp;gt;[out]&amp;lt;/b&amp;gt;(REAL)&amp;lt;/i&amp;gt;&amp;lt;b&amp;gt;_Y&amp;lt;/b&amp;gt;, &amp;lt;i&amp;gt;&amp;lt;b&amp;gt;[out]&amp;lt;/b&amp;gt;(REAL)&amp;lt;/i&amp;gt;&amp;lt;b&amp;gt;_Z&amp;lt;/b&amp;gt;)&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;u&amp;gt;Description&amp;lt;/u&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Returns a random position &amp;lt;i&amp;gt;that is valid on the AI-grid&amp;lt;/i&amp;gt; inside &amp;lt;b&amp;gt;_Trigger&amp;lt;/b&amp;gt;.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Return values&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;Success/Failure&amp;lt;/b&amp;gt;: Default return value.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;_Trigger&amp;lt;/b&amp;gt;: A box trigger inside which the random position should be gotten.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;_X&amp;lt;/b&amp;gt;, &amp;lt;b&amp;gt;_Y&amp;lt;/b&amp;gt;, &amp;lt;b&amp;gt;_Z&amp;lt;/b&amp;gt;: the coordinates of the random position&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Notes&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;This routine will first get a random position in the trigger, and if this random position is not valid on the AI-grid, the coordinates will be snapped to a nearby valid position on the AI-grid.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;This call does not work for polytriggers&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;See also&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;/&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;HasActiveStatus&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Full definitions&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;query &amp;lt;b&amp;gt;HasActiveStatus&amp;lt;/b&amp;gt;(&amp;lt;i&amp;gt;&amp;lt;b&amp;gt;[in]&amp;lt;/b&amp;gt;(GUIDSTRING)&amp;lt;/i&amp;gt;&amp;lt;b&amp;gt;_Target&amp;lt;/b&amp;gt;, &amp;lt;i&amp;gt;&amp;lt;b&amp;gt;[in]&amp;lt;/b&amp;gt;(STRING)&amp;lt;/i&amp;gt;&amp;lt;b&amp;gt;_Status&amp;lt;/b&amp;gt;,&amp;lt;i&amp;gt;&amp;lt;b&amp;gt; [out]&amp;lt;/b&amp;gt;(INTEGER)&amp;lt;/i&amp;gt;&amp;lt;b&amp;gt;_Bool&amp;lt;/b&amp;gt;)&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;u&amp;gt;Description&amp;lt;/u&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Returns whether &amp;lt;b&amp;gt;_Target&amp;lt;/b&amp;gt; is currently under the influence of &amp;lt;b&amp;gt;_Status&amp;lt;/b&amp;gt;.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Return values&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;Success/Failure&amp;lt;/b&amp;gt;: Default return value.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;_Bool&amp;lt;/b&amp;gt;: 0 if &amp;lt;b&amp;gt;_Target&amp;lt;/b&amp;gt; is currently not under the influence of &amp;lt;b&amp;gt;_Status&amp;lt;/b&amp;gt;, 1 if it is.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Notes&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;/&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;See also&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;HasAppliedStatus&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;HasAppliedStatus&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Full definitions&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;query &amp;lt;b&amp;gt;HasAppliedStatus&amp;lt;/b&amp;gt;(&amp;lt;i&amp;gt;&amp;lt;b&amp;gt;[in]&amp;lt;/b&amp;gt;(GUIDSTRING)&amp;lt;/i&amp;gt;&amp;lt;b&amp;gt;_Target&amp;lt;/b&amp;gt;, &amp;lt;i&amp;gt;&amp;lt;b&amp;gt;[in]&amp;lt;/b&amp;gt;(STRING)&amp;lt;/i&amp;gt;&amp;lt;b&amp;gt;_Status&amp;lt;/b&amp;gt;,&amp;lt;i&amp;gt;&amp;lt;b&amp;gt; [out]&amp;lt;/b&amp;gt;(INTEGER)&amp;lt;/i&amp;gt;&amp;lt;b&amp;gt;_Bool&amp;lt;/b&amp;gt;)&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;u&amp;gt;Description&amp;lt;/u&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Returns whether &amp;lt;b&amp;gt;_Status&amp;lt;/b&amp;gt; has been applied to &amp;lt;b&amp;gt;_Target&amp;lt;/b&amp;gt;. &amp;lt;b&amp;gt;_Target&amp;lt;/b&amp;gt; may or may not yet actually be under its influence.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Return values&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;&amp;lt;b&amp;gt;Success/Failure&amp;lt;/b&amp;gt;: &amp;lt;/b&amp;gt;Default return value.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;_Bool&amp;lt;/b&amp;gt;: 0 if &amp;lt;b&amp;gt;_Status&amp;lt;/b&amp;gt; has not been applied to &amp;lt;b&amp;gt;_Target&amp;lt;/b&amp;gt;, 1 if it has been.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Notes&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;In virtually all cases, use &amp;lt;b&amp;gt;HasActiveStatus&amp;lt;/b&amp;gt; instead. The main purpose of this query is for crime reactions, and is only needed due to frame delays between code and Osiris.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;See also&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;HasActiveStatus&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;IsSpeakerReserved&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Full definitions&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;query &amp;lt;b&amp;gt;IsSpeakerReserved&amp;lt;/b&amp;gt;(&amp;lt;i&amp;gt;&amp;lt;b&amp;gt;[in]&amp;lt;/b&amp;gt;(GUIDSTRING)&amp;lt;/i&amp;gt;&amp;lt;b&amp;gt;_Speaker&amp;lt;/b&amp;gt;, &amp;lt;i&amp;gt;&amp;lt;b&amp;gt;[out]&amp;lt;/b&amp;gt;(INTEGER)&amp;lt;/i&amp;gt;&amp;lt;b&amp;gt;_success&amp;lt;/b&amp;gt;)&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;u&amp;gt;Description&amp;lt;/u&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Returns whether &amp;lt;b&amp;gt;_Speaker&amp;lt;/b&amp;gt; is already in a dialog.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Return values&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;&amp;lt;b&amp;gt;Success/Failure&amp;lt;/b&amp;gt;: &amp;lt;/b&amp;gt;Default return value.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;_success&amp;lt;/b&amp;gt;: &amp;lt;b&amp;gt;0&amp;lt;/b&amp;gt; if &amp;lt;b&amp;gt;_Speaker&amp;lt;/b&amp;gt; is currently not in a dialog, &amp;lt;b&amp;gt;1&amp;lt;/b&amp;gt; otherwise.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Notes&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;/&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;See also&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;DialogStartRequested&amp;lt;/b&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;Proc_StartDialog&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/b&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;ItemIsInInventory&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Full definitions&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;query &amp;lt;b&amp;gt;&amp;lt;span style=&amp;quot;font-family:arial,sans-serif&amp;quot;&amp;gt;Item&amp;lt;/span&amp;gt;IsInInventory&amp;lt;/b&amp;gt;(&amp;lt;i&amp;gt;&amp;lt;b&amp;gt;[in]&amp;lt;/b&amp;gt;(ITEMGUID)&amp;lt;/i&amp;gt;&amp;lt;b&amp;gt;_Item&amp;lt;/b&amp;gt;, &amp;lt;i&amp;gt;&amp;lt;b&amp;gt;[out]&amp;lt;/b&amp;gt;(INTEGER)&amp;lt;/i&amp;gt;&amp;lt;b&amp;gt;_Bool&amp;lt;/b&amp;gt;)&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;u&amp;gt;Description&amp;lt;/u&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Returns whether &amp;lt;b&amp;gt;_Item&amp;lt;/b&amp;gt; is in an inventory. This includes both character and container inventories.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Return values&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;&amp;lt;b&amp;gt;Success/Failure&amp;lt;/b&amp;gt;: &amp;lt;/b&amp;gt;Default return value.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;_Bool&amp;lt;/b&amp;gt;: 0 if &amp;lt;b&amp;gt;_Item&amp;lt;/b&amp;gt; is not in an inventory (as defined above), 1 if it is.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Notes&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;/&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;See also&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;GetInventoryOwner&amp;lt;/b&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&amp;lt;hr&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Larian octaaf</name></author>
	</entry>
	<entry>
		<id>https://docs.larian.game/index.php?title=Osiris_API_Tips_Events&amp;diff=440</id>
		<title>Osiris API Tips Events</title>
		<link rel="alternate" type="text/html" href="https://docs.larian.game/index.php?title=Osiris_API_Tips_Events&amp;diff=440"/>
		<updated>2017-08-02T10:01:52Z</updated>

		<summary type="html">&lt;p&gt;Larian octaaf: Created page with &amp;quot;test&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;test&lt;/div&gt;</summary>
		<author><name>Larian octaaf</name></author>
	</entry>
	<entry>
		<id>https://docs.larian.game/index.php?title=Osiris_API_Tips&amp;diff=426</id>
		<title>Osiris API Tips</title>
		<link rel="alternate" type="text/html" href="https://docs.larian.game/index.php?title=Osiris_API_Tips&amp;diff=426"/>
		<updated>2017-08-02T09:31:28Z</updated>

		<summary type="html">&lt;p&gt;Larian octaaf: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;h2&amp;gt;Main Osiris API&amp;lt;/h2&amp;gt;&lt;br /&gt;
&amp;lt;h3&amp;gt;Events&amp;lt;/h3&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Events are a way for Osiris to inform script that something happened. All event parameters have &amp;lt;i&amp;gt;&amp;lt;b&amp;gt;[in]&amp;lt;/b&amp;gt;&amp;lt;/i&amp;gt; semantics.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;CharacterBlockedBy&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;u&amp;gt;Full definitions&amp;lt;/u&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;event &amp;lt;b&amp;gt;CharacterBlokedBy&amp;lt;/b&amp;gt;(&amp;lt;i&amp;gt;(CHARACTERGUID)&amp;lt;/i&amp;gt;&amp;lt;b&amp;gt;_Defender&amp;lt;/b&amp;gt;, &amp;lt;i&amp;gt;(CHARACTERGUID)&amp;lt;/i&amp;gt;&amp;lt;b&amp;gt;_Attacker&amp;lt;/b&amp;gt;, &amp;lt;i&amp;gt;(CHARACTERGUID)&amp;lt;/i&amp;gt;&amp;lt;b&amp;gt;_AttackerOwner&amp;lt;/b&amp;gt;)&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;u&amp;gt;Description&amp;lt;/u&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;font-size:1em&amp;quot;&amp;gt;Thrown when a character blocks an attack from another character.&amp;lt;/span&amp;gt;&amp;lt;u&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/u&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;u&amp;gt;Parameters&amp;lt;/u&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;_Defender&amp;lt;/b&amp;gt;: The character that received/defended the attack.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;_Attacker&amp;lt;/b&amp;gt;: The character that attacked the &amp;lt;b&amp;gt;_Defender&amp;lt;/b&amp;gt;.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;_AttackerOwner&amp;lt;/b&amp;gt;: The character that owns the &amp;lt;b&amp;gt;_Attacker&amp;lt;/b&amp;gt; character.&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/b&amp;gt;&amp;lt;u&amp;gt;Notes&amp;lt;/u&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;_AttackerOwner &amp;lt;/b&amp;gt;can be the same character as &amp;lt;b&amp;gt;_Attacker&amp;lt;/b&amp;gt;, &amp;lt;b&amp;gt;_AttackOwner &amp;lt;/b&amp;gt;will be different in the case of summoned characters.&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;u&amp;gt;See also&amp;lt;/u&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;CharacterMissedBy&amp;lt;/b&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;CharacterMissedBy&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;u&amp;gt;Full definitions&amp;lt;/u&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;&amp;lt;span style=&amp;quot;font-size:13.3333px&amp;quot;&amp;gt;event&amp;amp;nbsp;&amp;lt;/span&amp;gt;&amp;lt;b&amp;gt;CharacterMissedBy&amp;lt;/b&amp;gt;(&amp;lt;i&amp;gt;(CHARACTERGUID)&amp;lt;/i&amp;gt;&amp;lt;b&amp;gt;_Defender&amp;lt;/b&amp;gt;, &amp;lt;i&amp;gt;(CHARACTERGUID)&amp;lt;/i&amp;gt;&amp;lt;b&amp;gt;_Attacker&amp;lt;/b&amp;gt;, &amp;lt;i&amp;gt;(CHARACTERGUID)&amp;lt;/i&amp;gt;&amp;lt;b&amp;gt;_AttackerOwner&amp;lt;/b&amp;gt;)&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;&amp;lt;u&amp;gt;Description&amp;lt;/u&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Thrown when a character misses an attack from another character.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;u&amp;gt;Parameters&amp;lt;/u&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;&amp;lt;b style=&amp;quot;background-color:transparent;font-size:1em&amp;quot;&amp;gt;_Defender&amp;lt;/b&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;font-size:1em&amp;quot;&amp;gt;: The character that received/defended the attack.&amp;lt;/span&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;b style=&amp;quot;background-color:transparent;font-size:1em&amp;quot;&amp;gt;_Attacker&amp;lt;/b&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;font-size:1em&amp;quot;&amp;gt;: The character that attacked the &amp;lt;b&amp;gt;_Defender&amp;lt;/b&amp;gt;.&amp;lt;/span&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;b style=&amp;quot;background-color:transparent;font-size:1em&amp;quot;&amp;gt;_AttackerOwner&amp;lt;/b&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;font-size:1em&amp;quot;&amp;gt;: The character that owns the &amp;lt;b&amp;gt;_Attacker &amp;lt;/b&amp;gt;character.&amp;lt;/span&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;u&amp;gt;Notes&amp;lt;/u&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;&amp;lt;b style=&amp;quot;background-color:transparent;font-size:1em&amp;quot;&amp;gt;_AttackerOwner &amp;lt;/b&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;font-size:1em&amp;quot;&amp;gt;can be the same character as &amp;lt;/span&amp;gt;&amp;lt;b style=&amp;quot;background-color:transparent;font-size:1em&amp;quot;&amp;gt;_Attacker&amp;lt;/b&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;font-size:1em&amp;quot;&amp;gt;, &amp;lt;/span&amp;gt;&amp;lt;b style=&amp;quot;background-color:transparent;font-size:1em&amp;quot;&amp;gt;_AttackOwner &amp;lt;/b&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;font-size:1em&amp;quot;&amp;gt;will be different in the case of summoned characters.&amp;lt;/span&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;u&amp;gt;See also&amp;lt;/u&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;&amp;lt;b style=&amp;quot;background-color:transparent;font-size:1em&amp;quot;&amp;gt;CharacterBlockedBy&amp;lt;/b&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;CharacterCriticalHitBy&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;u&amp;gt;Full definitions&amp;lt;/u&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;&amp;lt;span style=&amp;quot;font-size:13.3333px&amp;quot;&amp;gt;event&amp;amp;nbsp;&amp;lt;/span&amp;gt;&amp;lt;b&amp;gt;CharacterCriticalHitBy&amp;lt;/b&amp;gt;(&amp;lt;i&amp;gt;(CHARACTERGUID)&amp;lt;/i&amp;gt;&amp;lt;b&amp;gt;_Defender&amp;lt;/b&amp;gt;, &amp;lt;i&amp;gt;(CHARACTERGUID)&amp;lt;/i&amp;gt;&amp;lt;b&amp;gt;_Attacker&amp;lt;/b&amp;gt;, &amp;lt;i&amp;gt;(CHARACTERGUID)&amp;lt;/i&amp;gt;&amp;lt;b&amp;gt;_AttackerOwner&amp;lt;/b&amp;gt;)&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;&amp;lt;u&amp;gt;Description&amp;lt;/u&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;Thrown when a character receives a critical hit from an attack of another character.&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;u&amp;gt;Parameters&amp;lt;/u&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;_Defender&amp;lt;/b&amp;gt;: The character that received/defended the attack.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;_Attacker&amp;lt;/b&amp;gt;: The character that attacked the &amp;lt;b&amp;gt;_Defender&amp;lt;/b&amp;gt;.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;_AttackerOwner&amp;lt;/b&amp;gt;: The character that owns the &amp;lt;b&amp;gt;_Attacker &amp;lt;/b&amp;gt;character.&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;u&amp;gt;Notes&amp;lt;/u&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;_AttackerOwner &amp;lt;/b&amp;gt;can be the same character as &amp;lt;b&amp;gt;_Attacker&amp;lt;/b&amp;gt;, &amp;lt;b&amp;gt;_AttackOwner &amp;lt;/b&amp;gt;will be different in the case of summoned characters.&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;u&amp;gt;See also&amp;lt;/u&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;CharacterBlockedBy&amp;lt;/b&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;CharacterKilledBy&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;u&amp;gt;Full definitions&amp;lt;/u&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;&amp;lt;span style=&amp;quot;font-size:13.3333px&amp;quot;&amp;gt;event&amp;amp;nbsp;&amp;lt;/span&amp;gt;&amp;lt;b&amp;gt;CharacterKilledBy&amp;lt;/b&amp;gt;(&amp;lt;i&amp;gt;(CHARACTERGUID)&amp;lt;/i&amp;gt;&amp;lt;b&amp;gt;_Defender&amp;lt;/b&amp;gt;, &amp;lt;i&amp;gt;(CHARACTERGUID)&amp;lt;/i&amp;gt;&amp;lt;b&amp;gt;_Attacker&amp;lt;/b&amp;gt;, &amp;lt;i&amp;gt;(CHARACTERGUID)&amp;lt;/i&amp;gt;&amp;lt;b&amp;gt;_AttackerOwner&amp;lt;/b&amp;gt;)&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;&amp;lt;u&amp;gt;Description&amp;lt;/u&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;Thrown when a character is killed by another character.&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;u&amp;gt;Parameters&amp;lt;/u&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;_Defender&amp;lt;/b&amp;gt;: The character that received/defended the attack.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;_Attacker&amp;lt;/b&amp;gt;: The character that attacked the &amp;lt;b&amp;gt;_Defender&amp;lt;/b&amp;gt;.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;_AttackerOwner&amp;lt;/b&amp;gt;: The character that owns the &amp;lt;b&amp;gt;_Attacker &amp;lt;/b&amp;gt;character.&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;u&amp;gt;Notes&amp;lt;/u&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;_AttackerOwner &amp;lt;/b&amp;gt;can be the same character as &amp;lt;b&amp;gt;_Attacker&amp;lt;/b&amp;gt;, &amp;lt;b&amp;gt;_AttackOwner &amp;lt;/b&amp;gt;will be different in the case of summoned characters.&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;u&amp;gt;See also&amp;lt;/u&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;CharacterBlockedBy&amp;lt;/b&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;CharacterEnteredRegion&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Full definitions&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;event &amp;lt;b&amp;gt;CharacterEnteredRegion&amp;lt;/b&amp;gt;(&amp;lt;i&amp;gt;(CHARACTERGUID)&amp;lt;/i&amp;gt;&amp;lt;b&amp;gt;_Character&amp;lt;/b&amp;gt;, &amp;lt;i&amp;gt;(STRING)&amp;lt;/i&amp;gt;&amp;lt;b&amp;gt;_Region&amp;lt;/b&amp;gt;)&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;u&amp;gt;Description&amp;lt;/u&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Thrown when a character enters a level because it was placed there in the editor, it was teleported there via script, or it was created/spawned there via script.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Parameters&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;_Character&amp;lt;/b&amp;gt;: the character that entered the level/region&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;_Region&amp;lt;/b&amp;gt;: the name of the level/region (as entered in the &amp;lt;i&amp;gt;Levelname&amp;lt;/i&amp;gt; property of the &amp;lt;i&amp;gt;Level -&amp;amp;gt; Edit Level Data...&amp;lt;/i&amp;gt; menu entry in the editor.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Notes&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;For characters statically placed in a level using the editor, this event is thrown only once when the level is first entered. It is not thrown again when loading save games from within that level. &amp;lt;i&amp;gt;&amp;lt;b&amp;gt;TODO&amp;lt;/b&amp;gt;&amp;lt;/i&amp;gt;: check what happens if the players are teleported out of a level and then back into it (never done in DivinityOrigins mod).&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;See also&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;/&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;CharacterSawCharacter&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Full definitions&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;event &amp;lt;b&amp;gt;CharacterSawCharacter&amp;lt;/b&amp;gt;(&amp;lt;i&amp;gt;(CHARACTERGUID)&amp;lt;/i&amp;gt;&amp;lt;b&amp;gt;_Character&amp;lt;/b&amp;gt;,&amp;lt;i&amp;gt; (CHARACTERGUID)&amp;lt;/i&amp;gt;&amp;lt;b&amp;gt;_OtherCharacter&amp;lt;/b&amp;gt;)&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;u&amp;gt;Description&amp;lt;/u&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Thrown when one &amp;lt;b&amp;gt;_Character&amp;lt;/b&amp;gt; sees &amp;lt;b&amp;gt;_OtherCharacter&amp;lt;/b&amp;gt;. Note that this event is only thrown if &amp;lt;b&amp;gt;_Character&amp;lt;/b&amp;gt; has been registered as an event generator.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Parameters&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;_Character&amp;lt;/b&amp;gt;: the character that does the seeing.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;_OtherCharacter&amp;lt;/b&amp;gt;: the character that is seen&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Notes&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;By default, only player-controlled characters are event generators. Once you call &amp;lt;b&amp;gt;CharacterCanSee&amp;lt;/b&amp;gt; with an NPC as first parameter, an event generator is also registered for this NPC and it will also start throwing &amp;lt;b&amp;gt;CharacterSawCharacter&amp;lt;/b&amp;gt; events. This event generator may only work temporarily though, so in general only rely on these events be thrown for player characters.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;See also&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;CharacterCanSee&amp;lt;/b&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;CharacterLostSightOfCharacter&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/b&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;CharacterStoppedUsingItem&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Full definitions&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;event &amp;lt;b&amp;gt;CharacterStoppedUsingItem&amp;lt;/b&amp;gt;(&amp;lt;i&amp;gt;(CHARACTERGUID)&amp;lt;/i&amp;gt;&amp;lt;b&amp;gt;_Character&amp;lt;/b&amp;gt;, &amp;lt;i&amp;gt;(ITEMGUID)&amp;lt;/i&amp;gt;&amp;lt;b&amp;gt;_Item&amp;lt;/b&amp;gt;)&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;u&amp;gt;Description&amp;lt;/u&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Thrown when a character stopped using an item, &amp;lt;b&amp;gt;or&amp;lt;/b&amp;gt; if a character tried to use an item and failed.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Parameters&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;_Character&amp;lt;/b&amp;gt;: the character that used or tried to use &amp;lt;b&amp;gt;_Item&amp;lt;/b&amp;gt;.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;_Item&amp;lt;/b&amp;gt;: the item that was used or attempted to be used&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Notes&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;/&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;See also&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;/&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;CombatStarted&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Full definitions&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;event &amp;lt;b&amp;gt;CombatStarted&amp;lt;/b&amp;gt;(&amp;lt;i&amp;gt;(INTEGER)&amp;lt;/i&amp;gt;&amp;lt;b&amp;gt;_CombatID&amp;lt;/b&amp;gt;)&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;u&amp;gt;Description&amp;lt;/u&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Thrown once a new combat has started and has been completely initialised. I.e., all initial participants have been added, and combat is ready to start.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Parameters&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;_CombatID&amp;lt;/b&amp;gt;: A handle that identifies the combat. Should always be &amp;amp;gt; 0.&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Notes&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;This event can also be thrown for an ongoing combat after one or more participants left. In this case, first a new &amp;lt;b&amp;gt;ObjectEnteredCombat&amp;lt;/b&amp;gt; event will be thrown for every participant still in the combat, followed by a new &amp;lt;b&amp;gt;CombatStartedEvent&amp;lt;/b&amp;gt; with the same _&amp;lt;b&amp;gt;CombatID&amp;lt;/b&amp;gt; as before. During these new &amp;lt;b&amp;gt;ObjectEventeredCombat&amp;lt;/b&amp;gt; events and &amp;lt;b&amp;gt;CombatStarted&amp;lt;/b&amp;gt; event, the combat must again be considered to be not completely initialised yet.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;This event will also be thrown when two combats are merged.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;See also&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;ObjectEnteredCombat&amp;lt;/b&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;ObjectLeftCombat&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/b&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;DialogStartRequested&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Full definitions&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;event &amp;lt;b&amp;gt;DialogStartRequested&amp;lt;/b&amp;gt;(&amp;lt;i&amp;gt;(GUIDSTRING)&amp;lt;/i&amp;gt;&amp;lt;b&amp;gt;_Target&amp;lt;/b&amp;gt;,&amp;lt;i&amp;gt;(GUIDSTRING)&amp;lt;/i&amp;gt;&amp;lt;b&amp;gt;_Player&amp;lt;/b&amp;gt;)&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;u&amp;gt;Description&amp;lt;/u&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Thrown whenever a player tries to start a conversation with another object.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Parameters&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;_Target&amp;lt;/b&amp;gt;: The object to which the conversation request is directed.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;_Player&amp;lt;/b&amp;gt;: The player that initiated the conversation&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Notes&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;Do not use this event directly. Overload &amp;lt;b&amp;gt;PROC_GLOBAL_DialogStartRequested&amp;lt;/b&amp;gt; or &amp;lt;b&amp;gt;PROC_GLOBAL_DialogStartRequested_AfterGenerics&amp;lt;/b&amp;gt; instead, so that certain common behaviours are guaranteed to hold in all cases.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;This event can only be thrown if the target can accept dialog requests, i.e. if &amp;lt;b&amp;gt;SetHasDialog&amp;lt;/b&amp;gt;(&amp;lt;b&amp;gt;_Target&amp;lt;/b&amp;gt;,&amp;lt;b&amp;gt;1&amp;lt;/b&amp;gt;) is currently active.&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;See also&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;SetHasDialog&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;helper &amp;lt;b&amp;gt;PROC_GLOBAL_DialogStartRequested&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;helper &amp;lt;b&amp;gt;PROC_GLOBAL_DialogStartRequested_AfterGenerics&amp;lt;/b&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;GameStarted&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Full definitions&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;event &amp;lt;span style=&amp;quot;font-family:arial,sans-serif&amp;quot;&amp;gt;&amp;lt;b&amp;gt;GameStarted&amp;lt;/b&amp;gt;&amp;lt;/span&amp;gt;(&amp;lt;i&amp;gt;(String)&amp;lt;/i&amp;gt;&amp;lt;b&amp;gt;_LevelName&amp;lt;/b&amp;gt;, &amp;lt;i&amp;gt;(INTEGER)&amp;lt;/i&amp;gt;&amp;lt;b&amp;gt;_IsEditorMode&amp;lt;/b&amp;gt;)&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;u&amp;gt;Description&amp;lt;/u&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Thrown when a level has been loaded and is ready at both the server and client side.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Parameters&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;_LevelName&amp;lt;/b&amp;gt;: The identifier name of the level that has been loaded&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;_IsEditorMode&amp;lt;/b&amp;gt;: Indicates whether the game is run in the editor or not&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Notes&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;The logic of Osiris is split into a server and a client side, even in single player mode. Some important things that run on the client side are visual effects and physics.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;An example of something that is done only when the client side is ready, is playing the effect of the source collars on the characters in the tutorial and Fort Joy levels (since they're visual effects, and hence do not work if started when only the server side is ready)&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;See &amp;lt;b&amp;gt;RegionStarted&amp;lt;/b&amp;gt; for an event that is thrown when the level is ready on the server side.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;This event is also thrown when loading a savegame, so add additional logic for code that should be executed only the first time when this level is started (or trigger it from the INIT section of a story goal instead).&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;See also&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;RegionStarted&amp;lt;/b&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;ObjectEnteredCombat&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Full definitions&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;event &amp;lt;b&amp;gt;ObjectEnteredCombat&amp;lt;/b&amp;gt;(&amp;lt;i&amp;gt;(GUIDSTRING)&amp;lt;/i&amp;gt;&amp;lt;b&amp;gt;_Object&amp;lt;/b&amp;gt;, &amp;lt;i&amp;gt;(INTEGER)&amp;lt;/i&amp;gt;&amp;lt;b&amp;gt;_CombatID&amp;lt;/b&amp;gt;)&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;u&amp;gt;Description&amp;lt;/u&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Thrown when an object (character or item) enters a combat.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Parameters&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;_Object&amp;lt;/b&amp;gt;: The object that has entered the combat&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;_CombatID&amp;lt;/b&amp;gt;: A handle that identifies the combat. Should always be &amp;amp;gt; 0.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Notes&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;This can be a combat that is still being set up, or an existing combat joined by a character that wandered too close.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;If the combat is still being set up, not all information may be available yet (e.g., other initial objects may still be added after this one), and you cannot use APIs such as &amp;lt;b&amp;gt;JumpToTurn&amp;lt;/b&amp;gt; yet. If you wish to perform some action when a combat has completely started, use &amp;lt;b&amp;gt;CombatStarted&amp;lt;/b&amp;gt; instead.&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;See also&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;CombatStarted&amp;lt;/b&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;ObjectLeftCombat&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/b&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;ObjectFlagSet&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Full definitions&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;event &amp;lt;b&amp;gt;ObjectFlagSet&amp;lt;/b&amp;gt;(&amp;lt;i&amp;gt;(STRING)&amp;lt;/i&amp;gt;&amp;lt;b&amp;gt;_FlagName&amp;lt;/b&amp;gt;, &amp;lt;i&amp;gt;(GUIDSTRING)&amp;lt;/i&amp;gt;&amp;lt;b&amp;gt;_Speaker&amp;lt;/b&amp;gt;, &amp;lt;i&amp;gt;(INTEGER)&amp;lt;/i&amp;gt;&amp;lt;b&amp;gt;_DialogInstance&amp;lt;/b&amp;gt;)&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;u&amp;gt;Description&amp;lt;/u&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Thrown when the flag &amp;lt;b&amp;gt;_FlagName&amp;lt;/b&amp;gt; is set on object &amp;lt;b&amp;gt;_Speaker&amp;lt;/b&amp;gt; in the context indicated by &amp;lt;b&amp;gt;_DialogInstance&amp;lt;/b&amp;gt;.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Parameters&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;_FlagName&amp;lt;/b&amp;gt;: The flag that is set. &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;_Speaker&amp;lt;/b&amp;gt;: The object on which the (character) flag is set.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;_DialogInstance&amp;lt;/b&amp;gt;: If the flag was set using a dialog node, &amp;lt;b&amp;gt;_DialogInstance&amp;lt;/b&amp;gt; contains the dialog's instance ID. If the flag was set from story, &amp;lt;b&amp;gt;_DialogInstance&amp;lt;/b&amp;gt; will contain whatever was passed as last parameter to &amp;lt;b&amp;gt;ObjectSetFlag&amp;lt;/b&amp;gt;. If the flag was set from behaviour script, &amp;lt;b&amp;gt;DialogInstance&amp;lt;/b&amp;gt; will be zero.&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Notes&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;/&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;See also&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;ObjectSetFlag&amp;lt;/b&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;ObjectClearFlag&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/b&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;ObjectLeftCombat&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Full definitions&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;event &amp;lt;b&amp;gt;ObjectLeftCombat&amp;lt;/b&amp;gt;(&amp;lt;i&amp;gt;(GUIDSTRING)&amp;lt;/i&amp;gt;&amp;lt;b&amp;gt;_Object&amp;lt;/b&amp;gt;, &amp;lt;i&amp;gt;(INTEGER)&amp;lt;/i&amp;gt;&amp;lt;b&amp;gt;_CombatID&amp;lt;/b&amp;gt;)&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;u&amp;gt;Description&amp;lt;/u&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Thrown when an object (character or item) leaves a combat.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Parameters&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;_Object&amp;lt;/b&amp;gt;: The object that has left the combat&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;_CombatID&amp;lt;/b&amp;gt;: A handle that identifies the combat. Should always be &amp;amp;gt; 0.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Notes&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;Reasons why characters may leave combat is because they died, because they got too far from the other participants, or because story forced them to leave.&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;See also&amp;lt;/u&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;CombatStarted&amp;lt;/b&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;ObjectEnteredCombat&amp;lt;/b&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;ObjectSourcePointAddRequest&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Full definitions&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;event &amp;lt;b&amp;gt;ObjectSourcePointAddRequest&amp;lt;/b&amp;gt;(&amp;lt;i&amp;gt;(GUIDSTRING)&amp;lt;/i&amp;gt;&amp;lt;b&amp;gt;_Target&amp;lt;/b&amp;gt;, &amp;lt;i&amp;gt;(INTEGER)&amp;lt;/i&amp;gt;&amp;lt;b&amp;gt;_Amount&amp;lt;/b&amp;gt;)&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;u&amp;gt;Description&amp;lt;/u&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Thrown for every attempt to add source to an object, even if the object cannot hold more source. It is thrown before the source has been added.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Parameters&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;_Target&amp;lt;/b&amp;gt;: The object to which source gets added. In case of a character, this means there is an attempt to add source points. In case of an item, this means there is an attempt to add charges.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;_Amount&amp;lt;/b&amp;gt;: The number of source points/charges that is being added.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Notes&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;As mentioned in the description, this is triggered even when &amp;lt;b&amp;gt;_Target&amp;lt;/b&amp;gt; currently already holds its maximum of source.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;See also&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;/&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;RegionStarted&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Full definitions&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;event &amp;lt;b&amp;gt;RegionS&amp;lt;/b&amp;gt;&amp;lt;span style=&amp;quot;font-family:arial,sans-serif&amp;quot;&amp;gt;&amp;lt;b&amp;gt;tarted&amp;lt;/b&amp;gt;&amp;lt;/span&amp;gt;(&amp;lt;i&amp;gt;(String)&amp;lt;/i&amp;gt;&amp;lt;b&amp;gt;_LevelName&amp;lt;/b&amp;gt;)&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;u&amp;gt;Description&amp;lt;/u&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Thrown when the level has been loaded and is ready at the server side, but not yet at the client side.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Parameters&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;_LevelName&amp;lt;/b&amp;gt;: The identifier name of the level that has been loaded&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Notes&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;See &amp;lt;b&amp;gt;GameStarted&amp;lt;/b&amp;gt; for usage information that also applies to this call.&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;See also&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;GameStarted&amp;lt;/b&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&amp;lt;hr&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Larian octaaf</name></author>
	</entry>
	<entry>
		<id>https://docs.larian.game/index.php?title=Osiris_API_Tips&amp;diff=425</id>
		<title>Osiris API Tips</title>
		<link rel="alternate" type="text/html" href="https://docs.larian.game/index.php?title=Osiris_API_Tips&amp;diff=425"/>
		<updated>2017-08-02T09:30:07Z</updated>

		<summary type="html">&lt;p&gt;Larian octaaf: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;&amp;lt;img src=&amp;quot;https://www.google.com/chart?chc=sites&amp;amp;amp;cht=d&amp;amp;amp;chdp=sites&amp;amp;amp;chl=%5B%5BTable+of+contents'%3D20'f%5Cv'a%5C%3D0'10'%3D749'0'dim'%5Cbox1'b%5CF6F6F6'fC%5CF6F6F6'eC%5C0'sk'%5C%5B'%5D'a%5CV%5C%3D12'f%5C%5DV%5Cta%5C%3D10'%3D0'%3D750'%3D297'dim'%5C%3D10'%3D10'%3D750'%3D297'vdim'%5Cbox1'b%5Cva%5CF6F6F6'fC%5CC8C8C8'eC%5C'a%5C%5Do%5CLauto'f%5C&amp;amp;amp;sig=6OQlG6gOnnBFfFkmejXWTLbCWDE&amp;quot; data-type=&amp;quot;toc&amp;quot; data-props=&amp;quot;align:left;maxDepth:6;width:750;&amp;quot; width=&amp;quot;750&amp;quot; height=&amp;quot;300&amp;quot; style=&amp;quot;display:block;text-align:left;margin-right:auto;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;h2&amp;gt;Subpages&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/h2&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;&lt;br /&gt;
&amp;lt;h3&amp;gt;&amp;lt;a href=&amp;quot;https://sites.google.com/a/larian.com/larian-wikisite/osiris-api-tips-crimes&amp;quot;&amp;gt;Osiris API for crimes&amp;lt;/a&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/h3&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;h2&amp;gt;Main Osiris API&amp;lt;/h2&amp;gt;&lt;br /&gt;
&amp;lt;h3&amp;gt;Events&amp;lt;/h3&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Events are a way for Osiris to inform script that something happened. All event parameters have &amp;lt;i&amp;gt;&amp;lt;b&amp;gt;[in]&amp;lt;/b&amp;gt;&amp;lt;/i&amp;gt; semantics.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;CharacterBlockedBy&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;u&amp;gt;Full definitions&amp;lt;/u&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;event &amp;lt;b&amp;gt;CharacterBlokedBy&amp;lt;/b&amp;gt;(&amp;lt;i&amp;gt;(CHARACTERGUID)&amp;lt;/i&amp;gt;&amp;lt;b&amp;gt;_Defender&amp;lt;/b&amp;gt;, &amp;lt;i&amp;gt;(CHARACTERGUID)&amp;lt;/i&amp;gt;&amp;lt;b&amp;gt;_Attacker&amp;lt;/b&amp;gt;, &amp;lt;i&amp;gt;(CHARACTERGUID)&amp;lt;/i&amp;gt;&amp;lt;b&amp;gt;_AttackerOwner&amp;lt;/b&amp;gt;)&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;u&amp;gt;Description&amp;lt;/u&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;font-size:1em&amp;quot;&amp;gt;Thrown when a character blocks an attack from another character.&amp;lt;/span&amp;gt;&amp;lt;u&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/u&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;u&amp;gt;Parameters&amp;lt;/u&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;_Defender&amp;lt;/b&amp;gt;: The character that received/defended the attack.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;_Attacker&amp;lt;/b&amp;gt;: The character that attacked the &amp;lt;b&amp;gt;_Defender&amp;lt;/b&amp;gt;.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;_AttackerOwner&amp;lt;/b&amp;gt;: The character that owns the &amp;lt;b&amp;gt;_Attacker&amp;lt;/b&amp;gt; character.&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/b&amp;gt;&amp;lt;u&amp;gt;Notes&amp;lt;/u&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;_AttackerOwner &amp;lt;/b&amp;gt;can be the same character as &amp;lt;b&amp;gt;_Attacker&amp;lt;/b&amp;gt;, &amp;lt;b&amp;gt;_AttackOwner &amp;lt;/b&amp;gt;will be different in the case of summoned characters.&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;u&amp;gt;See also&amp;lt;/u&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;CharacterMissedBy&amp;lt;/b&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;CharacterMissedBy&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;u&amp;gt;Full definitions&amp;lt;/u&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;&amp;lt;span style=&amp;quot;font-size:13.3333px&amp;quot;&amp;gt;event&amp;amp;nbsp;&amp;lt;/span&amp;gt;&amp;lt;b&amp;gt;CharacterMissedBy&amp;lt;/b&amp;gt;(&amp;lt;i&amp;gt;(CHARACTERGUID)&amp;lt;/i&amp;gt;&amp;lt;b&amp;gt;_Defender&amp;lt;/b&amp;gt;, &amp;lt;i&amp;gt;(CHARACTERGUID)&amp;lt;/i&amp;gt;&amp;lt;b&amp;gt;_Attacker&amp;lt;/b&amp;gt;, &amp;lt;i&amp;gt;(CHARACTERGUID)&amp;lt;/i&amp;gt;&amp;lt;b&amp;gt;_AttackerOwner&amp;lt;/b&amp;gt;)&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;&amp;lt;u&amp;gt;Description&amp;lt;/u&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Thrown when a character misses an attack from another character.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;u&amp;gt;Parameters&amp;lt;/u&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;&amp;lt;b style=&amp;quot;background-color:transparent;font-size:1em&amp;quot;&amp;gt;_Defender&amp;lt;/b&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;font-size:1em&amp;quot;&amp;gt;: The character that received/defended the attack.&amp;lt;/span&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;b style=&amp;quot;background-color:transparent;font-size:1em&amp;quot;&amp;gt;_Attacker&amp;lt;/b&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;font-size:1em&amp;quot;&amp;gt;: The character that attacked the &amp;lt;b&amp;gt;_Defender&amp;lt;/b&amp;gt;.&amp;lt;/span&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;b style=&amp;quot;background-color:transparent;font-size:1em&amp;quot;&amp;gt;_AttackerOwner&amp;lt;/b&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;font-size:1em&amp;quot;&amp;gt;: The character that owns the &amp;lt;b&amp;gt;_Attacker &amp;lt;/b&amp;gt;character.&amp;lt;/span&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;u&amp;gt;Notes&amp;lt;/u&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;&amp;lt;b style=&amp;quot;background-color:transparent;font-size:1em&amp;quot;&amp;gt;_AttackerOwner &amp;lt;/b&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;font-size:1em&amp;quot;&amp;gt;can be the same character as &amp;lt;/span&amp;gt;&amp;lt;b style=&amp;quot;background-color:transparent;font-size:1em&amp;quot;&amp;gt;_Attacker&amp;lt;/b&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;font-size:1em&amp;quot;&amp;gt;, &amp;lt;/span&amp;gt;&amp;lt;b style=&amp;quot;background-color:transparent;font-size:1em&amp;quot;&amp;gt;_AttackOwner &amp;lt;/b&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;font-size:1em&amp;quot;&amp;gt;will be different in the case of summoned characters.&amp;lt;/span&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;u&amp;gt;See also&amp;lt;/u&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;&amp;lt;b style=&amp;quot;background-color:transparent;font-size:1em&amp;quot;&amp;gt;CharacterBlockedBy&amp;lt;/b&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;CharacterCriticalHitBy&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;u&amp;gt;Full definitions&amp;lt;/u&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;&amp;lt;span style=&amp;quot;font-size:13.3333px&amp;quot;&amp;gt;event&amp;amp;nbsp;&amp;lt;/span&amp;gt;&amp;lt;b&amp;gt;CharacterCriticalHitBy&amp;lt;/b&amp;gt;(&amp;lt;i&amp;gt;(CHARACTERGUID)&amp;lt;/i&amp;gt;&amp;lt;b&amp;gt;_Defender&amp;lt;/b&amp;gt;, &amp;lt;i&amp;gt;(CHARACTERGUID)&amp;lt;/i&amp;gt;&amp;lt;b&amp;gt;_Attacker&amp;lt;/b&amp;gt;, &amp;lt;i&amp;gt;(CHARACTERGUID)&amp;lt;/i&amp;gt;&amp;lt;b&amp;gt;_AttackerOwner&amp;lt;/b&amp;gt;)&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;&amp;lt;u&amp;gt;Description&amp;lt;/u&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;Thrown when a character receives a critical hit from an attack of another character.&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;u&amp;gt;Parameters&amp;lt;/u&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;_Defender&amp;lt;/b&amp;gt;: The character that received/defended the attack.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;_Attacker&amp;lt;/b&amp;gt;: The character that attacked the &amp;lt;b&amp;gt;_Defender&amp;lt;/b&amp;gt;.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;_AttackerOwner&amp;lt;/b&amp;gt;: The character that owns the &amp;lt;b&amp;gt;_Attacker &amp;lt;/b&amp;gt;character.&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;u&amp;gt;Notes&amp;lt;/u&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;_AttackerOwner &amp;lt;/b&amp;gt;can be the same character as &amp;lt;b&amp;gt;_Attacker&amp;lt;/b&amp;gt;, &amp;lt;b&amp;gt;_AttackOwner &amp;lt;/b&amp;gt;will be different in the case of summoned characters.&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;u&amp;gt;See also&amp;lt;/u&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;CharacterBlockedBy&amp;lt;/b&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;CharacterKilledBy&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;u&amp;gt;Full definitions&amp;lt;/u&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;&amp;lt;span style=&amp;quot;font-size:13.3333px&amp;quot;&amp;gt;event&amp;amp;nbsp;&amp;lt;/span&amp;gt;&amp;lt;b&amp;gt;CharacterKilledBy&amp;lt;/b&amp;gt;(&amp;lt;i&amp;gt;(CHARACTERGUID)&amp;lt;/i&amp;gt;&amp;lt;b&amp;gt;_Defender&amp;lt;/b&amp;gt;, &amp;lt;i&amp;gt;(CHARACTERGUID)&amp;lt;/i&amp;gt;&amp;lt;b&amp;gt;_Attacker&amp;lt;/b&amp;gt;, &amp;lt;i&amp;gt;(CHARACTERGUID)&amp;lt;/i&amp;gt;&amp;lt;b&amp;gt;_AttackerOwner&amp;lt;/b&amp;gt;)&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;&amp;lt;u&amp;gt;Description&amp;lt;/u&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;Thrown when a character is killed by another character.&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;u&amp;gt;Parameters&amp;lt;/u&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;_Defender&amp;lt;/b&amp;gt;: The character that received/defended the attack.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;_Attacker&amp;lt;/b&amp;gt;: The character that attacked the &amp;lt;b&amp;gt;_Defender&amp;lt;/b&amp;gt;.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;_AttackerOwner&amp;lt;/b&amp;gt;: The character that owns the &amp;lt;b&amp;gt;_Attacker &amp;lt;/b&amp;gt;character.&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;u&amp;gt;Notes&amp;lt;/u&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;_AttackerOwner &amp;lt;/b&amp;gt;can be the same character as &amp;lt;b&amp;gt;_Attacker&amp;lt;/b&amp;gt;, &amp;lt;b&amp;gt;_AttackOwner &amp;lt;/b&amp;gt;will be different in the case of summoned characters.&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;u&amp;gt;See also&amp;lt;/u&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;CharacterBlockedBy&amp;lt;/b&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;CharacterEnteredRegion&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Full definitions&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;event &amp;lt;b&amp;gt;CharacterEnteredRegion&amp;lt;/b&amp;gt;(&amp;lt;i&amp;gt;(CHARACTERGUID)&amp;lt;/i&amp;gt;&amp;lt;b&amp;gt;_Character&amp;lt;/b&amp;gt;, &amp;lt;i&amp;gt;(STRING)&amp;lt;/i&amp;gt;&amp;lt;b&amp;gt;_Region&amp;lt;/b&amp;gt;)&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;u&amp;gt;Description&amp;lt;/u&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Thrown when a character enters a level because it was placed there in the editor, it was teleported there via script, or it was created/spawned there via script.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Parameters&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;_Character&amp;lt;/b&amp;gt;: the character that entered the level/region&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;_Region&amp;lt;/b&amp;gt;: the name of the level/region (as entered in the &amp;lt;i&amp;gt;Levelname&amp;lt;/i&amp;gt; property of the &amp;lt;i&amp;gt;Level -&amp;amp;gt; Edit Level Data...&amp;lt;/i&amp;gt; menu entry in the editor.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Notes&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;For characters statically placed in a level using the editor, this event is thrown only once when the level is first entered. It is not thrown again when loading save games from within that level. &amp;lt;i&amp;gt;&amp;lt;b&amp;gt;TODO&amp;lt;/b&amp;gt;&amp;lt;/i&amp;gt;: check what happens if the players are teleported out of a level and then back into it (never done in DivinityOrigins mod).&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;See also&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;/&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;CharacterSawCharacter&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Full definitions&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;event &amp;lt;b&amp;gt;CharacterSawCharacter&amp;lt;/b&amp;gt;(&amp;lt;i&amp;gt;(CHARACTERGUID)&amp;lt;/i&amp;gt;&amp;lt;b&amp;gt;_Character&amp;lt;/b&amp;gt;,&amp;lt;i&amp;gt; (CHARACTERGUID)&amp;lt;/i&amp;gt;&amp;lt;b&amp;gt;_OtherCharacter&amp;lt;/b&amp;gt;)&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;u&amp;gt;Description&amp;lt;/u&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Thrown when one &amp;lt;b&amp;gt;_Character&amp;lt;/b&amp;gt; sees &amp;lt;b&amp;gt;_OtherCharacter&amp;lt;/b&amp;gt;. Note that this event is only thrown if &amp;lt;b&amp;gt;_Character&amp;lt;/b&amp;gt; has been registered as an event generator.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Parameters&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;_Character&amp;lt;/b&amp;gt;: the character that does the seeing.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;_OtherCharacter&amp;lt;/b&amp;gt;: the character that is seen&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Notes&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;By default, only player-controlled characters are event generators. Once you call &amp;lt;b&amp;gt;CharacterCanSee&amp;lt;/b&amp;gt; with an NPC as first parameter, an event generator is also registered for this NPC and it will also start throwing &amp;lt;b&amp;gt;CharacterSawCharacter&amp;lt;/b&amp;gt; events. This event generator may only work temporarily though, so in general only rely on these events be thrown for player characters.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;See also&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;CharacterCanSee&amp;lt;/b&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;CharacterLostSightOfCharacter&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/b&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;CharacterStoppedUsingItem&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Full definitions&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;event &amp;lt;b&amp;gt;CharacterStoppedUsingItem&amp;lt;/b&amp;gt;(&amp;lt;i&amp;gt;(CHARACTERGUID)&amp;lt;/i&amp;gt;&amp;lt;b&amp;gt;_Character&amp;lt;/b&amp;gt;, &amp;lt;i&amp;gt;(ITEMGUID)&amp;lt;/i&amp;gt;&amp;lt;b&amp;gt;_Item&amp;lt;/b&amp;gt;)&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;u&amp;gt;Description&amp;lt;/u&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Thrown when a character stopped using an item, &amp;lt;b&amp;gt;or&amp;lt;/b&amp;gt; if a character tried to use an item and failed.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Parameters&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;_Character&amp;lt;/b&amp;gt;: the character that used or tried to use &amp;lt;b&amp;gt;_Item&amp;lt;/b&amp;gt;.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;_Item&amp;lt;/b&amp;gt;: the item that was used or attempted to be used&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Notes&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;/&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;See also&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;/&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;CombatStarted&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Full definitions&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;event &amp;lt;b&amp;gt;CombatStarted&amp;lt;/b&amp;gt;(&amp;lt;i&amp;gt;(INTEGER)&amp;lt;/i&amp;gt;&amp;lt;b&amp;gt;_CombatID&amp;lt;/b&amp;gt;)&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;u&amp;gt;Description&amp;lt;/u&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Thrown once a new combat has started and has been completely initialised. I.e., all initial participants have been added, and combat is ready to start.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Parameters&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;_CombatID&amp;lt;/b&amp;gt;: A handle that identifies the combat. Should always be &amp;amp;gt; 0.&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Notes&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;This event can also be thrown for an ongoing combat after one or more participants left. In this case, first a new &amp;lt;b&amp;gt;ObjectEnteredCombat&amp;lt;/b&amp;gt; event will be thrown for every participant still in the combat, followed by a new &amp;lt;b&amp;gt;CombatStartedEvent&amp;lt;/b&amp;gt; with the same _&amp;lt;b&amp;gt;CombatID&amp;lt;/b&amp;gt; as before. During these new &amp;lt;b&amp;gt;ObjectEventeredCombat&amp;lt;/b&amp;gt; events and &amp;lt;b&amp;gt;CombatStarted&amp;lt;/b&amp;gt; event, the combat must again be considered to be not completely initialised yet.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;This event will also be thrown when two combats are merged.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;See also&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;ObjectEnteredCombat&amp;lt;/b&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;ObjectLeftCombat&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/b&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;DialogStartRequested&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Full definitions&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;event &amp;lt;b&amp;gt;DialogStartRequested&amp;lt;/b&amp;gt;(&amp;lt;i&amp;gt;(GUIDSTRING)&amp;lt;/i&amp;gt;&amp;lt;b&amp;gt;_Target&amp;lt;/b&amp;gt;,&amp;lt;i&amp;gt;(GUIDSTRING)&amp;lt;/i&amp;gt;&amp;lt;b&amp;gt;_Player&amp;lt;/b&amp;gt;)&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;u&amp;gt;Description&amp;lt;/u&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Thrown whenever a player tries to start a conversation with another object.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Parameters&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;_Target&amp;lt;/b&amp;gt;: The object to which the conversation request is directed.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;_Player&amp;lt;/b&amp;gt;: The player that initiated the conversation&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Notes&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;Do not use this event directly. Overload &amp;lt;b&amp;gt;PROC_GLOBAL_DialogStartRequested&amp;lt;/b&amp;gt; or &amp;lt;b&amp;gt;PROC_GLOBAL_DialogStartRequested_AfterGenerics&amp;lt;/b&amp;gt; instead, so that certain common behaviours are guaranteed to hold in all cases.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;This event can only be thrown if the target can accept dialog requests, i.e. if &amp;lt;b&amp;gt;SetHasDialog&amp;lt;/b&amp;gt;(&amp;lt;b&amp;gt;_Target&amp;lt;/b&amp;gt;,&amp;lt;b&amp;gt;1&amp;lt;/b&amp;gt;) is currently active.&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;See also&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;SetHasDialog&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;helper &amp;lt;b&amp;gt;PROC_GLOBAL_DialogStartRequested&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;helper &amp;lt;b&amp;gt;PROC_GLOBAL_DialogStartRequested_AfterGenerics&amp;lt;/b&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;GameStarted&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Full definitions&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;event &amp;lt;span style=&amp;quot;font-family:arial,sans-serif&amp;quot;&amp;gt;&amp;lt;b&amp;gt;GameStarted&amp;lt;/b&amp;gt;&amp;lt;/span&amp;gt;(&amp;lt;i&amp;gt;(String)&amp;lt;/i&amp;gt;&amp;lt;b&amp;gt;_LevelName&amp;lt;/b&amp;gt;, &amp;lt;i&amp;gt;(INTEGER)&amp;lt;/i&amp;gt;&amp;lt;b&amp;gt;_IsEditorMode&amp;lt;/b&amp;gt;)&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;u&amp;gt;Description&amp;lt;/u&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Thrown when a level has been loaded and is ready at both the server and client side.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Parameters&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;_LevelName&amp;lt;/b&amp;gt;: The identifier name of the level that has been loaded&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;_IsEditorMode&amp;lt;/b&amp;gt;: Indicates whether the game is run in the editor or not&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Notes&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;The logic of Osiris is split into a server and a client side, even in single player mode. Some important things that run on the client side are visual effects and physics.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;An example of something that is done only when the client side is ready, is playing the effect of the source collars on the characters in the tutorial and Fort Joy levels (since they're visual effects, and hence do not work if started when only the server side is ready)&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;See &amp;lt;b&amp;gt;RegionStarted&amp;lt;/b&amp;gt; for an event that is thrown when the level is ready on the server side.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;This event is also thrown when loading a savegame, so add additional logic for code that should be executed only the first time when this level is started (or trigger it from the INIT section of a story goal instead).&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;See also&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;RegionStarted&amp;lt;/b&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;ObjectEnteredCombat&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Full definitions&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;event &amp;lt;b&amp;gt;ObjectEnteredCombat&amp;lt;/b&amp;gt;(&amp;lt;i&amp;gt;(GUIDSTRING)&amp;lt;/i&amp;gt;&amp;lt;b&amp;gt;_Object&amp;lt;/b&amp;gt;, &amp;lt;i&amp;gt;(INTEGER)&amp;lt;/i&amp;gt;&amp;lt;b&amp;gt;_CombatID&amp;lt;/b&amp;gt;)&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;u&amp;gt;Description&amp;lt;/u&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Thrown when an object (character or item) enters a combat.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Parameters&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;_Object&amp;lt;/b&amp;gt;: The object that has entered the combat&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;_CombatID&amp;lt;/b&amp;gt;: A handle that identifies the combat. Should always be &amp;amp;gt; 0.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Notes&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;This can be a combat that is still being set up, or an existing combat joined by a character that wandered too close.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;If the combat is still being set up, not all information may be available yet (e.g., other initial objects may still be added after this one), and you cannot use APIs such as &amp;lt;b&amp;gt;JumpToTurn&amp;lt;/b&amp;gt; yet. If you wish to perform some action when a combat has completely started, use &amp;lt;b&amp;gt;CombatStarted&amp;lt;/b&amp;gt; instead.&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;See also&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;CombatStarted&amp;lt;/b&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;ObjectLeftCombat&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/b&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;ObjectFlagSet&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Full definitions&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;event &amp;lt;b&amp;gt;ObjectFlagSet&amp;lt;/b&amp;gt;(&amp;lt;i&amp;gt;(STRING)&amp;lt;/i&amp;gt;&amp;lt;b&amp;gt;_FlagName&amp;lt;/b&amp;gt;, &amp;lt;i&amp;gt;(GUIDSTRING)&amp;lt;/i&amp;gt;&amp;lt;b&amp;gt;_Speaker&amp;lt;/b&amp;gt;, &amp;lt;i&amp;gt;(INTEGER)&amp;lt;/i&amp;gt;&amp;lt;b&amp;gt;_DialogInstance&amp;lt;/b&amp;gt;)&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;u&amp;gt;Description&amp;lt;/u&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Thrown when the flag &amp;lt;b&amp;gt;_FlagName&amp;lt;/b&amp;gt; is set on object &amp;lt;b&amp;gt;_Speaker&amp;lt;/b&amp;gt; in the context indicated by &amp;lt;b&amp;gt;_DialogInstance&amp;lt;/b&amp;gt;.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Parameters&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;_FlagName&amp;lt;/b&amp;gt;: The flag that is set. &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;_Speaker&amp;lt;/b&amp;gt;: The object on which the (character) flag is set.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;_DialogInstance&amp;lt;/b&amp;gt;: If the flag was set using a dialog node, &amp;lt;b&amp;gt;_DialogInstance&amp;lt;/b&amp;gt; contains the dialog's instance ID. If the flag was set from story, &amp;lt;b&amp;gt;_DialogInstance&amp;lt;/b&amp;gt; will contain whatever was passed as last parameter to &amp;lt;b&amp;gt;ObjectSetFlag&amp;lt;/b&amp;gt;. If the flag was set from behaviour script, &amp;lt;b&amp;gt;DialogInstance&amp;lt;/b&amp;gt; will be zero.&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Notes&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;/&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;See also&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;ObjectSetFlag&amp;lt;/b&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;ObjectClearFlag&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/b&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;ObjectLeftCombat&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Full definitions&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;event &amp;lt;b&amp;gt;ObjectLeftCombat&amp;lt;/b&amp;gt;(&amp;lt;i&amp;gt;(GUIDSTRING)&amp;lt;/i&amp;gt;&amp;lt;b&amp;gt;_Object&amp;lt;/b&amp;gt;, &amp;lt;i&amp;gt;(INTEGER)&amp;lt;/i&amp;gt;&amp;lt;b&amp;gt;_CombatID&amp;lt;/b&amp;gt;)&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;u&amp;gt;Description&amp;lt;/u&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Thrown when an object (character or item) leaves a combat.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Parameters&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;_Object&amp;lt;/b&amp;gt;: The object that has left the combat&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;_CombatID&amp;lt;/b&amp;gt;: A handle that identifies the combat. Should always be &amp;amp;gt; 0.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Notes&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;Reasons why characters may leave combat is because they died, because they got too far from the other participants, or because story forced them to leave.&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;See also&amp;lt;/u&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;CombatStarted&amp;lt;/b&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;ObjectEnteredCombat&amp;lt;/b&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;ObjectSourcePointAddRequest&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Full definitions&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;event &amp;lt;b&amp;gt;ObjectSourcePointAddRequest&amp;lt;/b&amp;gt;(&amp;lt;i&amp;gt;(GUIDSTRING)&amp;lt;/i&amp;gt;&amp;lt;b&amp;gt;_Target&amp;lt;/b&amp;gt;, &amp;lt;i&amp;gt;(INTEGER)&amp;lt;/i&amp;gt;&amp;lt;b&amp;gt;_Amount&amp;lt;/b&amp;gt;)&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;u&amp;gt;Description&amp;lt;/u&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Thrown for every attempt to add source to an object, even if the object cannot hold more source. It is thrown before the source has been added.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Parameters&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;_Target&amp;lt;/b&amp;gt;: The object to which source gets added. In case of a character, this means there is an attempt to add source points. In case of an item, this means there is an attempt to add charges.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;_Amount&amp;lt;/b&amp;gt;: The number of source points/charges that is being added.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Notes&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;As mentioned in the description, this is triggered even when &amp;lt;b&amp;gt;_Target&amp;lt;/b&amp;gt; currently already holds its maximum of source.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;See also&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;/&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;RegionStarted&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Full definitions&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;event &amp;lt;b&amp;gt;RegionS&amp;lt;/b&amp;gt;&amp;lt;span style=&amp;quot;font-family:arial,sans-serif&amp;quot;&amp;gt;&amp;lt;b&amp;gt;tarted&amp;lt;/b&amp;gt;&amp;lt;/span&amp;gt;(&amp;lt;i&amp;gt;(String)&amp;lt;/i&amp;gt;&amp;lt;b&amp;gt;_LevelName&amp;lt;/b&amp;gt;)&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;u&amp;gt;Description&amp;lt;/u&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Thrown when the level has been loaded and is ready at the server side, but not yet at the client side.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Parameters&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;_LevelName&amp;lt;/b&amp;gt;: The identifier name of the level that has been loaded&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;Notes&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;See &amp;lt;b&amp;gt;GameStarted&amp;lt;/b&amp;gt; for usage information that also applies to this call.&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;u&amp;gt;See also&amp;lt;/u&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;GameStarted&amp;lt;/b&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&amp;lt;hr&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Larian octaaf</name></author>
	</entry>
	<entry>
		<id>https://docs.larian.game/index.php?title=Osiris_API_Tips&amp;diff=187</id>
		<title>Osiris API Tips</title>
		<link rel="alternate" type="text/html" href="https://docs.larian.game/index.php?title=Osiris_API_Tips&amp;diff=187"/>
		<updated>2017-07-31T13:11:53Z</updated>

		<summary type="html">&lt;p&gt;Larian octaaf: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;h2&amp;gt;Main Osiris API&amp;lt;/h2&amp;gt;&lt;br /&gt;
&amp;lt;h3&amp;gt;Events&amp;lt;/h3&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Events are a way for Osiris to inform script that something happened. All event parameters have &amp;lt;i&amp;gt;&amp;lt;b&amp;gt;[in]&amp;lt;/b&amp;gt;&amp;lt;/i&amp;gt; semantics.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;CharacterBlockedBy&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;u&amp;gt;Full definitions&amp;lt;/u&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;event &amp;lt;b&amp;gt;CharacterBlokedBy&amp;lt;/b&amp;gt;(&amp;lt;i&amp;gt;(CHARACTERGUID)&amp;lt;/i&amp;gt;&amp;lt;b&amp;gt;_Defender&amp;lt;/b&amp;gt;, &amp;lt;i&amp;gt;(CHARACTERGUID)&amp;lt;/i&amp;gt;&amp;lt;b&amp;gt;_Attacker&amp;lt;/b&amp;gt;, &amp;lt;i&amp;gt;(CHARACTERGUID)&amp;lt;/i&amp;gt;&amp;lt;b&amp;gt;_AttackerOwner&amp;lt;/b&amp;gt;)&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;u&amp;gt;Description&amp;lt;/u&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;font-size:1em&amp;quot;&amp;gt;Thrown when a character blocks an attack from another character.&amp;lt;/span&amp;gt;&amp;lt;u&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/u&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;u&amp;gt;Parameters&amp;lt;/u&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;_Defender&amp;lt;/b&amp;gt;: The character that received/defended the attack.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;_Attacker&amp;lt;/b&amp;gt;: The character that attacked the &amp;lt;b&amp;gt;_Defender&amp;lt;/b&amp;gt;.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;_AttackerOwner&amp;lt;/b&amp;gt;: The character that owns the &amp;lt;b&amp;gt;_Attacker&amp;lt;/b&amp;gt; character.&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/b&amp;gt;&amp;lt;u&amp;gt;Notes&amp;lt;/u&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;_AttackerOwner &amp;lt;/b&amp;gt;can be the same character as &amp;lt;b&amp;gt;_Attacker&amp;lt;/b&amp;gt;, &amp;lt;b&amp;gt;_AttackOwner &amp;lt;/b&amp;gt;will be different in the case of summoned characters.&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>Larian octaaf</name></author>
	</entry>
	<entry>
		<id>https://docs.larian.game/index.php?title=Osiris_API_Tips&amp;diff=186</id>
		<title>Osiris API Tips</title>
		<link rel="alternate" type="text/html" href="https://docs.larian.game/index.php?title=Osiris_API_Tips&amp;diff=186"/>
		<updated>2017-07-31T13:11:45Z</updated>

		<summary type="html">&lt;p&gt;Larian octaaf: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;h2&amp;gt;Main Osiris API&amp;lt;/h2&amp;gt;&lt;br /&gt;
&amp;lt;h3&amp;gt;Events&amp;lt;/h3&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Events are a way for Osiris to inform script that something happened. All event parameters have &amp;lt;i&amp;gt;&amp;lt;b&amp;gt;[in]&amp;lt;/b&amp;gt;&amp;lt;/i&amp;gt; semantics.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;CharacterBlockedBy&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;u&amp;gt;Full definitions&amp;lt;/u&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;event &amp;lt;b&amp;gt;CharacterBlokedBy&amp;lt;/b&amp;gt;(&amp;lt;i&amp;gt;(CHARACTERGUID)&amp;lt;/i&amp;gt;&amp;lt;b&amp;gt;_Defender&amp;lt;/b&amp;gt;, &amp;lt;i&amp;gt;(CHARACTERGUID)&amp;lt;/i&amp;gt;&amp;lt;b&amp;gt;_Attacker&amp;lt;/b&amp;gt;, &amp;lt;i&amp;gt;(CHARACTERGUID)&amp;lt;/i&amp;gt;&amp;lt;b&amp;gt;_AttackerOwner&amp;lt;/b&amp;gt;)&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;u&amp;gt;Description&amp;lt;/u&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;font-size:1em&amp;quot;&amp;gt;Thrown when a character blocks an attack from another character.&amp;lt;/span&amp;gt;&amp;lt;u&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/u&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;u&amp;gt;Parameters&amp;lt;/u&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;_Defender&amp;lt;/b&amp;gt;: The character that received/defended the attack.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;_Attacker&amp;lt;/b&amp;gt;: The character that attacked the &amp;lt;b&amp;gt;_Defender&amp;lt;/b&amp;gt;.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;_AttackerOwner&amp;lt;/b&amp;gt;: The character that owns the &amp;lt;b&amp;gt;_Attacker&amp;lt;/b&amp;gt; character.&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/b&amp;gt;&amp;lt;u&amp;gt;Notes&amp;lt;/u&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;_AttackerOwner &amp;lt;/b&amp;gt;can be the same character as &amp;lt;b&amp;gt;_Attacker&amp;lt;/b&amp;gt;, &amp;lt;b&amp;gt;_AttackOwner &amp;lt;/b&amp;gt;will be different in the case of summoned characters.&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>Larian octaaf</name></author>
	</entry>
	<entry>
		<id>https://docs.larian.game/index.php?title=Osiris_API_Tips&amp;diff=185</id>
		<title>Osiris API Tips</title>
		<link rel="alternate" type="text/html" href="https://docs.larian.game/index.php?title=Osiris_API_Tips&amp;diff=185"/>
		<updated>2017-07-31T13:11:26Z</updated>

		<summary type="html">&lt;p&gt;Larian octaaf: Created page with &amp;quot;&amp;lt;br&amp;gt; &amp;lt;ul&amp;gt;&amp;lt;li&amp;gt; &amp;lt;h3&amp;gt;&amp;lt;a href=&amp;quot;https://sites.google.com/a/larian.com/larian-wikisite/osiris-api-tips-crimes&amp;quot;&amp;gt;Osiris API for crimes&amp;lt;/a&amp;gt;&amp;lt;br&amp;gt; &amp;lt;/h3&amp;gt; &amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt; &amp;lt;h2&amp;gt;Main Osiris API&amp;lt;/h2...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;&lt;br /&gt;
&amp;lt;h3&amp;gt;&amp;lt;a href=&amp;quot;https://sites.google.com/a/larian.com/larian-wikisite/osiris-api-tips-crimes&amp;quot;&amp;gt;Osiris API for crimes&amp;lt;/a&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/h3&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;h2&amp;gt;Main Osiris API&amp;lt;/h2&amp;gt;&lt;br /&gt;
&amp;lt;h3&amp;gt;Events&amp;lt;/h3&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Events are a way for Osiris to inform script that something happened. All event parameters have &amp;lt;i&amp;gt;&amp;lt;b&amp;gt;[in]&amp;lt;/b&amp;gt;&amp;lt;/i&amp;gt; semantics.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&amp;lt;h4&amp;gt;CharacterBlockedBy&amp;lt;/h4&amp;gt;&lt;br /&gt;
&amp;lt;u&amp;gt;Full definitions&amp;lt;/u&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;event &amp;lt;b&amp;gt;CharacterBlokedBy&amp;lt;/b&amp;gt;(&amp;lt;i&amp;gt;(CHARACTERGUID)&amp;lt;/i&amp;gt;&amp;lt;b&amp;gt;_Defender&amp;lt;/b&amp;gt;, &amp;lt;i&amp;gt;(CHARACTERGUID)&amp;lt;/i&amp;gt;&amp;lt;b&amp;gt;_Attacker&amp;lt;/b&amp;gt;, &amp;lt;i&amp;gt;(CHARACTERGUID)&amp;lt;/i&amp;gt;&amp;lt;b&amp;gt;_AttackerOwner&amp;lt;/b&amp;gt;)&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;u&amp;gt;Description&amp;lt;/u&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;font-size:1em&amp;quot;&amp;gt;Thrown when a character blocks an attack from another character.&amp;lt;/span&amp;gt;&amp;lt;u&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/u&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;u&amp;gt;Parameters&amp;lt;/u&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;_Defender&amp;lt;/b&amp;gt;: The character that received/defended the attack.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;_Attacker&amp;lt;/b&amp;gt;: The character that attacked the &amp;lt;b&amp;gt;_Defender&amp;lt;/b&amp;gt;.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;_AttackerOwner&amp;lt;/b&amp;gt;: The character that owns the &amp;lt;b&amp;gt;_Attacker&amp;lt;/b&amp;gt; character.&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/b&amp;gt;&amp;lt;u&amp;gt;Notes&amp;lt;/u&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;_AttackerOwner &amp;lt;/b&amp;gt;can be the same character as &amp;lt;b&amp;gt;_Attacker&amp;lt;/b&amp;gt;, &amp;lt;b&amp;gt;_AttackOwner &amp;lt;/b&amp;gt;will be different in the case of summoned characters.&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>Larian octaaf</name></author>
	</entry>
	<entry>
		<id>https://docs.larian.game/index.php?title=Technical_documentation&amp;diff=184</id>
		<title>Technical documentation</title>
		<link rel="alternate" type="text/html" href="https://docs.larian.game/index.php?title=Technical_documentation&amp;diff=184"/>
		<updated>2017-07-31T13:10:01Z</updated>

		<summary type="html">&lt;p&gt;Larian octaaf: /* Misc */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Systems ==&lt;br /&gt;
* [[Templates explanation|Root and local templates, how do they work?]]&lt;br /&gt;
* [[AI grid|AI grid: surfaces, walkables, ...]]&lt;br /&gt;
* [[Scripting|Scripting]]&lt;br /&gt;
* [[Osiris|Osiris: story scripting]]&lt;br /&gt;
&lt;br /&gt;
== Panels ==&lt;br /&gt;
* [[Root template panel]]&lt;br /&gt;
* [[World outliner]]&lt;br /&gt;
* [[Sidebar]]&lt;br /&gt;
* [[AI grid panel]]&lt;br /&gt;
&lt;br /&gt;
== Editors ==&lt;br /&gt;
* [[Material editor]]&lt;br /&gt;
* [[Stats editor]]&lt;br /&gt;
* [[Story editor]]&lt;br /&gt;
* [[Script editor]]&lt;br /&gt;
&lt;br /&gt;
== Misc ==&lt;br /&gt;
* [[Project browser]]&lt;br /&gt;
* [[Main toolbar]]&lt;br /&gt;
* [[Osiris API Tips]]&lt;br /&gt;
&lt;br /&gt;
== Console ==&lt;br /&gt;
* [[Command list]]&lt;br /&gt;
* [[ReCon|ReCon: remote console]]&lt;/div&gt;</summary>
		<author><name>Larian octaaf</name></author>
	</entry>
	<entry>
		<id>https://docs.larian.game/index.php?title=Main_Page&amp;diff=114</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://docs.larian.game/index.php?title=Main_Page&amp;diff=114"/>
		<updated>2017-07-28T14:01:09Z</updated>

		<summary type="html">&lt;p&gt;Larian octaaf: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:dos2banner.jpg|center]]&lt;br /&gt;
&lt;br /&gt;
== Technical Documentation ==&lt;br /&gt;
* [[Choice1]]&lt;br /&gt;
&lt;br /&gt;
== Step 1: New Project - What type of project do I need? ==&lt;br /&gt;
* [[Campaign]]&lt;br /&gt;
* [[You want to create an entire story, with levels and fights and dialogues, and a lot of scripting.]]&lt;br /&gt;
* [[Add-on]]&lt;br /&gt;
* [[You want to modify non-story parts of the existing campaign or another mod.]]&lt;br /&gt;
* [[Story mod]]&lt;br /&gt;
* [[You want to change or add to the Divinity Original Sin 2 story code.]]&lt;br /&gt;
== Step 2: Load or Create Level ==&lt;br /&gt;
* [[Choose Level]]&lt;br /&gt;
* [[Load an existing level in your project or in the campaign]]&lt;br /&gt;
* [[Create New Level]]&lt;br /&gt;
* [[A fresh start.]]&lt;br /&gt;
* [[But I don't want to create or change a level: choose Sandbox]]&lt;br /&gt;
* [[Choose sandbox if you want to work on treasure, stats, textures, models...]]&lt;br /&gt;
== Step 3: Now how do I... == &lt;br /&gt;
* [[MOD THE MAIN CAMPAIGN]]&lt;br /&gt;
* [[Modding visuals]]&lt;br /&gt;
* [[Change icons of statuses, skills, NPCs...]]&lt;br /&gt;
* [[Add player icons to select from]]&lt;br /&gt;
* [[Change 3D models]]&lt;br /&gt;
* [[Change a texture]]&lt;br /&gt;
* [[Change the atmosphere (lighting etc)]]&lt;br /&gt;
* [[Change animations]]&lt;br /&gt;
* [[Change existing materials, or create and assign new materials]]&lt;br /&gt;
* [[Change visual fx]]&lt;br /&gt;
* [[Change Balancing]]&lt;br /&gt;
* [[Change enemy and NPC stats and gear]]&lt;br /&gt;
* [[Change enemy behaviour and known skills]]&lt;br /&gt;
* [[Change base stats of player characters]]&lt;br /&gt;
* [[Change presets and create new presets (&amp;quot;classes&amp;quot;)]]&lt;br /&gt;
* [[Change player weapon and armour stats]]&lt;br /&gt;
* [[Change some exposed combat and gameplay variables]]&lt;br /&gt;
* [[Change the gold value of things]]&lt;br /&gt;
* [[Change what food and potions do]]&lt;br /&gt;
* [[Change crafting ingredients and results]]&lt;br /&gt;
* [[Change treasure settings of containers and characters]]&lt;br /&gt;
* [[Change trade inventories of characters]]&lt;br /&gt;
* [[Change magical properties of magic modifiers on generated items]]&lt;br /&gt;
* [[Change settings of magic generation of items]]&lt;br /&gt;
* [[Change some talent settings]]&lt;br /&gt;
* [[Change skill properties (e.g. damage, action points...)]]&lt;br /&gt;
* [[Change skill, crafting and item requirements; and talent requirements]]&lt;br /&gt;
* [[Change how statuses act and react]]&lt;br /&gt;
* [[Change some exposed surface settings]]&lt;br /&gt;
* [[Translate the game]]&lt;br /&gt;
* [[By using a loca kit, not the modding tool.]]&lt;br /&gt;
* [[Make one of those fancy camera-flies-through-the-level movies?]]&lt;br /&gt;
* [[Use splines!]]&lt;br /&gt;
* [[Change interactivity]]&lt;br /&gt;
* [[Change what items you can pick up and move]]&lt;br /&gt;
* [[Change what item tooltips are shown in the world]]&lt;br /&gt;
* [[Change how items behave when you destroy them]]&lt;br /&gt;
* [[Change, add, remove use actions on items]]&lt;br /&gt;
* [[Change text]]&lt;br /&gt;
* [[Add hints to the loading screen]]&lt;br /&gt;
* [[Change character names, item names and item descriptions]]&lt;br /&gt;
* [[Change contents of books]]&lt;br /&gt;
* [[Change dialogs]]&lt;br /&gt;
* [[Change journal entries]]&lt;br /&gt;
* [[Redecorate existing levels]]&lt;br /&gt;
* [[Move items and characters around]]&lt;br /&gt;
* [[Change the terrain]]&lt;br /&gt;
* [[Add books to the game]]&lt;br /&gt;
* [[Add keys to existing chests]]&lt;br /&gt;
* [[Add chests and containers to the game]]&lt;br /&gt;
* [[Add decorational items to the game]]&lt;br /&gt;
* [[Add weapons and armour to the game]]&lt;br /&gt;
* [[Change terrain]]&lt;br /&gt;
* [[Modify scripting]]&lt;br /&gt;
* [[Change story code]]&lt;br /&gt;
* [[Change behaviour script code]]&lt;br /&gt;
* [[ADD STUFF TO THE MAIN CAMPAIGN]]&lt;br /&gt;
== FAQ: Why can I not... == &lt;br /&gt;
* [[Add talents to the game?]]&lt;br /&gt;
* [[Talents are coded in C++. They usually override or change the gameplay rules in such a unique way, that it's not viable to create reusable templates and make them data driven.]]&lt;br /&gt;
* [[Change all sounds in the game?]]&lt;br /&gt;
* [[We use Wwise and sounds have to be added and processed in Wwise.]]&lt;br /&gt;
* [[Mod the UI?]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width: 50%;&amp;quot;&lt;br /&gt;
| tables&lt;br /&gt;
| are&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 30%;&amp;quot;|&lt;br /&gt;
hard&lt;br /&gt;
| yes&lt;br /&gt;
|-&lt;br /&gt;
| FAQ&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{category header|background-color=#E0E0E0|border-color=lightgray}}&lt;br /&gt;
{{category newcolumn|rowspan=1|width=50%|background-color=#F7F7F7|border-color=lightgray}}&lt;br /&gt;
&lt;br /&gt;
== Getting started ==&lt;br /&gt;
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Configuration_settings Configuration settings list]&lt;br /&gt;
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:FAQ MediaWiki FAQ]&lt;br /&gt;
* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce MediaWiki release mailing list]&lt;br /&gt;
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Localisation#Translation_resources Localise MediaWiki for your language]&lt;br /&gt;
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Combating_spam Learn how to combat spam on your wiki]&lt;/div&gt;</summary>
		<author><name>Larian octaaf</name></author>
	</entry>
	<entry>
		<id>https://docs.larian.game/index.php?title=File:Dos2banner.jpg&amp;diff=113</id>
		<title>File:Dos2banner.jpg</title>
		<link rel="alternate" type="text/html" href="https://docs.larian.game/index.php?title=File:Dos2banner.jpg&amp;diff=113"/>
		<updated>2017-07-28T14:00:43Z</updated>

		<summary type="html">&lt;p&gt;Larian octaaf: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Larian octaaf</name></author>
	</entry>
	<entry>
		<id>https://docs.larian.game/index.php?title=Main_Page&amp;diff=112</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://docs.larian.game/index.php?title=Main_Page&amp;diff=112"/>
		<updated>2017-07-28T09:43:30Z</updated>

		<summary type="html">&lt;p&gt;Larian octaaf: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:editor.jpg|center]]&lt;br /&gt;
&lt;br /&gt;
== Technical Documentation ==&lt;br /&gt;
* [[Choice1]]&lt;br /&gt;
&lt;br /&gt;
== Step 1: New Project - What type of project do I need? ==&lt;br /&gt;
* [[Campaign]]&lt;br /&gt;
* [[You want to create an entire story, with levels and fights and dialogues, and a lot of scripting.]]&lt;br /&gt;
* [[Add-on]]&lt;br /&gt;
* [[You want to modify non-story parts of the existing campaign or another mod.]]&lt;br /&gt;
* [[Story mod]]&lt;br /&gt;
* [[You want to change or add to the Divinity Original Sin 2 story code.]]&lt;br /&gt;
== Step 2: Load or Create Level ==&lt;br /&gt;
* [[Choose Level]]&lt;br /&gt;
* [[Load an existing level in your project or in the campaign]]&lt;br /&gt;
* [[Create New Level]]&lt;br /&gt;
* [[A fresh start.]]&lt;br /&gt;
* [[But I don't want to create or change a level: choose Sandbox]]&lt;br /&gt;
* [[Choose sandbox if you want to work on treasure, stats, textures, models...]]&lt;br /&gt;
== Step 3: Now how do I... == &lt;br /&gt;
* [[MOD THE MAIN CAMPAIGN]]&lt;br /&gt;
* [[Modding visuals]]&lt;br /&gt;
* [[Change icons of statuses, skills, NPCs...]]&lt;br /&gt;
* [[Add player icons to select from]]&lt;br /&gt;
* [[Change 3D models]]&lt;br /&gt;
* [[Change a texture]]&lt;br /&gt;
* [[Change the atmosphere (lighting etc)]]&lt;br /&gt;
* [[Change animations]]&lt;br /&gt;
* [[Change existing materials, or create and assign new materials]]&lt;br /&gt;
* [[Change visual fx]]&lt;br /&gt;
* [[Change Balancing]]&lt;br /&gt;
* [[Change enemy and NPC stats and gear]]&lt;br /&gt;
* [[Change enemy behaviour and known skills]]&lt;br /&gt;
* [[Change base stats of player characters]]&lt;br /&gt;
* [[Change presets and create new presets (&amp;quot;classes&amp;quot;)]]&lt;br /&gt;
* [[Change player weapon and armour stats]]&lt;br /&gt;
* [[Change some exposed combat and gameplay variables]]&lt;br /&gt;
* [[Change the gold value of things]]&lt;br /&gt;
* [[Change what food and potions do]]&lt;br /&gt;
* [[Change crafting ingredients and results]]&lt;br /&gt;
* [[Change treasure settings of containers and characters]]&lt;br /&gt;
* [[Change trade inventories of characters]]&lt;br /&gt;
* [[Change magical properties of magic modifiers on generated items]]&lt;br /&gt;
* [[Change settings of magic generation of items]]&lt;br /&gt;
* [[Change some talent settings]]&lt;br /&gt;
* [[Change skill properties (e.g. damage, action points...)]]&lt;br /&gt;
* [[Change skill, crafting and item requirements; and talent requirements]]&lt;br /&gt;
* [[Change how statuses act and react]]&lt;br /&gt;
* [[Change some exposed surface settings]]&lt;br /&gt;
* [[Translate the game]]&lt;br /&gt;
* [[By using a loca kit, not the modding tool.]]&lt;br /&gt;
* [[Make one of those fancy camera-flies-through-the-level movies?]]&lt;br /&gt;
* [[Use splines!]]&lt;br /&gt;
* [[Change interactivity]]&lt;br /&gt;
* [[Change what items you can pick up and move]]&lt;br /&gt;
* [[Change what item tooltips are shown in the world]]&lt;br /&gt;
* [[Change how items behave when you destroy them]]&lt;br /&gt;
* [[Change, add, remove use actions on items]]&lt;br /&gt;
* [[Change text]]&lt;br /&gt;
* [[Add hints to the loading screen]]&lt;br /&gt;
* [[Change character names, item names and item descriptions]]&lt;br /&gt;
* [[Change contents of books]]&lt;br /&gt;
* [[Change dialogs]]&lt;br /&gt;
* [[Change journal entries]]&lt;br /&gt;
* [[Redecorate existing levels]]&lt;br /&gt;
* [[Move items and characters around]]&lt;br /&gt;
* [[Change the terrain]]&lt;br /&gt;
* [[Add books to the game]]&lt;br /&gt;
* [[Add keys to existing chests]]&lt;br /&gt;
* [[Add chests and containers to the game]]&lt;br /&gt;
* [[Add decorational items to the game]]&lt;br /&gt;
* [[Add weapons and armour to the game]]&lt;br /&gt;
* [[Change terrain]]&lt;br /&gt;
* [[Modify scripting]]&lt;br /&gt;
* [[Change story code]]&lt;br /&gt;
* [[Change behaviour script code]]&lt;br /&gt;
* [[ADD STUFF TO THE MAIN CAMPAIGN]]&lt;br /&gt;
== FAQ: Why can I not... == &lt;br /&gt;
* [[Add talents to the game?]]&lt;br /&gt;
* [[Talents are coded in C++. They usually override or change the gameplay rules in such a unique way, that it's not viable to create reusable templates and make them data driven.]]&lt;br /&gt;
* [[Change all sounds in the game?]]&lt;br /&gt;
* [[We use Wwise and sounds have to be added and processed in Wwise.]]&lt;br /&gt;
* [[Mod the UI?]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width: 50%;&amp;quot;&lt;br /&gt;
| tables&lt;br /&gt;
| are&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 30%;&amp;quot;|&lt;br /&gt;
hard&lt;br /&gt;
| yes&lt;br /&gt;
|-&lt;br /&gt;
| FAQ&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{category header|background-color=#E0E0E0|border-color=lightgray}}&lt;br /&gt;
{{category newcolumn|rowspan=1|width=50%|background-color=#F7F7F7|border-color=lightgray}}&lt;br /&gt;
&lt;br /&gt;
== Getting started ==&lt;br /&gt;
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Configuration_settings Configuration settings list]&lt;br /&gt;
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:FAQ MediaWiki FAQ]&lt;br /&gt;
* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce MediaWiki release mailing list]&lt;br /&gt;
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Localisation#Translation_resources Localise MediaWiki for your language]&lt;br /&gt;
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Combating_spam Learn how to combat spam on your wiki]&lt;/div&gt;</summary>
		<author><name>Larian octaaf</name></author>
	</entry>
	<entry>
		<id>https://docs.larian.game/index.php?title=Main_Page&amp;diff=111</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://docs.larian.game/index.php?title=Main_Page&amp;diff=111"/>
		<updated>2017-07-27T20:44:35Z</updated>

		<summary type="html">&lt;p&gt;Larian octaaf: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:editor.jpg|center]]&lt;br /&gt;
&lt;br /&gt;
== Step 1: New Project - What type of project do I need? ==&lt;br /&gt;
* [[Campaign]]&lt;br /&gt;
* [[You want to create an entire story, with levels and fights and dialogues, and a lot of scripting.]]&lt;br /&gt;
* [[Add-on]]&lt;br /&gt;
* [[You want to modify non-story parts of the existing campaign or another mod.]]&lt;br /&gt;
* [[Story mod]]&lt;br /&gt;
* [[You want to change or add to the Divinity Original Sin 2 story code.]]&lt;br /&gt;
== Step 2: Load or Create Level ==&lt;br /&gt;
* [[Choose Level]]&lt;br /&gt;
* [[Load an existing level in your project or in the campaign]]&lt;br /&gt;
* [[Create New Level]]&lt;br /&gt;
* [[A fresh start.]]&lt;br /&gt;
* [[But I don't want to create or change a level: choose Sandbox]]&lt;br /&gt;
* [[Choose sandbox if you want to work on treasure, stats, textures, models...]]&lt;br /&gt;
== Step 3: Now how do I... == &lt;br /&gt;
* [[MOD THE MAIN CAMPAIGN]]&lt;br /&gt;
* [[Modding visuals]]&lt;br /&gt;
* [[Change icons of statuses, skills, NPCs...]]&lt;br /&gt;
* [[Add player icons to select from]]&lt;br /&gt;
* [[Change 3D models]]&lt;br /&gt;
* [[Change a texture]]&lt;br /&gt;
* [[Change the atmosphere (lighting etc)]]&lt;br /&gt;
* [[Change animations]]&lt;br /&gt;
* [[Change existing materials, or create and assign new materials]]&lt;br /&gt;
* [[Change visual fx]]&lt;br /&gt;
* [[Change Balancing]]&lt;br /&gt;
* [[Change enemy and NPC stats and gear]]&lt;br /&gt;
* [[Change enemy behaviour and known skills]]&lt;br /&gt;
* [[Change base stats of player characters]]&lt;br /&gt;
* [[Change presets and create new presets (&amp;quot;classes&amp;quot;)]]&lt;br /&gt;
* [[Change player weapon and armour stats]]&lt;br /&gt;
* [[Change some exposed combat and gameplay variables]]&lt;br /&gt;
* [[Change the gold value of things]]&lt;br /&gt;
* [[Change what food and potions do]]&lt;br /&gt;
* [[Change crafting ingredients and results]]&lt;br /&gt;
* [[Change treasure settings of containers and characters]]&lt;br /&gt;
* [[Change trade inventories of characters]]&lt;br /&gt;
* [[Change magical properties of magic modifiers on generated items]]&lt;br /&gt;
* [[Change settings of magic generation of items]]&lt;br /&gt;
* [[Change some talent settings]]&lt;br /&gt;
* [[Change skill properties (e.g. damage, action points...)]]&lt;br /&gt;
* [[Change skill, crafting and item requirements; and talent requirements]]&lt;br /&gt;
* [[Change how statuses act and react]]&lt;br /&gt;
* [[Change some exposed surface settings]]&lt;br /&gt;
* [[Translate the game]]&lt;br /&gt;
* [[By using a loca kit, not the modding tool.]]&lt;br /&gt;
* [[Make one of those fancy camera-flies-through-the-level movies?]]&lt;br /&gt;
* [[Use splines!]]&lt;br /&gt;
* [[Change interactivity]]&lt;br /&gt;
* [[Change what items you can pick up and move]]&lt;br /&gt;
* [[Change what item tooltips are shown in the world]]&lt;br /&gt;
* [[Change how items behave when you destroy them]]&lt;br /&gt;
* [[Change, add, remove use actions on items]]&lt;br /&gt;
* [[Change text]]&lt;br /&gt;
* [[Add hints to the loading screen]]&lt;br /&gt;
* [[Change character names, item names and item descriptions]]&lt;br /&gt;
* [[Change contents of books]]&lt;br /&gt;
* [[Change dialogs]]&lt;br /&gt;
* [[Change journal entries]]&lt;br /&gt;
* [[Redecorate existing levels]]&lt;br /&gt;
* [[Move items and characters around]]&lt;br /&gt;
* [[Change the terrain]]&lt;br /&gt;
* [[Add books to the game]]&lt;br /&gt;
* [[Add keys to existing chests]]&lt;br /&gt;
* [[Add chests and containers to the game]]&lt;br /&gt;
* [[Add decorational items to the game]]&lt;br /&gt;
* [[Add weapons and armour to the game]]&lt;br /&gt;
* [[Change terrain]]&lt;br /&gt;
* [[Modify scripting]]&lt;br /&gt;
* [[Change story code]]&lt;br /&gt;
* [[Change behaviour script code]]&lt;br /&gt;
* [[ADD STUFF TO THE MAIN CAMPAIGN]]&lt;br /&gt;
== FAQ: Why can I not... == &lt;br /&gt;
* [[Add talents to the game?]]&lt;br /&gt;
* [[Talents are coded in C++. They usually override or change the gameplay rules in such a unique way, that it's not viable to create reusable templates and make them data driven.]]&lt;br /&gt;
* [[Change all sounds in the game?]]&lt;br /&gt;
* [[We use Wwise and sounds have to be added and processed in Wwise.]]&lt;br /&gt;
* [[Mod the UI?]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width: 50%;&amp;quot;&lt;br /&gt;
| tables&lt;br /&gt;
| are&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 30%;&amp;quot;|&lt;br /&gt;
hard&lt;br /&gt;
| yes&lt;br /&gt;
|-&lt;br /&gt;
| FAQ&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{category header|background-color=#E0E0E0|border-color=lightgray}}&lt;br /&gt;
{{category newcolumn|rowspan=1|width=50%|background-color=#F7F7F7|border-color=lightgray}}&lt;br /&gt;
&lt;br /&gt;
== Getting started ==&lt;br /&gt;
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Configuration_settings Configuration settings list]&lt;br /&gt;
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:FAQ MediaWiki FAQ]&lt;br /&gt;
* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce MediaWiki release mailing list]&lt;br /&gt;
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Localisation#Translation_resources Localise MediaWiki for your language]&lt;br /&gt;
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Combating_spam Learn how to combat spam on your wiki]&lt;/div&gt;</summary>
		<author><name>Larian octaaf</name></author>
	</entry>
	<entry>
		<id>https://docs.larian.game/index.php?title=Main_Page&amp;diff=110</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://docs.larian.game/index.php?title=Main_Page&amp;diff=110"/>
		<updated>2017-07-27T20:44:01Z</updated>

		<summary type="html">&lt;p&gt;Larian octaaf: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:editor.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Step 1: New Project - What type of project do I need? ==&lt;br /&gt;
* [[Campaign]]&lt;br /&gt;
* [[You want to create an entire story, with levels and fights and dialogues, and a lot of scripting.]]&lt;br /&gt;
* [[Add-on]]&lt;br /&gt;
* [[You want to modify non-story parts of the existing campaign or another mod.]]&lt;br /&gt;
* [[Story mod]]&lt;br /&gt;
* [[You want to change or add to the Divinity Original Sin 2 story code.]]&lt;br /&gt;
== Step 2: Load or Create Level ==&lt;br /&gt;
* [[Choose Level]]&lt;br /&gt;
* [[Load an existing level in your project or in the campaign]]&lt;br /&gt;
* [[Create New Level]]&lt;br /&gt;
* [[A fresh start.]]&lt;br /&gt;
* [[But I don't want to create or change a level: choose Sandbox]]&lt;br /&gt;
* [[Choose sandbox if you want to work on treasure, stats, textures, models...]]&lt;br /&gt;
== Step 3: Now how do I... == &lt;br /&gt;
* [[MOD THE MAIN CAMPAIGN]]&lt;br /&gt;
* [[Modding visuals]]&lt;br /&gt;
* [[Change icons of statuses, skills, NPCs...]]&lt;br /&gt;
* [[Add player icons to select from]]&lt;br /&gt;
* [[Change 3D models]]&lt;br /&gt;
* [[Change a texture]]&lt;br /&gt;
* [[Change the atmosphere (lighting etc)]]&lt;br /&gt;
* [[Change animations]]&lt;br /&gt;
* [[Change existing materials, or create and assign new materials]]&lt;br /&gt;
* [[Change visual fx]]&lt;br /&gt;
* [[Change Balancing]]&lt;br /&gt;
* [[Change enemy and NPC stats and gear]]&lt;br /&gt;
* [[Change enemy behaviour and known skills]]&lt;br /&gt;
* [[Change base stats of player characters]]&lt;br /&gt;
* [[Change presets and create new presets (&amp;quot;classes&amp;quot;)]]&lt;br /&gt;
* [[Change player weapon and armour stats]]&lt;br /&gt;
* [[Change some exposed combat and gameplay variables]]&lt;br /&gt;
* [[Change the gold value of things]]&lt;br /&gt;
* [[Change what food and potions do]]&lt;br /&gt;
* [[Change crafting ingredients and results]]&lt;br /&gt;
* [[Change treasure settings of containers and characters]]&lt;br /&gt;
* [[Change trade inventories of characters]]&lt;br /&gt;
* [[Change magical properties of magic modifiers on generated items]]&lt;br /&gt;
* [[Change settings of magic generation of items]]&lt;br /&gt;
* [[Change some talent settings]]&lt;br /&gt;
* [[Change skill properties (e.g. damage, action points...)]]&lt;br /&gt;
* [[Change skill, crafting and item requirements; and talent requirements]]&lt;br /&gt;
* [[Change how statuses act and react]]&lt;br /&gt;
* [[Change some exposed surface settings]]&lt;br /&gt;
* [[Translate the game]]&lt;br /&gt;
* [[By using a loca kit, not the modding tool.]]&lt;br /&gt;
* [[Make one of those fancy camera-flies-through-the-level movies?]]&lt;br /&gt;
* [[Use splines!]]&lt;br /&gt;
* [[Change interactivity]]&lt;br /&gt;
* [[Change what items you can pick up and move]]&lt;br /&gt;
* [[Change what item tooltips are shown in the world]]&lt;br /&gt;
* [[Change how items behave when you destroy them]]&lt;br /&gt;
* [[Change, add, remove use actions on items]]&lt;br /&gt;
* [[Change text]]&lt;br /&gt;
* [[Add hints to the loading screen]]&lt;br /&gt;
* [[Change character names, item names and item descriptions]]&lt;br /&gt;
* [[Change contents of books]]&lt;br /&gt;
* [[Change dialogs]]&lt;br /&gt;
* [[Change journal entries]]&lt;br /&gt;
* [[Redecorate existing levels]]&lt;br /&gt;
* [[Move items and characters around]]&lt;br /&gt;
* [[Change the terrain]]&lt;br /&gt;
* [[Add books to the game]]&lt;br /&gt;
* [[Add keys to existing chests]]&lt;br /&gt;
* [[Add chests and containers to the game]]&lt;br /&gt;
* [[Add decorational items to the game]]&lt;br /&gt;
* [[Add weapons and armour to the game]]&lt;br /&gt;
* [[Change terrain]]&lt;br /&gt;
* [[Modify scripting]]&lt;br /&gt;
* [[Change story code]]&lt;br /&gt;
* [[Change behaviour script code]]&lt;br /&gt;
* [[ADD STUFF TO THE MAIN CAMPAIGN]]&lt;br /&gt;
== FAQ: Why can I not... == &lt;br /&gt;
* [[Add talents to the game?]]&lt;br /&gt;
* [[Talents are coded in C++. They usually override or change the gameplay rules in such a unique way, that it's not viable to create reusable templates and make them data driven.]]&lt;br /&gt;
* [[Change all sounds in the game?]]&lt;br /&gt;
* [[We use Wwise and sounds have to be added and processed in Wwise.]]&lt;br /&gt;
* [[Mod the UI?]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width: 50%;&amp;quot;&lt;br /&gt;
| tables&lt;br /&gt;
| are&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 30%;&amp;quot;|&lt;br /&gt;
hard&lt;br /&gt;
| yes&lt;br /&gt;
|-&lt;br /&gt;
| FAQ&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{category header|background-color=#E0E0E0|border-color=lightgray}}&lt;br /&gt;
{{category newcolumn|rowspan=1|width=50%|background-color=#F7F7F7|border-color=lightgray}}&lt;br /&gt;
&lt;br /&gt;
== Getting started ==&lt;br /&gt;
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Configuration_settings Configuration settings list]&lt;br /&gt;
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:FAQ MediaWiki FAQ]&lt;br /&gt;
* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce MediaWiki release mailing list]&lt;br /&gt;
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Localisation#Translation_resources Localise MediaWiki for your language]&lt;br /&gt;
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Combating_spam Learn how to combat spam on your wiki]&lt;/div&gt;</summary>
		<author><name>Larian octaaf</name></author>
	</entry>
	<entry>
		<id>https://docs.larian.game/index.php?title=Mod_the_UI%3F&amp;diff=108</id>
		<title>Mod the UI?</title>
		<link rel="alternate" type="text/html" href="https://docs.larian.game/index.php?title=Mod_the_UI%3F&amp;diff=108"/>
		<updated>2017-07-27T20:38:37Z</updated>

		<summary type="html">&lt;p&gt;Larian octaaf: Created page with &amp;quot;1&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;1&lt;/div&gt;</summary>
		<author><name>Larian octaaf</name></author>
	</entry>
	<entry>
		<id>https://docs.larian.game/index.php?title=We_use_Wwise_and_sounds_have_to_be_added_and_processed_in_Wwise.&amp;diff=107</id>
		<title>We use Wwise and sounds have to be added and processed in Wwise.</title>
		<link rel="alternate" type="text/html" href="https://docs.larian.game/index.php?title=We_use_Wwise_and_sounds_have_to_be_added_and_processed_in_Wwise.&amp;diff=107"/>
		<updated>2017-07-27T20:38:35Z</updated>

		<summary type="html">&lt;p&gt;Larian octaaf: Created page with &amp;quot;1&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;1&lt;/div&gt;</summary>
		<author><name>Larian octaaf</name></author>
	</entry>
	<entry>
		<id>https://docs.larian.game/index.php?title=Change_all_sounds_in_the_game%3F&amp;diff=106</id>
		<title>Change all sounds in the game?</title>
		<link rel="alternate" type="text/html" href="https://docs.larian.game/index.php?title=Change_all_sounds_in_the_game%3F&amp;diff=106"/>
		<updated>2017-07-27T20:38:33Z</updated>

		<summary type="html">&lt;p&gt;Larian octaaf: Created page with &amp;quot;1&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;1&lt;/div&gt;</summary>
		<author><name>Larian octaaf</name></author>
	</entry>
	<entry>
		<id>https://docs.larian.game/index.php?title=Add_talents_to_the_game%3F&amp;diff=104</id>
		<title>Add talents to the game?</title>
		<link rel="alternate" type="text/html" href="https://docs.larian.game/index.php?title=Add_talents_to_the_game%3F&amp;diff=104"/>
		<updated>2017-07-27T20:38:30Z</updated>

		<summary type="html">&lt;p&gt;Larian octaaf: Created page with &amp;quot;1&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;1&lt;/div&gt;</summary>
		<author><name>Larian octaaf</name></author>
	</entry>
	<entry>
		<id>https://docs.larian.game/index.php?title=Main_Page&amp;diff=103</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://docs.larian.game/index.php?title=Main_Page&amp;diff=103"/>
		<updated>2017-07-27T20:38:27Z</updated>

		<summary type="html">&lt;p&gt;Larian octaaf: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Step 1: New Project - What type of project do I need? ==&lt;br /&gt;
* [[Campaign]]&lt;br /&gt;
* [[You want to create an entire story, with levels and fights and dialogues, and a lot of scripting.]]&lt;br /&gt;
* [[Add-on]]&lt;br /&gt;
* [[You want to modify non-story parts of the existing campaign or another mod.]]&lt;br /&gt;
* [[Story mod]]&lt;br /&gt;
* [[You want to change or add to the Divinity Original Sin 2 story code.]]&lt;br /&gt;
== Step 2: Load or Create Level ==&lt;br /&gt;
* [[Choose Level]]&lt;br /&gt;
* [[Load an existing level in your project or in the campaign]]&lt;br /&gt;
* [[Create New Level]]&lt;br /&gt;
* [[A fresh start.]]&lt;br /&gt;
* [[But I don't want to create or change a level: choose Sandbox]]&lt;br /&gt;
* [[Choose sandbox if you want to work on treasure, stats, textures, models...]]&lt;br /&gt;
== Step 3: Now how do I... == &lt;br /&gt;
* [[MOD THE MAIN CAMPAIGN]]&lt;br /&gt;
* [[Modding visuals]]&lt;br /&gt;
* [[Change icons of statuses, skills, NPCs...]]&lt;br /&gt;
* [[Add player icons to select from]]&lt;br /&gt;
* [[Change 3D models]]&lt;br /&gt;
* [[Change a texture]]&lt;br /&gt;
* [[Change the atmosphere (lighting etc)]]&lt;br /&gt;
* [[Change animations]]&lt;br /&gt;
* [[Change existing materials, or create and assign new materials]]&lt;br /&gt;
* [[Change visual fx]]&lt;br /&gt;
* [[Change Balancing]]&lt;br /&gt;
* [[Change enemy and NPC stats and gear]]&lt;br /&gt;
* [[Change enemy behaviour and known skills]]&lt;br /&gt;
* [[Change base stats of player characters]]&lt;br /&gt;
* [[Change presets and create new presets (&amp;quot;classes&amp;quot;)]]&lt;br /&gt;
* [[Change player weapon and armour stats]]&lt;br /&gt;
* [[Change some exposed combat and gameplay variables]]&lt;br /&gt;
* [[Change the gold value of things]]&lt;br /&gt;
* [[Change what food and potions do]]&lt;br /&gt;
* [[Change crafting ingredients and results]]&lt;br /&gt;
* [[Change treasure settings of containers and characters]]&lt;br /&gt;
* [[Change trade inventories of characters]]&lt;br /&gt;
* [[Change magical properties of magic modifiers on generated items]]&lt;br /&gt;
* [[Change settings of magic generation of items]]&lt;br /&gt;
* [[Change some talent settings]]&lt;br /&gt;
* [[Change skill properties (e.g. damage, action points...)]]&lt;br /&gt;
* [[Change skill, crafting and item requirements; and talent requirements]]&lt;br /&gt;
* [[Change how statuses act and react]]&lt;br /&gt;
* [[Change some exposed surface settings]]&lt;br /&gt;
* [[Translate the game]]&lt;br /&gt;
* [[By using a loca kit, not the modding tool.]]&lt;br /&gt;
* [[Make one of those fancy camera-flies-through-the-level movies?]]&lt;br /&gt;
* [[Use splines!]]&lt;br /&gt;
* [[Change interactivity]]&lt;br /&gt;
* [[Change what items you can pick up and move]]&lt;br /&gt;
* [[Change what item tooltips are shown in the world]]&lt;br /&gt;
* [[Change how items behave when you destroy them]]&lt;br /&gt;
* [[Change, add, remove use actions on items]]&lt;br /&gt;
* [[Change text]]&lt;br /&gt;
* [[Add hints to the loading screen]]&lt;br /&gt;
* [[Change character names, item names and item descriptions]]&lt;br /&gt;
* [[Change contents of books]]&lt;br /&gt;
* [[Change dialogs]]&lt;br /&gt;
* [[Change journal entries]]&lt;br /&gt;
* [[Redecorate existing levels]]&lt;br /&gt;
* [[Move items and characters around]]&lt;br /&gt;
* [[Change the terrain]]&lt;br /&gt;
* [[Add books to the game]]&lt;br /&gt;
* [[Add keys to existing chests]]&lt;br /&gt;
* [[Add chests and containers to the game]]&lt;br /&gt;
* [[Add decorational items to the game]]&lt;br /&gt;
* [[Add weapons and armour to the game]]&lt;br /&gt;
* [[Change terrain]]&lt;br /&gt;
* [[Modify scripting]]&lt;br /&gt;
* [[Change story code]]&lt;br /&gt;
* [[Change behaviour script code]]&lt;br /&gt;
* [[ADD STUFF TO THE MAIN CAMPAIGN]]&lt;br /&gt;
== FAQ: Why can I not... == &lt;br /&gt;
* [[Add talents to the game?]]&lt;br /&gt;
* [[Talents are coded in C++. They usually override or change the gameplay rules in such a unique way, that it's not viable to create reusable templates and make them data driven.]]&lt;br /&gt;
* [[Change all sounds in the game?]]&lt;br /&gt;
* [[We use Wwise and sounds have to be added and processed in Wwise.]]&lt;br /&gt;
* [[Mod the UI?]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width: 50%;&amp;quot;&lt;br /&gt;
| tables&lt;br /&gt;
| are&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 30%;&amp;quot;|&lt;br /&gt;
hard&lt;br /&gt;
| yes&lt;br /&gt;
|-&lt;br /&gt;
| FAQ&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{category header|background-color=#E0E0E0|border-color=lightgray}}&lt;br /&gt;
{{category newcolumn|rowspan=1|width=50%|background-color=#F7F7F7|border-color=lightgray}}&lt;br /&gt;
&lt;br /&gt;
== Getting started ==&lt;br /&gt;
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Configuration_settings Configuration settings list]&lt;br /&gt;
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:FAQ MediaWiki FAQ]&lt;br /&gt;
* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce MediaWiki release mailing list]&lt;br /&gt;
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Localisation#Translation_resources Localise MediaWiki for your language]&lt;br /&gt;
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Combating_spam Learn how to combat spam on your wiki]&lt;/div&gt;</summary>
		<author><name>Larian octaaf</name></author>
	</entry>
	<entry>
		<id>https://docs.larian.game/index.php?title=ADD_STUFF_TO_THE_MAIN_CAMPAIGN&amp;diff=102</id>
		<title>ADD STUFF TO THE MAIN CAMPAIGN</title>
		<link rel="alternate" type="text/html" href="https://docs.larian.game/index.php?title=ADD_STUFF_TO_THE_MAIN_CAMPAIGN&amp;diff=102"/>
		<updated>2017-07-27T20:37:43Z</updated>

		<summary type="html">&lt;p&gt;Larian octaaf: Created page with &amp;quot;1&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;1&lt;/div&gt;</summary>
		<author><name>Larian octaaf</name></author>
	</entry>
	<entry>
		<id>https://docs.larian.game/index.php?title=Change_behaviour_script_code&amp;diff=101</id>
		<title>Change behaviour script code</title>
		<link rel="alternate" type="text/html" href="https://docs.larian.game/index.php?title=Change_behaviour_script_code&amp;diff=101"/>
		<updated>2017-07-27T20:37:34Z</updated>

		<summary type="html">&lt;p&gt;Larian octaaf: Created page with &amp;quot;1&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;1&lt;/div&gt;</summary>
		<author><name>Larian octaaf</name></author>
	</entry>
	<entry>
		<id>https://docs.larian.game/index.php?title=Change_story_code&amp;diff=100</id>
		<title>Change story code</title>
		<link rel="alternate" type="text/html" href="https://docs.larian.game/index.php?title=Change_story_code&amp;diff=100"/>
		<updated>2017-07-27T20:37:32Z</updated>

		<summary type="html">&lt;p&gt;Larian octaaf: Created page with &amp;quot;1&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;1&lt;/div&gt;</summary>
		<author><name>Larian octaaf</name></author>
	</entry>
	<entry>
		<id>https://docs.larian.game/index.php?title=Modify_scripting&amp;diff=99</id>
		<title>Modify scripting</title>
		<link rel="alternate" type="text/html" href="https://docs.larian.game/index.php?title=Modify_scripting&amp;diff=99"/>
		<updated>2017-07-27T20:37:30Z</updated>

		<summary type="html">&lt;p&gt;Larian octaaf: Created page with &amp;quot;1&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;1&lt;/div&gt;</summary>
		<author><name>Larian octaaf</name></author>
	</entry>
	<entry>
		<id>https://docs.larian.game/index.php?title=Change_terrain&amp;diff=98</id>
		<title>Change terrain</title>
		<link rel="alternate" type="text/html" href="https://docs.larian.game/index.php?title=Change_terrain&amp;diff=98"/>
		<updated>2017-07-27T20:37:28Z</updated>

		<summary type="html">&lt;p&gt;Larian octaaf: Created page with &amp;quot;1&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;1&lt;/div&gt;</summary>
		<author><name>Larian octaaf</name></author>
	</entry>
	<entry>
		<id>https://docs.larian.game/index.php?title=Add_weapons_and_armour_to_the_game&amp;diff=97</id>
		<title>Add weapons and armour to the game</title>
		<link rel="alternate" type="text/html" href="https://docs.larian.game/index.php?title=Add_weapons_and_armour_to_the_game&amp;diff=97"/>
		<updated>2017-07-27T20:37:26Z</updated>

		<summary type="html">&lt;p&gt;Larian octaaf: Created page with &amp;quot;1&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;1&lt;/div&gt;</summary>
		<author><name>Larian octaaf</name></author>
	</entry>
	<entry>
		<id>https://docs.larian.game/index.php?title=Add_decorational_items_to_the_game&amp;diff=96</id>
		<title>Add decorational items to the game</title>
		<link rel="alternate" type="text/html" href="https://docs.larian.game/index.php?title=Add_decorational_items_to_the_game&amp;diff=96"/>
		<updated>2017-07-27T20:37:24Z</updated>

		<summary type="html">&lt;p&gt;Larian octaaf: Created page with &amp;quot;1&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;1&lt;/div&gt;</summary>
		<author><name>Larian octaaf</name></author>
	</entry>
	<entry>
		<id>https://docs.larian.game/index.php?title=Add_chests_and_containers_to_the_game&amp;diff=95</id>
		<title>Add chests and containers to the game</title>
		<link rel="alternate" type="text/html" href="https://docs.larian.game/index.php?title=Add_chests_and_containers_to_the_game&amp;diff=95"/>
		<updated>2017-07-27T20:37:23Z</updated>

		<summary type="html">&lt;p&gt;Larian octaaf: Created page with &amp;quot;1&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;1&lt;/div&gt;</summary>
		<author><name>Larian octaaf</name></author>
	</entry>
	<entry>
		<id>https://docs.larian.game/index.php?title=Add_keys_to_existing_chests&amp;diff=94</id>
		<title>Add keys to existing chests</title>
		<link rel="alternate" type="text/html" href="https://docs.larian.game/index.php?title=Add_keys_to_existing_chests&amp;diff=94"/>
		<updated>2017-07-27T20:37:20Z</updated>

		<summary type="html">&lt;p&gt;Larian octaaf: Created page with &amp;quot;1&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;1&lt;/div&gt;</summary>
		<author><name>Larian octaaf</name></author>
	</entry>
</feed>