<?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=Tinkerer</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=Tinkerer"/>
	<link rel="alternate" type="text/html" href="https://docs.larian.game/Special:Contributions/Tinkerer"/>
	<updated>2026-04-15T01:54:37Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.41.0</generator>
	<entry>
		<id>https://docs.larian.game/index.php?title=Osiris&amp;diff=6765</id>
		<title>Osiris</title>
		<link rel="alternate" type="text/html" href="https://docs.larian.game/index.php?title=Osiris&amp;diff=6765"/>
		<updated>2023-10-10T10:36:08Z</updated>

		<summary type="html">&lt;p&gt;Tinkerer: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{warning|In general, you '''''cannot''''' use Osiris scripting in Game Master mode. The reason is that when a Game Master mode savegame is loaded, all database facts from the savegame are deleted and the story is reinitialised from scratch. This was a conscious design decision of Game master Mode, because everything should be under direct control of the game master. You can use [[Scripting|behaviour scripts]], though.}}&lt;br /&gt;
&lt;br /&gt;
* [[Osiris_Overview|Osiris Overview]]&lt;br /&gt;
* [[Osiris_Design_Patterns|Osiris Design Patterns]]&lt;br /&gt;
* [[Osiris_Gotchas|Osiris Gotchas]]&lt;br /&gt;
* [[:Category:Osiris_APIs|Osiris API]]&lt;br /&gt;
&lt;br /&gt;
* [https://www.youtube.com/watch?v=6CNcQz7j5KY&amp;amp;list=PLE13woN-fNgu6IuHZguk-VJE6xWCHh9bJ&amp;amp;index=12 Osiris tutorial videos from DOS1] (the language has changed a little, but the base concepts are still the same and these videos are still 99% relevant; you can ignore the last one about dialogs, as the dialog system has changed completely)&lt;br /&gt;
&lt;br /&gt;
[[Category:Osiris]]&lt;/div&gt;</summary>
		<author><name>Tinkerer</name></author>
	</entry>
	<entry>
		<id>https://docs.larian.game/index.php?title=Osiris/API/ObjectReadyInCombat&amp;diff=6731</id>
		<title>Osiris/API/ObjectReadyInCombat</title>
		<link rel="alternate" type="text/html" href="https://docs.larian.game/index.php?title=Osiris/API/ObjectReadyInCombat&amp;diff=6731"/>
		<updated>2021-08-13T13:32:16Z</updated>

		<summary type="html">&lt;p&gt;Tinkerer: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===== Full Definition(s) =====&lt;br /&gt;
* event '''ObjectReadyInCombat'''(''(GUIDSTRING)'''''_Object''', ''(INTEGER)'''''_CombatID''')&lt;br /&gt;
===== Description =====&lt;br /&gt;
Thrown when an object (character or item) has entered a combat and all combat initialisation related to this object has finished.&lt;br /&gt;
===== Parameters =====&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;amp;gt; 0.&lt;br /&gt;
===== Notes =====&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 [[Osiris/API/JumpToTurn|JumpToTurn]] yet. If you wish to perform some action when a combat has completely started, use [[Osiris/API/CombatStarted|CombatStarted]] instead. Note that if the combat had already been fully setup before (i.e., a [[Osiris/API/CombatStarted|CombatStarted]] event was already thrown for this combat in the past), no new [[Osiris/API/CombatStarted|CombatStarted]] event will be thrown due to this object entering.&lt;br /&gt;
* In practice, this event is useful to determine when you can use [[Osiris/API/JumpToTurn|JumpToTurn]] for objects joining an already ongoing combat. If you wish to use that API on objects joining a combat that has not yet started, you must wait until after the [[Osiris/API/CombatStarted|CombatStarted]] event.&lt;br /&gt;
===== See Also =====&lt;br /&gt;
* [[Osiris/API/CombatStarted|CombatStarted]]&lt;br /&gt;
* [[Osiris/API/ObjectEnteredCombat|ObjectEnteredCombat]]&lt;br /&gt;
* [[Osiris/API/ObjectLeftCombat|ObjectLeftCombat]]&lt;br /&gt;
 &lt;br /&gt;
[[Category:Osiris Events|ObjectReadyInCombat]]&lt;/div&gt;</summary>
		<author><name>Tinkerer</name></author>
	</entry>
	<entry>
		<id>https://docs.larian.game/index.php?title=Osiris/API/ItemSetStoryItem&amp;diff=6730</id>
		<title>Osiris/API/ItemSetStoryItem</title>
		<link rel="alternate" type="text/html" href="https://docs.larian.game/index.php?title=Osiris/API/ItemSetStoryItem&amp;diff=6730"/>
		<updated>2021-07-12T09:51:26Z</updated>

		<summary type="html">&lt;p&gt;Tinkerer: /* Full Definition(s) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===== Full Definition(s) =====&lt;br /&gt;
* call '''ItemSetStoryItem'''(''(ITEMGUID)'''''_Item''', ''(INTEGER)'''''_Bool''')&lt;br /&gt;
&lt;br /&gt;
===== Description =====&lt;br /&gt;
Sets or clears the ''story item'' flag on an item. When an item is a story item, the following special behaviours apply to it:&lt;br /&gt;
* it cannot be marked as wares, nor can any container that contains it be marked as wares, nor can it be added to the wares when picking it up&lt;br /&gt;
* it is marked as a quest item in the UI&lt;br /&gt;
* it cannot be traded to an NPC, and NPCs won't sell it either&lt;br /&gt;
* NPCs will never consume the item (e.g. in combat)&lt;br /&gt;
* When a trader NPC dies, its inventory will normally be culled except for the top five most expensive items. Story items, however, will never be deleted in this process.&lt;br /&gt;
* It changes the alignment of the item to &amp;quot;Story&amp;quot;, which is always forced to be neutral to all other alignments. This forced alignment change will be removed in future games, but not in DOS2&lt;br /&gt;
===== Notes =====&lt;br /&gt;
* An item can also be marked as a story item in the properties of the item via the editor's sidebar.&lt;br /&gt;
* The [[Osiris/API/TransferItemsToCharacter|TransferItemsToCharacter]], [[Osiris/API/TransferItemsToParty|TransferItemsToParty]], and [[Osiris/API/TransferItemsToUser|TransferItemsToUser]] APIs will only transfer story items&lt;br /&gt;
===== See Also =====&lt;br /&gt;
* [[Osiris/API/ItemIsStoryItem|ItemIsStoryItem]]&lt;br /&gt;
* [[Osiris/API/TransferItemsToCharacter|TransferItemsToCharacter]]&lt;br /&gt;
* [[Osiris/API/TransferItemsToParty|TransferItemsToParty]]&lt;br /&gt;
* [[Osiris/API/TransferItemsToUser|TransferItemsToUser]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Osiris Calls|ItemSetStoryItem]]&lt;/div&gt;</summary>
		<author><name>Tinkerer</name></author>
	</entry>
	<entry>
		<id>https://docs.larian.game/index.php?title=Osiris/Shared/PROC_StopFollow&amp;diff=6729</id>
		<title>Osiris/Shared/PROC StopFollow</title>
		<link rel="alternate" type="text/html" href="https://docs.larian.game/index.php?title=Osiris/Shared/PROC_StopFollow&amp;diff=6729"/>
		<updated>2021-03-19T14:40:36Z</updated>

		<summary type="html">&lt;p&gt;Tinkerer: Blanked the page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Tinkerer</name></author>
	</entry>
	<entry>
		<id>https://docs.larian.game/index.php?title=Osiris/Shared/ProcCharacterStopFollow&amp;diff=6728</id>
		<title>Osiris/Shared/ProcCharacterStopFollow</title>
		<link rel="alternate" type="text/html" href="https://docs.larian.game/index.php?title=Osiris/Shared/ProcCharacterStopFollow&amp;diff=6728"/>
		<updated>2021-03-19T14:40:28Z</updated>

		<summary type="html">&lt;p&gt;Tinkerer: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===== Full Definition(s) =====&lt;br /&gt;
* PROC '''ProcCharacterStopFollow'''(''(CHARACTERGUID)'''''_Char''')&lt;br /&gt;
===== Description =====&lt;br /&gt;
Counterpart of [[Osiris/Shared/ProcCharacterFollowCharacter|ProcCharacterFollowCharacter]].&lt;br /&gt;
===== Return Values =====&lt;br /&gt;
* /&amp;lt;u&amp;gt; &amp;lt;/u&amp;gt;&lt;br /&gt;
===== Notes =====&lt;br /&gt;
* /&lt;br /&gt;
===== See Also =====&lt;br /&gt;
* [[Osiris/API/CharacterStopFollow|CharacterStopFollow]]&lt;br /&gt;
* Helper [[Osiris/Shared/ProcCharacterFollowCharacter|ProcCharacterFollowCharacter]]&lt;br /&gt;
 &lt;br /&gt;
[[Category:Osiris Shared Mod Helpers|CharacterStopFollow]]&lt;/div&gt;</summary>
		<author><name>Tinkerer</name></author>
	</entry>
	<entry>
		<id>https://docs.larian.game/index.php?title=Osiris/Shared/PROC_Follow&amp;diff=6727</id>
		<title>Osiris/Shared/PROC Follow</title>
		<link rel="alternate" type="text/html" href="https://docs.larian.game/index.php?title=Osiris/Shared/PROC_Follow&amp;diff=6727"/>
		<updated>2021-03-19T14:39:40Z</updated>

		<summary type="html">&lt;p&gt;Tinkerer: Blanked the page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Tinkerer</name></author>
	</entry>
	<entry>
		<id>https://docs.larian.game/index.php?title=Osiris/Shared/ProcCharacterFollowCharacter&amp;diff=6726</id>
		<title>Osiris/Shared/ProcCharacterFollowCharacter</title>
		<link rel="alternate" type="text/html" href="https://docs.larian.game/index.php?title=Osiris/Shared/ProcCharacterFollowCharacter&amp;diff=6726"/>
		<updated>2021-03-19T14:39:37Z</updated>

		<summary type="html">&lt;p&gt;Tinkerer: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===== Full Definition(s) =====&lt;br /&gt;
* PROC '''ProcCharacterFollowCharacter'''(''(CHARACTERGUID)'''''_Char''',''(CHARACTERGUID)'''''_Target''')&lt;br /&gt;
===== Description =====&lt;br /&gt;
Same as the Osiris call [[Osiris/API/CharacterFollowCharacter|CharacterFollowCharacter]], except that it also first automatically cancels '''_Char''' from following if it was already following someone else. Additionally, it stops the following behaviour when '''_Char''' gets involved in combat and resumes it afterwards.&lt;br /&gt;
&lt;br /&gt;
===== Notes =====&lt;br /&gt;
* Stop following through [[Osiris/Shared/ProcCharacterStopFollow|ProcCharacterStopFollow]].&lt;br /&gt;
&lt;br /&gt;
===== See Also =====&lt;br /&gt;
* [[Osiris/API/CharacterFollowCharacter|CharacterFollowCharacter]]&lt;br /&gt;
* Helper [[Osiris/Shared/ProcCharacterStopFollow|ProcCharacterStopFollow]]&lt;br /&gt;
 &lt;br /&gt;
[[Category:Osiris Shared Mod Helpers|CharacterFollowCharacter]]&lt;/div&gt;</summary>
		<author><name>Tinkerer</name></author>
	</entry>
	<entry>
		<id>https://docs.larian.game/index.php?title=Osiris/Shared/PROC_Follow&amp;diff=6725</id>
		<title>Osiris/Shared/PROC Follow</title>
		<link rel="alternate" type="text/html" href="https://docs.larian.game/index.php?title=Osiris/Shared/PROC_Follow&amp;diff=6725"/>
		<updated>2021-03-19T12:34:36Z</updated>

		<summary type="html">&lt;p&gt;Tinkerer: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===== Full Definition(s) =====&lt;br /&gt;
* PROC '''ProcCharacterFollowCharacter'''(''(CHARACTERGUID)'''''_Char''',''(CHARACTERGUID)'''''_Target''')&lt;br /&gt;
===== Description =====&lt;br /&gt;
Same as the Osiris call [[Osiris/API/CharacterFollowCharacter|CharacterFollowCharacter]], except that it also first automatically cancels '''_Char''' from following if it was already following someone else. Additionally, it stops the following behaviour when '''_Char''' gets involved in combat and resumes it afterwards.&lt;br /&gt;
&lt;br /&gt;
===== Notes =====&lt;br /&gt;
* Stop following through [[Osiris/Shared/ProcCharacterStopFollow|ProcCharacterStopFollow]].&lt;br /&gt;
&lt;br /&gt;
===== See Also =====&lt;br /&gt;
* [[Osiris/API/CharacterFollowCharacter|CharacterFollowCharacter]]&lt;br /&gt;
* Helper [[Osiris/Shared/ProcCharacterStopFollow|ProcCharacterStopFollow]]&lt;br /&gt;
 &lt;br /&gt;
[[Category:Osiris Shared Mod Helpers|CharacterFollowCharacter]]&lt;/div&gt;</summary>
		<author><name>Tinkerer</name></author>
	</entry>
	<entry>
		<id>https://docs.larian.game/index.php?title=Osiris/Shared/PROC_Follow&amp;diff=6724</id>
		<title>Osiris/Shared/PROC Follow</title>
		<link rel="alternate" type="text/html" href="https://docs.larian.game/index.php?title=Osiris/Shared/PROC_Follow&amp;diff=6724"/>
		<updated>2021-03-19T12:34:20Z</updated>

		<summary type="html">&lt;p&gt;Tinkerer: Blanked the page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Tinkerer</name></author>
	</entry>
	<entry>
		<id>https://docs.larian.game/index.php?title=Osiris/Shared/PROC_StopFollow&amp;diff=6723</id>
		<title>Osiris/Shared/PROC StopFollow</title>
		<link rel="alternate" type="text/html" href="https://docs.larian.game/index.php?title=Osiris/Shared/PROC_StopFollow&amp;diff=6723"/>
		<updated>2021-03-19T12:33:19Z</updated>

		<summary type="html">&lt;p&gt;Tinkerer: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===== Full Definition(s) =====&lt;br /&gt;
* PROC '''ProcCharacterStopFollow'''(''(CHARACTERGUID)'''''_Char''')&lt;br /&gt;
===== Description =====&lt;br /&gt;
Counterpart of [[Osiris/Shared/ProcCharacterFollowCharacter|ProcCharacterFollowCharacter]].&lt;br /&gt;
===== Return Values =====&lt;br /&gt;
* /&amp;lt;u&amp;gt; &amp;lt;/u&amp;gt;&lt;br /&gt;
===== Notes =====&lt;br /&gt;
* /&lt;br /&gt;
===== See Also =====&lt;br /&gt;
* [[Osiris/API/CharacterStopFollow|CharacterStopFollow]]&lt;br /&gt;
* Helper [[Osiris/Shared/ProcCharacterFollowCharacter|ProcCharacterFollowCharacter]]&lt;br /&gt;
 &lt;br /&gt;
[[Category:Osiris Shared Mod Helpers|CharacterStopFollow]]&lt;/div&gt;</summary>
		<author><name>Tinkerer</name></author>
	</entry>
	<entry>
		<id>https://docs.larian.game/index.php?title=Osiris/Shared/PROC_StopFollow&amp;diff=6722</id>
		<title>Osiris/Shared/PROC StopFollow</title>
		<link rel="alternate" type="text/html" href="https://docs.larian.game/index.php?title=Osiris/Shared/PROC_StopFollow&amp;diff=6722"/>
		<updated>2021-03-19T12:32:31Z</updated>

		<summary type="html">&lt;p&gt;Tinkerer: Blanked the page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Tinkerer</name></author>
	</entry>
	<entry>
		<id>https://docs.larian.game/index.php?title=Osiris/API/CharacterStopFollow&amp;diff=6721</id>
		<title>Osiris/API/CharacterStopFollow</title>
		<link rel="alternate" type="text/html" href="https://docs.larian.game/index.php?title=Osiris/API/CharacterStopFollow&amp;diff=6721"/>
		<updated>2021-03-19T12:31:29Z</updated>

		<summary type="html">&lt;p&gt;Tinkerer: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===== Full Definition(s) =====&lt;br /&gt;
* call '''CharacterStopFollow'''(''(CHARACTERGUID)'''''_Character''')&lt;br /&gt;
===== Description =====&lt;br /&gt;
Stop '''_Character''' from following another character, if it currently was following anyone.&lt;br /&gt;
===== Notes =====&lt;br /&gt;
* See [[Osiris/API/CharacterFollowCharacter]]&lt;br /&gt;
===== See Also =====&lt;br /&gt;
* [[Osiris/API/CharacterFollowCharacter|CharacterFollowCharacter]]&lt;br /&gt;
* Helper [[Osiris/Shared/ProcCharacterStopFollow|ProcCharacterStopFollow]]&lt;br /&gt;
 &lt;br /&gt;
[[Category:Osiris Calls|CharacterStopFollow]]&lt;/div&gt;</summary>
		<author><name>Tinkerer</name></author>
	</entry>
	<entry>
		<id>https://docs.larian.game/index.php?title=Osiris/API/StopFollow&amp;diff=6720</id>
		<title>Osiris/API/StopFollow</title>
		<link rel="alternate" type="text/html" href="https://docs.larian.game/index.php?title=Osiris/API/StopFollow&amp;diff=6720"/>
		<updated>2021-03-19T12:31:17Z</updated>

		<summary type="html">&lt;p&gt;Tinkerer: Blanked the page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Tinkerer</name></author>
	</entry>
	<entry>
		<id>https://docs.larian.game/index.php?title=Osiris/API/CharacterFollowCharacter&amp;diff=6719</id>
		<title>Osiris/API/CharacterFollowCharacter</title>
		<link rel="alternate" type="text/html" href="https://docs.larian.game/index.php?title=Osiris/API/CharacterFollowCharacter&amp;diff=6719"/>
		<updated>2021-03-19T12:29:44Z</updated>

		<summary type="html">&lt;p&gt;Tinkerer: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===== Full Definition(s) =====&lt;br /&gt;
* call  '''CharacterFollowCharacter'''(''(CHARACTERGUID)'''''_Character''', ''(CHARACTERGUID'')'''''_ToCharacter''')&lt;br /&gt;
&lt;br /&gt;
===== Description =====&lt;br /&gt;
Makes '''_Character''' start following '''_ToCharacter'''.&lt;br /&gt;
&lt;br /&gt;
===== Notes =====&lt;br /&gt;
* Preferably use [[Osiris/Shared/ProcCharacterFollowCharacter|ProcCharacterFollowCharacter]] from the Shared mod. This will ensure that '''_Character''''s following behaviour gets suspended when it enters combat, and resumed afterwards.&lt;br /&gt;
* Use [[Osiris/API/CharacterStopFollow|CharacterStopFollow]] to stop the following behaviour (or [[Osiris/Shared/ProcCharacterStopFollow|ProcCharacterStopFollow]] if you used [[Osiris/Shared/ProcCharacterFollowCharacter|ProcCharacterFollowCharacter]]).&lt;br /&gt;
* Make sure to stop following a previous character before starting to follow a new one. [[Osiris/Shared/ProcCharacterFollowCharacter|ProcCharacterFollowCharacter]] will automatically take care of this.&lt;br /&gt;
* Note that this call does ''not'' turn '''_Character''' in a so-called &amp;quot;party follower&amp;quot; or minion, which is done via [[Osiris/API/CharacterAddToPlayerCharacter|CharacterAddToPlayerCharacter]]. The difference between &amp;quot;regular followers&amp;quot; (as created by this routine) and party followers/minions is that regular followers simply follow any other character around (you can have one NPC follow another one, if you want), while party followers/minions always follow a player-controlled character and can be partially controlled by the [[Osiris/API/CharacterGetReservedUserID|user]] that controls this player character.&lt;br /&gt;
&lt;br /&gt;
===== See Also =====&lt;br /&gt;
* [[Osiris/API/CharacterAddToPlayerCharacter|CharacterAddToPlayerCharacter]]&lt;br /&gt;
* [[Osiris/API/CharacterStopFollow|CharacterStopFollow]]&lt;br /&gt;
* Helper [[Osiris/Shared/ProcCharacterFollowCharacter|ProcCharacterFollowCharacter]]&lt;br /&gt;
* Helper [[Osiris/Shared/ProcCharacterStopFollow|ProcCharacterStopFollow]]&lt;br /&gt;
 &lt;br /&gt;
[[Category:Osiris Calls|CharacterFollowCharacter]]&lt;/div&gt;</summary>
		<author><name>Tinkerer</name></author>
	</entry>
	<entry>
		<id>https://docs.larian.game/index.php?title=Osiris/API/Follow&amp;diff=6718</id>
		<title>Osiris/API/Follow</title>
		<link rel="alternate" type="text/html" href="https://docs.larian.game/index.php?title=Osiris/API/Follow&amp;diff=6718"/>
		<updated>2021-03-19T12:29:33Z</updated>

		<summary type="html">&lt;p&gt;Tinkerer: Blanked the page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Tinkerer</name></author>
	</entry>
	<entry>
		<id>https://docs.larian.game/index.php?title=Osiris/Shared/PROC_StopFollow&amp;diff=6717</id>
		<title>Osiris/Shared/PROC StopFollow</title>
		<link rel="alternate" type="text/html" href="https://docs.larian.game/index.php?title=Osiris/Shared/PROC_StopFollow&amp;diff=6717"/>
		<updated>2021-03-19T12:26:05Z</updated>

		<summary type="html">&lt;p&gt;Tinkerer: Updated for bg3&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===== Full Definition(s) =====&lt;br /&gt;
* PROC '''PROC_StopFollow'''(''(CHARACTER)'''''_Char''')&lt;br /&gt;
===== Description =====&lt;br /&gt;
Counterpart of [[Osiris/Shared/PROC_Follow|PROC_Follow]].&lt;br /&gt;
===== Notes =====&lt;br /&gt;
&lt;br /&gt;
===== See Also =====&lt;br /&gt;
* [[Osiris/API/StopFollow|StopFollow]]&lt;br /&gt;
* Helper [[Osiris/Shared/PROC_Follow|PROC_Follow]]&lt;br /&gt;
 &lt;br /&gt;
[[Category:Osiris Shared Mod Helpers|StopFollow]]&lt;/div&gt;</summary>
		<author><name>Tinkerer</name></author>
	</entry>
	<entry>
		<id>https://docs.larian.game/index.php?title=Osiris/Shared/ProcCharacterStopFollow&amp;diff=6716</id>
		<title>Osiris/Shared/ProcCharacterStopFollow</title>
		<link rel="alternate" type="text/html" href="https://docs.larian.game/index.php?title=Osiris/Shared/ProcCharacterStopFollow&amp;diff=6716"/>
		<updated>2021-03-19T12:24:50Z</updated>

		<summary type="html">&lt;p&gt;Tinkerer: Tinkerer moved page Osiris/Shared/ProcCharacterStopFollow to Osiris/Shared/PROC StopFollow: bg3 renames&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[Osiris/Shared/PROC StopFollow]]&lt;/div&gt;</summary>
		<author><name>Tinkerer</name></author>
	</entry>
	<entry>
		<id>https://docs.larian.game/index.php?title=Osiris/Shared/PROC_StopFollow&amp;diff=6715</id>
		<title>Osiris/Shared/PROC StopFollow</title>
		<link rel="alternate" type="text/html" href="https://docs.larian.game/index.php?title=Osiris/Shared/PROC_StopFollow&amp;diff=6715"/>
		<updated>2021-03-19T12:24:50Z</updated>

		<summary type="html">&lt;p&gt;Tinkerer: Tinkerer moved page Osiris/Shared/ProcCharacterStopFollow to Osiris/Shared/PROC StopFollow: bg3 renames&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===== Full Definition(s) =====&lt;br /&gt;
* PROC '''ProcCharacterStopFollow'''(''(CHARACTERGUID)'''''_Char''')&lt;br /&gt;
===== Description =====&lt;br /&gt;
Counterpart of [[Osiris/Shared/ProcCharacterFollowCharacter|ProcCharacterFollowCharacter]].&lt;br /&gt;
===== Return Values =====&lt;br /&gt;
* /&amp;lt;u&amp;gt; &amp;lt;/u&amp;gt;&lt;br /&gt;
===== Notes =====&lt;br /&gt;
* /&lt;br /&gt;
===== See Also =====&lt;br /&gt;
* [[Osiris/API/CharacterStopFollow|CharacterStopFollow]]&lt;br /&gt;
* Helper [[Osiris/Shared/ProcCharacterFollowCharacter|ProcCharacterFollowCharacter]]&lt;br /&gt;
 &lt;br /&gt;
[[Category:Osiris Shared Mod Helpers|CharacterStopFollow]]&lt;/div&gt;</summary>
		<author><name>Tinkerer</name></author>
	</entry>
	<entry>
		<id>https://docs.larian.game/index.php?title=Osiris/Shared/PROC_Follow&amp;diff=6714</id>
		<title>Osiris/Shared/PROC Follow</title>
		<link rel="alternate" type="text/html" href="https://docs.larian.game/index.php?title=Osiris/Shared/PROC_Follow&amp;diff=6714"/>
		<updated>2021-03-19T12:24:36Z</updated>

		<summary type="html">&lt;p&gt;Tinkerer: Updated for bg3&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===== Full Definition(s) =====&lt;br /&gt;
* PROC '''PROC_Follow'''(''(CHARACTER)'''''_Char''',''(CHARACTER)'''''_Target''')&lt;br /&gt;
===== Description =====&lt;br /&gt;
Same as the Osiris call [[Osiris/API/Follow|Follow]], except that it also first automatically cancels '''_Char''' from following if it was already following someone else. Additionally, it stops the following behaviour when '''_Char''' gets involved in combat and resumes it afterwards.&lt;br /&gt;
&lt;br /&gt;
===== Notes =====&lt;br /&gt;
* Stop following through [[Osiris/Shared/PROC_StopFollow|PROC_StopFollow]].&lt;br /&gt;
&lt;br /&gt;
===== See Also =====&lt;br /&gt;
* [[Osiris/API/Follow|Follow]]&lt;br /&gt;
* Helper [[Osiris/Shared/PROC_StopFollow|PROC_StopFollow]]&lt;br /&gt;
 &lt;br /&gt;
[[Category:Osiris Shared Mod Helpers|Follow]]&lt;/div&gt;</summary>
		<author><name>Tinkerer</name></author>
	</entry>
	<entry>
		<id>https://docs.larian.game/index.php?title=Osiris/Shared/ProcCharacterFollowCharacter&amp;diff=6713</id>
		<title>Osiris/Shared/ProcCharacterFollowCharacter</title>
		<link rel="alternate" type="text/html" href="https://docs.larian.game/index.php?title=Osiris/Shared/ProcCharacterFollowCharacter&amp;diff=6713"/>
		<updated>2021-03-19T12:23:28Z</updated>

		<summary type="html">&lt;p&gt;Tinkerer: typo fix&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[Osiris/Shared/PROC Follow]]&lt;/div&gt;</summary>
		<author><name>Tinkerer</name></author>
	</entry>
	<entry>
		<id>https://docs.larian.game/index.php?title=Osiris/Shared/PROC_Followe&amp;diff=6712</id>
		<title>Osiris/Shared/PROC Followe</title>
		<link rel="alternate" type="text/html" href="https://docs.larian.game/index.php?title=Osiris/Shared/PROC_Followe&amp;diff=6712"/>
		<updated>2021-03-19T12:22:55Z</updated>

		<summary type="html">&lt;p&gt;Tinkerer: Tinkerer moved page Osiris/Shared/PROC Followe to Osiris/Shared/PROC Follow: typo fix&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[Osiris/Shared/PROC Follow]]&lt;/div&gt;</summary>
		<author><name>Tinkerer</name></author>
	</entry>
	<entry>
		<id>https://docs.larian.game/index.php?title=Osiris/Shared/PROC_Follow&amp;diff=6711</id>
		<title>Osiris/Shared/PROC Follow</title>
		<link rel="alternate" type="text/html" href="https://docs.larian.game/index.php?title=Osiris/Shared/PROC_Follow&amp;diff=6711"/>
		<updated>2021-03-19T12:22:55Z</updated>

		<summary type="html">&lt;p&gt;Tinkerer: Tinkerer moved page Osiris/Shared/PROC Followe to Osiris/Shared/PROC Follow: typo fix&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===== Full Definition(s) =====&lt;br /&gt;
* PROC '''ProcCharacterFollowCharacter'''(''(CHARACTERGUID)'''''_Char''',''(CHARACTERGUID)'''''_Target''')&lt;br /&gt;
===== Description =====&lt;br /&gt;
Same as the Osiris call [[Osiris/API/CharacterFollowCharacter|CharacterFollowCharacter]], except that it also first automatically cancels '''_Char''' from following if it was already following someone else. Additionally, it stops the following behaviour when '''_Char''' gets involved in combat and resumes it afterwards.&lt;br /&gt;
&lt;br /&gt;
===== Notes =====&lt;br /&gt;
* Stop following through [[Osiris/Shared/ProcCharacterStopFollow|ProcCharacterStopFollow]].&lt;br /&gt;
&lt;br /&gt;
===== See Also =====&lt;br /&gt;
* [[Osiris/API/CharacterFollowCharacter|CharacterFollowCharacter]]&lt;br /&gt;
* Helper [[Osiris/Shared/ProcCharacterStopFollow|ProcCharacterStopFollow]]&lt;br /&gt;
 &lt;br /&gt;
[[Category:Osiris Shared Mod Helpers|CharacterFollowCharacter]]&lt;/div&gt;</summary>
		<author><name>Tinkerer</name></author>
	</entry>
	<entry>
		<id>https://docs.larian.game/index.php?title=Osiris/Shared/ProcCharacterFollowCharacter&amp;diff=6710</id>
		<title>Osiris/Shared/ProcCharacterFollowCharacter</title>
		<link rel="alternate" type="text/html" href="https://docs.larian.game/index.php?title=Osiris/Shared/ProcCharacterFollowCharacter&amp;diff=6710"/>
		<updated>2021-03-19T12:22:43Z</updated>

		<summary type="html">&lt;p&gt;Tinkerer: Tinkerer moved page Osiris/Shared/ProcCharacterFollowCharacter to Osiris/Shared/PROC Followe: bg3 renames&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[Osiris/Shared/PROC Followe]]&lt;/div&gt;</summary>
		<author><name>Tinkerer</name></author>
	</entry>
	<entry>
		<id>https://docs.larian.game/index.php?title=Osiris/Shared/PROC_Follow&amp;diff=6709</id>
		<title>Osiris/Shared/PROC Follow</title>
		<link rel="alternate" type="text/html" href="https://docs.larian.game/index.php?title=Osiris/Shared/PROC_Follow&amp;diff=6709"/>
		<updated>2021-03-19T12:22:43Z</updated>

		<summary type="html">&lt;p&gt;Tinkerer: Tinkerer moved page Osiris/Shared/ProcCharacterFollowCharacter to Osiris/Shared/PROC Followe: bg3 renames&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===== Full Definition(s) =====&lt;br /&gt;
* PROC '''ProcCharacterFollowCharacter'''(''(CHARACTERGUID)'''''_Char''',''(CHARACTERGUID)'''''_Target''')&lt;br /&gt;
===== Description =====&lt;br /&gt;
Same as the Osiris call [[Osiris/API/CharacterFollowCharacter|CharacterFollowCharacter]], except that it also first automatically cancels '''_Char''' from following if it was already following someone else. Additionally, it stops the following behaviour when '''_Char''' gets involved in combat and resumes it afterwards.&lt;br /&gt;
&lt;br /&gt;
===== Notes =====&lt;br /&gt;
* Stop following through [[Osiris/Shared/ProcCharacterStopFollow|ProcCharacterStopFollow]].&lt;br /&gt;
&lt;br /&gt;
===== See Also =====&lt;br /&gt;
* [[Osiris/API/CharacterFollowCharacter|CharacterFollowCharacter]]&lt;br /&gt;
* Helper [[Osiris/Shared/ProcCharacterStopFollow|ProcCharacterStopFollow]]&lt;br /&gt;
 &lt;br /&gt;
[[Category:Osiris Shared Mod Helpers|CharacterFollowCharacter]]&lt;/div&gt;</summary>
		<author><name>Tinkerer</name></author>
	</entry>
	<entry>
		<id>https://docs.larian.game/index.php?title=Osiris/API/StopFollow&amp;diff=6708</id>
		<title>Osiris/API/StopFollow</title>
		<link rel="alternate" type="text/html" href="https://docs.larian.game/index.php?title=Osiris/API/StopFollow&amp;diff=6708"/>
		<updated>2021-03-19T12:22:30Z</updated>

		<summary type="html">&lt;p&gt;Tinkerer: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===== Full Definition(s) =====&lt;br /&gt;
* call '''StopFollow'''(''(CHARACTERGUID)'''''_Follower''')&lt;br /&gt;
===== Description =====&lt;br /&gt;
Stop '''_Follower''' from following another character, if it currently was following anyone.&lt;br /&gt;
===== Notes =====&lt;br /&gt;
* See [[Osiris/API/Follow]]&lt;br /&gt;
===== See Also =====&lt;br /&gt;
* [[Osiris/API/Follow|Follow]]&lt;br /&gt;
* Helper [[Osiris/Shared/PROC_StopFollow|PROC_StopFollow]]&lt;br /&gt;
 &lt;br /&gt;
[[Category:Osiris Calls|StopFollow]]&lt;/div&gt;</summary>
		<author><name>Tinkerer</name></author>
	</entry>
	<entry>
		<id>https://docs.larian.game/index.php?title=Osiris/API/CharacterStopFollow&amp;diff=6707</id>
		<title>Osiris/API/CharacterStopFollow</title>
		<link rel="alternate" type="text/html" href="https://docs.larian.game/index.php?title=Osiris/API/CharacterStopFollow&amp;diff=6707"/>
		<updated>2021-03-19T12:22:22Z</updated>

		<summary type="html">&lt;p&gt;Tinkerer: Tinkerer moved page Osiris/API/CharacterStopFollow to Osiris/API/StopFollow: bg3 renames&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[Osiris/API/StopFollow]]&lt;/div&gt;</summary>
		<author><name>Tinkerer</name></author>
	</entry>
	<entry>
		<id>https://docs.larian.game/index.php?title=Osiris/API/StopFollow&amp;diff=6706</id>
		<title>Osiris/API/StopFollow</title>
		<link rel="alternate" type="text/html" href="https://docs.larian.game/index.php?title=Osiris/API/StopFollow&amp;diff=6706"/>
		<updated>2021-03-19T12:22:22Z</updated>

		<summary type="html">&lt;p&gt;Tinkerer: Tinkerer moved page Osiris/API/CharacterStopFollow to Osiris/API/StopFollow: bg3 renames&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===== Full Definition(s) =====&lt;br /&gt;
* call '''CharacterStopFollow'''(''(CHARACTERGUID)'''''_Character''')&lt;br /&gt;
===== Description =====&lt;br /&gt;
Stop '''_Character''' from following another character, if it currently was following anyone.&lt;br /&gt;
===== Notes =====&lt;br /&gt;
* See [[Osiris/API/CharacterFollowCharacter]]&lt;br /&gt;
===== See Also =====&lt;br /&gt;
* [[Osiris/API/CharacterFollowCharacter|CharacterFollowCharacter]]&lt;br /&gt;
* Helper [[Osiris/Shared/ProcCharacterStopFollow|ProcCharacterStopFollow]]&lt;br /&gt;
 &lt;br /&gt;
[[Category:Osiris Calls|CharacterStopFollow]]&lt;/div&gt;</summary>
		<author><name>Tinkerer</name></author>
	</entry>
	<entry>
		<id>https://docs.larian.game/index.php?title=Osiris/API/Follow&amp;diff=6705</id>
		<title>Osiris/API/Follow</title>
		<link rel="alternate" type="text/html" href="https://docs.larian.game/index.php?title=Osiris/API/Follow&amp;diff=6705"/>
		<updated>2021-03-19T12:17:10Z</updated>

		<summary type="html">&lt;p&gt;Tinkerer: Updated for bg3&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===== Full Definition(s) =====&lt;br /&gt;
* call  '''Follow'''(''(CHARACTER)'''''_Follower''', ''(CHARACTER)'''''_Leader''')&lt;br /&gt;
&lt;br /&gt;
===== Description =====&lt;br /&gt;
Makes '''_Follower''' start following '''_Leader'''.&lt;br /&gt;
&lt;br /&gt;
===== Notes =====&lt;br /&gt;
* Preferably use [[Osiris/Shared/PROC_Follow|PROC_Follow]] from the Shared mod. This will ensure that '''_Follower''''s following behaviour gets suspended when it enters combat, and resumed afterwards.&lt;br /&gt;
* Use [[Osiris/API/StopFollow|StopFollow]] to stop the following behaviour (or [[Osiris/Shared/PROC_StopFollow|PROC_StopFollow]] if you used [[Osiris/Shared/PROC_Follow|PROC_Follow]]).&lt;br /&gt;
* Make sure to stop following a previous character before starting to follow a new one. [[Osiris/Shared/PROC_Follow|PROC_Follow]] will automatically take care of this.&lt;br /&gt;
* Note that this call does ''not'' turn '''_Character''' in a so-called [[Party_Followers|party follower]] or minion, which is done via [[Osiris/API/AddPartyFollower|AddPartyFollower]]. The difference between &amp;quot;regular followers&amp;quot; (as created by this routine) and party followers/minions is that regular followers simply follow any other character around (you can have one NPC follow another one, if you want), while party followers/minions always follow a player-controlled character and can be partially controlled by the [[Osiris/API/GetReservedUserID|user]] that controls this player character.&lt;br /&gt;
&lt;br /&gt;
===== See Also =====&lt;br /&gt;
* [[Osiris/API/AddPartyFollower|AddPartyFollower]]&lt;br /&gt;
* [[Osiris/API/StopFollow|StopFollow]]&lt;br /&gt;
* Helper [[Osiris/Shared/PROC_Follow|PROC_Follow]]&lt;br /&gt;
* Helper [[Osiris/Shared/PROC_StopFollow|PROC_StopFollow]]&lt;br /&gt;
 &lt;br /&gt;
[[Category:Osiris Calls|Follow]]&lt;/div&gt;</summary>
		<author><name>Tinkerer</name></author>
	</entry>
	<entry>
		<id>https://docs.larian.game/index.php?title=Osiris/API/CharacterFollowCharacter&amp;diff=6704</id>
		<title>Osiris/API/CharacterFollowCharacter</title>
		<link rel="alternate" type="text/html" href="https://docs.larian.game/index.php?title=Osiris/API/CharacterFollowCharacter&amp;diff=6704"/>
		<updated>2021-03-19T12:13:33Z</updated>

		<summary type="html">&lt;p&gt;Tinkerer: Tinkerer moved page Osiris/API/CharacterFollowCharacter to Osiris/API/Follow: bg3 renames&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[Osiris/API/Follow]]&lt;/div&gt;</summary>
		<author><name>Tinkerer</name></author>
	</entry>
	<entry>
		<id>https://docs.larian.game/index.php?title=Osiris/API/Follow&amp;diff=6703</id>
		<title>Osiris/API/Follow</title>
		<link rel="alternate" type="text/html" href="https://docs.larian.game/index.php?title=Osiris/API/Follow&amp;diff=6703"/>
		<updated>2021-03-19T12:13:33Z</updated>

		<summary type="html">&lt;p&gt;Tinkerer: Tinkerer moved page Osiris/API/CharacterFollowCharacter to Osiris/API/Follow: bg3 renames&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===== Full Definition(s) =====&lt;br /&gt;
* call  '''CharacterFollowCharacter'''(''(CHARACTERGUID)'''''_Character''', ''(CHARACTERGUID'')'''''_ToCharacter''')&lt;br /&gt;
&lt;br /&gt;
===== Description =====&lt;br /&gt;
Makes '''_Character''' start following '''_ToCharacter'''.&lt;br /&gt;
&lt;br /&gt;
===== Notes =====&lt;br /&gt;
* Preferably use [[Osiris/Shared/ProcCharacterFollowCharacter|ProcCharacterFollowCharacter]] from the Shared mod. This will ensure that '''_Character''''s following behaviour gets suspended when it enters combat, and resumed afterwards.&lt;br /&gt;
* Use [[Osiris/API/CharacterStopFollow|CharacterStopFollow]] to stop the following behaviour (or [[Osiris/Shared/ProcCharacterStopFollow|ProcCharacterStopFollow]] if you used [[Osiris/Shared/ProcCharacterFollowCharacter|ProcCharacterFollowCharacter]]).&lt;br /&gt;
* Make sure to stop following a previous character before starting to follow a new one. [[Osiris/Shared/ProcCharacterFollowCharacter|ProcCharacterFollowCharacter]] will automatically take care of this.&lt;br /&gt;
* Note that this call does ''not'' turn '''_Character''' in a so-called &amp;quot;party follower&amp;quot; or minion, which is done via [[Osiris/API/CharacterAddToPlayerCharacter|CharacterAddToPlayerCharacter]]. The difference between &amp;quot;regular followers&amp;quot; (as created by this routine) and party followers/minions is that regular followers simply follow any other character around (you can have one NPC follow another one, if you want), while party followers/minions always follow a player-controlled character and can be partially controlled by the [[Osiris/API/CharacterGetReservedUserID|user]] that controls this player character.&lt;br /&gt;
&lt;br /&gt;
===== See Also =====&lt;br /&gt;
* [[Osiris/API/CharacterAddToPlayerCharacter|CharacterAddToPlayerCharacter]]&lt;br /&gt;
* [[Osiris/API/CharacterStopFollow|CharacterStopFollow]]&lt;br /&gt;
* Helper [[Osiris/Shared/ProcCharacterFollowCharacter|ProcCharacterFollowCharacter]]&lt;br /&gt;
* Helper [[Osiris/Shared/ProcCharacterStopFollow|ProcCharacterStopFollow]]&lt;br /&gt;
 &lt;br /&gt;
[[Category:Osiris Calls|CharacterFollowCharacter]]&lt;/div&gt;</summary>
		<author><name>Tinkerer</name></author>
	</entry>
	<entry>
		<id>https://docs.larian.game/index.php?title=Osiris/Shared/Proc_DialogFlagSetup&amp;diff=6700</id>
		<title>Osiris/Shared/Proc DialogFlagSetup</title>
		<link rel="alternate" type="text/html" href="https://docs.larian.game/index.php?title=Osiris/Shared/Proc_DialogFlagSetup&amp;diff=6700"/>
		<updated>2020-08-08T09:01:49Z</updated>

		<summary type="html">&lt;p&gt;Tinkerer: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===== Full Definition(s) =====&lt;br /&gt;
* PROC '''Proc_DialogFlagSetup'''(''(STRING)'''''_Dialog''',''(GUIDSTRING)'''''_Speaker1''')&lt;br /&gt;
* PROC '''Proc_DialogFlagSetup'''(''(STRING)'''''_Dialog''',''(GUIDSTRING)'''''_Speaker1''',''(GUIDSTRING)'''''_Speaker2''')&lt;br /&gt;
* PROC '''Proc_DialogFlagSetup'''(''(STRING)'''''_Dialog''',''(GUIDSTRING)'''''_Speaker1''',''(GUIDSTRING)'''''_Speaker2''',''(GUIDSTRING)'''''_Speaker2''')&lt;br /&gt;
* PROC '''Proc_DialogFlagSetup'''(''(STRING)'''''_Dialog''',''(GUIDSTRING)'''''_Speaker1''',''(GUIDSTRING)'''''_Speaker2''',''(GUIDSTRING)'''''_Speaker2''',''(GUIDSTRING)'''''_Speaker3''')&lt;br /&gt;
* PROC '''Proc_DialogFlagSetup'''(''(STRING)'''''_Dialog''',''(GUIDSTRING)'''''_Speaker1''',''(GUIDSTRING)'''''_Speaker2''',''(GUIDSTRING)'''''_Speaker2''',''(GUIDSTRING)'''''_Speaker3''',''(GUIDSTRING)'''''_Speaker4''')&lt;br /&gt;
* PROC '''Proc_DialogFlagSetup'''(''(STRING)'''''_Dialog''',''(GUIDSTRING)'''''_Speaker1''',''(GUIDSTRING)'''''_Speaker2''',''(GUIDSTRING)'''''_Speaker2''',''(GUIDSTRING)'''''_Speaker3''',''(GUIDSTRING)'''''_Speaker4''',''(GUIDSTRING)'''''_Speaker5''')&lt;br /&gt;
* PROC '''Proc_DialogFlagSetup'''(''(STRING)'''''_Dialog''',''(GUIDSTRING)'''''_Speaker1''',''(GUIDSTRING)'''''_Speaker2''',''(GUIDSTRING)'''''_Speaker2''',''(GUIDSTRING)'''''_Speaker3''',''(GUIDSTRING)'''''_Speaker4''',''(GUIDSTRING)'''''_Speaker5''',''(GUIDSTRING)'''''_Speaker6''')&lt;br /&gt;
===== Description =====&lt;br /&gt;
This routine is called by the Shared mod every time '''_Dialog''' gets started with the listed number of speakers through [[Osiris/Shared/Proc_StartDialog|Proc_StartDialog]], which should virtually always be the case. As its name implies, you can overload this routine to set or clear flags right before the dialog gets started. Flags set in this routine are visible already in the greeting nodes (i.e., no need to worry about [[Osiris_Overview#Osiris_Frames|frame delays]]).&lt;br /&gt;
===== Return Values =====&lt;br /&gt;
* /&lt;br /&gt;
===== Notes =====&lt;br /&gt;
* /&lt;br /&gt;
===== See Also =====&lt;br /&gt;
* [[Osiris/API/DialogStartRequested|DialogStartRequested]]&lt;br /&gt;
* Helper [[Osiris/Shared/PROC_GLOBAL_DialogStartRequested|PROC_GLOBAL_DialogStartRequested]]&lt;br /&gt;
* Helper [[Osiris/Shared/PROC_GLOBAL_DialogStartRequested_AfterGenerics|PROC_GLOBAL_DialogStartRequested_AfterGenerics]]&lt;br /&gt;
* Helper [[Osiris/Shared/Proc_StartDialog|Proc_StartDialog]]&lt;br /&gt;
 &lt;br /&gt;
[[Category:Osiris Shared Mod Helpers|DialogFlagSetup]]&lt;/div&gt;</summary>
		<author><name>Tinkerer</name></author>
	</entry>
	<entry>
		<id>https://docs.larian.game/index.php?title=Osiris/API/DrawSurfaceOnPath&amp;diff=6699</id>
		<title>Osiris/API/DrawSurfaceOnPath</title>
		<link rel="alternate" type="text/html" href="https://docs.larian.game/index.php?title=Osiris/API/DrawSurfaceOnPath&amp;diff=6699"/>
		<updated>2020-07-13T14:11:47Z</updated>

		<summary type="html">&lt;p&gt;Tinkerer: /* See Also = */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===== Full Definition(s) =====&lt;br /&gt;
* query '''DrawSurfaceOnPath'''('''''[in]'''(GUIDSTRING)'''''_OwnerObject''', '''''[in]'''(GUIDSTRING)'''''_FollowObject''', '''''[in]'''(STRING)'''''_SurfaceType''', '''''[in]'''(REAL)'''''_Radius''', '''''[in]'''(REAL)'''''_Lifetime''', '''''[out]'''(INTEGER64)'''''_SurfaceActionHandle''')&lt;br /&gt;
===== Description =====&lt;br /&gt;
Draws a continuous line of width '''_Radius''' of surface type '''_SurfaceType''' behind the '''_FollowObject''' as it moves, with lifetime '''_Lifetime'''. The '''_OwnerObject''' parameter can be used to set the owner of this surface.&lt;br /&gt;
===== Return Values =====&lt;br /&gt;
* '''Success/Failure''': Fails if the '''_OwnerObject''' or the '''_FollowObject''' don't exist or are null, or if the '''_SurfaceType''' doesn't exist.&lt;br /&gt;
* '''_SurfaceActionHandle''': The index of the Surface Action. This is an identifier necessary to [[Osiris/API/StopDrawSurfaceOnPath|stop drawing]] the surface again.&lt;br /&gt;
===== Notes =====&lt;br /&gt;
* This routine currently does not work correctly if _Radius is &amp;gt;= 2.0&lt;br /&gt;
* The '''_Lifetime''' only starts ticking after [[Osiris/API/StopDrawSurfaceOnPath|StopDrawSurfaceOnPath]] has been called for the '''_SurfaceActionHandle'''. It can be '''''-1.0''''' to make the surface permanent.&lt;br /&gt;
===== See Also =====&lt;br /&gt;
* [[Osiris/API/GetSurfaceSize|GetSurfaceSize]]&lt;br /&gt;
* [[Osiris/API/GetSurfaceTurns|GetSurfaceTurns]]&lt;br /&gt;
* [[Osiris/API/CreatePuddle|CreatePuddle]]&lt;br /&gt;
* [[Osiris/API/CreateSurface|CreateSurface]]&lt;br /&gt;
* [[Osiris/API/CreateSurfaceAtPosition|CreateSurfaceAtPosition]]&lt;br /&gt;
* [[Osiris/API/GetSurfaceCloudAt|GetSurfaceCloudAt]]&lt;br /&gt;
* [[Osiris/API/GetSurfaceCloudOwnerAt|GetSurfaceCloudOwnerAt]]&lt;br /&gt;
* [[Osiris/API/GetSurfaceGroundAt|GetSurfaceGroundAt]]&lt;br /&gt;
* [[Osiris/API/GetSurfaceGroundOwnerAt|GetSurfaceGroundOwnerAt]]&lt;br /&gt;
* [[Osiris/API/GetSurfaceNameByTypeIndex|GetSurfaceNameByTypeIndex]]&lt;br /&gt;
* [[Osiris/API/GetSurfaceTypeIndex|GetSurfaceTypeIndex]]&lt;br /&gt;
* [[Osiris/API/StopDrawSurfaceOnPath|StopDrawSurfaceOnPath]]&lt;br /&gt;
* [[Osiris/API/TransformSurface|TransformSurface]]&lt;br /&gt;
* [[Osiris/API/TransformSurfaceAtPosition|TransformSurfaceAtPosition]]&lt;br /&gt;
* [[Scripting_surface_types|List of surface types]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Osiris Queries|DrawSurfaceOnPath]]&lt;/div&gt;</summary>
		<author><name>Tinkerer</name></author>
	</entry>
	<entry>
		<id>https://docs.larian.game/index.php?title=Osiris/API/CharacterIsSummon&amp;diff=6698</id>
		<title>Osiris/API/CharacterIsSummon</title>
		<link rel="alternate" type="text/html" href="https://docs.larian.game/index.php?title=Osiris/API/CharacterIsSummon&amp;diff=6698"/>
		<updated>2020-06-24T13:53:22Z</updated>

		<summary type="html">&lt;p&gt;Tinkerer: /* See Also */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===== Full Definition(s) =====&lt;br /&gt;
* query '''CharacterIsSummon'''('''''[in]'''(CHARACTERGUID)'''''_Character''', '''''[out]'''(INTEGER)'''''_Bool''')&lt;br /&gt;
===== Description =====&lt;br /&gt;
Returns whether '''_Character''' is a summon. Summons can be [[Osiris/API/CharacterIsPlayer|player-controlled]] or not.&lt;br /&gt;
===== Return Values =====&lt;br /&gt;
* '''Success/Failure''': Fails if '''_Character''' does not exist.&lt;br /&gt;
* '''_Bool''': '''1''' if '''_Character''' is a summon, '''0''' if not.&lt;br /&gt;
===== Notes =====&lt;br /&gt;
* Summons can also be distinguished by the fact that hey have the '''SUMMON''' tag.&lt;br /&gt;
* If you wish to know whether a summon is ''player-controlled'', also check [[Osiris/API/CharacterIsPlayer|CharacterIsPlayer]].&lt;br /&gt;
===== See Also =====&lt;br /&gt;
* [[Osiris/API/CharacterGetOwner|CharacterGetOwner]]&lt;br /&gt;
* [[Osiris/API/CharacterIsPlayer|CharacterIsPlayer]]&lt;br /&gt;
 &lt;br /&gt;
[[Category:Osiris Queries|CharacterIsSummon]]&lt;/div&gt;</summary>
		<author><name>Tinkerer</name></author>
	</entry>
	<entry>
		<id>https://docs.larian.game/index.php?title=Osiris/API/SysClear&amp;diff=6697</id>
		<title>Osiris/API/SysClear</title>
		<link rel="alternate" type="text/html" href="https://docs.larian.game/index.php?title=Osiris/API/SysClear&amp;diff=6697"/>
		<updated>2020-02-15T10:09:51Z</updated>

		<summary type="html">&lt;p&gt;Tinkerer: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===== Full Definition(s) =====&lt;br /&gt;
* call '''SysClear'''(''(STRING)'''''__Predicate''', ''(INTEGER)'''''__Arity''')&lt;br /&gt;
===== Description =====&lt;br /&gt;
Deletes all facts from the database with name '''_Predicate''' and with '''_Arity''' as number of columns/parameters.&lt;br /&gt;
===== Notes =====&lt;br /&gt;
* It will ''not'' automatically trigger any rules that check whether a database fact has been cleared.&lt;br /&gt;
===== See Also =====&lt;br /&gt;
* /&lt;br /&gt;
&lt;br /&gt;
[[Category:Osiris Calls|SysClear]]&lt;/div&gt;</summary>
		<author><name>Tinkerer</name></author>
	</entry>
	<entry>
		<id>https://docs.larian.game/index.php?title=Osiris/API/CharacterReceivedDamage&amp;diff=6696</id>
		<title>Osiris/API/CharacterReceivedDamage</title>
		<link rel="alternate" type="text/html" href="https://docs.larian.game/index.php?title=Osiris/API/CharacterReceivedDamage&amp;diff=6696"/>
		<updated>2020-02-15T09:56:29Z</updated>

		<summary type="html">&lt;p&gt;Tinkerer: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===== Full Definition(s) =====&lt;br /&gt;
* event '''CharacterReceivedDamage'''(''(CHARACTERGUID)'''''_Character''', ''(INTEGER)'''''_Percentage''', ''(GUIDSTRING)'''''_Source''')&lt;br /&gt;
===== Description =====&lt;br /&gt;
Thrown when a character receives damage from an attack or an environmental effect such as a surface.&lt;br /&gt;
===== Parameters =====&lt;br /&gt;
* '''_Character''': The character that was damaged.&lt;br /&gt;
* ''(new in DOS2 Patch 5)'' '''_Percentage''': The percentage of vitality/hit points that was removed by this damage event.&lt;br /&gt;
* ''(new in DOS2 Patch 5)'' '''_Source''': The GUID of the character or item that caused the damage. In case the damage is caused by a surface, this will be the creator of said surface (can be NULL if the game cannot determine the party responsible, e.g. if you are damaged by a static fire surface that was painted in the editor).&lt;br /&gt;
===== Notes =====&lt;br /&gt;
* This event is thrown even when '''_Percentage''' is 0.0, i.e., all damage was blocked by armor or '''_Character''' was immune to the damage type.&lt;br /&gt;
* This event is ''not'' thrown if the &amp;quot;damage&amp;quot; healed '''_Character''' (e.g. poison damage to a zombie); in that case, a corresponding HEAL status will be applied to '''_Character''' instead.&lt;br /&gt;
* One such event gets thrown per &amp;quot;hit&amp;quot;, so if a hit does e.g. both physical and poison damage, the '''_Percentage''' parameter represents sum of the individual damages (or difference, in case of an undead). Conversely, [[Osiris/API/AttackedByObject|AttackedByObject]] will be called for each individual damage component.&lt;br /&gt;
===== See Also =====&lt;br /&gt;
* [[Osiris/API/AttackedByObject|AttackedByObject]]&lt;br /&gt;
* [[Osiris/API/CharacterStatusAttempt|CharacterStatusAttempt]]&lt;br /&gt;
* [[Osiris/API/CharacterStatusApplied|CharacterStatusApplied]]&lt;br /&gt;
* [[Osiris/API/CharacterVitalityChanged|CharacterVitalityChanged]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Osiris Events|CharacterReceivedDamage]]&lt;/div&gt;</summary>
		<author><name>Tinkerer</name></author>
	</entry>
	<entry>
		<id>https://docs.larian.game/index.php?title=Osiris/API/CharacterAttack&amp;diff=6695</id>
		<title>Osiris/API/CharacterAttack</title>
		<link rel="alternate" type="text/html" href="https://docs.larian.game/index.php?title=Osiris/API/CharacterAttack&amp;diff=6695"/>
		<updated>2020-02-15T09:55:22Z</updated>

		<summary type="html">&lt;p&gt;Tinkerer: Documented CharacterAttack&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===== Full Definition(s) =====&lt;br /&gt;
* call '''CharacterAttack'''(''(CHARACTERGUID)'''''_Character''', ''(GUIDSTRING)'''''_Target''')&lt;br /&gt;
===== Description =====&lt;br /&gt;
Causes '''_Character''' to attack '''_Target'''.&lt;br /&gt;
&lt;br /&gt;
===== Notes =====&lt;br /&gt;
* The attack is not guaranteed to hit.&lt;br /&gt;
===== See Also =====&lt;br /&gt;
* [[Osiris/API/AttackedByObject|AttackedByObject]]&lt;br /&gt;
* [[Osiris/API/CharacterBlockedBy|CharacterBlockedBy]]&lt;br /&gt;
* [[Osiris/API/CharacterCriticalHitBy|CharacterCriticalHitBy]]&lt;br /&gt;
* [[Osiris/API/CharacterDie|CharacterDie]]&lt;br /&gt;
* [[Osiris/API/CharacterDieImmediate|CharacterDieImmediate]]&lt;br /&gt;
* [[Osiris/API/CharacterKilledBy|CharacterKilledBy]]&lt;br /&gt;
* [[Osiris/API/CharacterMissedBy|CharacterMissedBy]]&lt;br /&gt;
* [[Osiris/API/CharacterReceivedDamage|CharacterReceivedDamage]]&lt;br /&gt;
* [[Osiris/API/CharacterTemplateKilledByCharacter|CharacterTemplateKilledByCharacter]]&lt;br /&gt;
* [[Osiris/API/CharacterVitalityChanged|CharacterVitalityChanged]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Osiris Calls|CharacterAttack]]&lt;/div&gt;</summary>
		<author><name>Tinkerer</name></author>
	</entry>
	<entry>
		<id>https://docs.larian.game/index.php?title=Osiris/API/CharacterAppearOnTrailOutOfSightToObject&amp;diff=6694</id>
		<title>Osiris/API/CharacterAppearOnTrailOutOfSightToObject</title>
		<link rel="alternate" type="text/html" href="https://docs.larian.game/index.php?title=Osiris/API/CharacterAppearOnTrailOutOfSightToObject&amp;diff=6694"/>
		<updated>2019-11-26T09:00:37Z</updated>

		<summary type="html">&lt;p&gt;Tinkerer: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===== Full Definition(s) =====&lt;br /&gt;
* call  '''CharacterAppearOnTrailOutOfSightToObject'''(''(CHARACTERGUID)'''''_Character''', ''(GUIDSTRING)'''''_Target''', ''(GUIDSTRING)'''''_Object''', ''(INTEGER)'''''_PlaySpawn''', ''(STRING)'''''_Event''')&lt;br /&gt;
===== Description =====&lt;br /&gt;
Same as [[Osiris/API/CharacterAppearOutOfSightToObject|CharacterAppearOutOfSightToObject]], but '''_Character''' will select a position occupied by '''_Target''' over the last few seconds (so that if you then make '''_Character''' walk to '''_Target''' afterwards, it seems as if '''_Character''' was following '''_Target'''). It will select the furthest cached position of '''_Target''' in the direction '''_Object'''.&lt;br /&gt;
===== Notes =====&lt;br /&gt;
* This only works if '''_Target''' is a [[Osiris/API/AddToParty|party member]], as the last positions are not cached for regular NPCs.&lt;br /&gt;
===== See Also =====&lt;br /&gt;
* [[Osiris/API/CharacterAppear|CharacterAppear]]&lt;br /&gt;
* [[Osiris/API/CharacterAppearAt|CharacterAppearAt]]&lt;br /&gt;
* [[Osiris/API/CharacterAppearAtCustom|CharacterAppearAtCustom]]&lt;br /&gt;
* [[Osiris/API/CharacterAppearAtPosition|CharacterAppearAtPosition]]&lt;br /&gt;
* [[Osiris/API/CharacterAppearAtPositionCustom|CharacterAppearAtPositionCustom]]&lt;br /&gt;
* [[Osiris/API/CharacterAppearAtPositionOutOfSightTo|CharacterAppearAtPositionOutOfSightTo]]&lt;br /&gt;
* [[Osiris/API/CharacterAppearAtPositionOutOfSightToCustom|CharacterAppearAtPositionOutOfSightToCustom]]&lt;br /&gt;
* [[Osiris/API/CharacterAppearAtPositionOutOfSightToObject|CharacterAppearAtPositionOutOfSightToObject]]&lt;br /&gt;
* [[Osiris/API/CharacterAppearAtPositionOutOfSightToObjectCustom|CharacterAppearAtPositionOutOfSightToObjectCustom]]&lt;br /&gt;
* [[Osiris/API/CharacterAppearCustom|CharacterAppearCustom]]&lt;br /&gt;
* [[Osiris/API/CharacterAppearOnTrailOutOfSightTo|CharacterAppearOnTrailOutOfSightTo]]&lt;br /&gt;
* [[Osiris/API/CharacterAppearOnTrailOutOfSightToCustom|CharacterAppearOnTrailOutOfSightToCustom]]&lt;br /&gt;
* [[Osiris/API/CharacterAppearOnTrailOutOfSightToObjectCustom|CharacterAppearOnTrailOutOfSightToObjectCustom]]&lt;br /&gt;
* [[Osiris/API/CharacterAppearOutOfSightTo|CharacterAppearOutOfSightTo]]&lt;br /&gt;
* [[Osiris/API/CharacterAppearOutOfSightToCustom|CharacterAppearOutOfSightToCustom]]&lt;br /&gt;
* [[Osiris/API/CharacterAppearOutOfSightToObject|CharacterAppearOutOfSightToObject]]&lt;br /&gt;
* [[Osiris/API/CharacterAppearOutOfSightToObjectCustom|CharacterAppearOutOfSightToObjectCustom]]&lt;br /&gt;
* [[Osiris/API/SetOnStage|SetOnStage]]&lt;br /&gt;
* [[Osiris/API/StoryEvent|StoryEvent]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Osiris Calls|CharacterAppearOnTrailOutOfSightToObject]]&lt;/div&gt;</summary>
		<author><name>Tinkerer</name></author>
	</entry>
	<entry>
		<id>https://docs.larian.game/index.php?title=Osiris/API/CharacterAppearOnTrailOutOfSightTo&amp;diff=6693</id>
		<title>Osiris/API/CharacterAppearOnTrailOutOfSightTo</title>
		<link rel="alternate" type="text/html" href="https://docs.larian.game/index.php?title=Osiris/API/CharacterAppearOnTrailOutOfSightTo&amp;diff=6693"/>
		<updated>2019-11-26T08:59:13Z</updated>

		<summary type="html">&lt;p&gt;Tinkerer: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===== Full Definition(s) =====&lt;br /&gt;
* call  '''CharacterAppearOnTrailOutOfSightTo'''(''(CHARACTERGUID)'''''_Character''', ''(GUIDSTRING)'''''_Target''', ''(INTEGER)'''''_Angle''', ''(INTEGER)'''''_PlaySpawn''', ''(STRING)'''''_Event''')&lt;br /&gt;
===== Description =====&lt;br /&gt;
Same as [[Osiris/API/CharacterAppearOutOfSightTo|CharacterAppearOutOfSightTo]], but '''_Character''' will select a position occupied by '''_Target''' over the last few seconds (so that if you then make '''_Character''' walk to '''_Target''' afterwards, it seems as if '''_Character''' was following '''_Target'''). It will select the furthest cached position of '''_Target''' at angle '''_Angle'''.&lt;br /&gt;
===== Notes =====&lt;br /&gt;
* This only works if '''_Target''' is a [[Osiris/API/AddToParty|party member]], as the last positions are not cached for regular NPCs.&lt;br /&gt;
* Getting the angle right is hard and error-prone. If possible, use [[Osiris/API/CharacterAppearOnTrailOutOfSightToObject|CharacterAppearOnTrailOutOfSightToObject]] instead.&lt;br /&gt;
===== See Also =====&lt;br /&gt;
* [[Osiris/API/CharacterAppear|CharacterAppear]]&lt;br /&gt;
* [[Osiris/API/CharacterAppearAt|CharacterAppearAt]]&lt;br /&gt;
* [[Osiris/API/CharacterAppearAtCustom|CharacterAppearAtCustom]]&lt;br /&gt;
* [[Osiris/API/CharacterAppearAtPosition|CharacterAppearAtPosition]]&lt;br /&gt;
* [[Osiris/API/CharacterAppearAtPositionCustom|CharacterAppearAtPositionCustom]]&lt;br /&gt;
* [[Osiris/API/CharacterAppearAtPositionOutOfSightTo|CharacterAppearAtPositionOutOfSightTo]]&lt;br /&gt;
* [[Osiris/API/CharacterAppearAtPositionOutOfSightToCustom|CharacterAppearAtPositionOutOfSightToCustom]]&lt;br /&gt;
* [[Osiris/API/CharacterAppearAtPositionOutOfSightToObject|CharacterAppearAtPositionOutOfSightToObject]]&lt;br /&gt;
* [[Osiris/API/CharacterAppearAtPositionOutOfSightToObjectCustom|CharacterAppearAtPositionOutOfSightToObjectCustom]]&lt;br /&gt;
* [[Osiris/API/CharacterAppearCustom|CharacterAppearCustom]]&lt;br /&gt;
* [[Osiris/API/CharacterAppearOnTrailOutOfSightToCustom|CharacterAppearOnTrailOutOfSightToCustom]]&lt;br /&gt;
* [[Osiris/API/CharacterAppearOnTrailOutOfSightToObject|CharacterAppearOnTrailOutOfSightToObject]]&lt;br /&gt;
* [[Osiris/API/CharacterAppearOnTrailOutOfSightToObjectCustom|CharacterAppearOnTrailOutOfSightToObjectCustom]]&lt;br /&gt;
* [[Osiris/API/CharacterAppearOutOfSightTo|CharacterAppearOutOfSightTo]]&lt;br /&gt;
* [[Osiris/API/CharacterAppearOutOfSightToCustom|CharacterAppearOutOfSightToCustom]]&lt;br /&gt;
* [[Osiris/API/CharacterAppearOutOfSightToObject|CharacterAppearOutOfSightToObject]]&lt;br /&gt;
* [[Osiris/API/CharacterAppearOutOfSightToObjectCustom|CharacterAppearOutOfSightToObjectCustom]]&lt;br /&gt;
* [[Osiris/API/SetOnStage|SetOnStage]]&lt;br /&gt;
* [[Osiris/API/StoryEvent|StoryEvent]]&lt;br /&gt;
 &lt;br /&gt;
[[Category:Osiris Calls|CharacterAppearOnTrailOutOfSightTo]]&lt;/div&gt;</summary>
		<author><name>Tinkerer</name></author>
	</entry>
	<entry>
		<id>https://docs.larian.game/index.php?title=Osiris/API/CharacterAppearOutOfSightToObject&amp;diff=6692</id>
		<title>Osiris/API/CharacterAppearOutOfSightToObject</title>
		<link rel="alternate" type="text/html" href="https://docs.larian.game/index.php?title=Osiris/API/CharacterAppearOutOfSightToObject&amp;diff=6692"/>
		<updated>2019-11-26T08:55:22Z</updated>

		<summary type="html">&lt;p&gt;Tinkerer: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===== Full Definition(s) =====&lt;br /&gt;
* call  '''CharacterAppearOutOfSightToObject'''(''(CHARACTERGUID)'''''_Character''', ''(GUIDSTRING)'''''_Target''', ''(GUIDSTRING)'''''_Object''', ''(INTEGER)'''''_PlaySpawn''', ''(STRING)'''''_Event''')&lt;br /&gt;
===== Description =====&lt;br /&gt;
'''_Character''' should be off-stage when calling this routine. This call will place '''_Character''' on-stage out of sight of '''_Target''' in the direction of '''_Object'''. If '''_PlaySpawn''' is 1, '''_Character''''s spawn animation is played. If '''_PlaySpawn''' is 0, '''_Character''' is simply placed on-stage. '''_Event''' is triggered on '''_Character''' once it is on stage.&lt;br /&gt;
===== Notes =====&lt;br /&gt;
* /&lt;br /&gt;
===== See Also =====&lt;br /&gt;
* [[Osiris/API/CharacterAppear|CharacterAppear]]&lt;br /&gt;
* [[Osiris/API/CharacterAppearAt|CharacterAppearAt]]&lt;br /&gt;
* [[Osiris/API/CharacterAppearAtCustom|CharacterAppearAtCustom]]&lt;br /&gt;
* [[Osiris/API/CharacterAppearAtPosition|CharacterAppearAtPosition]]&lt;br /&gt;
* [[Osiris/API/CharacterAppearAtPositionCustom|CharacterAppearAtPositionCustom]]&lt;br /&gt;
* [[Osiris/API/CharacterAppearAtPositionOutOfSightTo|CharacterAppearAtPositionOutOfSightTo]]&lt;br /&gt;
* [[Osiris/API/CharacterAppearAtPositionOutOfSightToCustom|CharacterAppearAtPositionOutOfSightToCustom]]&lt;br /&gt;
* [[Osiris/API/CharacterAppearAtPositionOutOfSightToObject|CharacterAppearAtPositionOutOfSightToObject]]&lt;br /&gt;
* [[Osiris/API/CharacterAppearAtPositionOutOfSightToObjectCustom|CharacterAppearAtPositionOutOfSightToObjectCustom]]&lt;br /&gt;
* [[Osiris/API/CharacterAppearCustom|CharacterAppearCustom]]&lt;br /&gt;
* [[Osiris/API/CharacterAppearOnTrailOutOfSightTo|CharacterAppearOnTrailOutOfSightTo]]&lt;br /&gt;
* [[Osiris/API/CharacterAppearOnTrailOutOfSightToCustom|CharacterAppearOnTrailOutOfSightToCustom]]&lt;br /&gt;
* [[Osiris/API/CharacterAppearOnTrailOutOfSightToObject|CharacterAppearOnTrailOutOfSightToObject]]&lt;br /&gt;
* [[Osiris/API/CharacterAppearOnTrailOutOfSightToObjectCustom|CharacterAppearOnTrailOutOfSightToObjectCustom]]&lt;br /&gt;
* [[Osiris/API/CharacterAppearOutOfSightTo|CharacterAppearOutOfSightTo]]&lt;br /&gt;
* [[Osiris/API/CharacterAppearOutOfSightToCustom|CharacterAppearOutOfSightToCustom]]&lt;br /&gt;
* [[Osiris/API/CharacterAppearOutOfSightToObjectCustom|CharacterAppearOutOfSightToObjectCustom]]&lt;br /&gt;
* [[Osiris/API/SetOnStage|SetOnStage]]&lt;br /&gt;
* [[Osiris/API/StoryEvent|StoryEvent]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Osiris Calls|CharacterAppearOutOfSightToObject]]&lt;/div&gt;</summary>
		<author><name>Tinkerer</name></author>
	</entry>
	<entry>
		<id>https://docs.larian.game/index.php?title=Osiris/API/CharacterAppearOutOfSightTo&amp;diff=6691</id>
		<title>Osiris/API/CharacterAppearOutOfSightTo</title>
		<link rel="alternate" type="text/html" href="https://docs.larian.game/index.php?title=Osiris/API/CharacterAppearOutOfSightTo&amp;diff=6691"/>
		<updated>2019-11-26T08:54:49Z</updated>

		<summary type="html">&lt;p&gt;Tinkerer: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===== Full Definition(s) =====&lt;br /&gt;
* call  '''CharacterAppearOutOfSightTo'''(''(CHARACTERGUID)'''''_Character''', ''(GUIDSTRING)'''''_Target''', ''(INTEGER)'''''_Angle''', ''(INTEGER)'''''_PlaySpawn''', ''(STRING)'''''_Event''')&lt;br /&gt;
===== Description =====&lt;br /&gt;
'''_Character''' should be off-stage when calling this routine. This call will place '''_Character''' on-stage out of sight of '''_Target''' at '''_Angle''' degrees (0 = North). If '''_PlaySpawn''' is 1, '''_Character''''s spawn animation is played. If '''_PlaySpawn''' is 0, '''_Character''' is simply placed on-stage. '''_Event''' is triggered on '''_Character''' once it is on stage.&lt;br /&gt;
===== Notes =====&lt;br /&gt;
* Getting the angle right is hard and error-prone. If possible, use [[Osiris/API/CharacterAppearOutOfSightToObject|CharacterAppearOutOfSightToObject]] instead.&lt;br /&gt;
===== See Also =====&lt;br /&gt;
* [[Osiris/API/CharacterAppear|CharacterAppear]]&lt;br /&gt;
* [[Osiris/API/CharacterAppearAt|CharacterAppearAt]]&lt;br /&gt;
* [[Osiris/API/CharacterAppearAtCustom|CharacterAppearAtCustom]]&lt;br /&gt;
* [[Osiris/API/CharacterAppearAtPosition|CharacterAppearAtPosition]]&lt;br /&gt;
* [[Osiris/API/CharacterAppearAtPositionCustom|CharacterAppearAtPositionCustom]]&lt;br /&gt;
* [[Osiris/API/CharacterAppearAtPositionOutOfSightTo|CharacterAppearAtPositionOutOfSightTo]]&lt;br /&gt;
* [[Osiris/API/CharacterAppearAtPositionOutOfSightToCustom|CharacterAppearAtPositionOutOfSightToCustom]]&lt;br /&gt;
* [[Osiris/API/CharacterAppearAtPositionOutOfSightToObject|CharacterAppearAtPositionOutOfSightToObject]]&lt;br /&gt;
* [[Osiris/API/CharacterAppearAtPositionOutOfSightToObjectCustom|CharacterAppearAtPositionOutOfSightToObjectCustom]]&lt;br /&gt;
* [[Osiris/API/CharacterAppearCustom|CharacterAppearCustom]]&lt;br /&gt;
* [[Osiris/API/CharacterAppearOnTrailOutOfSightTo|CharacterAppearOnTrailOutOfSightTo]]&lt;br /&gt;
* [[Osiris/API/CharacterAppearOnTrailOutOfSightToCustom|CharacterAppearOnTrailOutOfSightToCustom]]&lt;br /&gt;
* [[Osiris/API/CharacterAppearOnTrailOutOfSightToObject|CharacterAppearOnTrailOutOfSightToObject]]&lt;br /&gt;
* [[Osiris/API/CharacterAppearOnTrailOutOfSightToObjectCustom|CharacterAppearOnTrailOutOfSightToObjectCustom]]&lt;br /&gt;
* [[Osiris/API/CharacterAppearOutOfSightToCustom|CharacterAppearOutOfSightToCustom]]&lt;br /&gt;
* [[Osiris/API/CharacterAppearOutOfSightToObject|CharacterAppearOutOfSightToObject]]&lt;br /&gt;
* [[Osiris/API/CharacterAppearOutOfSightToObjectCustom|CharacterAppearOutOfSightToObjectCustom]]&lt;br /&gt;
* [[Osiris/API/SetOnStage|SetOnStage]]&lt;br /&gt;
* [[Osiris/API/StoryEvent|StoryEvent]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Osiris Calls|CharacterAppearOutOfSightTo]]&lt;/div&gt;</summary>
		<author><name>Tinkerer</name></author>
	</entry>
	<entry>
		<id>https://docs.larian.game/index.php?title=Story_editor&amp;diff=6690</id>
		<title>Story editor</title>
		<link rel="alternate" type="text/html" href="https://docs.larian.game/index.php?title=Story_editor&amp;diff=6690"/>
		<updated>2019-11-25T10:49:39Z</updated>

		<summary type="html">&lt;p&gt;Tinkerer: /* Known limitations */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:StoryEditor.png|800px|center]]&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
The Story editor is used to browse, edit and build [[Osiris]] scripts.&lt;br /&gt;
&lt;br /&gt;
== Building the story ==&lt;br /&gt;
There are multiple options to build the story under &amp;quot;File&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
The most important one is '''''Generate Definitions, Build and Reload'''''. This will build all necessary files for your story to work, and reload the story so the new story becomes active.&lt;br /&gt;
&lt;br /&gt;
Other options are:&lt;br /&gt;
* '''Build''': Only build story. This suffices if you know there have been no function definition changes, and if you only wish to check for errors.&lt;br /&gt;
* '''Build and reload''': To see your changes in the editor, you'll have to reload the level after building. This option does that auto-magically for you!&lt;br /&gt;
* '''Generate Definitions and Build''': Recreates definitions (required for the first story build after an editor update) and then builds the story, but does not reload it. Again, useful to check for errors.&lt;br /&gt;
* '''Generate Definitions, Build and Reload''': As mentioned, the most thorough option. Creates all necessary files and then reloads the story.&lt;br /&gt;
* '''Generate Definitions''': Only generate function definitions. This is useful to get code completion functionality without rebuilding story.&lt;br /&gt;
&lt;br /&gt;
== Code editing helper functionality ==&lt;br /&gt;
* Code completion is available via ''ctrl-space''. Note that in case of user-defined queries, code completion will add a (wrong) &amp;quot;__DEF&amp;quot; suffix that you will have to delete again.&lt;br /&gt;
* When you are in the parameter list of a function call, the editor shows the parameter definitions at the top of the code editing window.&lt;br /&gt;
&lt;br /&gt;
== Known limitations ==&lt;br /&gt;
* Every pane in the editor gets its own &amp;quot;Find&amp;quot; dialog box. However, if you press ctrl-f while a &amp;quot;Find&amp;quot; dialog box for this pane was already open, this &amp;quot;Find&amp;quot; dialog box will ''not'' regain focus. Either always close the Find dialog box after searching for something (e.g. by pressing ''Esc''), or click on it for it to regain focus. The global search (ctrl-shift-f) dialog does not suffer from this issue.&lt;br /&gt;
* The parameter list shown at the top of the window will always list the parameters of the last defined overload in Story. This means that other definitions of the same function with more parameters may exist.&lt;/div&gt;</summary>
		<author><name>Tinkerer</name></author>
	</entry>
	<entry>
		<id>https://docs.larian.game/index.php?title=Osiris/API/CharacterCreationFinished&amp;diff=6689</id>
		<title>Osiris/API/CharacterCreationFinished</title>
		<link rel="alternate" type="text/html" href="https://docs.larian.game/index.php?title=Osiris/API/CharacterCreationFinished&amp;diff=6689"/>
		<updated>2019-11-13T09:08:39Z</updated>

		<summary type="html">&lt;p&gt;Tinkerer: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===== Full Definition(s) =====&lt;br /&gt;
* event '''CharacterCreationFinished'''(''(CHARACTERGUID)'''''_Character''')&lt;br /&gt;
===== Description =====&lt;br /&gt;
Whenever a player in [[Osiris/API/CharacterAddToCharacterCreation|respec]] mode clicks on the '''Ready''' button, this event is sent with as argument this character. It's also sent if respec is cancelled, or if the user controlling the character that was in respec mode disconnected.&lt;br /&gt;
&lt;br /&gt;
If this is the initial character creation rather than a respec, then this event is only sent once all players have clicked on the '''Ready''' button, and it will have '''''NULL_00000000-0000-0000-0000-000000000000''''' as argument.&lt;br /&gt;
&lt;br /&gt;
===== Parameters =====&lt;br /&gt;
* '''_Character''': The character selected in character creation by its owning user, or '''''NULL_00000000-0000-0000-0000-000000000000''''' in the case described above.&lt;br /&gt;
===== Notes =====&lt;br /&gt;
* /&lt;br /&gt;
===== See Also =====&lt;br /&gt;
* [[Osiris/API/CharacterAddToCharacterCreation|CharacterAddToCharacterCreation]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Osiris Events|CharacterCreationFinished]]&lt;/div&gt;</summary>
		<author><name>Tinkerer</name></author>
	</entry>
	<entry>
		<id>https://docs.larian.game/index.php?title=Osiris/API/StartVoiceBark&amp;diff=6685</id>
		<title>Osiris/API/StartVoiceBark</title>
		<link rel="alternate" type="text/html" href="https://docs.larian.game/index.php?title=Osiris/API/StartVoiceBark&amp;diff=6685"/>
		<updated>2019-10-17T14:18:36Z</updated>

		<summary type="html">&lt;p&gt;Tinkerer: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===== Full Definition(s) =====&lt;br /&gt;
* call '''StartVoiceBark'''(''(STRING)'''''_Bark''', ''(CHARACTERGUID)'''''_Source''')&lt;br /&gt;
===== Description =====&lt;br /&gt;
Starts a [[Voice_Bark_editor|Voicebark]] named '''_Bark''' on the '''_Source''' character, selecting an automatic dialogue based on that character's nearby party members.&lt;br /&gt;
===== Notes =====&lt;br /&gt;
* See the [[Voice_Bark_editor|Voicebark editor]] for the specifics on how the voicebark selects the AD that will be played.&lt;br /&gt;
* In addition to the regular events for starting an automated dialogue, a [[Osiris/API/VoiceBarkStarted|VoiceBarkStarted]] will be sent if the voicebark succeeds in selecting a fitting dialogue, and [[Osiris/API/VoiceBarkFailed|VoiceBarkFailed]] otherwise.&lt;br /&gt;
* '''_Source''' must be a [[Osiris/API/AddToParty|party member]], otherwise [[Osiris/API/VoiceBarkFailed|VoiceBarkFailed]] gets raised immediately.&lt;br /&gt;
===== See Also =====&lt;br /&gt;
* [[Osiris/API/VoiceBarkStarted|VoiceBarkStarted]]&lt;br /&gt;
* [[Osiris/API/VoiceBarkFailed|VoiceBarkFailed]]&lt;br /&gt;
* [[Osiris/API/VoiceBarkEnded|VoiceBarkEnded]]&lt;br /&gt;
* [[Voice_Bark_editor|Voicebark editor]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Osiris Calls|StartVoiceBark]]&lt;/div&gt;</summary>
		<author><name>Tinkerer</name></author>
	</entry>
	<entry>
		<id>https://docs.larian.game/index.php?title=Osiris/Shared/DB_SceneManager&amp;diff=6684</id>
		<title>Osiris/Shared/DB SceneManager</title>
		<link rel="alternate" type="text/html" href="https://docs.larian.game/index.php?title=Osiris/Shared/DB_SceneManager&amp;diff=6684"/>
		<updated>2019-10-16T09:12:41Z</updated>

		<summary type="html">&lt;p&gt;Tinkerer: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===== Full Definition(s) =====&lt;br /&gt;
* '''DB_SceneManager(''(CHARACTERGUID)''_Npc,'''''(STRING)'''''_SceneName''')&lt;br /&gt;
* '''DB_SceneTriggerManager'''(''(STRING)'''''_SceneName''',''(TRIGGERGUID)'''''_Trigger''')&lt;br /&gt;
* '''DB_SceneTriggerManager'''(''(STRING)'''''_SceneName''',''(TRIGGERGUID)'''''_Trigger,''(INTEGER)'''''_IgnoreItems''')&lt;br /&gt;
* PROC '''Proc_SceneInterrupted'''(''(GUIDSTRING)'''''_NPC''',''(CHARACTERGUID)'''''_Player''',''(STRING)'''''_SceneName''',''(STRING)'''''_InterruptType''')&lt;br /&gt;
* PROC '''Proc_SceneOver'''(''(STRING)'''''_SceneName''')&lt;br /&gt;
===== Description =====&lt;br /&gt;
The scene manager can be used to group a number of NPCs and areas into a scene that should normally run in an uninterrupted way. If a player nevertheless manages to interrupt it in some way, it offers a generic interface to detect any interruptions so they can be easily handled.&lt;br /&gt;
&lt;br /&gt;
'''DB_SceneManager''' lists all '''_Npc'''s that take part in the scene with identifier '''_SceneName'''. All assault crimes will be disabled for such NPCs while the scene is ongoing. They will be re-enabled after the scene has finished if they were enabled before. '''DB_SceneTriggerManager''' lists box '''_Trigger'''s relevant to '''_SceneName'''. If '''_IgnoreItems''' is not specified, it is assumed to be '''1'''. These triggers are used to detect actions that interrupt scenes.&lt;br /&gt;
&lt;br /&gt;
'''Proc_SceneInterrupted''' is called when scene '''_SceneName''' is interrupted by an action. Such an interruption does '''''not''''' automatically end the scene. '''_Player''' can be NULL if it the player that caused the interruption is unknown. '''_NPC''' can be an item in case '''_IgnoreItems''' for a '''DB_SceneTriggerManager''' definition was '''0''' and an item was involved. The possible '''_InterruptType''' causes are: &lt;br /&gt;
* '''LeftTrigger''': an '''_Npc''' listed via '''DB_SceneManager''' has left a trigger listed via '''SceneTriggerManager'''&lt;br /&gt;
* '''Attacked''': an '''_Npc''' listed via '''DB_SceneManager''' was attacked by another character (if a summon attacks the character, it will be reported as the '''_Player''' that interrupted the scene), or it was teleported&lt;br /&gt;
* '''StartedDialog''': a player or companion started a dialog with an '''_Npc''' listed via '''DB_SceneManager'''&lt;br /&gt;
* '''DestroyedItem''': a player or companion destroyed an item in a trigger listed in '''DB_SceneTriggerManager''' with '''_IgnoreItems''' == 0&lt;br /&gt;
* (new in Definitive Edition) '''PlayerTeleportInDialog''': a player was teleported more than 5 metres away from their original position while in dialog with one of the scene members&lt;br /&gt;
* (new in Definitive Edition) '''EnteredCombat''': one of the scene participants entered combat&lt;br /&gt;
* (new in Definitive Edition) '''Died''': one of the scene participants died&lt;br /&gt;
&lt;br /&gt;
'''Proc_SceneOver''' must be called by you when the scene has finished (either normally, or because of an interruption that you deem fatal). This will clean up everything related to the scene with name '''_SceneName''':&lt;br /&gt;
* Restore assault crimes for NPCs for whom this was disabled on initialisation.&lt;br /&gt;
* For every NPC listed for this scene via '''DB_SceneManager''', all crimes will be enabled, except as excluded by the '''DB_CharacterAllCrimesDisabled''' or '''DB_CharacterCrimeDisabled''' databases (so that you can disable all crimes for such NPCs manually on initialisation if desired, and after the scene has finished they revert to the defaults).&lt;br /&gt;
* No further '''Proc_SceneInterrupted''' calls will happen for this scene.&lt;br /&gt;
===== Notes =====&lt;br /&gt;
* Adding characters to a scene does not by itself make these characters do something. Their actions in the scene still need to be scripted using either Osiris or behaviour script. This functionality only offers a generic interface to detecting interruptions affecting one or more characters/items that you defined as belonging to a partciular scene.&lt;br /&gt;
&lt;br /&gt;
===== See Also =====&lt;br /&gt;
* /&lt;br /&gt;
 &lt;br /&gt;
[[Category:Osiris Shared Mod Helpers|SceneManager]]&lt;/div&gt;</summary>
		<author><name>Tinkerer</name></author>
	</entry>
	<entry>
		<id>https://docs.larian.game/index.php?title=Osiris/Shared/DB_SceneManager&amp;diff=6683</id>
		<title>Osiris/Shared/DB SceneManager</title>
		<link rel="alternate" type="text/html" href="https://docs.larian.game/index.php?title=Osiris/Shared/DB_SceneManager&amp;diff=6683"/>
		<updated>2019-10-16T09:00:25Z</updated>

		<summary type="html">&lt;p&gt;Tinkerer: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===== Full Definition(s) =====&lt;br /&gt;
* '''DB_SceneManager(''(CHARACTERGUID)''_Npc,'''''(STRING)'''''_SceneName''')&lt;br /&gt;
* '''DB_SceneTriggerManager'''(''(STRING)'''''_SceneName''',''(TRIGGERGUID)'''''_Trigger''')&lt;br /&gt;
* '''DB_SceneTriggerManager'''(''(STRING)'''''_SceneName''',''(TRIGGERGUID)'''''_Trigger,''(INTEGER)'''''_IgnoreItems''')&lt;br /&gt;
* PROC '''Proc_SceneInterrupted'''(''(GUIDSTRING)'''''_NPC''',''(CHARACTERGUID)'''''_Player''',''(STRING)'''''_SceneName''',''(STRING)'''''_InterruptType''')&lt;br /&gt;
* PROC '''Proc_SceneOver'''(''(STRING)'''''_SceneName''')&lt;br /&gt;
===== Description =====&lt;br /&gt;
The scene manager can be used to group a number of NPCs and areas into a scene that should normally run in an uninterrupted way. If a player nevertheless manages to interrupt it in some way, it offers a generic interface to detect any interruptions so they can be easily handled.&lt;br /&gt;
&lt;br /&gt;
'''DB_SceneManager''' lists all '''_Npc'''s that take part in the scene with identifier '''_SceneName'''. All assault crimes will be disabled for such NPCs while the scene is ongoing. They will be re-enabled after the scene has finished if they were enabled before. '''DB_SceneTriggerManager''' lists box '''_Trigger'''s relevant to '''_SceneName'''. If '''_IgnoreItems''' is not specified, it is assumed to be '''1'''. These triggers are used to detect actions that interrupt scenes.&lt;br /&gt;
&lt;br /&gt;
'''Proc_SceneInterrupted''' is called when scene '''_SceneName''' is interrupted by an action. Such an interruption does '''''not''''' automatically end the scene. '''_Player''' can be NULL if it the player that caused the interruption is unknown. '''_NPC''' can be an item in case '''_IgnoreItems''' for a '''DB_SceneTriggerManager''' definition was '''0''' and an item was involved. The possible '''_InterruptType''' causes are: &lt;br /&gt;
* '''LeftTrigger''': an '''_Npc''' listed via '''DB_SceneManager''' has left a trigger listed via '''SceneTriggerManager'''&lt;br /&gt;
* '''Attacked''': an '''_Npc''' listed via '''DB_SceneManager''' was attacked by another character (if a summon attacks the character, it will be reported as the '''_Player''' that interrupted the scene)&lt;br /&gt;
* '''StartedDialog''': a player or companion started a dialog with an '''_Npc''' listed via '''DB_SceneManager'''&lt;br /&gt;
* '''DestroyedItem''': a player or companion destroyed an item in a trigger listed in '''DB_SceneTriggerManager''' with '''_IgnoreItems''' == 0&lt;br /&gt;
* (new in Definitive Edition) '''PlayerTeleportInDialog''': a player was teleported more than 5 metres away from their original position while in dialog with one of the scene members&lt;br /&gt;
* (new in Definitive Edition) '''EnteredCombat''': one of the scene participants entered combat&lt;br /&gt;
* (new in Definitive Edition) '''Died''': one of the scene participants died&lt;br /&gt;
&lt;br /&gt;
'''Proc_SceneOver''' must be called by you when the scene has finished (either normally, or because of an interruption that you deem fatal). This will clean up everything related to the scene with name '''_SceneName''':&lt;br /&gt;
* Restore assault crimes for NPCs for whom this was disabled on initialisation.&lt;br /&gt;
* For every NPC listed for this scene via '''DB_SceneManager''', all crimes will be enabled, except as excluded by the '''DB_CharacterAllCrimesDisabled''' or '''DB_CharacterCrimeDisabled''' databases (so that you can disable all crimes for such NPCs manually on initialisation if desired, and after the scene has finished they revert to the defaults).&lt;br /&gt;
* No further '''Proc_SceneInterrupted''' calls will happen for this scene.&lt;br /&gt;
===== Notes =====&lt;br /&gt;
* Adding characters to a scene does not by itself make these characters do something. Their actions in the scene still need to be scripted using either Osiris or behaviour script. This functionality only offers a generic interface to detecting interruptions affecting one or more characters/items that you defined as belonging to a partciular scene.&lt;br /&gt;
&lt;br /&gt;
===== See Also =====&lt;br /&gt;
* /&lt;br /&gt;
 &lt;br /&gt;
[[Category:Osiris Shared Mod Helpers|SceneManager]]&lt;/div&gt;</summary>
		<author><name>Tinkerer</name></author>
	</entry>
	<entry>
		<id>https://docs.larian.game/index.php?title=Osiris/Shared/DB_SceneManager&amp;diff=6682</id>
		<title>Osiris/Shared/DB SceneManager</title>
		<link rel="alternate" type="text/html" href="https://docs.larian.game/index.php?title=Osiris/Shared/DB_SceneManager&amp;diff=6682"/>
		<updated>2019-10-16T09:00:14Z</updated>

		<summary type="html">&lt;p&gt;Tinkerer: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===== Full Definition(s) =====&lt;br /&gt;
* '''DB_SceneManager(''(CHARACTERGUID)''_Npc,'''''(STRING)'''''_SceneName''')&lt;br /&gt;
* '''DB_SceneTriggerManager'''(''(STRING)'''''_SceneName''',''(TRIGGERGUID)'''''_Trigger''')&lt;br /&gt;
* '''DB_SceneTriggerManager'''(''(STRING)'''''_SceneName''',''(TRIGGERGUID)'''''_Trigger,''(INTEGER)'''''_IgnoreItems''')&lt;br /&gt;
* PROC '''Proc_SceneInterrupted'''(''(GUIDSTRING)'''''_NPC''',''(CHARACTERGUID)'''''_Player''',''(STRING)'''''_SceneName''',''(STRING)'''''_InterruptType''')&lt;br /&gt;
* PROC '''Proc_SceneOver'''(''(STRING)'''''_SceneName''')&lt;br /&gt;
===== Description =====&lt;br /&gt;
The scene manager can be used to group a number of NPCs and areas into a scene that should normally run in an uninterrupted way. If a player nevertheless manages to interrupt it in some way, it offers a generic interface to detect any interruptions so they can be easily handled.&lt;br /&gt;
&lt;br /&gt;
'''DB_SceneManager''' lists all '''_Npc'''s that take part in the scene with identifier '''_SceneName'''. All assault crimes will be disabled for such NPCs while the scene is ongoing. They will be re-enabled after the scene has finished if they were enabled before. '''DB_SceneTriggerManager''' lists box '''_Trigger'''s relevant to '''_SceneName'''. If '''_IgnoreItems''' is not specified, it is assumed to be '''1'''. These triggers are used to detect actions that interrupt scenes.&lt;br /&gt;
&lt;br /&gt;
'''Proc_SceneInterrupted''' is called when scene '''_SceneName''' is interrupted by an action. Such an interruption does '''''not''''' automatically end the scene. '''_Player''' can be NULL if it the player that caused the interruption is unknown. '''_NPC''' can be an item in case '''_IgnoreItems''' for a '''DB_SceneTriggerManager''' definition was '''0''' and an item was involved. The possible '''_InterruptType''' causes are: &lt;br /&gt;
* '''LeftTrigger''': an '''_Npc''' listed via '''DB_SceneManager''' has left a trigger listed via '''SceneTriggerManager'''&lt;br /&gt;
* '''Attacked''': an '''_Npc''' listed via '''DB_SceneManager''' was attacked by another character (if a summon attacks the character, it will be reported as the '''_Player''' that interrupted the scene)&lt;br /&gt;
* '''StartedDialog''': a player or companion started a dialog with an '''_Npc''' listed via '''DB_SceneManager'''&lt;br /&gt;
* '''DestroyedItem''': a player or companion destroyed an item in a trigger listed in '''DB_SceneTriggerManager''' with '''_IgnoreItems''' == 0&lt;br /&gt;
* (new in Definitive Edition) '''PlayerTeleportInDialog''': a player was teleported more than 5 metres away from their original position while in dialog with one of the scene members&lt;br /&gt;
*  (new in Definitive Edition)'''EnteredCombat''': one of the scene participants entered combat&lt;br /&gt;
*  (new in Definitive Edition)'''Died''': one of the scene participants died&lt;br /&gt;
&lt;br /&gt;
'''Proc_SceneOver''' must be called by you when the scene has finished (either normally, or because of an interruption that you deem fatal). This will clean up everything related to the scene with name '''_SceneName''':&lt;br /&gt;
* Restore assault crimes for NPCs for whom this was disabled on initialisation.&lt;br /&gt;
* For every NPC listed for this scene via '''DB_SceneManager''', all crimes will be enabled, except as excluded by the '''DB_CharacterAllCrimesDisabled''' or '''DB_CharacterCrimeDisabled''' databases (so that you can disable all crimes for such NPCs manually on initialisation if desired, and after the scene has finished they revert to the defaults).&lt;br /&gt;
* No further '''Proc_SceneInterrupted''' calls will happen for this scene.&lt;br /&gt;
===== Notes =====&lt;br /&gt;
* Adding characters to a scene does not by itself make these characters do something. Their actions in the scene still need to be scripted using either Osiris or behaviour script. This functionality only offers a generic interface to detecting interruptions affecting one or more characters/items that you defined as belonging to a partciular scene.&lt;br /&gt;
&lt;br /&gt;
===== See Also =====&lt;br /&gt;
* /&lt;br /&gt;
 &lt;br /&gt;
[[Category:Osiris Shared Mod Helpers|SceneManager]]&lt;/div&gt;</summary>
		<author><name>Tinkerer</name></author>
	</entry>
	<entry>
		<id>https://docs.larian.game/index.php?title=Osiris/Shared/DB_SceneManager&amp;diff=6681</id>
		<title>Osiris/Shared/DB SceneManager</title>
		<link rel="alternate" type="text/html" href="https://docs.larian.game/index.php?title=Osiris/Shared/DB_SceneManager&amp;diff=6681"/>
		<updated>2019-10-16T08:51:38Z</updated>

		<summary type="html">&lt;p&gt;Tinkerer: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===== Full Definition(s) =====&lt;br /&gt;
* '''DB_SceneManager(''(CHARACTERGUID)''_Npc,'''''(STRING)'''''_SceneName''')&lt;br /&gt;
* '''DB_SceneTriggerManager'''(''(STRING)'''''_SceneName''',''(TRIGGERGUID)'''''_Trigger''')&lt;br /&gt;
* '''DB_SceneTriggerManager'''(''(STRING)'''''_SceneName''',''(TRIGGERGUID)'''''_Trigger,''(INTEGER)'''''_IgnoreItems''')&lt;br /&gt;
* PROC '''Proc_SceneInterrupted'''(''(GUIDSTRING)'''''_NPC''',''(CHARACTERGUID)'''''_Player''',''(STRING)'''''_SceneName''',''(STRING)'''''_InterruptType''')&lt;br /&gt;
* PROC '''Proc_SceneOver'''(''(STRING)'''''_SceneName''')&lt;br /&gt;
===== Description =====&lt;br /&gt;
The scene manager can be used to group a number of NPCs and areas into a scene that should normally run in an uninterrupted way. If a player nevertheless manages to interrupt it in some way, it offers a generic interface to detect any interruptions so they can be easily handled.&lt;br /&gt;
&lt;br /&gt;
'''DB_SceneManager''' lists all '''_Npc'''s that take part in the scene with identifier '''_SceneName'''. All assault crimes will be disabled for such NPCs while the scene is ongoing. They will be re-enabled after the scene has finished if they were enabled before. '''DB_SceneTriggerManager''' lists box '''_Trigger'''s relevant to '''_SceneName'''. If '''_IgnoreItems''' is not specified, it is assumed to be '''1'''. These triggers are used to detect actions that interrupt scenes.&lt;br /&gt;
&lt;br /&gt;
'''Proc_SceneInterrupted''' is called when scene '''_SceneName''' is interrupted by an action. Such an interruption does '''''not''''' automatically end the scene. '''_Player''' can be NULL if it the player that caused the interruption is unknown. '''_NPC''' can be an item in case '''_IgnoreItems''' for a '''DB_SceneTriggerManager''' definition was '''0''' and an item was involved. The possible '''_InterruptType''' causes are: &lt;br /&gt;
* '''LeftTrigger''': an '''_Npc''' listed via '''DB_SceneManager''' has left a trigger listed via '''SceneTriggerManager'''&lt;br /&gt;
* '''Attacked''': an '''_Npc''' listed via '''DB_SceneManager''' was attacked by another character (if a summon attacks the character, it will be reported as the '''_Player''' that interrupted the scene)&lt;br /&gt;
* '''StartedDialog''': a player or companion started a dialog with an '''_Npc''' listed via '''DB_SceneManager'''&lt;br /&gt;
* '''DestroyedItem''': a player or companion destroyed an item in a trigger listed in '''DB_SceneTriggerManager''' with '''_IgnoreItems''' == 0&lt;br /&gt;
* (new in Definitive Edition) '''PlayerTeleportInDialog''': a player was teleported more than 5 metres away from their original position while in dialog with one of the scene members&lt;br /&gt;
&lt;br /&gt;
'''Proc_SceneOver''' must be called by you when the scene has finished (either normally, or because of an interruption that you deem fatal). This will clean up everything related to the scene with name '''_SceneName''':&lt;br /&gt;
* Restore assault crimes for NPCs for whom this was disabled on initialisation.&lt;br /&gt;
* For every NPC listed for this scene via '''DB_SceneManager''', all crimes will be enabled, except as excluded by the '''DB_CharacterAllCrimesDisabled''' or '''DB_CharacterCrimeDisabled''' databases (so that you can disable all crimes for such NPCs manually on initialisation if desired, and after the scene has finished they revert to the defaults).&lt;br /&gt;
* No further '''Proc_SceneInterrupted''' calls will happen for this scene.&lt;br /&gt;
===== Notes =====&lt;br /&gt;
* Adding characters to a scene does not by itself make these characters do something. Their actions in the scene still need to be scripted using either Osiris or behaviour script. This functionality only offers a generic interface to detecting interruptions affecting one or more characters/items that you defined as belonging to a partciular scene.&lt;br /&gt;
&lt;br /&gt;
===== See Also =====&lt;br /&gt;
* /&lt;br /&gt;
 &lt;br /&gt;
[[Category:Osiris Shared Mod Helpers|SceneManager]]&lt;/div&gt;</summary>
		<author><name>Tinkerer</name></author>
	</entry>
	<entry>
		<id>https://docs.larian.game/index.php?title=Osiris/API/DialogRequestFailed&amp;diff=6680</id>
		<title>Osiris/API/DialogRequestFailed</title>
		<link rel="alternate" type="text/html" href="https://docs.larian.game/index.php?title=Osiris/API/DialogRequestFailed&amp;diff=6680"/>
		<updated>2019-10-06T21:58:43Z</updated>

		<summary type="html">&lt;p&gt;Tinkerer: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===== Full Definition(s) =====&lt;br /&gt;
* event '''DialogRequestFailed'''(''(STRING)'''''_Dialog''', ''(INTEGER)'''''_InstanceID''')&lt;br /&gt;
===== Description =====&lt;br /&gt;
Thrown when an interactive dialog file was not found, or if an interactive dialog was [[Osiris/API/DialogRequestStop|stopped]] before the [[Osiris/API/DialogStarted|DialogStarted]] event was thrown.&lt;br /&gt;
===== Parameters =====&lt;br /&gt;
* '''_Dialog''': The name of the dialog.&lt;br /&gt;
* '''_InstanceID''': Unique identifier for this interactive dialog instance.&lt;br /&gt;
&lt;br /&gt;
===== Notes =====&lt;br /&gt;
* Automated dialogs will throw an [[Osiris/API/AutomatedDialogRequestFailed|AutomatedDialogRequestFailed]] event instead.&lt;br /&gt;
* This event is not thrown if [[Osiris/API/StartDialog_Internal|StartDialog_Internal]] returned that it failed to start the dialog. It's only thrown if that routine returned success, but then the dialog did not start after all because of one of the reasons mentioned in the description.&lt;br /&gt;
* A [[Osiris/API/DialogEnded|DialogEnded]] event will always follow after a '''DialogRequestFailed''' event.&lt;br /&gt;
&lt;br /&gt;
===== See Also =====&lt;br /&gt;
* [[Osiris/API/AutomatedDialogRequestFailed|AutomatedDialogRequestFailed]]&lt;br /&gt;
* [[Osiris/API/DialogEnded|DialogEnded]]&lt;br /&gt;
* [[Osiris/API/DialogStarted|DialogStarted]]&lt;br /&gt;
* Helper [[Osiris/Shared/DB_DialogNPCs|DB_DialogNPCs]]&lt;br /&gt;
* Helper [[Osiris/Shared/DB_DialogPlayers|DB_DialogPlayers]]&lt;br /&gt;
* Helper [[Osiris/Shared/Proc_StartDialog|Proc_StartDialog]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Osiris Events|DialogRequestFailed]]&lt;/div&gt;</summary>
		<author><name>Tinkerer</name></author>
	</entry>
	<entry>
		<id>https://docs.larian.game/index.php?title=Osiris/API/CharacterPurgeQueue&amp;diff=6679</id>
		<title>Osiris/API/CharacterPurgeQueue</title>
		<link rel="alternate" type="text/html" href="https://docs.larian.game/index.php?title=Osiris/API/CharacterPurgeQueue&amp;diff=6679"/>
		<updated>2019-10-06T09:11:35Z</updated>

		<summary type="html">&lt;p&gt;Tinkerer: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===== Full Definition(s) =====&lt;br /&gt;
* call '''CharacterPurgeQueue'''(''(CHARACTERGUID)'''''_Character''')&lt;br /&gt;
&lt;br /&gt;
===== Description =====&lt;br /&gt;
This call will remove the currently executing '''Osiris''' task and all queued '''Osiris''' tasks for '''_Character''' instantaneously as if they were never queued in the first place.&lt;br /&gt;
&lt;br /&gt;
See the description of [[Osiris/API/CharacterFlushQueue|CharacterFlushQueue]] for information about the Osiris queuing system.&lt;br /&gt;
===== Notes =====&lt;br /&gt;
* This will only purge tasks queued from Osiris. It has no effect on tasks started from behaviour scripts.&lt;br /&gt;
* This call should virtually always be followed by a call to [[Osiris/Shared/ProcClearMovingFacts|ProcClearMovingFacts]]. This will reset any state stored by the Shared mod's [[Osiris/Shared/ProcCharacterMoveTo|ProcCharacterMoveTo]], and thereby prevent the character from resuming such movements afterwards (since this state is not part of Osiris itself and hence is not deleted by this call).&lt;br /&gt;
* If you wish to immediately complete the queued actions instead of removing them, use [[Osiris/API/CharacterFlushQueue|CharacterFlushQueue]] instead&lt;br /&gt;
&lt;br /&gt;
===== See Also =====&lt;br /&gt;
* [[Osiris/API/CharacterFlushQueue|CharacterFlushQueue]]&lt;br /&gt;
 &lt;br /&gt;
[[Category:Osiris Calls|CharacterPurgeQueue|CharacterPurgeQueue]]&lt;/div&gt;</summary>
		<author><name>Tinkerer</name></author>
	</entry>
	<entry>
		<id>https://docs.larian.game/index.php?title=Osiris/Shared/DB_DialogNPCs&amp;diff=6678</id>
		<title>Osiris/Shared/DB DialogNPCs</title>
		<link rel="alternate" type="text/html" href="https://docs.larian.game/index.php?title=Osiris/Shared/DB_DialogNPCs&amp;diff=6678"/>
		<updated>2019-10-06T09:08:34Z</updated>

		<summary type="html">&lt;p&gt;Tinkerer: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===== Full Definition(s) =====&lt;br /&gt;
* '''DB_DialogNPCs'''(''(INTEGER)'''''_Inst''', '''''(CHARACTERGUID)'''''_Actor, '''''(INTEGER)'''''_Slot''')&lt;br /&gt;
* '''DB_DialogPlayers'''(''(INTEGER)'''''_Inst''', '''''(CHARACTERGUID)'''''_Actor, '''''(INTEGER)'''''_Slot''')&lt;br /&gt;
===== Description =====&lt;br /&gt;
Whenever a [[Osiris/API/DialogStarted|dialog starts]], all NPCs and players involved in this dialog instance '''_Inst''' will be collected in these databases. '''_Slot''' counts separately for players and NPCs from 1 to the number of players resp. NPCs involved in the dialog.&lt;br /&gt;
&lt;br /&gt;
Actors added via [[Osiris/API/DialogAddCharacter|DialogAddCharacter]] and [[Osiris/API/DialogAddCharacterAt|DialogAddCharacterAt]] will also be added to these databases.&lt;br /&gt;
===== Notes =====&lt;br /&gt;
* During the [[Osiris/API/DialogEnded|DialogEnded]] event, this database is still valid. The reason is that it gets removed in '''ZZZ_LastGoal''' story goal, and event handlers in goals get executed in the order corresponding to the [[Osiris_Overview#Rule_Order|alphabetical order of the goal names]].&lt;br /&gt;
===== See Also =====&lt;br /&gt;
* [[Osiris/API/DialogActorJoined|DialogActorJoined]]&lt;br /&gt;
* [[Osiris/API/DialogAddActor|DialogAddActor]]&lt;br /&gt;
* [[Osiris/API/DialogAddActorAt|DialogAddActorAt]]&lt;br /&gt;
* [[Osiris/API/DialogStarted|DialogStarted]]&lt;br /&gt;
* [[Osiris/API/DialogRequestFailed|DialogRequestFailed]]&lt;br /&gt;
* [[Osiris/API/DialogEnded|DialogEnded]]&lt;br /&gt;
* helper [[Osiris/Shared/DB_DialogName|DB_DialogName]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Osiris Shared Mod Helpers|DialogNPCs]]&lt;/div&gt;</summary>
		<author><name>Tinkerer</name></author>
	</entry>
</feed>