This article relates to the game "Dota 2". Click here for more information.
This article relates to the SDK/Workshop Tools for "Dota 2 Workshop Tools". Click here for more information.
This article's documentation is for Source 2. Click here for more information.

Dota 2 Workshop Tools/Scripting/API: Difference between revisions

From Valve Developer Community
Jump to navigation Jump to search
(Dota_Lebot push: Updated Page)
No edit summary
 
(120 intermediate revisions by 29 users not shown)
Line 1: Line 1:
{{otherlang2
{{LanguageBar}}
|zh-cn=Dota 2 Workshop Tools/Scripting/API:zh-cn
{{cleanup|1500 subpages most of them useless}}
|ru=Dota 2 Workshop Tools/Scripting/API:ru
{{Dota 2Tools topicons}}
}}{{Note | This page is automatically generated. Any changes may be overwritten}}
{{Note | This page is automatically generated. Changes can be submitted on Jochnickels github page: https://github.com/Jochnickel/dota_wiki_dumper}}
 
 
<span style="color:#FF0000"><big>This page outdated, use [https://moddota.com/api moddota.com/api] instead</big></span>
    
    
==='''Accessing the DOTA 2 Scripting API from Lua===
==='''Accessing the DOTA 2 Scripting API from Lua===
Line 8: Line 11:
While Lua is [http://en.wikipedia.org/wiki/Dynamically_typed dynamically typed], the DOTA 2 engine is written primarily in C++, which is [http://en.wikipedia.org/wiki/Type_system#Static_type-checking statically typed]. Thus, you'll need to be conscious of your data types when calling the API. (If you try to pass the wrong type to an API function, you'll get an error message in Vconsole telling you what you passed and what it was expecting.)
While Lua is [http://en.wikipedia.org/wiki/Dynamically_typed dynamically typed], the DOTA 2 engine is written primarily in C++, which is [http://en.wikipedia.org/wiki/Type_system#Static_type-checking statically typed]. Thus, you'll need to be conscious of your data types when calling the API. (If you try to pass the wrong type to an API function, you'll get an error message in Vconsole telling you what you passed and what it was expecting.)
__TOC__
__TOC__
=== Global ===
 
''Global functions. These can be called without any class''
=== Functions ===
 
==== Global ====
''Global functions. These can be called without any class.''
{| class="standard-table" style="width: 100%;"
{| class="standard-table" style="width: 100%;"
! Function  
! Function  
Line 15: Line 21:
! Description  
! Description  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/Global.AddFOWViewer | AddFOWViewer]]
| [[Dota 2 Workshop Tools/Scripting/API/Global.AddFOWViewer | AddFOWViewer]]  
| <code>void AddFOWViewer(int int_1, Vector Vector_2, float float_3, float float_4, bool bool_5) </code>
| <code>void AddFOWViewer(int int_1, Vector Vector_2, float float_3, float float_4, bool bool_5)</code>
| Add temporary vision for a given team ( nTeamID, vLocation, flRadius, flDuration, bObstructedVision)
| Add temporary vision for a given team ( nTeamID, vLocation, flRadius, flDuration, bObstructedVision)  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/Global.AngleDiff | AngleDiff]]
| [[Dota 2 Workshop Tools/Scripting/API/Global.AngleDiff | AngleDiff]]  
| <code>float AngleDiff(float ang1, float ang2) </code>
| <code>float AngleDiff(float float_1, float float_2)</code>
| Returns the number of degrees difference between two yaw angles
| Returns the number of degrees difference between two yaw angles  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/Global.AppendToLogFile | AppendToLogFile]]
| [[Dota 2 Workshop Tools/Scripting/API/Global.AppendToLogFile | AppendToLogFile]]  
| <code>void AppendToLogFile(string string_1, string string_2) </code>
| <code>void AppendToLogFile(string string_1, string string_2)</code>
| Appends a ''string'' to a log file on the server
| AppendToLogFile is deprecated. Print to the console for logging instead.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/Global.ApplyDamage | ApplyDamage]]
| [[Dota 2 Workshop Tools/Scripting/API/Global.ApplyDamage | ApplyDamage]]  
| <code>float ApplyDamage(handle DamageTable) </code>
| <code>float ApplyDamage(handle handle_1)</code>
| Applies damage to a unit.
| ApplyDamage({victim = {}, attacker = {}, damage = 0, damage_type = DAMAGE_TYPE_MAGICAL, damage_flags = DOTA_DAMAGE_FLAG_IGNORES_MAGIC_ARMOR, ability = {}})
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/Global.AxisAngleToQuaternion | AxisAngleToQuaternion]]
| [[Dota 2 Workshop Tools/Scripting/API/Global.AxisAngleToQuaternion | AxisAngleToQuaternion]]  
| <code>Quaternion AxisAngleToQuaternion(Vector Vector_1, float float_2) </code>
| <code>Quaternion AxisAngleToQuaternion(Vector Vector_1, float float_2)</code>
| (''vector'',''float'') constructs a quaternion representing a rotation by angle around the specified ''vector'' axis
| (vector,float) constructs a quaternion representing a rotation by angle around the specified vector axis  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/Global.CalcClosestPointOnEntityOBB | CalcClosestPointOnEntityOBB]]
| [[Dota 2 Workshop Tools/Scripting/API/Global.CalcClosestPointOnEntityOBB | CalcClosestPointOnEntityOBB]]  
| <code>Vector CalcClosestPointOnEntityOBB(handle handle_1, Vector Vector_2) </code>
| <code>Vector CalcClosestPointOnEntityOBB(handle handle_1, Vector Vector_2)</code>
| Compute the closest point on the OBB of an entity.
| Compute the closest point on the OBB of an entity.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/Global.CalcDistanceBetweenEntityOBB | CalcDistanceBetweenEntityOBB]]
| [[Dota 2 Workshop Tools/Scripting/API/Global.CalcDistanceBetweenEntityOBB | CalcDistanceBetweenEntityOBB]]  
| <code>float CalcDistanceBetweenEntityOBB(handle handle_1, handle handle_2) </code>
| <code>float CalcDistanceBetweenEntityOBB(handle handle_1, handle handle_2)</code>
| Compute the distance between two entity OBB. A negative return value indicates an input error. A return value of zero indicates that the OBBs are overlapping.
| Compute the distance between two entity OBB. A negative return value indicates an input error. A return value of zero indicates that the OBBs are overlapping.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/Global.CancelEntityIOEvents | CancelEntityIOEvents]]
| [[Dota 2 Workshop Tools/Scripting/API/Global.CalcDistanceToLineSegment2D | CalcDistanceToLineSegment2D]]  
| <code>void CancelEntityIOEvents(ehandle ehandle_1) </code>
| <code>float CalcDistanceToLineSegment2D(Vector Vector_1, Vector Vector_2, Vector Vector_3)</code>
| Create all I/O events for a particular entity
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/Global.ClearTeamCustomHealthbarColor | ClearTeamCustomHealthbarColor]]
| [[Dota 2 Workshop Tools/Scripting/API/Global.CancelEntityIOEvents | CancelEntityIOEvents]]  
| <code>void ClearTeamCustomHealthbarColor(int int_1) </code>
| <code>void CancelEntityIOEvents(ehandle ehandle_1)</code>
| ( teamNumber )
| Create all I/O events for a particular entity
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/Global.CreateEffect | CreateEffect]]
| [[Dota 2 Workshop Tools/Scripting/API/Global.ClearTeamCustomHealthbarColor | ClearTeamCustomHealthbarColor]]  
| <code>bool CreateEffect(handle handle_1) </code>
| <code>void ClearTeamCustomHealthbarColor(int int_1)</code>
| Pass ''table'' - Inputs: entity, effect
| ( teamNumber )
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/Global.CreateHeroForPlayer | CreateHeroForPlayer]]
| [[Dota 2 Workshop Tools/Scripting/API/Global.CreateDamageInfo | CreateDamageInfo]]  
| <code>handle CreateHeroForPlayer(string unitName, handle player) </code>
| <code>handle CreateDamageInfo(handle handle_1, handle handle_2, Vector Vector_3, Vector Vector_4, float float_5, int int_6)</code>
| Creates a DOTA hero by its dota_npc_units.txt name and sets it as the given player's controlled hero
| (hInflictor, hAttacker, flDamage) - Allocate a damageinfo object, used as an argument to TakeDamage(). Call DestroyDamageInfo( hInfo ) to free the object.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/Global.CreateHTTPRequest | CreateHTTPRequest]]
| [[Dota 2 Workshop Tools/Scripting/API/Global.CreateEffect | CreateEffect]]  
| <code>handle CreateHTTPRequest(string string_1, string string_2) </code>
| <code>bool CreateEffect(handle handle_1)</code>
| Create an HTTP request.
| Pass table - Inputs: entity, effect
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/Global.CreateItem | CreateItem]]
| [[Dota 2 Workshop Tools/Scripting/API/Global.CreateHTTPRequest | CreateHTTPRequest]]  
| <code>handle CreateItem(string item_name, handle owner, handle owner) </code>
| <code>handle CreateHTTPRequest(string string_1, string string_2)</code>
| Creates an item with classname <i>item_name</i> that <i>owner</i> can use.
| Create an HTTP request.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/Global.CreateItemOnPositionForLaunch | CreateItemOnPositionForLaunch]]
| [[Dota 2 Workshop Tools/Scripting/API/Global.CreateHTTPRequestScriptVM | CreateHTTPRequestScriptVM]]  
| <code>handle CreateItemOnPositionForLaunch(Vector Vector_1, handle handle_2) </code>
| <code>handle CreateHTTPRequestScriptVM(string string_1, string string_2)</code>
| Create a physical item at a given location, can start in air (but doesn't clear a space)
| Create an HTTP request.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/Global.CreateItemOnPositionSync | CreateItemOnPositionSync]]
| [[Dota 2 Workshop Tools/Scripting/API/Global.CreateHeroForPlayer | CreateHeroForPlayer]]  
| <code>handle CreateItemOnPositionSync(Vector Vector_1, handle handle_2) </code>
| <code>handle CreateHeroForPlayer(string string_1, handle handle_2)</code>
| Create a physical item at a given location
| Creates a DOTA hero by its dota_npc_units.txt name and sets it as the given player's controlled hero
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/Global.CreateModifierThinker | CreateModifierThinker]]
| [[Dota 2 Workshop Tools/Scripting/API/Global.CreateIllusions | CreateIllusions]]  
| <code>handle CreateModifierThinker(handle handle_1, handle handle_2, string string_3, handle handle_4, Vector Vector_5, int int_6, bool bool_7) </code>
| <code>table CreateIllusions(handle handle_1, handle handle_2, handle handle_3, int int_4, int int_5, bool bool_6, bool bool_7)</code>
| Create a modifier not associated with an NPC. ( hCaster, hAbility, modifierName, paramTable, vOrigin, nTeamNumber, bPhantomBlocker )
| Create illusions of the passed hero that belong to passed unit using passed modifier data. ( hOwner, hHeroToCopy, hModiiferKeys, nNumIllusions, nPadding, bScramblePosition, bFindClearSpace )  
Supported keys:
outgoing_damage
incoming_damage
bounty_base
bounty_growth
outgoing_damage_structure
outgoing_damage_roshan
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/Global.CreateTempTree | CreateTempTree]]
| [[Dota 2 Workshop Tools/Scripting/API/Global.CreateItem | CreateItem]]  
| <code>void CreateTempTree(Vector Vector_1, float float_2) </code>
| <code>handle CreateItem(string string_1, handle handle_2, handle handle_3)</code>
| Create a temporary tree. (vLocation, flDuration).
| Create a DOTA item
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/Global.CreateTrigger | CreateTrigger]]
| [[Dota 2 Workshop Tools/Scripting/API/Global.CreateItemOnPositionForLaunch | CreateItemOnPositionForLaunch]]  
| <code>handle CreateTrigger(Vector Vector_1, Vector Vector_2, Vector Vector_3) </code>
| <code>handle CreateItemOnPositionForLaunch(Vector Vector_1, handle handle_2)</code>
| CreateTrigger( vecMin, vecMax ) : Creates and returns an AABB trigger
| Create a physical item at a given location, can start in air (but doesn't clear a space)  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/Global.CreateTriggerRadiusApproximate | CreateTriggerRadiusApproximate]]
| [[Dota 2 Workshop Tools/Scripting/API/Global.CreateItemOnPositionSync | CreateItemOnPositionSync]]  
| <code>handle CreateTriggerRadiusApproximate(Vector Vector_1, float float_2) </code>
| <code>handle CreateItemOnPositionSync(Vector Vector_1, handle handle_2)</code>
| CreateTriggerRadiusApproximate( vecOrigin, flRadius ) : Creates and returns an AABB trigger thats bigger than the radius provided
| Create a physical item at a given location
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/Global.CreateUnitByName | CreateUnitByName]]
| [[Dota 2 Workshop Tools/Scripting/API/Global.CreateModifierThinker | CreateModifierThinker]]  
| <code>handle CreateUnitByName(string string_1, Vector Vector_2, bool bool_3, handle handle_4, handle handle_5, int int_6) </code>
| <code>handle CreateModifierThinker(handle handle_1, handle handle_2, string string_3, handle handle_4, Vector Vector_5, int int_6, bool bool_7)</code>
| Creates a DOTA unit by its dota_npc_units.txt name ( szUnitName, vLocation, bFindClearSpace, hNPCOwner, hUnitOwner, iTeamNumber )
| Create a modifier not associated with an NPC. ( hCaster, hAbility, modifierName, paramTable, vOrigin, nTeamNumber, bPhantomBlocker )  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/Global.CreateUnitByNameAsync | CreateUnitByNameAsync]]
| [[Dota 2 Workshop Tools/Scripting/API/Global.CreateSceneEntity | CreateSceneEntity]]  
| <code>int CreateUnitByNameAsync(string string_1, Vector Vector_2, bool bool_3, handle handle_4, handle handle_5, int int_6, handle handle_7) </code>
| <code>handle CreateSceneEntity(string string_1)</code>
| Creates a DOTA unit by its dota_npc_units.txt name ( szUnitName, vLocation, bFindClearSpace, hNPCOwner, hUnitOwner, iTeamNumber, hCallback )
| Create a scene entity to play the specified scene.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/Global.CreateUnitFromTable | CreateUnitFromTable]]
| [[Dota 2 Workshop Tools/Scripting/API/Global.CreateTempTree | CreateTempTree]]  
| <code>hscript CreateUnitFromTable(handle handle_1, Vector Vector_2) </code>
| <code>handle CreateTempTree(Vector Vector_1, float float_2)</code>
| Creates a new data-driven entity with the given table
| Create a temporary tree, uses a default tree model. (vLocation, flDuration).
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/Global.cvar_getf | cvar_getf]]
| [[Dota 2 Workshop Tools/Scripting/API/Global.CreateTempTreeWithModel | CreateTempTreeWithModel]]  
| <code>float cvar_getf(string string_1) </code>
| <code>handle CreateTempTreeWithModel(Vector Vector_1, float float_2, string string_3)</code>
| Gets the value of the given cvar, as a ''float''.
| Create a temporary tree, specifying the tree model name. (vLocation, flDuration, szModelName).  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/Global.cvar_setf | cvar_setf]]
| [[Dota 2 Workshop Tools/Scripting/API/Global.CreateTrigger | CreateTrigger]]  
| <code>bool cvar_setf(string string_1, float float_2) </code>
| <code>handle CreateTrigger(Vector Vector_1, Vector Vector_2, Vector Vector_3)</code>
| Sets the value of the given cvar, as a ''float''.
| CreateTrigger( vecMin, vecMax ) : Creates and returns an AABB trigger
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/Global.DebugBreak | DebugBreak]]
| [[Dota 2 Workshop Tools/Scripting/API/Global.CreateTriggerRadiusApproximate | CreateTriggerRadiusApproximate]]  
| <code>void DebugBreak() </code>
| <code>handle CreateTriggerRadiusApproximate(Vector Vector_1, float float_2)</code>
| Breaks in the debugger
| CreateTriggerRadiusApproximate( vecOrigin, flRadius ) : Creates and returns an AABB trigger thats bigger than the radius provided
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/Global.DebugDrawBox | DebugDrawBox]]
| [[Dota 2 Workshop Tools/Scripting/API/Global.CreateUnitByName | CreateUnitByName]]  
| <code>void DebugDrawBox(Vector origin, Vector min, Vector max, int r, int g, int b, int a, float duration) </code>
| <code>handle CreateUnitByName(string string_1, Vector Vector_2, bool bool_3, handle handle_4, handle handle_5, int int_6)</code>
| Draw a debug overlay box
| Creates a DOTA unit by its dota_npc_units.txt name
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/Global.DebugDrawBoxDirection | DebugDrawBoxDirection]]
| [[Dota 2 Workshop Tools/Scripting/API/Global.CreateUnitByNameAsync | CreateUnitByNameAsync]]  
| <code>void DebugDrawBoxDirection(Vector Vector_1, Vector Vector_2, Vector Vector_3, Vector Vector_4, Vector Vector_5, float float_6, float float_7) </code>
| <code>int CreateUnitByNameAsync(string string_1, Vector Vector_2, bool bool_3, handle handle_4, handle handle_5, int int_6, handle handle_7)</code>
| Draw a debug forward box (cent, min, max, forward, vRgb, a, duration)
| Creates a DOTA unit by its dota_npc_units.txt name
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/Global.DebugDrawCircle | DebugDrawCircle]]
| [[Dota 2 Workshop Tools/Scripting/API/Global.CreateUnitFromTable | CreateUnitFromTable]]  
| <code>void DebugDrawCircle(Vector Vector_1, Vector Vector_2, float float_3, float float_4, bool bool_5, float float_6) </code>
| <code>handle CreateUnitFromTable(handle handle_1, Vector Vector_2)</code>
| Draw a debug circle (center, vRgb, a, rad, ztest, duration)
| Creates a DOTA unit by its dota_npc_units.txt name from a table of entity key values and a position to spawn at.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/Global.DebugDrawClear | DebugDrawClear]]
| [[Dota 2 Workshop Tools/Scripting/API/Global.CrossVectors | CrossVectors]]  
| <code>void DebugDrawClear() </code>
| <code>Vector CrossVectors(Vector Vector_1, Vector Vector_2)</code>
| Try to clear all the debug overlay info
| (vector,vector) cross product between two vectors
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/Global.DebugDrawLine | DebugDrawLine]]
| [[Dota 2 Workshop Tools/Scripting/API/Global.DebugBreak | DebugBreak]]  
| <code>void DebugDrawLine(Vector Vector_1, Vector Vector_2, int int_3, int int_4, int int_5, bool bool_6, float float_7) </code>
| <code>void DebugBreak()</code>
| Draw a debug overlay line (origin, target, r, g, b, ztest, duration)
| Breaks in the debugger
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/Global.DebugDrawLine_vCol | DebugDrawLine_vCol]]
| [[Dota 2 Workshop Tools/Scripting/API/Global.DebugDrawBox | DebugDrawBox]]  
| <code>void DebugDrawLine_vCol(Vector Vector_1, Vector Vector_2, Vector Vector_3, bool bool_4, float float_5) </code>
| <code>void DebugDrawBox(Vector Vector_1, Vector Vector_2, Vector Vector_3, int int_4, int int_5, int int_6, int int_7, float float_8)</code>
| Draw a debug line using color vec (start, end, vRgb, a, ztest, duration)
| Draw a debug overlay box (origin, mins, maxs, forward, r, g, b, a, duration )  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/Global.DebugDrawScreenTextLine | DebugDrawScreenTextLine]]
| [[Dota 2 Workshop Tools/Scripting/API/Global.DebugDrawBoxDirection | DebugDrawBoxDirection]]  
| <code>void DebugDrawScreenTextLine(float float_1, float float_2, int int_3, string string_4, int int_5, int int_6, int int_7, int int_8, float float_9) </code>
| <code>void DebugDrawBoxDirection(Vector Vector_1, Vector Vector_2, Vector Vector_3, Vector Vector_4, Vector Vector_5, float float_6, float float_7)</code>
| Draw text with a line offset (x, y, lineOffset, text, r, g, b, a, duration)
| Draw a debug forward box (cent, min, max, forward, vRgb, a, duration)  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/Global.DebugDrawSphere | DebugDrawSphere]]
| [[Dota 2 Workshop Tools/Scripting/API/Global.DebugDrawCircle | DebugDrawCircle]]  
| <code>void DebugDrawSphere(Vector Vector_1, Vector Vector_2, float float_3, float float_4, bool bool_5, float float_6) </code>
| <code>void DebugDrawCircle(Vector Vector_1, Vector Vector_2, float float_3, float float_4, bool bool_5, float float_6)</code>
| Draw a debug sphere (center, vRgb, a, rad, ztest, duration)
| Draw a debug circle (center, vRgb, a, rad, ztest, duration)  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/Global.DebugDrawText | DebugDrawText]]
| [[Dota 2 Workshop Tools/Scripting/API/Global.DebugDrawClear | DebugDrawClear]]  
| <code>void DebugDrawText(Vector Vector_1, string string_2, bool bool_3, float float_4) </code>
| <code>void DebugDrawClear()</code>
| Draw text in 3d (origin, text, bViewCheck, duration)
| Try to clear all the debug overlay info
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/Global.DebugScreenTextPretty | DebugScreenTextPretty]]
| [[Dota 2 Workshop Tools/Scripting/API/Global.DebugDrawLine | DebugDrawLine]]  
| <code>void DebugScreenTextPretty(float float_1, float float_2, int int_3, string string_4, int int_5, int int_6, int int_7, int int_8, float float_9, string string_10, int int_11, bool bool_12) </code>
| <code>void DebugDrawLine(Vector Vector_1, Vector Vector_2, int int_3, int int_4, int int_5, bool bool_6, float float_7)</code>
| Draw pretty debug text (x, y, lineOffset, text, r, g, b, a, duration, font, size, bBold)
| Draw a debug overlay line (origin, target, r, g, b, ztest, duration)  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/Global.DoCleaveAttack | DoCleaveAttack]]
| [[Dota 2 Workshop Tools/Scripting/API/Global.DebugDrawLine_vCol | DebugDrawLine_vCol]]  
| <code>int DoCleaveAttack(handle handle_1, handle handle_2, handle handle_3, float float_4, float float_5, string string_6) </code>
| <code>void DebugDrawLine_vCol(Vector Vector_1, Vector Vector_2, Vector Vector_3, bool bool_4, float float_5)</code>
| (hAttacker, hTarget, hAbility, fDamage, fRadius, effectName)
| Draw a debug line using color vec (start, end, vRgb, a, ztest, duration)  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/Global.DoEntFire | DoEntFire]]
| [[Dota 2 Workshop Tools/Scripting/API/Global.DebugDrawScreenTextLine | DebugDrawScreenTextLine]]  
| <code>void DoEntFire(string string_1, string string_2, string string_3, float float_4, handle handle_5, handle handle_6) </code>
| <code>void DebugDrawScreenTextLine(float float_1, float float_2, int int_3, string string_4, int int_5, int int_6, int int_7, int int_8, float float_9)</code>
| EntFire: Generate an entity i/o event ( szTarget, szAction, szValue, flDelay, hActivator, hCaller )
| Draw text with a line offset (x, y, lineOffset, text, r, g, b, a, duration)  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/Global.DoEntFireByInstanceHandle | DoEntFireByInstanceHandle]]
| [[Dota 2 Workshop Tools/Scripting/API/Global.DebugDrawSphere | DebugDrawSphere]]  
| <code>void DoEntFireByInstanceHandle(handle handle_1, string string_2, string string_3, float float_4, handle handle_5, handle handle_6) </code>
| <code>void DebugDrawSphere(Vector Vector_1, Vector Vector_2, float float_3, float float_4, bool bool_5, float float_6)</code>
| EntFireByHandle:Generate and entity i/o event
| Draw a debug sphere (center, vRgb, a, rad, ztest, duration)
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/Global.DoIncludeScript | DoIncludeScript]]
| [[Dota 2 Workshop Tools/Scripting/API/Global.DebugDrawText | DebugDrawText]]  
| <code>bool DoIncludeScript(string string_1, handle handle_2) </code>
| <code>void DebugDrawText(Vector Vector_1, string string_2, bool bool_3, float float_4)</code>
| Execute a script (internal)
| Draw text in 3d (origin, text, bViewCheck, duration)  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/Global.DoScriptAssert | DoScriptAssert]]
| [[Dota 2 Workshop Tools/Scripting/API/Global.DebugScreenTextPretty | DebugScreenTextPretty]]  
| <code>void DoScriptAssert(bool bool_1, string string_2) </code>
| <code>void DebugScreenTextPretty(float float_1, float float_2, int int_3, string string_4, int int_5, int int_6, int int_7, int int_8, float float_9, string string_10, int int_11, bool bool_12)</code>
| ScriptAssert:Asserts the passed in value. Prints out a message and brings up the assert dialog.
| Draw pretty debug text (x, y, lineOffset, text, r, g, b, a, duration, font, size, bBold)
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/Global.DoUniqueString | DoUniqueString]]
| [[Dota 2 Workshop Tools/Scripting/API/Global.DestroyDamageInfo | DestroyDamageInfo]]  
| <code>string DoUniqueString(string string_1) </code>
| <code>void DestroyDamageInfo(handle handle_1)</code>
| UniqueString:Generate a string guaranteed to be unique across the life of the script VM, with an optional root string. Useful for adding data to table's when not sure what keys are already in use in that table.
| Free a damageinfo object that was created with CreateDamageInfo().  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/Global.EmitGlobalSound | EmitGlobalSound]]
| [[Dota 2 Workshop Tools/Scripting/API/Global.DoCleaveAttack | DoCleaveAttack]]  
| <code>void EmitGlobalSound(string string_1) </code>
| <code>int DoCleaveAttack(handle handle_1, handle handle_2, handle handle_3, float float_4, float float_5, float float_6, float float_7, string string_8)</code>
| Play named sound for all players
| (hAttacker, hTarget, hAbility, fDamage, fRadius, effectName)
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/Global.EmitSoundOn | EmitSoundOn]]
| [[Dota 2 Workshop Tools/Scripting/API/Global.DoEntFire | DoEntFire]]  
| <code>void EmitSoundOn(string string_1, handle handle_2) </code>
| <code>void DoEntFire(string string_1, string string_2, string string_3, float float_4, handle handle_5, handle handle_6)</code>
| Play named sound on Entity
| #EntFire:Generate and entity i/o event
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/Global.EmitSoundOnClient | EmitSoundOnClient]]
| [[Dota 2 Workshop Tools/Scripting/API/Global.DoEntFireByInstanceHandle | DoEntFireByInstanceHandle]]  
| <code>void EmitSoundOnClient(string string_1, handle handle_2) </code>
| <code>void DoEntFireByInstanceHandle(handle handle_1, string string_2, string string_3, float float_4, handle handle_5, handle handle_6)</code>
| Play named sound only on the client for the passed in player
| #EntFireByHandle:Generate and entity i/o event
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/Global.EmitSoundOnLocationForAllies | EmitSoundOnLocationForAllies]]
| [[Dota 2 Workshop Tools/Scripting/API/Global.DoIncludeScript | DoIncludeScript]]  
| <code>void EmitSoundOnLocationForAllies(Vector Vector_1, string string_2, handle handle_3) </code>
| <code>bool DoIncludeScript(string string_1, handle handle_2)</code>
| Emit a sound on a location from a unit, only for players allied with that unit (vLocation, soundName, hCaster
| Execute a script (internal)
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/Global.EmitSoundOnLocationWithCaster | EmitSoundOnLocationWithCaster]]
| [[Dota 2 Workshop Tools/Scripting/API/Global.DoScriptAssert | DoScriptAssert]]  
| <code>void EmitSoundOnLocationWithCaster(Vector Vector_1, string string_2, handle handle_3) </code>
| <code>void DoScriptAssert(bool bool_1, string string_2)</code>
| Emit a sound on a location from a unit. (vLocation, soundName, hCaster).
| #ScriptAssert:Asserts the passed in value. Prints out a message and brings up the assert dialog.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/Global.EntIndexToHScript | EntIndexToHScript]]
| [[Dota 2 Workshop Tools/Scripting/API/Global.DoUniqueString | DoUniqueString]]  
| <code>handle EntIndexToHScript(int int_1) </code>
| <code>string DoUniqueString(string string_1)</code>
| Turn an entity index integer to an HScript representing that entity's script instance.
| #UniqueString:Generate a string guaranteed to be unique across the life of the script VM, with an optional root string. Useful for adding data to tables when not sure what keys are already in use in that table.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/Global.ExecuteOrderFromTable | ExecuteOrderFromTable]]
| [[Dota 2 Workshop Tools/Scripting/API/Global.DotProduct | DotProduct]]  
| <code>void ExecuteOrderFromTable(handle handle_1) </code>
| <code>float DotProduct(Vector Vector_1, Vector Vector_2)</code>
| Issue an order from a script table
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/Global.ExponentialDecay | ExponentialDecay]]
| [[Dota 2 Workshop Tools/Scripting/API/Global.EmitAnnouncerSound | EmitAnnouncerSound]]  
| <code>float ExponentialDecay(float float_1, float float_2, float float_3) </code>
| <code>void EmitAnnouncerSound(string string_1)</code>
| Smooth curve decreasing slower as it approaches zero
| Emit an announcer sound for all players.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/Global.FileToString | FileToString]]
| [[Dota 2 Workshop Tools/Scripting/API/Global.EmitAnnouncerSoundForPlayer | EmitAnnouncerSoundForPlayer]]  
| <code>string FileToString(string a) </code>
| <code>void EmitAnnouncerSoundForPlayer(string string_1, int int_2)</code>
| Reads a string from a file to send to script
| Emit an announcer sound for a player.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/Global.FindClearSpaceForUnit | FindClearSpaceForUnit]]
| [[Dota 2 Workshop Tools/Scripting/API/Global.EmitAnnouncerSoundForTeam | EmitAnnouncerSoundForTeam]]  
| <code>void FindClearSpaceForUnit(handle handle_1, Vector Vector_2, bool bool_3) </code>
| <code>void EmitAnnouncerSoundForTeam(string string_1, int int_2)</code>
| Place a unit somewhere not already occupied.
| Emit an announcer sound for a team.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/Global.FindUnitsInRadius | FindUnitsInRadius]]
| [[Dota 2 Workshop Tools/Scripting/API/Global.EmitAnnouncerSoundForTeamOnLocation | EmitAnnouncerSoundForTeamOnLocation]]  
| <code>table FindUnitsInRadius(int teamNumber, Vector position, handle cacheUnit, float radius, int teamFilter, int typeFilter, int flagFilter, int order, bool canGrowCache) </code>
| <code>void EmitAnnouncerSoundForTeamOnLocation(string string_1, int int_2, Vector Vector_3)</code>
| Finds the units in a given radius with the given flags. ( iTeamNumber, vPosition, hCacheUnit, flRadius, iTeamFilter, iTypeFilter, iFlagFilter, iOrder, bCanGrowCache )
| Emit an announcer sound for a team at a specific location.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/Global.FireEntityIOInputNameOnly | FireEntityIOInputNameOnly]]
| [[Dota 2 Workshop Tools/Scripting/API/Global.EmitGlobalSound | EmitGlobalSound]]  
| <code>void FireEntityIOInputNameOnly(ehandle ehandle_1, string string_2) </code>
| <code>void EmitGlobalSound(string string_1)</code>
| Fire Entity's Action Input w/no data
| Play named sound for all players
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/Global.FireEntityIOInputString | FireEntityIOInputString]]
| [[Dota 2 Workshop Tools/Scripting/API/Global.EmitSoundOn | EmitSoundOn]]  
| <code>void FireEntityIOInputString(ehandle ehandle_1, string string_2, string string_3) </code>
| <code>void EmitSoundOn(string string_1, handle handle_2)</code>
| Fire Entity's Action Input with passed String - you own the memory
| Play named sound on Entity  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/Global.FireEntityIOInputVec | FireEntityIOInputVec]]
| [[Dota 2 Workshop Tools/Scripting/API/Global.EmitSoundOnClient | EmitSoundOnClient]]  
| <code>void FireEntityIOInputVec(ehandle ehandle_1, string string_2, Vector Vector_3) </code>
| <code>void EmitSoundOnClient(string string_1, handle handle_2)</code>
| Fire Entity's Action Input with passed ''Vector'' ( hEntity, szActionName, vector )
| Play named sound only on the client for the passed in player
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/Global.FireGameEvent | FireGameEvent]]
| [[Dota 2 Workshop Tools/Scripting/API/Global.EmitSoundOnLocationForAllies | EmitSoundOnLocationForAllies]]  
| <code>void FireGameEvent(string eventName, handle parameterTable) </code>
| <code>void EmitSoundOnLocationForAllies(Vector Vector_1, string string_2, handle handle_3)</code>
| Fire a pre-defined event, which can be found either in custom_events.txt or in dota's resource/*.res
| Emit a sound on a location from a unit, only for players allied with that unit (vLocation, soundName, hCaster
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/Global.FireGameEventLocal | FireGameEventLocal]]
| [[Dota 2 Workshop Tools/Scripting/API/Global.EmitSoundOnLocationWithCaster | EmitSoundOnLocationWithCaster]]  
| <code>void FireGameEventLocal(string string_1, handle handle_2) </code>
| <code>void EmitSoundOnLocationWithCaster(Vector Vector_1, string string_2, handle handle_3)</code>
| Fire a game event without broadcasting to the client.
| Emit a sound on a location from a unit. (vLocation, soundName, hCaster).  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/Global.FrameTime | FrameTime]]
| [[Dota 2 Workshop Tools/Scripting/API/Global.EntIndexToHScript | EntIndexToHScript]]  
| <code>float FrameTime() </code>
| <code>handle EntIndexToHScript(int int_1)</code>
| Get the time spent on the server in the last frame
| Turn an entity index integer to an HScript representing that entity's script instance.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/Global.GetEntityIndexForTreeId | GetEntityIndexForTreeId]]
| [[Dota 2 Workshop Tools/Scripting/API/Global.ExecuteOrderFromTable | ExecuteOrderFromTable]]  
| <code><unknown> GetEntityIndexForTreeId(unsigned unsigned_1) </code>
| <code>void ExecuteOrderFromTable(handle handle_1)</code>
| Get the enity index for a tree id specified as the entindex_target of a DOTA_UNIT_ORDER_CAST_TARGET_TREE.
| Issue an order from a script table
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/Global.GetFrameCount | GetFrameCount]]
| [[Dota 2 Workshop Tools/Scripting/API/Global.ExponentialDecay | ExponentialDecay]]  
| <code>int GetFrameCount() </code>
| <code>float ExponentialDecay(float float_1, float float_2, float float_3)</code>
| Returns the engines current frame count
| Smooth curve decreasing slower as it approaches zero
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/Global.GetFrostyBoostAmount | GetFrostyBoostAmount]]
| [[Dota 2 Workshop Tools/Scripting/API/Global.FindClearRandomPositionAroundUnit | FindClearRandomPositionAroundUnit]]  
| <code>float GetFrostyBoostAmount(int int_1, int int_2) </code>
| <code>bool FindClearRandomPositionAroundUnit(handle handle_1, handle handle_2, int int_3)</code>
| No Description Set
| Finds a clear random position around a given target unit, using the target unit's padded collision radius.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/Global.GetFrostyPointsForRound | GetFrostyPointsForRound]]
| [[Dota 2 Workshop Tools/Scripting/API/Global.FindClearSpaceForUnit | FindClearSpaceForUnit]]  
| <code>int GetFrostyPointsForRound(int int_1, int int_2, int int_3) </code>
| <code>bool FindClearSpaceForUnit(handle handle_1, Vector Vector_2, bool bool_3)</code>
| No Description Set
| Place a unit somewhere not already occupied.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/Global.GetGoldFrostyBoostAmount | GetGoldFrostyBoostAmount]]
| [[Dota 2 Workshop Tools/Scripting/API/Global.FindUnitsInLine | FindUnitsInLine]]  
| <code>float GetGoldFrostyBoostAmount(int int_1, int int_2) </code>
| <code>table FindUnitsInLine(int int_1, Vector Vector_2, Vector Vector_3, handle handle_4, float float_5, int int_6, int int_7, int int_8)</code>
| No Description Set
| Find units that intersect the given line with the given flags.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/Global.GetGoldFrostyPointsForRound | GetGoldFrostyPointsForRound]]
| [[Dota 2 Workshop Tools/Scripting/API/Global.FindUnitsInRadius | FindUnitsInRadius]]  
| <code>int GetGoldFrostyPointsForRound(int int_1, int int_2, int int_3) </code>
| <code>table FindUnitsInRadius(int int_1, Vector Vector_2, handle handle_3, float float_4, int int_5, int int_6, int int_7, int int_8, bool bool_9)</code>
| No Description Set
| Finds the units in a given radius with the given flags.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/Global.GetGroundHeight | GetGroundHeight]]
| [[Dota 2 Workshop Tools/Scripting/API/Global.FireEntityIOInputNameOnly | FireEntityIOInputNameOnly]]  
| <code>float GetGroundHeight(Vector Vector_1, handle handle_2) </code>
| <code>void FireEntityIOInputNameOnly(ehandle ehandle_1, string string_2)</code>
|  
| Fire Entity's Action Input w/no data
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/Global.GetGroundPosition | GetGroundPosition]]
| [[Dota 2 Workshop Tools/Scripting/API/Global.FireEntityIOInputString | FireEntityIOInputString]]  
| <code>Vector GetGroundPosition(Vector Vector_1, handle handle_2) </code>
| <code>void FireEntityIOInputString(ehandle ehandle_1, string string_2, string string_3)</code>
| Returns the supplied position moved to the ground. Second parameter is an NPC for measuring movement collision hull offset.
| Fire Entity's Action Input with passed String - you own the memory
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/Global.GetItemCost | GetItemCost]]
| [[Dota 2 Workshop Tools/Scripting/API/Global.FireEntityIOInputVec | FireEntityIOInputVec]]  
| <code>int GetItemCost(string string_1) </code>
| <code>void FireEntityIOInputVec(ehandle ehandle_1, string string_2, Vector Vector_3)</code>
| Get the cost of an item by name.
| Fire Entity's Action Input with passed Vector - you own the memory
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/Global.GetListenServerHost | GetListenServerHost]]
| [[Dota 2 Workshop Tools/Scripting/API/Global.FireGameEvent | FireGameEvent]]  
| <code>handle GetListenServerHost() </code>
| <code>void FireGameEvent(string string_1, handle handle_2)</code>
| Get the local player on a listen server.
| Fire a game event.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/Global.GetMapName | GetMapName]]
| [[Dota 2 Workshop Tools/Scripting/API/Global.FireGameEventLocal | FireGameEventLocal]]  
| <code>string GetMapName() </code>
| <code>void FireGameEventLocal(string string_1, handle handle_2)</code>
| Get the name of the map.
| Fire a game event without broadcasting to the client.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/Global.GetMaxOutputDelay | GetMaxOutputDelay]]
| [[Dota 2 Workshop Tools/Scripting/API/Global.FrameTime | FrameTime]]  
| <code>float GetMaxOutputDelay(ehandle ehandle_1, string string_2) </code>
| <code>float FrameTime()</code>
| Get the longest delay for all events attached to an output
| Get the time spent on the server in the last frame
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/Global.GetPhysAngularVelocity | GetPhysAngularVelocity]]
| [[Dota 2 Workshop Tools/Scripting/API/Global.GetDedicatedServerKey | GetDedicatedServerKey]]  
| <code>Vector GetPhysAngularVelocity(handle handle_1) </code>
| <code>string GetDedicatedServerKey(string string_1)</code>
| Get Angular Velocity for VPHYS or normal object
| ( version )
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/Global.GetPhysVelocity | GetPhysVelocity]]
| [[Dota 2 Workshop Tools/Scripting/API/Global.GetDedicatedServerKeyV2 | GetDedicatedServerKeyV2]]  
| <code>Vector GetPhysVelocity(handle handle_1) </code>
| <code>string GetDedicatedServerKeyV2(string string_1)</code>
| Get Velocity for VPHYS or normal object
| used in https://github.com/dota2unofficial/12v12/blob/master/game/scripts/vscripts/common/webapi.lua
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/Global.GetSystemDate | GetSystemDate]]
| [[Dota 2 Workshop Tools/Scripting/API/Global.GetEntityIndexForTreeId | GetEntityIndexForTreeId]]  
| <code>string GetSystemDate() </code>
| <code><unknown> GetEntityIndexForTreeId(unsigned unsigned_1)</code>
| Get the current real world date
| Get the enity index for a tree id specified as the entindex_target of a DOTA_UNIT_ORDER_CAST_TARGET_TREE.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/Global.GetSystemTime | GetSystemTime]]
| [[Dota 2 Workshop Tools/Scripting/API/Global.GetFrameCount | GetFrameCount]]  
| <code>string GetSystemTime() </code>
| <code>int GetFrameCount()</code>
| Get the current real world time
| Returns the engines current frame count
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/Global.GetTeamHeroKills | GetTeamHeroKills]]
| [[Dota 2 Workshop Tools/Scripting/API/Global.GetGroundHeight | GetGroundHeight]]  
| <code>int GetTeamHeroKills(int int_1) </code>
| <code>float GetGroundHeight(Vector Vector_1, handle handle_2)</code>
| ( int teamID )
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/Global.GetTeamName | GetTeamName]]
| [[Dota 2 Workshop Tools/Scripting/API/Global.GetGroundPosition | GetGroundPosition]]  
| <code>string GetTeamName(int teamNumber) </code>
| <code>Vector GetGroundPosition(Vector Vector_1, handle handle_2)</code>
| Returns the team name
| Returns the supplied position moved to the ground. Second parameter is an NPC for measuring movement collision hull offset.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/Global.GetTreeIdForEntityIndex | GetTreeIdForEntityIndex]]
| [[Dota 2 Workshop Tools/Scripting/API/Global.GetItemCost | GetItemCost]]  
| <code>int GetTreeIdForEntityIndex(int int_1) </code>
| <code>int GetItemCost(string string_1)</code>
| Given and entity index of a tree, get the tree id for use for use with with unit orders.
| Get the cost of an item by name.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/Global.GetWorldMaxX | GetWorldMaxX]]
| [[Dota 2 Workshop Tools/Scripting/API/Global.GetItemDefOwnedCount | GetItemDefOwnedCount]]  
| <code>float GetWorldMaxX() </code>
| <code>int GetItemDefOwnedCount(int int_1, int int_2)</code>
| Gets the world's maximum X position.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/Global.GetWorldMaxY | GetWorldMaxY]]
| [[Dota 2 Workshop Tools/Scripting/API/Global.GetItemDefQuantity | GetItemDefQuantity]]  
| <code>float GetWorldMaxY() </code>
| <code>int GetItemDefQuantity(int int_1, int int_2)</code>
| Gets the world's maximum Y position.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/Global.GetWorldMinX | GetWorldMinX]]
| [[Dota 2 Workshop Tools/Scripting/API/Global.GetListenServerHost | GetListenServerHost]]  
| <code>float GetWorldMinX() </code>
| <code>handle GetListenServerHost()</code>
| Gets the world's minimum X position.
| Get the local player on a listen server.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/Global.GetWorldMinY | GetWorldMinY]]
| [[Dota 2 Workshop Tools/Scripting/API/Global.GetLobbyEventGameDetails | GetLobbyEventGameDetails]]  
| <code>float GetWorldMinY() </code>
| <code>table GetLobbyEventGameDetails()</code>
| Gets the world's minimum Y position.
| ( )
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/Global.InitLogFile | InitLogFile]]
| [[Dota 2 Workshop Tools/Scripting/API/Global.GetMapName | GetMapName]]  
| <code>void InitLogFile(string string_1, string string_2) </code>
| <code>string GetMapName()</code>
| If the given file doesn't exist, creates it with the given contents; does nothing if it exists
| Get the name of the map.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/Global.IsDedicatedServer | IsDedicatedServer]]
| [[Dota 2 Workshop Tools/Scripting/API/Global.GetMaxOutputDelay | GetMaxOutputDelay]]  
| <code>bool IsDedicatedServer() </code>
| <code>float GetMaxOutputDelay(ehandle ehandle_1, string string_2)</code>
| Returns true if this server is a dedicated server.
| Get the longest delay for all events attached to an output
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/Global.IsMarkedForDeletion | IsMarkedForDeletion]]
| [[Dota 2 Workshop Tools/Scripting/API/Global.GetPhysAngularVelocity | GetPhysAngularVelocity]]  
| <code>bool IsMarkedForDeletion(handle handle_1) </code>
| <code>Vector GetPhysAngularVelocity(handle handle_1)</code>
| Returns true if the entity is valid and marked for deletion.
| Get Angular Velocity for VPHYS or normal object. Returns a vector of the axis of rotation, multiplied by the degrees of rotation per second.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/Global.IsServer | IsServer]]
| [[Dota 2 Workshop Tools/Scripting/API/Global.GetPhysVelocity | GetPhysVelocity]]  
| <code>bool IsServer() </code>
| <code>Vector GetPhysVelocity(handle handle_1)</code>
| Returns true if this is lua running from the server.dll.
| Get Velocity for VPHYS or normal object
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/Global.IsValidEntity | IsValidEntity]]
| [[Dota 2 Workshop Tools/Scripting/API/Global.GetSystemDate | GetSystemDate]]  
| <code>bool IsValidEntity(handle handle_1) </code>
| <code>string GetSystemDate()</code>
| Checks to see if the given hScript is a valid entity
| Get the current real world date
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/Global.LimitPathingSearchDepth | LimitPathingSearchDepth]]
| [[Dota 2 Workshop Tools/Scripting/API/Global.GetSystemTime | GetSystemTime]]  
| <code>void LimitPathingSearchDepth(float float_1) </code>
| <code>string GetSystemTime()</code>
| Set the limit on the pathfinding search space.
| Get the current real world time
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/Global.LinkLuaModifier | LinkLuaModifier]]
| [[Dota 2 Workshop Tools/Scripting/API/Global.GetTargetAOELocation | GetTargetAOELocation]]  
| <code>void LinkLuaModifier(string modifier_name, string file_path, int motion_controller_type) </code>
| <code>Vector GetTargetAOELocation(int int_1, int int_2, int int_3, Vector Vector_4, int int_5, int int_6, int int_7)</code>
| Link a lua-defined modifier with the associated class. If the modifier is located within the root vscript folder, then the second argument (file_path) may be omitted
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/Global.ListenToGameEvent | ListenToGameEvent]]
| [[Dota 2 Workshop Tools/Scripting/API/Global.GetTargetLinearLocation | GetTargetLinearLocation]]  
| <code>int ListenToGameEvent(string EventName, handle functionNameToCall, handle context) </code>
| <code>Vector GetTargetLinearLocation(int int_1, int int_2, int int_3, Vector Vector_4, int int_5, int int_6, int int_7)</code>
| Register as a listener for a game event from script.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/Global.LoadKeyValues | LoadKeyValues]]
| [[Dota 2 Workshop Tools/Scripting/API/Global.GetTeamHeroKills | GetTeamHeroKills]]  
| <code>table LoadKeyValues(string string_1) </code>
| <code>int GetTeamHeroKills(int int_1)</code>
| Creates a ''table'' from the specified keyvalues text file
| ( int teamID )
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/Global.LoadKeyValuesFromString | LoadKeyValuesFromString]]
| [[Dota 2 Workshop Tools/Scripting/API/Global.GetTeamName | GetTeamName]]  
| <code>table LoadKeyValuesFromString(string string_1) </code>
| <code>string GetTeamName(int int_1)</code>
| Creates a ''table'' from the specified keyvalues ''string''
| ( int teamID )
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/Global.MakeStringToken | MakeStringToken]]
| [[Dota 2 Workshop Tools/Scripting/API/Global.GetTreeIdForEntityIndex | GetTreeIdForEntityIndex]]  
| <code>int MakeStringToken(string string_1) </code>
| <code>int GetTreeIdForEntityIndex(int int_1)</code>
| Checks to see if the given hScript is a valid entity
| Given and entity index of a tree, get the tree id for use for use with with unit orders.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/Global.MinimapEvent | MinimapEvent]]
| [[Dota 2 Workshop Tools/Scripting/API/Global.GetWorldMaxX | GetWorldMaxX]]  
| <code>void MinimapEvent(int int_1, handle handle_2, int int_3, int int_4, int int_5, int int_6) </code>
| <code>float GetWorldMaxX()</code>
| Start a minimap event. (nTeamID, hEntity, nXCoord, nYCoord, nEventType, nEventDuration).
| Gets the world's maximum X position.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/Global.Msg | Msg]]
| [[Dota 2 Workshop Tools/Scripting/API/Global.GetWorldMaxY | GetWorldMaxY]]  
| <code>void Msg(string string_1) </code>
| <code>float GetWorldMaxY()</code>
| Print a message
| Gets the world's maximum Y position.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/Global.PauseGame | PauseGame]]
| [[Dota 2 Workshop Tools/Scripting/API/Global.GetWorldMinX | GetWorldMinX]]  
| <code>void PauseGame(bool bool_1) </code>
| <code>float GetWorldMinX()</code>
| Pause or unpause the game.
| Gets the world's minimum X position.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/Global.PlayerInstanceFromIndex | PlayerInstanceFromIndex]]
| [[Dota 2 Workshop Tools/Scripting/API/Global.GetWorldMinY | GetWorldMinY]]  
| <code>handle PlayerInstanceFromIndex(int int_1) </code>
| <code>float GetWorldMinY()</code>
| Get a script instance of a player by index.
| Gets the world's minimum Y position.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/Global.PrecacheEntityFromTable | PrecacheEntityFromTable]]
| [[Dota 2 Workshop Tools/Scripting/API/Global.InitLogFile | InitLogFile]]  
| <code>void PrecacheEntityFromTable(string string_1, handle handle_2, handle handle_3) </code>
| <code>void InitLogFile(string string_1, string string_2)</code>
| Precache an entity from KeyValues in ''table''
| InitLogFile is deprecated. Print to the console for logging instead.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/Global.PrecacheEntityListFromTable | PrecacheEntityListFromTable]]
| [[Dota 2 Workshop Tools/Scripting/API/Global.IsClient | IsClient]]  
| <code>void PrecacheEntityListFromTable(handle handle_1, handle handle_2) </code>
| <code>bool IsClient()</code>
| Precache a list of entity KeyValues table's
| Returns true if this is lua running from the client.dll.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/Global.PrecacheItemByNameAsync | PrecacheItemByNameAsync]]
| [[Dota 2 Workshop Tools/Scripting/API/Global.IsDedicatedServer | IsDedicatedServer]]  
| <code>void PrecacheItemByNameAsync(string string_1, handle handle_2) </code>
| <code>bool IsDedicatedServer()</code>
| Asynchronously precaches a DOTA item by its dota_npc_items.txt name, provides a callback when it's finished.
| Returns true if this server is a dedicated server.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/Global.PrecacheItemByNameSync | PrecacheItemByNameSync]]
| [[Dota 2 Workshop Tools/Scripting/API/Global.IsInToolsMode | IsInToolsMode]]  
| <code>void PrecacheItemByNameSync(string string_1, handle handle_2) </code>
| <code>bool IsInToolsMode()</code>
| Precaches a DOTA item by its dota_npc_items.txt name
| Returns true if this is lua running within tools mode.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/Global.PrecacheModel | PrecacheModel]]
| [[Dota 2 Workshop Tools/Scripting/API/Global.IsLocationVisible | IsLocationVisible]]  
| <code>void PrecacheModel(string string_1, handle handle_2) </code>
| <code>bool IsLocationVisible(int int_1, Vector Vector_2)</code>
| ( modelName, context ) - Manually precache a single model
| Ask fog of war if a location is visible to a certain team (nTeamNumber, vLocation).
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/Global.PrecacheResource | PrecacheResource]]
| [[Dota 2 Workshop Tools/Scripting/API/Global.IsMarkedForDeletion | IsMarkedForDeletion]]  
| <code>void PrecacheResource(string precacheMode, string resource, handle context) </code>
| <code>bool IsMarkedForDeletion(handle handle_1)</code>
| Manually precache a single resource
| Returns true if the entity is valid and marked for deletion.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/Global.PrecacheUnitByNameAsync | PrecacheUnitByNameAsync]]
| [[Dota 2 Workshop Tools/Scripting/API/Global.IsServer | IsServer]]  
| <code>void PrecacheUnitByNameAsync(string string_1, handle handle_2, int int_3) </code>
| <code>bool IsServer()</code>
| Asynchronously precaches a DOTA unit by its dota_npc_units.txt name, provides a callback when it's finished.
| Returns true if this is lua running from the server.dll.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/Global.PrecacheUnitByNameSync | PrecacheUnitByNameSync]]
| [[Dota 2 Workshop Tools/Scripting/API/Global.IsValidEntity | IsValidEntity]]  
| <code>void PrecacheUnitByNameSync(string string_1, handle handle_2, int int_3) </code>
| <code>bool IsValidEntity(handle handle_1)</code>
| Precaches a DOTA unit by its dota_npc_units.txt name
| Checks to see if the given hScript is a valid entity
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/Global.PrintLinkedConsoleMessage | PrintLinkedConsoleMessage]]
| [[Dota 2 Workshop Tools/Scripting/API/Global.LerpVectors | LerpVectors]]  
| <code>void PrintLinkedConsoleMessage(string string_1, string string_2) </code>
| <code>Vector LerpVectors(Vector Vector_1, Vector Vector_2, float float_3)</code>
| Print a console message with a linked console command
| (vector,vector,float) lerp between two vectors by a float factor returning new vector
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/Global.RandomFloat | RandomFloat]]
| [[Dota 2 Workshop Tools/Scripting/API/Global.LimitPathingSearchDepth | LimitPathingSearchDepth]]  
| <code>float RandomFloat(float float_1, float float_2) </code>
| <code>void LimitPathingSearchDepth(float float_1)</code>
| Get a random ''float'' within a range
| Set the limit on the pathfinding search space.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/Global.RandomInt | RandomInt]]
| [[Dota 2 Workshop Tools/Scripting/API/Global.LinkLuaModifier | LinkLuaModifier]]  
| <code>int RandomInt(int int_1, int int_2) </code>
| <code>void LinkLuaModifier(string string_1, string string_2, int int_3)</code>
| Get a random ''int'' within a range
| Link a lua-defined modifier with the associated class ( className, fileName, LuaModifierType).
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/Global.RandomVector | RandomVector]]
| [[Dota 2 Workshop Tools/Scripting/API/Global.ListenToGameEvent | ListenToGameEvent]]  
| <code>Vector RandomVector(float maxLength) </code>
| <code>int ListenToGameEvent(string string_1, handle handle_2, handle handle_3)</code>
| Get a random 2D vector
| Register as a listener for a game event from script.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/Global.RegisterSpawnGroupFilterProxy | RegisterSpawnGroupFilterProxy]]
| [[Dota 2 Workshop Tools/Scripting/API/Global.LoadKeyValues | LoadKeyValues]]  
| <code>void RegisterSpawnGroupFilterProxy(string string_1) </code>
| <code>table LoadKeyValues(string string_1)</code>
| Create a C proxy for a script-based spawn group filter
| Creates a table from the specified keyvalues text file
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/Global.ReloadMOTD | ReloadMOTD]]
| [[Dota 2 Workshop Tools/Scripting/API/Global.LoadKeyValuesFromString | LoadKeyValuesFromString]]  
| <code>void ReloadMOTD() </code>
| <code>table LoadKeyValuesFromString(string string_1)</code>
| Reloads the MotD file
| Creates a table from the specified keyvalues string
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/Global.RemoveSpawnGroupFilterProxy | RemoveSpawnGroupFilterProxy]]
| [[Dota 2 Workshop Tools/Scripting/API/Global.LocalTime | LocalTime]]  
| <code>void RemoveSpawnGroupFilterProxy(string string_1) </code>
| <code>table LocalTime()</code>
| Remove the C proxy for a script-based spawn group filter
| Get the current local time
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/Global.ResolveNPCPositions | ResolveNPCPositions]]
| [[Dota 2 Workshop Tools/Scripting/API/Global.MakeStringToken | MakeStringToken]]  
| <code>void ResolveNPCPositions(Vector Vector_1, float float_2) </code>
| <code>int MakeStringToken(string string_1)</code>
| Check and fix units that have been assigned a position inside collision radius of other NPCs.
| Checks to see if the given hScript is a valid entity
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/Global.RollPercentage | RollPercentage]]
| [[Dota 2 Workshop Tools/Scripting/API/Global.MinimapEvent | MinimapEvent]]  
| <code>bool RollPercentage(int int_1) </code>
| <code>void MinimapEvent(int int_1, handle handle_2, int int_3, int int_4, int int_5, int int_6)</code>
| Rolls a number from 1 to 100 and returns true if the roll is less than or equal to the number specified
| Start a minimap event. (nTeamID, hEntity, nXCoord, nYCoord, nEventType, nEventDuration).
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/Global.RotateOrientation | RotateOrientation]]
| [[Dota 2 Workshop Tools/Scripting/API/Global.Msg | Msg]]  
| <code>QAngle RotateOrientation(QAngle QAngle_1, QAngle QAngle_2) </code>
| <code>void Msg(string string_1)</code>
| Rotate a ''QAngle'' by another ''QAngle''.
| Print a message
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/Global.RotatePosition | RotatePosition]]
| [[Dota 2 Workshop Tools/Scripting/API/Global.PauseGame | PauseGame]]  
| <code>Vector RotatePosition(Vector Vector_1, QAngle QAngle_2, Vector Vector_3) </code>
| <code>void PauseGame(bool bool_1)</code>
| Rotate a ''Vector'' around a point.
| Pause or unpause the game.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/Global.RotateQuaternionByAxisAngle | RotateQuaternionByAxisAngle]]
| [[Dota 2 Workshop Tools/Scripting/API/Global.PlayerInstanceFromIndex | PlayerInstanceFromIndex]]  
| <code>Quaternion RotateQuaternionByAxisAngle(Quaternion Quaternion_1, Vector Vector_2, float float_3) </code>
| <code>handle PlayerInstanceFromIndex(int int_1)</code>
| Rotates a quaternion by the specified angle around the specified ''vector'' axis
| Get a script instance of a player by index.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/Global.RotationDelta | RotationDelta]]
| [[Dota 2 Workshop Tools/Scripting/API/Global.PrecacheEntityFromTable | PrecacheEntityFromTable]]  
| <code>QAngle RotationDelta(QAngle QAngle_1, QAngle QAngle_2) </code>
| <code>void PrecacheEntityFromTable(string string_1, handle handle_2, handle handle_3)</code>
| Find the delta between two ''QAngle''s.
| Precache an entity from KeyValues in table
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/Global.rr_AddDecisionRule | rr_AddDecisionRule]]
| [[Dota 2 Workshop Tools/Scripting/API/Global.PrecacheEntityListFromTable | PrecacheEntityListFromTable]]  
| <code>bool rr_AddDecisionRule(handle handle_1) </code>
| <code>void PrecacheEntityListFromTable(handle handle_1, handle handle_2)</code>
| Add a rule to the decision database.
| Precache a list of entity KeyValues tables
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/Global.rr_CommitAIResponse | rr_CommitAIResponse]]
| [[Dota 2 Workshop Tools/Scripting/API/Global.PrecacheItemByNameAsync | PrecacheItemByNameAsync]]  
| <code>bool rr_CommitAIResponse(handle handle_1, handle handle_2) </code>
| <code>void PrecacheItemByNameAsync(string string_1, handle handle_2)</code>
| Commit the result of QueryBestResponse back to the given entity to play. Call with params (entity, airesponse)
| Asynchronously precaches a DOTA item by its dota_npc_items.txt name, provides a callback when it's finished.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/Global.rr_GetResponseTargets | rr_GetResponseTargets]]
| [[Dota 2 Workshop Tools/Scripting/API/Global.PrecacheItemByNameSync | PrecacheItemByNameSync]]  
| <code>handle rr_GetResponseTargets() </code>
| <code>void PrecacheItemByNameSync(string string_1, handle handle_2)</code>
| Retrieve a ''table'' of all available expresser targets, in the form { name : ''handle'', name: ''handle'' }.
| Precaches a DOTA item by its dota_npc_items.txt name  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/Global.rr_QueryBestResponse | rr_QueryBestResponse]]
| [[Dota 2 Workshop Tools/Scripting/API/Global.PrecacheModel | PrecacheModel]]  
| <code>bool rr_QueryBestResponse(handle handle_1, handle handle_2, handle handle_3) </code>
| <code>void PrecacheModel(string string_1, handle handle_2)</code>
| Params: ( hEnt, hQuery, hResult ) // Static : tests 'query' against entity's response system and returns the best response found (or ''nil'' if none found).
| ( modelName, context ) - Manually precache a single model
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/Global.Say | Say]]
| [[Dota 2 Workshop Tools/Scripting/API/Global.PrecacheResource | PrecacheResource]]  
| <code>void Say(handle entity, string message, bool teamOnly) </code>
| <code>void PrecacheResource(string string_1, string string_2, handle handle_3)</code>
| Have Entity say ''string'', and teamOnly or not
| Manually precache a single resource
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/Global.ScreenShake | ScreenShake]]
| [[Dota 2 Workshop Tools/Scripting/API/Global.PrecacheUnitByNameAsync | PrecacheUnitByNameAsync]]  
| <code>void ScreenShake(Vector Vector_1, float float_2, float float_3, float float_4, float float_5, int int_6, bool bool_7) </code>
| <code>void PrecacheUnitByNameAsync(string string_1, handle handle_2, int int_3)</code>
| Start a screenshake with the following parameters. vecCenter, flAmplitude, flFrequency, flDuration, flRadius, eCommand( SHAKE_START = 0, SHAKE_STOP = 1 ), bAirShake
| Asynchronously precaches a DOTA unit by its dota_npc_units.txt name, provides a callback when it's finished.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/Global.SendFrostivusTimeElapsedToGC | SendFrostivusTimeElapsedToGC]]
| [[Dota 2 Workshop Tools/Scripting/API/Global.PrecacheUnitByNameSync | PrecacheUnitByNameSync]]  
| <code>void SendFrostivusTimeElapsedToGC() </code>
| <code>void PrecacheUnitByNameSync(string string_1, handle handle_2, int int_3)</code>
| No Description Set
| Precaches a DOTA unit by its dota_npc_units.txt name
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/Global.SendFrostyPointsMessageToGC | SendFrostyPointsMessageToGC]]
| [[Dota 2 Workshop Tools/Scripting/API/Global.PrecacheUnitFromTableAsync | PrecacheUnitFromTableAsync]]  
| <code>void SendFrostyPointsMessageToGC(handle handle_1) </code>
| <code>void PrecacheUnitFromTableAsync(handle handle_1, handle handle_2)</code>
| No Description Set
| Precaches a DOTA unit from a table of entity key values.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/Global.SendOverheadEventMessage | SendOverheadEventMessage]]
| [[Dota 2 Workshop Tools/Scripting/API/Global.PrecacheUnitFromTableSync | PrecacheUnitFromTableSync]]  
| <code>void SendOverheadEventMessage(handle handle_1, int int_2, handle handle_3, int int_4, handle handle_5) </code>
| <code>void PrecacheUnitFromTableSync(handle handle_1, handle handle_2)</code>
| ( DOTAPlayer sendToPlayer, int iMessageType, Entity targetEntity, int iValue, DOTAPlayer sourcePlayer ) - sendToPlayer and sourcePlayer can be nil - iMessageType is one of OVERHEAD_ALERT_*
| Precaches a DOTA unit from a table of entity key values.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/Global.SendToConsole | SendToConsole]]
| [[Dota 2 Workshop Tools/Scripting/API/Global.PrintLinkedConsoleMessage | PrintLinkedConsoleMessage]]  
| <code>void SendToConsole(string string_1) </code>
| <code>void PrintLinkedConsoleMessage(string string_1, string string_2)</code>
| Send a ''string'' to the console as a client command
| Print a console message with a linked console command  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/Global.SendToServerConsole | SendToServerConsole]]
| [[Dota 2 Workshop Tools/Scripting/API/Global.RandomFloat | RandomFloat]]  
| <code>void SendToServerConsole(string string_1) </code>
| <code>float RandomFloat(float float_1, float float_2)</code>
| Send a ''string'' to the console as a server command
| Get a random float within a range
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/Global.SetOpvarFloatAll | SetOpvarFloatAll]]
| [[Dota 2 Workshop Tools/Scripting/API/Global.RandomInt | RandomInt]]  
| <code>void SetOpvarFloatAll(string string_1, string string_2, string string_3, float float_4) </code>
| <code>int RandomInt(int int_1, int int_2)</code>
| Sets an opvar value for all players
| Get a random int within a range
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/Global.SetOpvarFloatPlayer | SetOpvarFloatPlayer]]
| [[Dota 2 Workshop Tools/Scripting/API/Global.RandomVector | RandomVector]]  
| <code>void SetOpvarFloatPlayer(string string_1, string string_2, string string_3, float float_4, handle handle_5) </code>
| <code>Vector RandomVector(float float_1)</code>
| Sets an opvar value for a single player ( szStackName, szOperatorName, szOpvarName, flOpvarValue, hEnt )
| Get a random 2D vector of the given length.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/Global.SetQuestName | SetQuestName]]
| [[Dota 2 Workshop Tools/Scripting/API/Global.RegisterCustomAnimationScriptForModel | RegisterCustomAnimationScriptForModel]]  
| <code>void SetQuestName(string string_1) </code>
| <code>void RegisterCustomAnimationScriptForModel(string string_1, string string_2)</code>
| Set the current quest name.
| Register a custom animation script to run when a model loads
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/Global.SetQuestPhase | SetQuestPhase]]
| [[Dota 2 Workshop Tools/Scripting/API/Global.RegisterSpawnGroupFilterProxy | RegisterSpawnGroupFilterProxy]]  
| <code>void SetQuestPhase(int int_1) </code>
| <code>void RegisterSpawnGroupFilterProxy(string string_1)</code>
| Set the current quest phase.
| Create a C proxy for a script-based spawn group filter
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/Global.SetRenderingEnabled | SetRenderingEnabled]]
| [[Dota 2 Workshop Tools/Scripting/API/Global.ReloadMOTD | ReloadMOTD]]  
| <code>void SetRenderingEnabled(ehandle ehandle_1, bool bool_2) </code>
| <code>void ReloadMOTD()</code>
| Set rendering on/off for an ''ehandle''
| Reloads the MotD file
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/Global.SetTeamCustomHealthbarColor | SetTeamCustomHealthbarColor]]
| [[Dota 2 Workshop Tools/Scripting/API/Global.RemoveSpawnGroupFilterProxy | RemoveSpawnGroupFilterProxy]]  
| <code>void SetTeamCustomHealthbarColor(int int_1, int int_2, int int_3, int int_4) </code>
| <code>void RemoveSpawnGroupFilterProxy(string string_1)</code>
| ( teamNumber, r, g, b )
| Remove the C proxy for a script-based spawn group filter
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/Global.ShowCustomHeaderMessage | ShowCustomHeaderMessage]]
| [[Dota 2 Workshop Tools/Scripting/API/Global.ResolveNPCPositions | ResolveNPCPositions]]  
| <code>void ShowCustomHeaderMessage(string message, int player, int value, float time) </code>
| <code>void ResolveNPCPositions(Vector Vector_1, float float_2)</code>
| Displays a header message from player
| Check and fix units that have been assigned a position inside collision radius of other NPCs.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/Global.ShowGenericPopup | ShowGenericPopup]]
| [[Dota 2 Workshop Tools/Scripting/API/Global.RollPercentage | RollPercentage]]  
| <code>void ShowGenericPopup(string title, string content, string unknown, string unknown, int containerType) </code>
| <code>bool RollPercentage(int int_1)</code>
| Shows a generic popup to all users
| (int nPct)
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/Global.ShowGenericPopupToPlayer | ShowGenericPopupToPlayer]]
| [[Dota 2 Workshop Tools/Scripting/API/Global.RotateOrientation | RotateOrientation]]  
| <code>void ShowGenericPopupToPlayer(handle handle_1, string string_2, string string_3, string string_4, string string_5, int int_6) </code>
| <code>QAngle RotateOrientation(QAngle QAngle_1, QAngle QAngle_2)</code>
| Show a generic popup dialog to a specific player.
| Rotate a QAngle by another QAngle.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/Global.ShowMessage | ShowMessage]]
| [[Dota 2 Workshop Tools/Scripting/API/Global.RotatePosition | RotatePosition]]  
| <code>void ShowMessage(string string_1) </code>
| <code>Vector RotatePosition(Vector Vector_1, QAngle QAngle_2, Vector Vector_3)</code>
| Print a hud message on all clients
| Rotate a Vector around a point.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/Global.SpawnEntityFromTableSynchronous | SpawnEntityFromTableSynchronous]]
| [[Dota 2 Workshop Tools/Scripting/API/Global.RotateQuaternionByAxisAngle | RotateQuaternionByAxisAngle]]  
| <code>handle SpawnEntityFromTableSynchronous(string string_1, handle handle_2) </code>
| <code>Quaternion RotateQuaternionByAxisAngle(Quaternion Quaternion_1, Vector Vector_2, float float_3)</code>
| Synchronously spawns a single entity from a ''table''
| (quaternion,vector,float) rotates a quaternion by the specified angle around the specified vector axis
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/Global.SpawnEntityGroupFromTable | SpawnEntityGroupFromTable]]
| [[Dota 2 Workshop Tools/Scripting/API/Global.RotationDelta | RotationDelta]]  
| <code>bool SpawnEntityGroupFromTable(handle groupSpawnTables, bool bAsync, handle hCallback) </code>
| <code>QAngle RotationDelta(QAngle QAngle_1, QAngle QAngle_2)</code>
| Hierarchically spawn an entity group from a set of spawn tables.
| Find the delta between two QAngles.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/Global.SpawnEntityListFromTableAsynchronous | SpawnEntityListFromTableAsynchronous]]
| [[Dota 2 Workshop Tools/Scripting/API/Global.RotationDeltaAsAngularVelocity | RotationDeltaAsAngularVelocity]]  
| <code>int SpawnEntityListFromTableAsynchronous(handle handle_1, handle handle_2) </code>
| <code>Vector RotationDeltaAsAngularVelocity(QAngle QAngle_1, QAngle QAngle_2)</code>
| Asynchronously spawn an entity group from a list of spawn table's. A callback will be triggered when the spawning is complete
| converts delta QAngle to an angular velocity Vector
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/Global.SpawnEntityListFromTableSynchronous | SpawnEntityListFromTableSynchronous]]
| [[Dota 2 Workshop Tools/Scripting/API/Global.Say | Say]]  
| <code>handle SpawnEntityListFromTableSynchronous(handle handle_1) </code>
| <code>void Say(handle handle_1, string string_2, bool bool_3)</code>
| Synchronously spawn an entity group from a list of spawn table's.
| Have Entity say string, and teamOnly or not
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/Global.SplineQuaternions | SplineQuaternions]]
| [[Dota 2 Workshop Tools/Scripting/API/Global.ScreenShake | ScreenShake]]  
| <code>Quaternion SplineQuaternions(Quaternion Quaternion_1, Quaternion Quaternion_2, float float_3) </code>
| <code>void ScreenShake(Vector Vector_1, float float_2, float float_3, float float_4, float float_5, int int_6, bool bool_7)</code>
| (quaternion,quaternion,''float'') very basic interpolation of v0 to v1 over t on [0,1]
| Start a screenshake with the following parameters. vecCenter, flAmplitude, flFrequency, flDuration, flRadius, eCommand( SHAKE_START = 0, SHAKE_STOP = 1 ), bAirShake
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/Global.SplineVectors | SplineVectors]]
| [[Dota 2 Workshop Tools/Scripting/API/Global.SendOverheadEventMessage | SendOverheadEventMessage]]  
| <code>Vector SplineVectors(Vector Vector_1, Vector Vector_2, float float_3) </code>
| <code>void SendOverheadEventMessage(handle handle_1, int int_2, handle handle_3, int int_4, handle handle_5)</code>
| (''vector'',''vector'',''float'') very basic interpolation of v0 to v1 over t on [0,1]
| ( DOTAPlayer sendToPlayer, int iMessageType, Entity targetEntity, int iValue, DOTAPlayer sourcePlayer ) - sendToPlayer and sourcePlayer can be nil - iMessageType is one of OVERHEAD_ALERT_*
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/Global.StartSoundEvent | StartSoundEvent]]
| [[Dota 2 Workshop Tools/Scripting/API/Global.SendToConsole | SendToConsole]]  
| <code>void StartSoundEvent(string string_1, handle handle_2) </code>
| <code>void SendToConsole(string string_1)</code>
| Start a sound event
| Send a string to the console as a client command
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/Global.StartSoundEventFromPosition | StartSoundEventFromPosition]]
| [[Dota 2 Workshop Tools/Scripting/API/Global.SendToServerConsole | SendToServerConsole]]  
| <code>void StartSoundEventFromPosition(string string_1, Vector Vector_2) </code>
| <code>void SendToServerConsole(string string_1)</code>
| Start a sound event from position
| Send a string to the console as a server command
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/Global.StartSoundEventFromPositionReliable | StartSoundEventFromPositionReliable]]
| [[Dota 2 Workshop Tools/Scripting/API/Global.SetOpvarFloatAll | SetOpvarFloatAll]]  
| <code>void StartSoundEventFromPositionReliable(string string_1, Vector Vector_2) </code>
| <code>void SetOpvarFloatAll(string string_1, string string_2, string string_3, float float_4)</code>
| Start a sound event from position with reliable delivery
| Sets an opvar value for all players
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/Global.StartSoundEventFromPositionUnreliable | StartSoundEventFromPositionUnreliable]]
| [[Dota 2 Workshop Tools/Scripting/API/Global.SetOpvarFloatPlayer | SetOpvarFloatPlayer]]  
| <code>void StartSoundEventFromPositionUnreliable(string string_1, Vector Vector_2) </code>
| <code>void SetOpvarFloatPlayer(string string_1, string string_2, string string_3, float float_4, handle handle_5)</code>
| Start a sound event from position with optional delivery
| Sets an opvar value for a single player
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/Global.StartSoundEventReliable | StartSoundEventReliable]]
| [[Dota 2 Workshop Tools/Scripting/API/Global.SetPhysAngularVelocity | SetPhysAngularVelocity]]  
| <code>void StartSoundEventReliable(string string_1, handle handle_2) </code>
| <code>void SetPhysAngularVelocity(handle handle_1, Vector Vector_2)</code>
| Start a sound event with reliable delivery
| Set Angular Velocity for VPHYS or normal object, from a vector of the axis of rotation, multiplied by the degrees of rotation per second.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/Global.StartSoundEventUnreliable | StartSoundEventUnreliable]]
| [[Dota 2 Workshop Tools/Scripting/API/Global.SetQuestName | SetQuestName]]  
| <code>void StartSoundEventUnreliable(string string_1, handle handle_2) </code>
| <code>void SetQuestName(string string_1)</code>
| Start a sound event with optional delivery
| Set the current quest name.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/Global.StopEffect | StopEffect]]
| [[Dota 2 Workshop Tools/Scripting/API/Global.SetQuestPhase | SetQuestPhase]]  
| <code>void StopEffect(handle handle_1, string string_2) </code>
| <code>void SetQuestPhase(int int_1)</code>
| (hEntity, szEffectName)
| Set the current quest phase.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/Global.StopListeningToAllGameEvents | StopListeningToAllGameEvents]]
| [[Dota 2 Workshop Tools/Scripting/API/Global.SetRenderingEnabled | SetRenderingEnabled]]  
| <code>void StopListeningToAllGameEvents(handle handle_1) </code>
| <code>void SetRenderingEnabled(ehandle ehandle_1, bool bool_2)</code>
| Stop listening to all game events within a specific context.
| Set rendering on/off for an ehandle
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/Global.StopListeningToGameEvent | StopListeningToGameEvent]]
| [[Dota 2 Workshop Tools/Scripting/API/Global.SetTeamCustomHealthbarColor | SetTeamCustomHealthbarColor]]  
| <code>bool StopListeningToGameEvent(int int_1) </code>
| <code>void SetTeamCustomHealthbarColor(int int_1, int int_2, int int_3, int int_4)</code>
| Stop listening to a particular game event.
| ( teamNumber, r, g, b )
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/Global.StopSoundEvent | StopSoundEvent]]
| [[Dota 2 Workshop Tools/Scripting/API/Global.ShowCustomHeaderMessage | ShowCustomHeaderMessage]]  
| <code>void StopSoundEvent(string string_1, handle handle_2) </code>
| <code>void ShowCustomHeaderMessage(string string_1, int int_2, int int_3, float float_4)</code>
| Stops a sound event
| ( const char *pszMessage, int nPlayerID, int nValue, float flTime ) - Supports localized strings - %s1 = PlayerName, %s2 = Value, %s3 = TeamName
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/Global.StopSoundOn | StopSoundOn]]
| [[Dota 2 Workshop Tools/Scripting/API/Global.ShowGenericPopup | ShowGenericPopup]]  
| <code>void StopSoundOn(string soundName, handle playingEntity) </code>
| <code>void ShowGenericPopup(string string_1, string string_2, string string_3, string string_4, int int_5)</code>
| Stop named sound on Entity
| Show a generic popup dialog for all players.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/Global.StringToFile | StringToFile]]
| [[Dota 2 Workshop Tools/Scripting/API/Global.ShowGenericPopupToPlayer | ShowGenericPopupToPlayer]]  
| <code>bool StringToFile(string a, string b) </code>
| <code>void ShowGenericPopupToPlayer(handle handle_1, string string_2, string string_3, string string_4, string string_5, int int_6)</code>
| * Directory traversal doesn't seem to work. The characters '.', '/' and '\\' are ignored.
| Show a generic popup dialog to a specific player.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/Global.Time | Time]]
| [[Dota 2 Workshop Tools/Scripting/API/Global.ShowMessage | ShowMessage]]  
| <code>float Time() </code>
| <code>void ShowMessage(string string_1)</code>
| Get the current server time
| Print a hud message on all clients
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/Global.TraceCollideable | TraceCollideable]]
| [[Dota 2 Workshop Tools/Scripting/API/Global.SpawnDOTAShopTriggerRadiusApproximate | SpawnDOTAShopTriggerRadiusApproximate]]  
| <code>bool TraceCollideable(handle handle_1) </code>
| <code>handle SpawnDOTAShopTriggerRadiusApproximate(Vector Vector_1, float float_2)</code>
| Pass ''table'' - Inputs: start, end, ent, (optional mins, maxs) -- outputs: pos, fraction, hit, startsolid, normal
| (Vector vOrigin, float flRadius )  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/Global.TraceHull | TraceHull]]
| [[Dota 2 Workshop Tools/Scripting/API/Global.SpawnEntityFromTableSynchronous | SpawnEntityFromTableSynchronous]]  
| <code>bool TraceHull(handle handle_1) </code>
| <code>handle SpawnEntityFromTableSynchronous(string string_1, handle handle_2)</code>
| Pass ''table'' - Inputs: start, end, min, max, mask, ignore  -- outputs: pos, fraction, hit, enthit, startsolid
| Synchronously spawns a single entity from a table  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/Global.TraceLine | TraceLine]]
| [[Dota 2 Workshop Tools/Scripting/API/Global.SpawnEntityGroupFromTable | SpawnEntityGroupFromTable]]  
| <code>bool TraceLine(handle handle_1) </code>
| <code>bool SpawnEntityGroupFromTable(handle handle_1, bool bool_2, handle handle_3)</code>
| Pass ''table'' - Inputs: startpos, endpos, mask, ignore  -- outputs: pos, fraction, hit, enthit, startsolid
| Hierarchically spawn an entity group from a set of spawn tables.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/Global.UnitFilter | UnitFilter]]
| [[Dota 2 Workshop Tools/Scripting/API/Global.SpawnEntityListFromTableAsynchronous | SpawnEntityListFromTableAsynchronous]]  
| <code>int UnitFilter(handle handle_1, int int_2, int int_3, int int_4, int int_5) </code>
| <code>int SpawnEntityListFromTableAsynchronous(handle handle_1, handle handle_2)</code>
| Check if a unit passes a set of filters. (hNPC, nTargetTeam, nTargetType, nTargetFlags, nTeam
| Asynchronously spawn an entity group from a list of spawn tables. A callback will be triggered when the spawning is complete
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/Global.UnloadSpawnGroup | UnloadSpawnGroup]]
| [[Dota 2 Workshop Tools/Scripting/API/Global.SpawnEntityListFromTableSynchronous | SpawnEntityListFromTableSynchronous]]  
| <code>void UnloadSpawnGroup(string string_1) </code>
| <code>handle SpawnEntityListFromTableSynchronous(handle handle_1)</code>
| Unload a spawn group by name
| Synchronously spawn an entity group from a list of spawn tables.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/Global.UnloadSpawnGroupByHandle | UnloadSpawnGroupByHandle]]
| [[Dota 2 Workshop Tools/Scripting/API/Global.SplineQuaternions | SplineQuaternions]]  
| <code>void UnloadSpawnGroupByHandle(int int_1) </code>
| <code>Quaternion SplineQuaternions(Quaternion Quaternion_1, Quaternion Quaternion_2, float float_3)</code>
| Unload a spawn group by ''handle''
| (quaternion,quaternion,float) very basic interpolation of v0 to v1 over t on [0,1]
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/Global.UpdateEventPoints | UpdateEventPoints]]
| [[Dota 2 Workshop Tools/Scripting/API/Global.SplineVectors | SplineVectors]]  
| <code>void UpdateEventPoints(handle handle_1) </code>
| <code>Vector SplineVectors(Vector Vector_1, Vector Vector_2, float float_3)</code>
| No Description Set
| (vector,vector,float) very basic interpolation of v0 to v1 over t on [0,1]
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/Global.UTIL_MessageText | UTIL_MessageText]]
| [[Dota 2 Workshop Tools/Scripting/API/Global.StartSoundEvent | StartSoundEvent]]  
| <code>void UTIL_MessageText(int playerId, string message, int r, int g, int b, int a) </code>
| <code>void StartSoundEvent(string string_1, handle handle_2)</code>
| Displays a message for a specific player
| Start a sound event
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/Global.UTIL_MessageText_WithContext | UTIL_MessageText_WithContext]]
| [[Dota 2 Workshop Tools/Scripting/API/Global.StartSoundEventFromPosition | StartSoundEventFromPosition]]  
| <code>void UTIL_MessageText_WithContext(int playerId, string message, int r, int g, int b, int a, table context) </code>
| <code>void StartSoundEventFromPosition(string string_1, Vector Vector_2)</code>
| Sends a message to a specific player in the message box with a context table
| Start a sound event from position
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/Global.UTIL_MessageTextAll | UTIL_MessageTextAll]]
| [[Dota 2 Workshop Tools/Scripting/API/Global.StartSoundEventFromPositionReliable | StartSoundEventFromPositionReliable]]  
| <code>void UTIL_MessageTextAll(string message, int r, int g, int b, int a) </code>
| <code>void StartSoundEventFromPositionReliable(string string_1, Vector Vector_2)</code>
| Sends a message to everyone in the message box
| Start a sound event from position with reliable delivery
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/Global.UTIL_MessageTextAll_WithContext | UTIL_MessageTextAll_WithContext]]
| [[Dota 2 Workshop Tools/Scripting/API/Global.StartSoundEventFromPositionUnreliable | StartSoundEventFromPositionUnreliable]]  
| <code>void UTIL_MessageTextAll_WithContext(string message, int r, int g, int b, int a, table context) </code>
| <code>void StartSoundEventFromPositionUnreliable(string string_1, Vector Vector_2)</code>
| Sends a message to everyone in the message box with a context table
| Start a sound event from position with optional delivery
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/Global.UTIL_Remove | UTIL_Remove]]
| [[Dota 2 Workshop Tools/Scripting/API/Global.StartSoundEventReliable | StartSoundEventReliable]]  
| <code>void UTIL_Remove(handle handle_1) </code>
| <code>void StartSoundEventReliable(string string_1, handle handle_2)</code>
| Removes the specified entity
| Start a sound event with reliable delivery
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/Global.UTIL_RemoveImmediate | UTIL_RemoveImmediate]]
| [[Dota 2 Workshop Tools/Scripting/API/Global.StartSoundEventUnreliable | StartSoundEventUnreliable]]  
| <code>void UTIL_RemoveImmediate(handle handle_1) </code>
| <code>void StartSoundEventUnreliable(string string_1, handle handle_2)</code>
| Do Not use this function.  Use UTIL_Remove() instead.  This will crash your game.
| Start a sound event with optional delivery
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/Global.UTIL_ResetMessageText | UTIL_ResetMessageText]]
| [[Dota 2 Workshop Tools/Scripting/API/Global.StopEffect | StopEffect]]  
| <code>void UTIL_ResetMessageText(int playerId) </code>
| <code>void StopEffect(handle handle_1, string string_2)</code>
| Resets the message text for the player
| Pass entity and effect name
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/Global.UTIL_ResetMessageTextAll | UTIL_ResetMessageTextAll]]
| [[Dota 2 Workshop Tools/Scripting/API/Global.StopGlobalSound | StopGlobalSound]]  
| <code>void UTIL_ResetMessageTextAll() </code>
| <code>void StopGlobalSound(string string_1)</code>
| Resets the message text for all players
| Stop named sound for all players  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/Global.VectorToAngles | VectorToAngles]]
| [[Dota 2 Workshop Tools/Scripting/API/Global.StopListeningToAllGameEvents | StopListeningToAllGameEvents]]  
| <code>QAngle VectorToAngles(Vector Vector_1) </code>
| <code>void StopListeningToAllGameEvents(handle handle_1)</code>
| Get Qangles (with no roll) for a ''Vector''.
| Stop listening to all game events within a specific context.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/Global.Warning | Warning]]
| [[Dota 2 Workshop Tools/Scripting/API/Global.StopListeningToGameEvent | StopListeningToGameEvent]]  
| <code>void Warning(string string_1) </code>
| <code>bool StopListeningToGameEvent(int int_1)</code>
| Print a warning
| Stop listening to a particular game event.
|}
 
 
=== CBaseEntity ===
''The base class for stuff''
{| class="standard-table" style="width: 100%;"
! Function
! Signature
! Description
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.AddEffects | AddEffects]]
| [[Dota 2 Workshop Tools/Scripting/API/Global.StopSoundEvent | StopSoundEvent]]  
| <code>void AddEffects(int nFlags) </code>
| <code>void StopSoundEvent(string string_1, handle handle_2)</code>
| AddEffects( int ): Adds the render effect flag.
| Stops a sound event with optional delivery
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.ApplyAbsVelocityImpulse | ApplyAbsVelocityImpulse]]
| [[Dota 2 Workshop Tools/Scripting/API/Global.StopSoundOn | StopSoundOn]]  
| <code>void ApplyAbsVelocityImpulse(Vector vecImpulse) </code>
| <code>void StopSoundOn(string string_1, handle handle_2)</code>
| Apply a Velocity Impulse
| Stop named sound on Entity
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.ApplyLocalAngularVelocityImpulse | ApplyLocalAngularVelocityImpulse]]
| [[Dota 2 Workshop Tools/Scripting/API/Global.Time | Time]]  
| <code>void ApplyLocalAngularVelocityImpulse(Vector angImpulse) </code>
| <code>float Time()</code>
| Apply an Ang Velocity Impulse
| Get the current server time
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.Attribute_GetFloatValue | Attribute_GetFloatValue]]
| [[Dota 2 Workshop Tools/Scripting/API/Global.TraceCollideable | TraceCollideable]]  
| <code>float Attribute_GetFloatValue(string pName, float flDefault) </code>
| <code>bool TraceCollideable(handle handle_1)</code>
| Get float value for an entity attribute.
| Pass table - Inputs: start, end, ent, (optional mins, maxs) -- outputs: pos, fraction, hit, startsolid, normal
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.Attribute_GetIntValue | Attribute_GetIntValue]]
| [[Dota 2 Workshop Tools/Scripting/API/Global.TraceHull | TraceHull]]  
| <code>float Attribute_GetIntValue(string pName, int nDefault) </code>
| <code>bool TraceHull(handle handle_1)</code>
| Get int value for an entity attribute.
| Pass table - Inputs: start, end, min, max, mask, ignore  -- outputs: pos, fraction, hit, enthit, startsolid
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.Attribute_SetFloatValue | Attribute_SetFloatValue]]
| [[Dota 2 Workshop Tools/Scripting/API/Global.TraceLine | TraceLine]]  
| <code>void Attribute_SetFloatValue(string pName, float flValue) </code>
| <code>bool TraceLine(handle handle_1)</code>
| Set float value for an entity attribute.
| Pass table - Inputs: startpos, endpos, mask, ignore  -- outputs: pos, fraction, hit, enthit, startsolid
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.Attribute_SetIntValue | Attribute_SetIntValue]]
| [[Dota 2 Workshop Tools/Scripting/API/Global.UTIL_AngleDiff | UTIL_AngleDiff]]  
| <code>void Attribute_SetIntValue(string pName, int nValue) </code>
| <code>float UTIL_AngleDiff(float float_1, float float_2)</code>
| Set int value for an entity attribute.
| Returns the number of degrees difference between two yaw angles
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.DeleteAttribute | DeleteAttribute]]
| [[Dota 2 Workshop Tools/Scripting/API/Global.UTIL_MessageText | UTIL_MessageText]]  
| <code>void DeleteAttribute(string pName) </code>
| <code>void UTIL_MessageText(int int_1, string string_2, int int_3, int int_4, int int_5, int int_6)</code>
| Delete an entity attribute.
| Sends colored text to one client.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.EmitSound | EmitSound]]
| [[Dota 2 Workshop Tools/Scripting/API/Global.UTIL_MessageTextAll | UTIL_MessageTextAll]]  
| <code>void EmitSound(string soundName) </code>
| <code>void UTIL_MessageTextAll(string string_1, int int_2, int int_3, int int_4, int int_5)</code>
|
| Sends colored text to all clients.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.EmitSoundParams | EmitSoundParams]]
| [[Dota 2 Workshop Tools/Scripting/API/Global.UTIL_MessageTextAll_WithContext | UTIL_MessageTextAll_WithContext]]  
| <code>void EmitSoundParams(string soundName, int pitch, float volume, float soundTime) </code>
| <code>void UTIL_MessageTextAll_WithContext(string string_1, int int_2, int int_3, int int_4, int int_5, handle handle_6)</code>
| Plays/modifies a sound from this entity. changes sound if Pitch and/or Volume or SoundTime is > 0.
| Sends colored text to all clients. (Valid context keys: player_id, value, team_id)
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.EyeAngles | EyeAngles]]
| [[Dota 2 Workshop Tools/Scripting/API/Global.UTIL_MessageText_WithContext | UTIL_MessageText_WithContext]]  
| <code>QAngle EyeAngles() </code>
| <code>void UTIL_MessageText_WithContext(int int_1, string string_2, int int_3, int int_4, int int_5, int int_6, handle handle_7)</code>
| Get the qangles that this entity is looking at.
| Sends colored text to one client. (Valid context keys: player_id, value, team_id)
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.EyePosition | EyePosition]]
| [[Dota 2 Workshop Tools/Scripting/API/Global.UTIL_Remove | UTIL_Remove]]  
| <code>Vector EyePosition() </code>
| <code>void UTIL_Remove(handle handle_1)</code>
| Get ''vector'' to eye position - absolute coords
| Removes the specified entity
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.FirstMoveChild | FirstMoveChild]]
| [[Dota 2 Workshop Tools/Scripting/API/Global.UTIL_RemoveImmediate | UTIL_RemoveImmediate]]  
| <code>handle FirstMoveChild() </code>
| <code>void UTIL_RemoveImmediate(handle handle_1)</code>
| No Description Set
| Immediately removes the specified entity
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.GatherCriteria | GatherCriteria]]
| [[Dota 2 Workshop Tools/Scripting/API/Global.UTIL_ResetMessageText | UTIL_ResetMessageText]]  
| <code>void GatherCriteria(handle hResult) </code>
| <code>void UTIL_ResetMessageText(int int_1)</code>
| Returns a ''table'' containing the criteria that would be used for response queries on this entity. This is the same as the ''table'' that is passed to response rule script function callbacks.
| Clear all message text on one client.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.GetAbsOrigin | GetAbsOrigin]]
| [[Dota 2 Workshop Tools/Scripting/API/Global.UTIL_ResetMessageTextAll | UTIL_ResetMessageTextAll]]  
| <code>Vector GetAbsOrigin() </code>
| <code>void UTIL_ResetMessageTextAll()</code>
| No Description Set
| Clear all message text from all clients.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.GetAngles | GetAngles]]
| [[Dota 2 Workshop Tools/Scripting/API/Global.UnitFilter | UnitFilter]]  
| <code>QAngle GetAngles() </code>
| <code>int UnitFilter(handle handle_1, int int_2, int int_3, int int_4, int int_5)</code>
| No Description Set
| Check if a unit passes a set of filters. (hNPC, nTargetTeam, nTargetType, nTargetFlags, nTeam
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.GetAnglesAsVector | GetAnglesAsVector]]
| [[Dota 2 Workshop Tools/Scripting/API/Global.UnloadSpawnGroup | UnloadSpawnGroup]]  
| <code>Vector GetAnglesAsVector() </code>
| <code>void UnloadSpawnGroup(string string_1)</code>
| Get entity pitch, yaw, roll as a ''vector''
| Unload a spawn group by name
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.GetAngularVelocity | GetAngularVelocity]]
| [[Dota 2 Workshop Tools/Scripting/API/Global.UnloadSpawnGroupByHandle | UnloadSpawnGroupByHandle]]  
| <code>Vector GetAngularVelocity() </code>
| <code>void UnloadSpawnGroupByHandle(int int_1)</code>
| Get the local angular velocity - returns a ''vector'' of pitch,yaw,roll
| Unload a spawn group by handle
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.GetBaseVelocity | GetBaseVelocity]]
| [[Dota 2 Workshop Tools/Scripting/API/Global.UpdateEventPoints | UpdateEventPoints]]  
| <code>Vector GetBaseVelocity() </code>
| <code>void UpdateEventPoints(handle handle_1)</code>
| Get Base velocity
| ( hEventPointData )
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.GetBoundingMaxs | GetBoundingMaxs]]
| [[Dota 2 Workshop Tools/Scripting/API/Global.VectorAngles | VectorAngles]]  
| <code>Vector GetBoundingMaxs() </code>
| <code>QAngle VectorAngles(Vector Vector_1)</code>
| Get a ''vector'' containing max bounds, centered on object
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.GetBoundingMins | GetBoundingMins]]
| [[Dota 2 Workshop Tools/Scripting/API/Global.VectorToAngles | VectorToAngles]]  
| <code>Vector GetBoundingMins() </code>
| <code>QAngle VectorToAngles(Vector Vector_1)</code>
| Get a ''vector'' containing min bounds, centered on object
| Get Qangles (with no roll) for a Vector.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.GetBounds | GetBounds]]
| [[Dota 2 Workshop Tools/Scripting/API/Global.Warning | Warning]]  
| <code>table GetBounds() </code>
| <code>void Warning(string string_1)</code>
| Get a ''table'' containing the 'Mins' & 'Maxs' ''vector'' bounds, centered on object
| Print a warning
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.GetCenter | GetCenter]]
| [[Dota 2 Workshop Tools/Scripting/API/Global.cvar_getf | cvar_getf]]  
| <code>Vector GetCenter() </code>
| <code>float cvar_getf(string string_1)</code>
| Get ''vector'' to center of object - absolute coords
| Gets the value of the given cvar, as a float.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.GetChildren | GetChildren]]
| [[Dota 2 Workshop Tools/Scripting/API/Global.cvar_setf | cvar_setf]]  
| <code>handle GetChildren() </code>
| <code>bool cvar_setf(string string_1, float float_2)</code>
| Get the entities parented to this entity.
| Sets the value of the given cvar, as a float.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.GetContext | GetContext]]
| [[Dota 2 Workshop Tools/Scripting/API/Global.rr_AddDecisionRule | rr_AddDecisionRule]]  
| <code>table GetContext(string name) </code>
| <code>bool rr_AddDecisionRule(handle handle_1)</code>
| GetContext( name ): looks up a context and returns it if available. May return ''string'', ''float'', or ''nil'' (if the context isn't found)
| Add a rule to the decision database.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.GetForwardVector | GetForwardVector]]
| [[Dota 2 Workshop Tools/Scripting/API/Global.rr_CommitAIResponse | rr_CommitAIResponse]]  
| <code>Vector GetForwardVector() </code>
| <code>bool rr_CommitAIResponse(handle handle_1, handle handle_2)</code>
| Get the forward ''vector'' of the entity
| Commit the result of QueryBestResponse back to the given entity to play. Call with params (entity, airesponse)
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.GetHealth | GetHealth]]
| [[Dota 2 Workshop Tools/Scripting/API/Global.rr_GetResponseTargets | rr_GetResponseTargets]]  
| <code>int GetHealth() </code>
| <code>handle rr_GetResponseTargets()</code>
| No Description Set
| Retrieve a table of all available expresser targets, in the form { name : handle, name: handle }.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.GetLocalAngularVelocity | GetLocalAngularVelocity]]
| [[Dota 2 Workshop Tools/Scripting/API/Global.rr_QueryBestResponse | rr_QueryBestResponse]]  
| <code>QAngle GetLocalAngularVelocity() </code>
| <code>bool rr_QueryBestResponse(handle handle_1, handle handle_2, handle handle_3)</code>
| Maybe local angvel
| Params: (entity, query) : tests 'query' against entity's response system and returns the best response found (or null if none found).
|}
 
==== CBaseAnimating ====
:::::extends [[#CBaseModelEntity|CBaseModelEntity]]
''No Description Set''
{| class="standard-table" style="width: 100%;"
! Function
! Signature
! Description
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.GetLocalVelocity | GetLocalVelocity]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseAnimating.ActiveSequenceDuration | ActiveSequenceDuration]]  
| <code>Vector GetLocalVelocity() </code>
| <code>float ActiveSequenceDuration()</code>
| Get Entity relative velocity
| Returns the duration in seconds of the active sequence.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.GetMaxHealth | GetMaxHealth]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseAnimating.GetAttachmentAngles | GetAttachmentAngles]]  
| <code>int GetMaxHealth() </code>
| <code>Vector GetAttachmentAngles(int iAttachment)</code>
| No Description Set
| Get the attachment id's angles as a p,y,r vector.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.GetModelName | GetModelName]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseAnimating.GetAttachmentForward | GetAttachmentForward]]  
| <code>string GetModelName() </code>
| <code>Vector GetAttachmentForward(int iAttachment)</code>
| Returns the name of the model
| Get the attachment id's forward vector.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.GetMoveParent | GetMoveParent]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseAnimating.GetAttachmentOrigin | GetAttachmentOrigin]]  
| <code>handle GetMoveParent() </code>
| <code>Vector GetAttachmentOrigin(int iAttachment)</code>
| If in hierarchy, retrieves the entity's parent
| Get the attachment id's origin vector.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.GetOrigin | GetOrigin]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseAnimating.GetCycle | GetCycle]]  
| <code>Vector GetOrigin() </code>
| <code>float GetCycle()</code>
| No Description Set
| Get the cycle of the animation.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.GetOwner | GetOwner]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseAnimating.GetGraphParameter | GetGraphParameter]]  
| <code>handle GetOwner() </code>
| <code>table GetGraphParameter(string pszParam)</code>
| Gets this entity's owner
| Get the value of the given animGraph parameter
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.GetOwnerEntity | GetOwnerEntity]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseAnimating.GetModelScale | GetModelScale]]  
| <code>handle GetOwnerEntity() </code>
| <code>float GetModelScale()</code>
| Get the owner entity, if there is one
| Get scale of entity's model.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.GetRightVector | GetRightVector]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseAnimating.GetSequence | GetSequence]]  
| <code>Vector GetRightVector() </code>
| <code>string GetSequence()</code>
| Get the right ''vector'' of the entity
| Returns the name of the active sequence.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.GetRootMoveParent | GetRootMoveParent]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseAnimating.IsSequenceFinished | IsSequenceFinished]]  
| <code>handle GetRootMoveParent() </code>
| <code>bool IsSequenceFinished()</code>
| If in hierarchy, walks up the hierarchy to find the root parent
| Ask whether the main sequence is done playing.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.GetSoundDuration | GetSoundDuration]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseAnimating.ResetSequence | ResetSequence]]  
| <code>float GetSoundDuration(string soundName, string actormodelname) </code>
| <code>void ResetSequence(string pSequenceName)</code>
| Returns ''float'' duration of the sound. Takes soundname and optional actormodelname.
| Sets the active sequence by name, resetting the current cycle.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.GetTeam | GetTeam]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseAnimating.ScriptLookupAttachment | ScriptLookupAttachment]]  
| <code>int GetTeam() </code>
| <code>int ScriptLookupAttachment(string pAttachmentName)</code>
| No Description Set
| Get the named attachment id.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.GetTeamNumber | GetTeamNumber]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseAnimating.SequenceDuration | SequenceDuration]]  
| <code>int GetTeamNumber() </code>
| <code>float SequenceDuration(string pSequenceName)</code>
| Get the team number of this entity.
| Returns the duration in seconds of the given sequence name.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.GetUpVector | GetUpVector]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseAnimating.SetGraphLookTarget | SetGraphLookTarget]]  
| <code>Vector GetUpVector() </code>
| <code>void SetGraphLookTarget(Vector vValue)</code>
| Get the up ''vector'' of the entity
| Pass the desired look target in world space to the graph
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.GetVelocity | GetVelocity]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseAnimating.SetGraphParameter | SetGraphParameter]]  
| <code>Vector GetVelocity() </code>
| <code>void SetGraphParameter(string pszParam, table svArg)</code>
| No Description Set
| Set the specific param value, type is inferred from the type in script
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.HasAttribute | HasAttribute]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseAnimating.SetGraphParameterBool | SetGraphParameterBool]]  
| <code>bool HasAttribute(string pName) </code>
| <code>void SetGraphParameterBool(string szName, bool bValue)</code>
| See if an entity has a particular attribute.
| Set the specific param on or off
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.IsAlive | IsAlive]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseAnimating.SetGraphParameterEnum | SetGraphParameterEnum]]  
| <code>bool IsAlive() </code>
| <code>void SetGraphParameterEnum(string szName, int nValue)</code>
| No Description Set.
| Pass the enum (int) value to the specified param
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.IsPlayer | IsPlayer]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseAnimating.SetGraphParameterFloat | SetGraphParameterFloat]]  
| <code>bool IsPlayer() </code>
| <code>void SetGraphParameterFloat(string szName, float flValue)</code>
| Is this a player entity?
| Pass the float value to the specified param
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.Kill | Kill]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseAnimating.SetGraphParameterInt | SetGraphParameterInt]]  
| <code>void Kill() </code>
| <code>void SetGraphParameterInt(string szName, int nValue)</code>
| No Description Set
| Pass the int value to the specified param
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.NextMovePeer | NextMovePeer]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseAnimating.SetGraphParameterVector | SetGraphParameterVector]]  
| <code>handle NextMovePeer() </code>
| <code>void SetGraphParameterVector(string szName, Vector vValue)</code>
| No Description Set
| Pass the vector value to the specified param in the graph
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.OverrideFriction | OverrideFriction]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseAnimating.SetModelScale | SetModelScale]]  
| <code>void OverrideFriction(float duration, float friction) </code>
| <code>void SetModelScale(float flScale)</code>
| Takes duration, value for a temporary override
| Set scale of entity's model.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.PrecacheScriptSound | PrecacheScriptSound]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseAnimating.SetPoseParameter | SetPoseParameter]]  
| <code>void PrecacheScriptSound(string soundname) </code>
| <code>float SetPoseParameter(string szName, float fValue)</code>
| Precache a sound for later playing.
| Set the specified pose parameter to the specified value.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.RemoveEffects | RemoveEffects]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseAnimating.SetSequence | SetSequence]]  
| <code>void RemoveEffects(int nFlags) </code>
| <code>void SetSequence(string pSequenceName)</code>
| RemoveEffects( int ): Removes the render effect flag.
| Sets the active sequence by name, keeping the current cycle.
|-
| [[Dota 2 Workshop Tools/Scripting/API/CBaseAnimating.StopAnimation | StopAnimation]]
| <code>void StopAnimation()</code>
| Stop the current animation by setting playback rate to 0.0.  
|}
 
==== CBaseCombatCharacter ====
:::::extends [[#CBaseFlex|CBaseFlex]]
''No Description Set''
{| class="standard-table" style="width: 100%;"
! Function
! Signature
! Description
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.SetAbsOrigin | SetAbsOrigin]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseCombatCharacter.GetEquippedWeapons | GetEquippedWeapons]]  
| <code>void SetAbsOrigin(Vector origin) </code>
| <code>table GetEquippedWeapons()</code>
| SetAbsOrigin
| GetEquippedWeapons() : Returns an array of all the equipped weapons
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.SetAngles | SetAngles]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseCombatCharacter.GetFaction | GetFaction]]  
| <code>void SetAngles(float pitch, float yaw, float roll) </code>
| <code>int GetFaction()</code>
| Set entity pitch, yaw, roll
| Get the combat character faction.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.SetAngularVelocity | SetAngularVelocity]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseCombatCharacter.GetWeaponCount | GetWeaponCount]]  
| <code>void SetAngularVelocity(float pitch, float yaw, float roll) </code>
| <code>int GetWeaponCount()</code>
| Set the local angular velocity - takes ''float'' pitch,yaw,roll velocities
| GetWeaponCount() : Gets the number of weapons currently equipped
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.SetConstraint | SetConstraint]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseCombatCharacter.ShootPosition | ShootPosition]]  
| <code>void SetConstraint(Vector vPos) </code>
| <code>Vector ShootPosition(int nHand, int nMuzzle)</code>
| Set the position of the constraint.
| Returns the shoot position eyes (or hand in VR).  
|}
 
==== CBaseEntity ====
:::::extends [[#CEntityInstance|CEntityInstance]]
''The base class for stuff''
{| class="standard-table" style="width: 100%;"
! Function
! Signature
! Description
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.SetContext | SetContext]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.AddEffects | AddEffects]]  
| <code>void SetContext(string pName, string pValue, float duration) </code>
| <code>void AddEffects(int nFlags)</code>
| SetContext( name , value, duration ): store any key/value pair in this entity's dialog contexts. Value must be a ''string''. Will last for duration (set 0 to mean 'forever').
| AddEffects( int ): Adds the render effect flag.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.SetContextNum | SetContextNum]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.ApplyAbsVelocityImpulse | ApplyAbsVelocityImpulse]]  
| <code>void SetContextNum(string pName, float fValue, float duration) </code>
| <code>void ApplyAbsVelocityImpulse(Vector vecImpulse)</code>
| SetContext( name , value, duration ): store any key/value pair in this entity's dialog contexts. Value must be a number (''int'' or ''float''). Will last for duration (set 0 to mean 'forever').
| Apply a Velocity Impulse
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.SetContextThink | SetContextThink]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.ApplyLocalAngularVelocityImpulse | ApplyLocalAngularVelocityImpulse]]  
| <code>void SetContextThink(string pszContextName, handle hThinkFunc, float flInterval) </code>
| <code>void ApplyLocalAngularVelocityImpulse(Vector angImpulse)</code>
| Set a think function on this entity.
| Apply an Ang Velocity Impulse
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.SetForwardVector | SetForwardVector]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.Attribute_GetFloatValue | Attribute_GetFloatValue]]  
| <code>void SetForwardVector(Vector forwardVec) </code>
| <code>float Attribute_GetFloatValue(string pName, float flDefault)</code>
| Set the orientation of the entity to have this forward ''forwardVec''
| Get float value for an entity attribute.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.SetFriction | SetFriction]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.Attribute_GetIntValue | Attribute_GetIntValue]]  
| <code>void SetFriction(float flFriction) </code>
| <code>int Attribute_GetIntValue(string pName, int nDefault)</code>
| Set PLAYER friction, ignored for objects
| Get int value for an entity attribute.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.SetGravity | SetGravity]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.Attribute_SetFloatValue | Attribute_SetFloatValue]]  
| <code>void SetGravity(float flGravity) </code>
| <code>void Attribute_SetFloatValue(string pName, float flValue)</code>
| Set PLAYER gravity, ignored for objects
| Set float value for an entity attribute.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.SetHealth | SetHealth]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.Attribute_SetIntValue | Attribute_SetIntValue]]  
| <code>void SetHealth(int hp) </code>
| <code>void Attribute_SetIntValue(string pName, int nValue)</code>
| No Description Set
| Set int value for an entity attribute.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.SetMaxHealth | SetMaxHealth]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.DeleteAttribute | DeleteAttribute]]  
| <code>void SetMaxHealth(int maxHP) </code>
| <code>void DeleteAttribute(string pName)</code>
| No Description Set
| Delete an entity attribute.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.SetModel | SetModel]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.EmitSound | EmitSound]]  
| <code>void SetModel(string modelName) </code>
| <code>void EmitSound(string soundname)</code>
| No Description Set
| Plays a sound from this entity.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.SetOrigin | SetOrigin]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.EmitSoundParams | EmitSoundParams]]  
| <code>void SetOrigin(Vector origin) </code>
| <code>void EmitSoundParams(string soundname, int nPitch, float flVolume, float flDelay)</code>
| No Description Set
| Plays/modifies a sound from this entity. changes sound if nPitch and/or flVol or flSoundTime is > 0.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.SetOwner | SetOwner]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.EyeAngles | EyeAngles]]  
| <code>void SetOwner(handle owningEntity) </code>
| <code>QAngle EyeAngles()</code>
| Sets this entity's owner
| Get the qangles that this entity is looking at.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.SetParent | SetParent]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.EyePosition | EyePosition]]  
| <code>void SetParent(handle hParent, string pAttachmentname) </code>
| <code>Vector EyePosition()</code>
| Set the parent for this entity.
| Get vector to eye position - absolute coords.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.SetRenderColor | SetRenderColor]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.FirstMoveChild | FirstMoveChild]]  
| <code>void SetRenderColor(int a, int b, int c) </code>
| <code>handle FirstMoveChild()</code>
| SetRenderColor( r, g, b ): Sets the render color of the entity.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.SetSize | SetSize]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.FollowEntity | FollowEntity]]  
| <code>void SetSize(Vector a, Vector b) </code>
| <code>void FollowEntity(handle hEnt, bool bBoneMerge)</code>
| No Description Set
| hEntity to follow, bool bBoneMerge
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.SetTeam | SetTeam]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.GatherCriteria | GatherCriteria]]  
| <code>void SetTeam(int team) </code>
| <code>void GatherCriteria(handle hResult)</code>
| No Description Set
| Returns a table containing the criteria that would be used for response queries on this entity. This is the same as the table that is passed to response rule script function callbacks.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.SetVelocity | SetVelocity]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.GetAbsOrigin | GetAbsOrigin]]  
| <code>void SetVelocity(Vector vecVelocity) </code>
| <code>Vector GetAbsOrigin()</code>
| No Description Set
| Returns the position of the entity on the map. Very Useful!
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.StopSound | StopSound]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.GetAbsScale | GetAbsScale]]  
| <code>void StopSound(string soundName) </code>
| <code>float GetAbsScale()</code>
| Stops a named sound playing from this entity.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.Trigger | Trigger]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.GetAngles | GetAngles]]  
| <code>void Trigger() </code>
| <code>QAngle GetAngles()</code>
| Fires off this entity's OnTrigger responses
|
|}
 
 
=== CEntities ===
''No Description Set''
 
''Global accessor variable:'' <code>Entities</code>
{| class="standard-table" style="width: 100%;"
! Function
! Signature
! Description
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CEntities.CreateByClassname | CreateByClassname]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.GetAnglesAsVector | GetAnglesAsVector]]  
| <code>handle CreateByClassname(string className) </code>
| <code>Vector GetAnglesAsVector()</code>
| Creates an entity by classname
| Get entity pitch, yaw, roll as a vector.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CEntities.FindAllByClassname | FindAllByClassname]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.GetAngularVelocity | GetAngularVelocity]]  
| <code>table FindAllByClassname(string string_1) </code>
| <code>Vector GetAngularVelocity()</code>
| Finds all entities by class name. Returns an array containing all the found entities.
| Get the local angular velocity - returns a vector of pitch,yaw,roll
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CEntities.FindAllByClassnameWithin | FindAllByClassnameWithin]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.GetBaseVelocity | GetBaseVelocity]]  
| <code>table FindAllByClassnameWithin(string string_1, Vector Vector_2, float float_3) </code>
| <code>Vector GetBaseVelocity()</code>
| Find entities by class name within a radius.
| Get Base? velocity.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CEntities.FindAllByModel | FindAllByModel]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.GetBoundingMaxs | GetBoundingMaxs]]  
| <code>table FindAllByModel(string modelName) </code>
| <code>Vector GetBoundingMaxs()</code>
| Find entities by model name.
| Get a vector containing max bounds, centered on object.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CEntities.FindAllByName | FindAllByName]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.GetBoundingMins | GetBoundingMins]]  
| <code>table FindAllByName(string name) </code>
| <code>Vector GetBoundingMins()</code>
| Find all entities by name. Returns an array containing all the found entities in it.
| Get a vector containing min bounds, centered on object.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CEntities.FindAllByNameWithin | FindAllByNameWithin]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.GetBounds | GetBounds]]  
| <code>table FindAllByNameWithin(string name, Vector origin, float maxRadius) </code>
| <code>table GetBounds()</code>
| Find entities by name within a radius.
| Get a table containing the 'Mins' & 'Maxs' vector bounds, centered on object.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CEntities.FindAllByTarget | FindAllByTarget]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.GetCenter | GetCenter]]  
| <code>table FindAllByTarget(string targetName) </code>
| <code>Vector GetCenter()</code>
| Find entities by targetname.
| Get vector to center of object - absolute coords
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CEntities.FindAllInSphere | FindAllInSphere]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.GetChildren | GetChildren]]  
| <code>table FindAllInSphere(Vector origin, float maxRadius) </code>
| <code>handle GetChildren()</code>
| Find entities within a radius.
| Get the entities parented to this entity.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CEntities.FindByClassname | FindByClassname]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.GetContext | GetContext]]  
| <code>handle FindByClassname(handle startFrom, string className) </code>
| <code>table GetContext(string name)</code>
| Find entities by class name. Pass ''nil'' to start an iteration, or reference to a previously found entity to continue a search
| GetContext( name ): looks up a context and returns it if available. May return string, float, or null (if the context isn't found).
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CEntities.FindByClassnameNearest | FindByClassnameNearest]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.GetForwardVector | GetForwardVector]]  
| <code>handle FindByClassnameNearest(string className, Vector origin, float maxRadius) </code>
| <code>Vector GetForwardVector()</code>
| Find entities by class name nearest to a point.
| Get the forward vector of the entity.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CEntities.FindByClassnameWithin | FindByClassnameWithin]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.GetHealth | GetHealth]]  
| <code>handle FindByClassnameWithin(handle startFrom, string className, Vector origin, float maxRadius) </code>
| <code>int GetHealth()</code>
| Find entities by class name within a radius. Pass ''nil'' to start an iteration, or reference to a previously found entity to continue a search
| Get the health of this entity.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CEntities.FindByModel | FindByModel]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.GetLocalAngles | GetLocalAngles]]  
| <code>handle FindByModel(handle startFrom, string modelName) </code>
| <code>QAngle GetLocalAngles()</code>
| Find entities by model name. Pass ''nil'' to start an iteration, or reference to a previously found entity to continue a search
| Get entity local pitch, yaw, roll as a QAngle
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CEntities.FindByModelWithin | FindByModelWithin]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.GetLocalAngularVelocity | GetLocalAngularVelocity]]  
| <code>handle FindByModelWithin(handle startFrom, string modelName, Vector origin, float maxRadius) </code>
| <code>QAngle GetLocalAngularVelocity()</code>
| Find entities by model name within a radius. Pass ''nil'' to start an iteration, or reference to a previously found entity to continue a search
| Maybe local angvel
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CEntities.FindByName | FindByName]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.GetLocalOrigin | GetLocalOrigin]]  
| <code>handle FindByName(handle lastEnt, string searchString) </code>
| <code>Vector GetLocalOrigin()</code>
| Find entities by name. Pass ''nil'' to start an iteration, or reference to a previously found entity to continue a search
| Get entity local origin as a Vector
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CEntities.FindByNameNearest | FindByNameNearest]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.GetLocalScale | GetLocalScale]]  
| <code>handle FindByNameNearest(string name, Vector origin, float maxRadius) </code>
| <code>float GetLocalScale()</code>
| Find entities by name nearest to a point.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CEntities.FindByNameWithin | FindByNameWithin]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.GetLocalVelocity | GetLocalVelocity]]  
| <code>handle FindByNameWithin(handle startFrom, string name, Vector origin, float maxRadius) </code>
| <code>Vector GetLocalVelocity()</code>
| Find entities by name within a radius. Pass ''nil'' to start an iteration, or reference to a previously found entity to continue a search
| Get Entity relative velocity.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CEntities.FindByTarget | FindByTarget]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.GetMass | GetMass]]  
| <code>handle FindByTarget(handle startFrom, string targetName) </code>
| <code>float GetMass()</code>
| Find entities by targetname. Pass ''nil'' to start an iteration, or reference to a previously found entity to continue a search
| Get the mass of an entity. (returns 0 if it doesn't have a physics object)
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CEntities.FindInSphere | FindInSphere]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.GetMaxHealth | GetMaxHealth]]  
| <code>handle FindInSphere(handle startFrom, Vector origin, float maxRadius) </code>
| <code>int GetMaxHealth()</code>
| Find entities within a radius. Pass ''nil'' to start an iteration, or reference to a previously found entity to continue a search
| Get the maximum health of this entity.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CEntities.First | First]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.GetModelName | GetModelName]]  
| <code>handle First() </code>
| <code>string GetModelName()</code>
| Begin an iteration over the list of entities
| Returns the name of the model.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CEntities.Next | Next]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.GetMoveParent | GetMoveParent]]  
| <code>handle Next(handle startFrom) </code>
| <code>handle GetMoveParent()</code>
| Continue an iteration over the list of entities, providing reference to a previously found entity
| If in hierarchy, retrieves the entity's parent.
|}
 
 
=== CEntityInstance ===
:::::extends [[#CBaseEntity| CBaseEntity]]
''No Description Set''
{| class="standard-table" style="width: 100%;"
! Function
! Signature
! Description
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CEntityInstance.ConnectOutput | ConnectOutput]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.GetOrigin | GetOrigin]]  
| <code>void ConnectOutput(string string_1, string string_2) </code>
| <code>Vector GetOrigin()</code>
| Adds an I/O connection that will call the named function on this entity when the specified output fires.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CEntityInstance.Destroy | Destroy]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.GetOwner | GetOwner]]  
| <code>void Destroy() </code>
| <code>handle GetOwner()</code>
| No Description Set
| Gets this entity's owner
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CEntityInstance.DisconnectOutput | DisconnectOutput]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.GetOwnerEntity | GetOwnerEntity]]  
| <code>void DisconnectOutput(string string_1, string string_2) </code>
| <code>handle GetOwnerEntity()</code>
| Removes a connected script function from an I/O event on this entity.
| Get the owner entity, if there is one
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CEntityInstance.DisconnectRedirectedOutput | DisconnectRedirectedOutput]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.GetRightVector | GetRightVector]]  
| <code>void DisconnectRedirectedOutput(string string_1, string string_2, handle handle_3) </code>
| <code>Vector GetRightVector()</code>
| Removes a connected script function from an I/O event on the passed entity.
| Get the right vector of the entity.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CEntityInstance.entindex | entindex]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.GetRootMoveParent | GetRootMoveParent]]  
| <code>int entindex() </code>
| <code>handle GetRootMoveParent()</code>
| No Description Set
| If in hierarchy, walks up the hierarchy to find the root parent.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CEntityInstance.FireOutput | FireOutput]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.GetSoundDuration | GetSoundDuration]]  
| <code>void FireOutput(string outputName, handle activator, handle caller, table args, float delay) </code>
| <code>float GetSoundDuration(string soundname, string actormodel)</code>
| Fire an entity output
| Returns float duration of the sound. Takes soundname and optional actormodelname.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CEntityInstance.GetClassname | GetClassname]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.GetTeam | GetTeam]]  
| <code>string GetClassname() </code>
| <code>int GetTeam()</code>
| No Description Set
| Get the team number of this entity.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CEntityInstance.GetDebugName | GetDebugName]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.GetTeamNumber | GetTeamNumber]]  
| <code>string GetDebugName() </code>
| <code>int GetTeamNumber()</code>
| Get the entity name w/help if not defined (i.e. classname/etc)
| Get the team number of this entity.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CEntityInstance.GetEntityHandle | GetEntityHandle]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.GetUpVector | GetUpVector]]  
| <code>ehandle GetEntityHandle() </code>
| <code>Vector GetUpVector()</code>
| Get the entity as an EHANDLE
| Get the up vector of the entity.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CEntityInstance.GetEntityIndex | GetEntityIndex]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.GetVelocity | GetVelocity]]  
| <code>int GetEntityIndex() </code>
| <code>Vector GetVelocity()</code>
| No Description Set
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CEntityInstance.GetIntAttr | GetIntAttr]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.HasAttribute | HasAttribute]]  
| <code>int GetIntAttr(string string_1) </code>
| <code>bool HasAttribute(string pName)</code>
| Get Integer Attribute
| See if an entity has a particular attribute.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CEntityInstance.GetName | GetName]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.IsAlive | IsAlive]]  
| <code>string GetName() </code>
| <code>bool IsAlive()</code>
| No Description Set
| Is this entity alive?
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CEntityInstance.GetOrCreatePrivateScriptScope | GetOrCreatePrivateScriptScope]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.IsNPC | IsNPC]]  
| <code>handle GetOrCreatePrivateScriptScope() </code>
| <code>bool IsNPC()</code>
| Retrieve, creating if necessary, the private per-instance script-side data associated with an entity
| Is this entity an CAI_BaseNPC?
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CEntityInstance.GetOrCreatePublicScriptScope | GetOrCreatePublicScriptScope]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.IsPlayer | IsPlayer]]  
| <code>handle GetOrCreatePublicScriptScope() </code>
| <code>bool IsPlayer()</code>
| Retrieve, creating if necessary, the public script-side data associated with an entity
| Is this entity a player?
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CEntityInstance.GetPrivateScriptScope | GetPrivateScriptScope]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.Kill | Kill]]  
| <code>handle GetPrivateScriptScope() </code>
| <code>void Kill()</code>
| Retrieve the private per-instance script-side data associated with an entity
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CEntityInstance.GetPublicScriptScope | GetPublicScriptScope]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.NextMovePeer | NextMovePeer]]  
| <code>handle GetPublicScriptScope() </code>
| <code>handle NextMovePeer()</code>
| Retrieve the public script-side data associated with an entity
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CEntityInstance.RedirectOutput | RedirectOutput]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.OverrideFriction | OverrideFriction]]  
| <code>void RedirectOutput(string string_1, string string_2, handle handle_3) </code>
| <code>void OverrideFriction(float duration, float friction)</code>
| Adds an I/O connection that will call the named function on the passed entity when the specified output fires.
| Takes duration, value for a temporary override.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CEntityInstance.RemoveSelf | RemoveSelf]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.PrecacheScriptSound | PrecacheScriptSound]]  
| <code>void RemoveSelf() </code>
| <code>void PrecacheScriptSound(string soundname)</code>
| Delete this entity
| Precache a sound for later playing.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CEntityInstance.SetIntAttr | SetIntAttr]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.RemoveEffects | RemoveEffects]]  
| <code>void SetIntAttr(string string_1, int int_2) </code>
| <code>void RemoveEffects(int nFlags)</code>
| Set Integer Attribute
| RemoveEffects( int ): Removes the render effect flag.
|}
 
 
=== CDOTABaseAbility ===
:::::extends [[#CBaseEntity| CBaseEntity]]
''No Description Set''
{| class="standard-table" style="width: 100%;"
! Function
! Signature
! Description
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.CanAbilityBeUpgraded | CanAbilityBeUpgraded]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.SetAbsAngles | SetAbsAngles]]  
| <code><unknown> CanAbilityBeUpgraded() </code>
| <code>void SetAbsAngles(float fPitch, float fYaw, float fRoll)</code>
|  
| Set entity pitch, yaw, roll by component.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.CastAbility | CastAbility]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.SetAbsOrigin | SetAbsOrigin]]  
| <code>void CastAbility() </code>
| <code>void SetAbsOrigin(Vector origin)</code>
| No Description Set
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.ContinueCasting | ContinueCasting]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.SetAbsScale | SetAbsScale]]  
| <code>bool ContinueCasting() </code>
| <code>void SetAbsScale(float flScale)</code>
| No Description Set
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.CreateVisibilityNode | CreateVisibilityNode]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.SetAngles | SetAngles]]  
| <code>void CreateVisibilityNode(Vector vLocation, float fRadius, float fDuration) </code>
| <code>void SetAngles(float fPitch, float fYaw, float fRoll)</code>
| No Description Set
| Set entity pitch, yaw, roll by component.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.DecrementModifierRefCount | DecrementModifierRefCount]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.SetAngularVelocity | SetAngularVelocity]]  
| <code>void DecrementModifierRefCount() </code>
| <code>void SetAngularVelocity(float pitchVel, float yawVel, float rollVel)</code>
| No Description Set
| Set the local angular velocity - takes float pitch,yaw,roll velocities
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.EndChannel | EndChannel]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.SetConstraint | SetConstraint]]  
| <code>void EndChannel(bool bInterrupted) </code>
| <code>void SetConstraint(Vector vPos)</code>
| Param: ''bool'' bInterrupted
| Set the position of the constraint.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.EndCooldown | EndCooldown]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.SetContext | SetContext]]  
| <code>void EndCooldown() </code>
| <code>void SetContext(string pName, string pValue, float duration)</code>
| Clear the cooldown remaining on this ability.
| SetContext( name , value, duration ): store any key/value pair in this entity's dialog contexts. Value must be a string. Will last for duration (set 0 to mean 'forever').  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.GetAbilityDamage | GetAbilityDamage]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.SetContextNum | SetContextNum]]  
| <code>int GetAbilityDamage() </code>
| <code>void SetContextNum(string pName, float fValue, float duration)</code>
| No Description Set
| SetContextNum( name , value, duration ): store any key/value pair in this entity's dialog contexts. Value must be a number (int or float). Will last for duration (set 0 to mean 'forever').
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.GetAbilityDamageType | GetAbilityDamageType]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.SetContextThink | SetContextThink]]  
| <code>int GetAbilityDamageType() </code>
| <code>void SetContextThink(string pszContextName, handle hThinkFunc, float flInterval)</code>
| No Description Set
| Set a think function on this entity.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.GetAbilityIndex | GetAbilityIndex]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.SetEntityName | SetEntityName]]  
| <code>int GetAbilityIndex() </code>
| <code>void SetEntityName(string pName)</code>
| No Description Set
| Set the name of an entity.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.GetAbilityName | GetAbilityName]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.SetForwardVector | SetForwardVector]]  
| <code>string GetAbilityName() </code>
| <code>void SetForwardVector(Vector v)</code>
| No Description Set
| Set the orientation of the entity to have this forward vector.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.GetAbilityTargetFlags | GetAbilityTargetFlags]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.SetFriction | SetFriction]]  
| <code>int GetAbilityTargetFlags() </code>
| <code>void SetFriction(float flFriction)</code>
| No Description Set
| Set PLAYER friction, ignored for objects.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.GetAbilityTargetTeam | GetAbilityTargetTeam]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.SetGravity | SetGravity]]  
| <code>int GetAbilityTargetTeam() </code>
| <code>void SetGravity(float flGravity)</code>
| No Description Set
| Set PLAYER gravity, ignored for objects.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.GetAbilityTargetType | GetAbilityTargetType]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.SetHealth | SetHealth]]  
| <code>int GetAbilityTargetType() </code>
| <code>void SetHealth(int nHealth)</code>
| No Description Set
| Set the health of this entity.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.GetAbilityType | GetAbilityType]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.SetLocalAngles | SetLocalAngles]]  
| <code>int GetAbilityType() </code>
| <code>void SetLocalAngles(float fPitch, float fYaw, float fRoll)</code>
| No Description Set
| Set entity local pitch, yaw, roll by component
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.GetAnimationIgnoresModelScale | GetAnimationIgnoresModelScale]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.SetLocalOrigin | SetLocalOrigin]]  
| <code>bool GetAnimationIgnoresModelScale() </code>
| <code>void SetLocalOrigin(Vector origin)</code>
| No Description Set
| Set entity local origin from a Vector
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.GetAssociatedPrimaryAbilities | GetAssociatedPrimaryAbilities]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.SetLocalScale | SetLocalScale]]  
| <code>string GetAssociatedPrimaryAbilities() </code>
| <code>void SetLocalScale(float flScale)</code>
| No Description Set
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.GetAssociatedSecondaryAbilities | GetAssociatedSecondaryAbilities]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.SetMass | SetMass]]  
| <code>string GetAssociatedSecondaryAbilities() </code>
| <code>void SetMass(float flMass)</code>
| No Description Set
| Set the mass of an entity. (does nothing if it doesn't have a physics object)
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.GetAutoCastState | GetAutoCastState]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.SetMaxHealth | SetMaxHealth]]  
| <code>bool GetAutoCastState() </code>
| <code>void SetMaxHealth(int amt)</code>
| No Description Set
| Set the maximum health of this entity.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.GetBackswingTime | GetBackswingTime]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.SetOrigin | SetOrigin]]  
| <code>float GetBackswingTime() </code>
| <code>void SetOrigin(Vector v)</code>
| No Description Set
| Sets the location of this entity
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.GetBehavior | GetBehavior]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.SetOwner | SetOwner]]  
| <code>int GetBehavior() </code>
| <code>void SetOwner(handle pOwner)</code>
| No Description Set
| Sets this entity's owner
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.GetCaster | GetCaster]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.SetParent | SetParent]]  
| <code>handle GetCaster() </code>
| <code>void SetParent(handle hParent, string pAttachmentname)</code>
| No Description Set
| Set the parent for this entity.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.GetCastPoint | GetCastPoint]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.SetTeam | SetTeam]]  
| <code>float GetCastPoint() </code>
| <code>void SetTeam(int iTeamNum)</code>
| No Description Set
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.GetCastRange | GetCastRange]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.SetVelocity | SetVelocity]]  
| <code>int GetCastRange(Vector vLocation, handle hTarget) </code>
| <code>void SetVelocity(Vector vecVelocity)</code>
| No Description Set
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.GetChannelledManaCostPerSecond | GetChannelledManaCostPerSecond]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.StopSound | StopSound]]  
| <code>int GetChannelledManaCostPerSecond(int iLevel) </code>
| <code>void StopSound(string soundname)</code>
| No Description Set
| Stops a named sound playing from this entity.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.GetChannelStartTime | GetChannelStartTime]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.TakeDamage | TakeDamage]]  
| <code>float GetChannelStartTime() </code>
| <code>int TakeDamage(handle hInfo)</code>
| No Description Set
| Apply damage to this entity. Use CreateDamageInfo() to create a damageinfo object.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.GetChannelTime | GetChannelTime]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.TransformPointEntityToWorld | TransformPointEntityToWorld]]  
| <code>float GetChannelTime() </code>
| <code>Vector TransformPointEntityToWorld(Vector vPoint)</code>
| No Description Set
| Returns the input Vector transformed from entity to world space
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.GetCloneSource | GetCloneSource]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.TransformPointWorldToEntity | TransformPointWorldToEntity]]  
| <code>handle GetCloneSource() </code>
| <code>Vector TransformPointWorldToEntity(Vector vPoint)</code>
| No Description Set
| Returns the input Vector transformed from world to entity space
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.GetConceptRecipientType | GetConceptRecipientType]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.Trigger | Trigger]]  
| <code>int GetConceptRecipientType() </code>
| <code>void Trigger()</code>
| No Description Set
| Fires off this entity's OnTrigger responses.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.GetCooldown | GetCooldown]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.ValidatePrivateScriptScope | ValidatePrivateScriptScope]]  
| <code>float GetCooldown(int iLevel) </code>
| <code>void ValidatePrivateScriptScope()</code>
| Get the cooldown duration for this ability at a given level, not the amount of cooldown actually left.
| Validates the private script scope and creates it if one doesn't exist.  
|}
 
==== CBaseFlex ====
:::::extends [[#CBaseAnimating|CBaseAnimating]]
''No Description Set''
{| class="standard-table" style="width: 100%;"
! Function
! Signature
! Description
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.GetCooldownTime | GetCooldownTime]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseFlex.GetCurrentScene | GetCurrentScene]]  
| <code>float GetCooldownTime() </code>
| <code>handle GetCurrentScene()</code>
| No Description Set
| Returns the instance of the oldest active scene entity (if any).
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.GetCooldownTimeRemaining | GetCooldownTimeRemaining]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseFlex.GetSceneByIndex | GetSceneByIndex]]  
| <code>float GetCooldownTimeRemaining() </code>
| <code>handle GetSceneByIndex(int index)</code>
| No Description Set
| Returns the instance of the scene entity at the specified index.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.GetCursorPosition | GetCursorPosition]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseFlex.ScriptPlayScene | ScriptPlayScene]]  
| <code>Vector GetCursorPosition() </code>
| <code>float ScriptPlayScene(string pszScene, float flDelay)</code>
| No Description Set
| ( vcd file, delay ) - play specified vcd file
|}
 
==== CBaseModelEntity ====
:::::extends [[#CBaseEntity|CBaseEntity]]
''No Description Set''
{| class="standard-table" style="width: 100%;"
! Function
! Signature
! Description
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.GetCursorTarget | GetCursorTarget]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseModelEntity.GetMaterialGroupHash | GetMaterialGroupHash]]  
| <code>handle GetCursorTarget() </code>
| <code>unsigned GetMaterialGroupHash()</code>
| No Description Set
| GetMaterialGroupHash(): Get the material group hash of this entity.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.GetCursorTargetingNothing | GetCursorTargetingNothing]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseModelEntity.GetMaterialGroupMask | GetMaterialGroupMask]]  
| <code>bool GetCursorTargetingNothing() </code>
| <code>uint64 GetMaterialGroupMask()</code>
| No Description Set
| GetMaterialGroupMask(): Get the mesh group mask of this entity.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.GetDuration | GetDuration]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseModelEntity.GetRenderAlpha | GetRenderAlpha]]  
| <code>float GetDuration() </code>
| <code>int GetRenderAlpha()</code>
| No Description Set
| GetRenderAlpha(): Get the alpha modulation of this entity.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.GetGoldCost | GetGoldCost]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseModelEntity.GetRenderColor | GetRenderColor]]  
| <code>int GetGoldCost(int iLevel) </code>
| <code>Vector GetRenderColor()</code>
| No Description Set
| GetRenderColor(): Get the render color of the entity.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.GetGoldCostForUpgrade | GetGoldCostForUpgrade]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseModelEntity.SetBodygroup | SetBodygroup]]  
| <code>int GetGoldCostForUpgrade(int iLevel) </code>
| <code>void SetBodygroup(int iGroup, int iValue)</code>
| No Description Set
| Sets a bodygroup.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.GetHeroLevelRequiredToUpgrade | GetHeroLevelRequiredToUpgrade]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseModelEntity.SetBodygroupByName | SetBodygroupByName]]  
| <code>int GetHeroLevelRequiredToUpgrade() </code>
| <code>void SetBodygroupByName(string pName, int iValue)</code>
| No Description Set
| Sets a bodygroup by name.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.GetIntrinsicModifierName | GetIntrinsicModifierName]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseModelEntity.SetLightGroup | SetLightGroup]]  
| <code>string GetIntrinsicModifierName() </code>
| <code>void SetLightGroup(string pLightGroup)</code>
| No Description Set
| SetLightGroup( string ): Sets the light group of the entity.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.GetLevel | GetLevel]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseModelEntity.SetMaterialGroup | SetMaterialGroup]]  
| <code>int GetLevel() </code>
| <code>void SetMaterialGroup(string pMaterialGroup)</code>
| Get the current level of the ability
| SetMaterialGroup( string ): Set the material group of this entity.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.GetLevelSpecialValueFor | GetLevelSpecialValueFor]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseModelEntity.SetMaterialGroupHash | SetMaterialGroupHash]]  
| <code>table GetLevelSpecialValueFor(string szName, int nLevel) </code>
| <code>void SetMaterialGroupHash(unsigned nHash)</code>
| No Description Set
| SetMaterialGroupHash( uint32 ): Set the material group hash of this entity.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.GetManaCost | GetManaCost]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseModelEntity.SetMaterialGroupMask | SetMaterialGroupMask]]  
| <code>int GetManaCost(int iLevel) </code>
| <code>void SetMaterialGroupMask(uint64 nMeshGroupMask)</code>
| No Description Set
| SetMaterialGroupMask( uint64 ): Set the mesh group mask of this entity.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.GetMaxLevel | GetMaxLevel]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseModelEntity.SetModel | SetModel]]  
| <code>int GetMaxLevel() </code>
| <code>void SetModel(string pModelName)</code>
| No Description Set
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.GetModifierValue | GetModifierValue]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseModelEntity.SetRenderAlpha | SetRenderAlpha]]  
| <code>float GetModifierValue() </code>
| <code>void SetRenderAlpha(int nAlpha)</code>
| No Description Set
| SetRenderAlpha( int ): Set the alpha modulation of this entity.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.GetModifierValueBonus | GetModifierValueBonus]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseModelEntity.SetRenderColor | SetRenderColor]]  
| <code>float GetModifierValueBonus() </code>
| <code>void SetRenderColor(int r, int g, int b)</code>
| No Description Set
| SetRenderColor( r, g, b ): Sets the render color of the entity.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.GetPlaybackRateOverride | GetPlaybackRateOverride]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseModelEntity.SetRenderMode | SetRenderMode]]  
| <code>float GetPlaybackRateOverride() </code>
| <code>void SetRenderMode(int nMode)</code>
| No Description Set
| SetRenderMode( int ): Sets the render mode of the entity.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.GetSharedCooldownName | GetSharedCooldownName]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseModelEntity.SetSingleMeshGroup | SetSingleMeshGroup]]  
| <code>string GetSharedCooldownName() </code>
| <code>void SetSingleMeshGroup(string pMeshGroupName)</code>
| No Description Set
| SetSingleMeshGroup( string ): Set a single mesh group for this entity.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.GetSpecialValueFor | GetSpecialValueFor]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseModelEntity.SetSize | SetSize]]  
| <code>table GetSpecialValueFor(string szName) </code>
| <code>void SetSize(Vector mins, Vector maxs)</code>
| No Description Set
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.GetStolenActivityModifier | GetStolenActivityModifier]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseModelEntity.SetSkin | SetSkin]]  
| <code>string GetStolenActivityModifier() </code>
| <code>void SetSkin(int iSkin)</code>
| No Description Set
| Set skin (int).
|}
 
==== CBasePlayer ====
:::::extends [[#CBaseCombatCharacter|CBaseCombatCharacter]]
''No Description Set''
{| class="standard-table" style="width: 100%;"
! Function
! Signature
! Description
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.GetToggleState | GetToggleState]]
| [[Dota 2 Workshop Tools/Scripting/API/CBasePlayer.AreChaperoneBoundsVisible | AreChaperoneBoundsVisible]]  
| <code>bool GetToggleState() </code>
| <code>bool AreChaperoneBoundsVisible()</code>
| No Description Set
| Returns whether this player's chaperone bounds are visible.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.HeroXPChange | HeroXPChange]]
| [[Dota 2 Workshop Tools/Scripting/API/CBasePlayer.GetHMDAnchor | GetHMDAnchor]]  
| <code>bool HeroXPChange(float flXP) </code>
| <code>handle GetHMDAnchor()</code>
| No Description Set
| Returns the HMD anchor entity for this player if it exists.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.IncrementModifierRefCount | IncrementModifierRefCount]]
| [[Dota 2 Workshop Tools/Scripting/API/CBasePlayer.GetHMDAvatar | GetHMDAvatar]]  
| <code>void IncrementModifierRefCount() </code>
| <code>handle GetHMDAvatar()</code>
| No Description Set
| Returns the HMD Avatar entity for this player if it exists.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.IsActivated | IsActivated]]
| [[Dota 2 Workshop Tools/Scripting/API/CBasePlayer.GetPlayArea | GetPlayArea]]  
| <code>bool IsActivated() </code>
| <code>Vector GetPlayArea(int nPoint)</code>
| No Description Set
| Returns the Vector position of the point you ask for. Pass 0-3 to get the four points.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.IsAttributeBonus | IsAttributeBonus]]
| [[Dota 2 Workshop Tools/Scripting/API/CBasePlayer.GetUserID | GetUserID]]  
| <code>bool IsAttributeBonus() </code>
| <code>int GetUserID()</code>
| No Description Set
| Returns the player's user id.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.IsChanneling | IsChanneling]]
| [[Dota 2 Workshop Tools/Scripting/API/CBasePlayer.GetVRControllerType | GetVRControllerType]]  
| <code>bool IsChanneling() </code>
| <code><unknown> GetVRControllerType()</code>
| Returns whether the ability is currently channeling.
| Returns the type of controller being used while in VR.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.IsCooldownReady | IsCooldownReady]]
| [[Dota 2 Workshop Tools/Scripting/API/CBasePlayer.IsNoclipping | IsNoclipping]]  
| <code>bool IsCooldownReady() </code>
| <code>bool IsNoclipping()</code>
| No Description Set
| Returns true if the player is in noclip mode.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.IsCosmetic | IsCosmetic]]
| [[Dota 2 Workshop Tools/Scripting/API/CBasePlayer.IsUsePressed | IsUsePressed]]  
| <code>bool IsCosmetic(handle hEntity) </code>
| <code>bool IsUsePressed()</code>
| No Description Set
| Returns true if the use key is pressed.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.IsFullyCastable | IsFullyCastable]]
| [[Dota 2 Workshop Tools/Scripting/API/CBasePlayer.IsVRControllerButtonPressed | IsVRControllerButtonPressed]]  
| <code>bool IsFullyCastable() </code>
| <code>bool IsVRControllerButtonPressed(int nButton)</code>
| Returns whether the ability can be cast.
| Returns true if the controller button is pressed.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.IsHidden | IsHidden]]
| [[Dota 2 Workshop Tools/Scripting/API/CBasePlayer.IsVRDashboardShowing | IsVRDashboardShowing]]  
| <code>bool IsHidden() </code>
| <code>bool IsVRDashboardShowing()</code>
| No Description Set
| Returns true if the SteamVR dashboard is showing for this player.
|}
 
==== CBaseTrigger ====
:::::extends [[#CBaseEntity|CBaseEntity]]
''No Description Set''
{| class="standard-table" style="width: 100%;"
! Function
! Signature
! Description
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.IsHiddenWhenStolen | IsHiddenWhenStolen]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseTrigger.Disable | Disable]]  
| <code>bool IsHiddenWhenStolen() </code>
| <code>void Disable()</code>
| No Description Set
| Disable's the trigger
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.IsInAbilityPhase | IsInAbilityPhase]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseTrigger.Enable | Enable]]  
| <code>bool IsInAbilityPhase() </code>
| <code>void Enable()</code>
| Returns whether the ability is currently casting.
| Enable the trigger
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.IsItem | IsItem]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseTrigger.IsTouching | IsTouching]]  
| <code>bool IsItem() </code>
| <code>bool IsTouching(handle hEnt)</code>
| No Description Set
| Checks whether the passed entity is touching the trigger.
|}
 
==== CBodyComponent ====
''No Description Set''
{| class="standard-table" style="width: 100%;"
! Function
! Signature
! Description
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.IsOwnersGoldEnough | IsOwnersGoldEnough]]
| [[Dota 2 Workshop Tools/Scripting/API/CBodyComponent.AddImpulseAtPosition | AddImpulseAtPosition]]  
| <code>bool IsOwnersGoldEnough(int nIssuerPlayerID) </code>
| <code>void AddImpulseAtPosition(Vector Vector_1, Vector Vector_2)</code>
| No Description Set
| Apply an impulse at a worldspace position to the physics
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.IsOwnersGoldEnoughForUpgrade | IsOwnersGoldEnoughForUpgrade]]
| [[Dota 2 Workshop Tools/Scripting/API/CBodyComponent.AddVelocity | AddVelocity]]  
| <code>bool IsOwnersGoldEnoughForUpgrade() </code>
| <code>void AddVelocity(Vector Vector_1, Vector Vector_2)</code>
| No Description Set
| Add linear and angular velocity to the physics object
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.IsOwnersManaEnough | IsOwnersManaEnough]]
| [[Dota 2 Workshop Tools/Scripting/API/CBodyComponent.DetachFromParent | DetachFromParent]]  
| <code>bool IsOwnersManaEnough() </code>
| <code>void DetachFromParent()</code>
| No Description Set
| Detach from its parent
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.IsPassive | IsPassive]]
| [[Dota 2 Workshop Tools/Scripting/API/CBodyComponent.GetSequence | GetSequence]]  
| <code>bool IsPassive() </code>
| <code><unknown> GetSequence()</code>
| No Description Set
| Returns the active sequence
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.IsSharedWithTeammates | IsSharedWithTeammates]]
| [[Dota 2 Workshop Tools/Scripting/API/CBodyComponent.IsAttachedToParent | IsAttachedToParent]]  
| <code>bool IsSharedWithTeammates() </code>
| <code>bool IsAttachedToParent()</code>
| No Description Set
| Is attached to parent
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.IsStealable | IsStealable]]
| [[Dota 2 Workshop Tools/Scripting/API/CBodyComponent.LookupSequence | LookupSequence]]  
| <code>bool IsStealable() </code>
| <code><unknown> LookupSequence(string string_1)</code>
| No Description Set
| Returns a sequence id given a name
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.IsStolen | IsStolen]]
| [[Dota 2 Workshop Tools/Scripting/API/CBodyComponent.SequenceDuration | SequenceDuration]]  
| <code>bool IsStolen() </code>
| <code>float SequenceDuration(string string_1)</code>
| No Description Set
| Returns the duration in seconds of the specified sequence
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.IsToggle | IsToggle]]
| [[Dota 2 Workshop Tools/Scripting/API/CBodyComponent.SetAngularVelocity | SetAngularVelocity]]  
| <code>bool IsToggle() </code>
| <code>void SetAngularVelocity(Vector Vector_1)</code>
| No Description Set
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.IsTrained | IsTrained]]
| [[Dota 2 Workshop Tools/Scripting/API/CBodyComponent.SetAnimation | SetAnimation]]  
| <code>bool IsTrained() </code>
| <code>void SetAnimation(string string_1)</code>
| No Description Set
| Pass string for the animation to play on this model
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.MarkAbilityButtonDirty | MarkAbilityButtonDirty]]
| [[Dota 2 Workshop Tools/Scripting/API/CBodyComponent.SetMaterialGroup | SetMaterialGroup]]  
| <code>void MarkAbilityButtonDirty() </code>
| <code>void SetMaterialGroup(utlstringtoken utlstringtoken_1)</code>
| Mark the ability button for this ability as needing a refresh
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.NumModifiersUsingAbility | NumModifiersUsingAbility]]
| [[Dota 2 Workshop Tools/Scripting/API/CBodyComponent.SetVelocity | SetVelocity]]  
| <code>int NumModifiersUsingAbility() </code>
| <code>void SetVelocity(Vector Vector_1)</code>
| No Description Set
|
|}
 
==== CCustomGameEventManager ====
''Global accessor variable: <code>CustomGameEventManager</code>''
{| class="standard-table" style="width: 100%;"
! Function
! Signature
! Description  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.OnAbilityPhaseInterrupted | OnAbilityPhaseInterrupted]]
| [[Dota 2 Workshop Tools/Scripting/API/CCustomGameEventManager.RegisterListener | RegisterListener]]  
| <code>void OnAbilityPhaseInterrupted() </code>
| <code>int RegisterListener(string string_1, handle handle_2)</code>
| No Description Set
| ( string EventName, func CallbackFunction ) - Register a callback to be called when a particular custom event arrives. Returns a listener ID that can be used to unregister later.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.OnAbilityPhaseStart | OnAbilityPhaseStart]]
| [[Dota 2 Workshop Tools/Scripting/API/CCustomGameEventManager.Send_ServerToAllClients | Send_ServerToAllClients]]  
| <code>bool OnAbilityPhaseStart() </code>
| <code>void Send_ServerToAllClients(string string_1, handle handle_2)</code>
| No Description Set
| ( string EventName, table EventData )
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.OnAbilityPinged | OnAbilityPinged]]
| [[Dota 2 Workshop Tools/Scripting/API/CCustomGameEventManager.Send_ServerToPlayer | Send_ServerToPlayer]]  
| <code>void OnAbilityPinged(int nPlayerID) </code>
| <code>void Send_ServerToPlayer(handle handle_1, string string_2, handle handle_3)</code>
| No Description Set
| ( Entity Player, string EventName, table EventData )
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.OnChannelFinish | OnChannelFinish]]
| [[Dota 2 Workshop Tools/Scripting/API/CCustomGameEventManager.Send_ServerToTeam | Send_ServerToTeam]]  
| <code>void OnChannelFinish(bool bInterrupted) </code>
| <code>void Send_ServerToTeam(int int_1, string string_2, handle handle_3)</code>
| No Description Set
| ( int TeamNumber, string EventName, table EventData )
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.OnChannelThink | OnChannelThink]]
| [[Dota 2 Workshop Tools/Scripting/API/CCustomGameEventManager.UnregisterListener | UnregisterListener]]  
| <code>void OnChannelThink(float flInterval) </code>
| <code>void UnregisterListener(int int_1)</code>
| No Description Set
| ( int ListnerID ) - Unregister a specific listener
|}
 
==== CCustomNetTableManager ====
''Global accessor variable: <code>CustomNetTables</code>''
{| class="standard-table" style="width: 100%;"
! Function
! Signature
! Description  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.OnHeroCalculateStatBonus | OnHeroCalculateStatBonus]]
| [[Dota 2 Workshop Tools/Scripting/API/CCustomNetTableManager.GetTableValue | GetTableValue]]  
| <code>void OnHeroCalculateStatBonus() </code>
| <code>table GetTableValue(string string_1, string string_2)</code>
| No Description Set
| ( string TableName, string KeyName )
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.OnHeroLevelUp | OnHeroLevelUp]]
| [[Dota 2 Workshop Tools/Scripting/API/CCustomNetTableManager.SetTableValue | SetTableValue]]  
| <code>void OnHeroLevelUp() </code>
| <code>bool SetTableValue(string string_1, string string_2, handle handle_3)</code>
| No Description Set
| ( string TableName, string KeyName, script_table Value )
|}
 
==== CDOTABaseAbility ====
:::::extends [[#CBaseEntity|CBaseEntity]]
''No Description Set''
{| class="standard-table" style="width: 100%;"
! Function
! Signature
! Description
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.OnInventoryContentsChanged | OnInventoryContentsChanged]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.CanAbilityBeUpgraded | CanAbilityBeUpgraded]]  
| <code>void OnInventoryContentsChanged() </code>
| <code><unknown> CanAbilityBeUpgraded()</code>
| No Description Set
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.OnOwnerDied | OnOwnerDied]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.CastAbility | CastAbility]]  
| <code>void OnOwnerDied() </code>
| <code>bool CastAbility()</code>
| No Description Set
| You are probably looking for OnSpellStart()
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.OnOwnerSpawned | OnOwnerSpawned]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.ContinueCasting | ContinueCasting]]  
| <code>void OnOwnerSpawned() </code>
| <code>bool ContinueCasting()</code>
| No Description Set
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.OnSpellStart | OnSpellStart]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.CreateVisibilityNode | CreateVisibilityNode]]  
| <code>void OnSpellStart() </code>
| <code>void CreateVisibilityNode(Vector vLocation, float fRadius, float fDuration)</code>
| No Description Set
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.OnToggle | OnToggle]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.DecrementModifierRefCount | DecrementModifierRefCount]]  
| <code>void OnToggle() </code>
| <code>void DecrementModifierRefCount()</code>
| No Description Set
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.OnUpgrade | OnUpgrade]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.EndChannel | EndChannel]]  
| <code>void OnUpgrade() </code>
| <code>void EndChannel(bool bInterrupted)</code>
| No Description Set
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.PayGoldCost | PayGoldCost]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.EndCooldown | EndCooldown]]  
| <code>void PayGoldCost() </code>
| <code>void EndCooldown()</code>
| No Description Set
| Clear the cooldown remaining on this ability.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.PayGoldCostForUpgrade | PayGoldCostForUpgrade]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.GetAOERadius | GetAOERadius]]  
| <code>void PayGoldCostForUpgrade() </code>
| <code>int GetAOERadius()</code>
| No Description Set
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.PayManaCost | PayManaCost]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.GetAbilityDamage | GetAbilityDamage]]  
| <code>void PayManaCost() </code>
| <code>int GetAbilityDamage()</code>
| No Description Set
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.PlaysDefaultAnimWhenStolen | PlaysDefaultAnimWhenStolen]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.GetAbilityDamageType | GetAbilityDamageType]]  
| <code>bool PlaysDefaultAnimWhenStolen() </code>
| <code>int GetAbilityDamageType()</code>
| No Description Set
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.ProcsMagicStick | ProcsMagicStick]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.GetAbilityIndex | GetAbilityIndex]]  
| <code>bool ProcsMagicStick() </code>
| <code>int GetAbilityIndex()</code>
| No Description Set
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.RefCountsModifiers | RefCountsModifiers]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.GetAbilityKeyValues | GetAbilityKeyValues]]  
| <code>bool RefCountsModifiers() </code>
| <code>table GetAbilityKeyValues()</code>
| No Description Set
| Gets the key values definition for this ability.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.RefundManaCost | RefundManaCost]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.GetAbilityName | GetAbilityName]]  
| <code>void RefundManaCost() </code>
| <code>string GetAbilityName()</code>
| No Description Set
| Returns the name of this ability.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.ResetToggleOnRespawn | ResetToggleOnRespawn]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.GetAbilityTargetFlags | GetAbilityTargetFlags]]  
| <code>bool ResetToggleOnRespawn() </code>
| <code>int GetAbilityTargetFlags()</code>
| No Description Set
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.SetAbilityIndex | SetAbilityIndex]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.GetAbilityTargetTeam | GetAbilityTargetTeam]]  
| <code>void SetAbilityIndex(int iIndex) </code>
| <code>int GetAbilityTargetTeam()</code>
| No Description Set
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.SetActivated | SetActivated]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.GetAbilityTargetType | GetAbilityTargetType]]  
| <code>void SetActivated(bool bActivated) </code>
| <code>int GetAbilityTargetType()</code>
| No Description Set
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.SetChanneling | SetChanneling]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.GetAbilityType | GetAbilityType]]  
| <code>void SetChanneling(bool bChanneling) </code>
| <code>int GetAbilityType()</code>
| No Description Set
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.SetHidden | SetHidden]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.GetAnimationIgnoresModelScale | GetAnimationIgnoresModelScale]]  
| <code>void SetHidden(bool bHidden) </code>
| <code>bool GetAnimationIgnoresModelScale()</code>
| No Description Set
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.SetInAbilityPhase | SetInAbilityPhase]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.GetAssociatedPrimaryAbilities | GetAssociatedPrimaryAbilities]]  
| <code>void SetInAbilityPhase(bool bInAbilityPhase) </code>
| <code>string GetAssociatedPrimaryAbilities()</code>
| No Description Set
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.SetLevel | SetLevel]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.GetAssociatedSecondaryAbilities | GetAssociatedSecondaryAbilities]]  
| <code>void SetLevel(int iLevel) </code>
| <code>string GetAssociatedSecondaryAbilities()</code>
| Sets the level of this ability.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.SetOverrideCastPoint | SetOverrideCastPoint]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.GetAutoCastState | GetAutoCastState]]  
| <code>void SetOverrideCastPoint(float flCastPoint) </code>
| <code>bool GetAutoCastState()</code>
| No Description Set
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.SetRefCountsModifiers | SetRefCountsModifiers]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.GetBackswingTime | GetBackswingTime]]  
| <code>void SetRefCountsModifiers(bool bRefCounts) </code>
| <code>float GetBackswingTime()</code>
| No Description Set
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.SetStolen | SetStolen]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.GetBehavior | GetBehavior]]  
| <code>void SetStolen(bool bStolen) </code>
| <code>int GetBehavior()</code>
| No Description Set
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.ShouldUseResources | ShouldUseResources]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.GetCastPoint | GetCastPoint]]  
| <code>bool ShouldUseResources() </code>
| <code>float GetCastPoint()</code>
| No Description Set
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.SpeakAbilityConcept | SpeakAbilityConcept]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.GetCastRange | GetCastRange]]  
| <code>void SpeakAbilityConcept(int iConcept) </code>
| <code>int GetCastRange(Vector vLocation, handle hTarget)</code>
| No Description Set
| Gets the cast range of the ability.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.SpeakTrigger | SpeakTrigger]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.GetCaster | GetCaster]]  
| <code>bool SpeakTrigger() </code>
| <code>handle GetCaster()</code>
| No Description Set
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.StartCooldown | StartCooldown]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.GetChannelStartTime | GetChannelStartTime]]  
| <code>void StartCooldown(float flCooldown) </code>
| <code>float GetChannelStartTime()</code>
| param: flCooldown
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.ToggleAbility | ToggleAbility]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.GetChannelTime | GetChannelTime]]  
| <code>void ToggleAbility() </code>
| <code>float GetChannelTime()</code>
| No Description Set
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.ToggleAutoCast | ToggleAutoCast]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.GetChannelledManaCostPerSecond | GetChannelledManaCostPerSecond]]  
| <code>void ToggleAutoCast() </code>
| <code>int GetChannelledManaCostPerSecond(int iLevel)</code>
| No Description Set
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.UpgradeAbility | UpgradeAbility]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.GetCloneSource | GetCloneSource]]  
| <code>void UpgradeAbility(bool bSupressSpeech) </code>
| <code>handle GetCloneSource()</code>
| No Description Set
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.UseResources | UseResources]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.GetConceptRecipientType | GetConceptRecipientType]]  
| <code>void UseResources(bool bMana, bool bGold, bool bCooldown) </code>
| <code>int GetConceptRecipientType()</code>
| No Description Set
|
|}
 
 
=== CDOTA_Ability_Animation_Attack ===
:::::extends [[#CDOTABaseAbility| CDOTABaseAbility]]
''No Description Set''
{| class="standard-table" style="width: 100%;"
! Function
! Signature
! Description
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Ability_Animation_Attack.SetPlaybackRate | SetPlaybackRate]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.GetCooldown | GetCooldown]]  
| <code>void SetPlaybackRate(float flRate) </code>
| <code>float GetCooldown(int iLevel)</code>
| Override playbackrate
| Get the cooldown duration for this ability at a given level, not the amount of cooldown actually left.
|}
 
 
=== CDOTA_Ability_Animation_TailSpin ===
:::::extends [[#CDOTABaseAbility| CDOTABaseAbility]]
''No Description Set''
{| class="standard-table" style="width: 100%;"
! Function
! Signature
! Description
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Ability_Animation_TailSpin.SetPlaybackRate | SetPlaybackRate]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.GetCooldownTime | GetCooldownTime]]  
| <code>void SetPlaybackRate(float flRate) </code>
| <code>float GetCooldownTime()</code>
| Override playbackrate
|
|}
 
 
=== CDOTA_Ability_Nian_Leap ===
:::::extends [[#CDOTABaseAbility| CDOTABaseAbility]]
''No Description Set''
{| class="standard-table" style="width: 100%;"
! Function
! Signature
! Description
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Ability_Nian_Leap.SetPlaybackRate | SetPlaybackRate]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.GetCooldownTimeRemaining | GetCooldownTimeRemaining]]  
| <code>void SetPlaybackRate(float flRate) </code>
| <code>float GetCooldownTimeRemaining()</code>
| Override playbackrate
|
|}
 
 
=== CDOTA_Ability_Nian_Dive ===
:::::extends [[#CDOTABaseAbility| CDOTABaseAbility]]
''No Description Set''
{| class="standard-table" style="width: 100%;"
! Function
! Signature
! Description
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Ability_Nian_Dive.SetPlaybackRate | SetPlaybackRate]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.GetCursorPosition | GetCursorPosition]]  
| <code>void SetPlaybackRate(float flRate) </code>
| <code>Vector GetCursorPosition()</code>
| Override playbackrate
|
|}
 
 
=== CDOTA_Ability_Nian_Roar ===
:::::extends [[#CDOTABaseAbility| CDOTABaseAbility]]
''No Description Set''
{| class="standard-table" style="width: 100%;"
! Function
! Signature
! Description
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Ability_Nian_Roar.GetCastCount | GetCastCount]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.GetCursorTarget | GetCursorTarget]]  
| <code>int GetCastCount() </code>
| <code>handle GetCursorTarget()</code>
| Number of times Nian has used the roar
|
|}
 
 
=== CDOTA_Item ===
:::::extends [[#CDOTABaseAbility| CDOTABaseAbility]]
''No Description Set''
{| class="standard-table" style="width: 100%;"
! Function
! Signature
! Description
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item.GetContainer | GetContainer]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.GetCursorTargetingNothing | GetCursorTargetingNothing]]  
| <code>handle GetContainer() </code>
| <code>bool GetCursorTargetingNothing()</code>
| Get the container for this item.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item.GetCost | GetCost]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.GetDuration | GetDuration]]  
| <code>int GetCost() </code>
| <code>float GetDuration()</code>
| No Description Set
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item.GetCurrentCharges | GetCurrentCharges]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.GetEffectiveCooldown | GetEffectiveCooldown]]  
| <code>int GetCurrentCharges() </code>
| <code>float GetEffectiveCooldown(int iLevel)</code>
| Get the number of charges this item currently has.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item.GetInitialCharges | GetInitialCharges]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.GetGoldCost | GetGoldCost]]  
| <code>int GetInitialCharges() </code>
| <code>int GetGoldCost(int iLevel)</code>
| Get the initial number of charges this item has.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item.GetPurchaser | GetPurchaser]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.GetGoldCostForUpgrade | GetGoldCostForUpgrade]]  
| <code>handle GetPurchaser() </code>
| <code>int GetGoldCostForUpgrade(int iLevel)</code>
| Get the purchaser for this item.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item.GetPurchaseTime | GetPurchaseTime]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.GetHeroLevelRequiredToUpgrade | GetHeroLevelRequiredToUpgrade]]  
| <code>float GetPurchaseTime() </code>
| <code>int GetHeroLevelRequiredToUpgrade()</code>
| Get the purchase time of this item
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item.GetShareability | GetShareability]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.GetIntrinsicModifierName | GetIntrinsicModifierName]]  
| <code>int GetShareability() </code>
| <code>string GetIntrinsicModifierName()</code>
| No Description Set
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item.IsAlertableItem | IsAlertableItem]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.GetLevel | GetLevel]]  
| <code>bool IsAlertableItem() </code>
| <code>int GetLevel()</code>
|  
| Get the current level of the ability.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item.IsCastOnPickup | IsCastOnPickup]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.GetLevelSpecialValueFor | GetLevelSpecialValueFor]]  
| <code>bool IsCastOnPickup() </code>
| <code>table GetLevelSpecialValueFor(string szName, int nLevel)</code>
|  
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item.IsCombinable | IsCombinable]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.GetManaCost | GetManaCost]]  
| <code>bool IsCombinable() </code>
| <code>int GetManaCost(int iLevel)</code>
|  
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item.IsDisassemblable | IsDisassemblable]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.GetMaxLevel | GetMaxLevel]]  
| <code>bool IsDisassemblable() </code>
| <code>int GetMaxLevel()</code>
|  
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item.IsDroppable | IsDroppable]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.GetModifierValue | GetModifierValue]]  
| <code>bool IsDroppable() </code>
| <code>float GetModifierValue()</code>
|  
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item.IsItem | IsItem]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.GetModifierValueBonus | GetModifierValueBonus]]  
| <code>bool IsItem() </code>
| <code>float GetModifierValueBonus()</code>
|  
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item.IsKillable | IsKillable]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.GetPlaybackRateOverride | GetPlaybackRateOverride]]  
| <code>bool IsKillable() </code>
| <code>float GetPlaybackRateOverride()</code>
|  
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item.IsMuted | IsMuted]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.GetSharedCooldownName | GetSharedCooldownName]]  
| <code>bool IsMuted() </code>
| <code>string GetSharedCooldownName()</code>
|  
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item.IsPermanent | IsPermanent]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.GetSpecialValueFor | GetSpecialValueFor]]  
| <code>bool IsPermanent() </code>
| <code>table GetSpecialValueFor(string szName)</code>
| Is this a permanent item?
| Gets a value from this ability's special value block for its current level.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item.IsPurchasable | IsPurchasable]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.GetStolenActivityModifier | GetStolenActivityModifier]]  
| <code>bool IsPurchasable() </code>
| <code>string GetStolenActivityModifier()</code>
|  
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item.IsRecipe | IsRecipe]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.GetToggleState | GetToggleState]]  
| <code>bool IsRecipe() </code>
| <code>bool GetToggleState()</code>
|  
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item.IsRecipeGenerated | IsRecipeGenerated]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.GetUpgradeRecommended | GetUpgradeRecommended]]  
| <code>bool IsRecipeGenerated() </code>
| <code>bool GetUpgradeRecommended()</code>
|  
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item.IsSellable | IsSellable]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.HeroXPChange | HeroXPChange]]  
| <code>bool IsSellable() </code>
| <code>bool HeroXPChange(float flXP)</code>
|  
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item.IsStackable | IsStackable]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.IncrementModifierRefCount | IncrementModifierRefCount]]  
| <code>bool IsStackable() </code>
| <code>void IncrementModifierRefCount()</code>
|  
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item.LaunchLoot | LaunchLoot]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.IsActivated | IsActivated]]  
| <code>void LaunchLoot(bool useOnContact, float height, float speed, Vector destination) </code>
| <code>bool IsActivated()</code>
| For items lying on the ground. Fires the item up into the air so that it lands at the specified position.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item.LaunchLootInitialHeight | LaunchLootInitialHeight]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.IsAttributeBonus | IsAttributeBonus]]  
| <code>void LaunchLootInitialHeight(bool bAutoUse, float flInitialHeight, float flLaunchHeight, float flDuration, Vector vEndPoint) </code>
| <code>bool IsAttributeBonus()</code>
|  
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item.RequiresCharges | RequiresCharges]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.IsChanneling | IsChanneling]]  
| <code>bool RequiresCharges() </code>
| <code>bool IsChanneling()</code>
|  
| Returns whether the ability is currently channeling.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item.SetCurrentCharges | SetCurrentCharges]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.IsCooldownReady | IsCooldownReady]]  
| <code>void SetCurrentCharges(int iCharges) </code>
| <code>bool IsCooldownReady()</code>
| Set the number of charges on this item
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item.SetPurchaser | SetPurchaser]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.IsCosmetic | IsCosmetic]]  
| <code>void SetPurchaser(handle hPurchaser) </code>
| <code>bool IsCosmetic(handle hEntity)</code>
| Set the purchaser of record for this item.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item.SetPurchaseTime | SetPurchaseTime]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.IsFullyCastable | IsFullyCastable]]  
| <code>void SetPurchaseTime(float flTime) </code>
| <code>bool IsFullyCastable()</code>
| Set the purchase time of this item
| Returns whether the ability can be cast.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item.SetStacksWithOtherOwners | SetStacksWithOtherOwners]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.IsHidden | IsHidden]]  
| <code>void SetStacksWithOtherOwners(bool bStacksWithOtherOwners) </code>
| <code>bool IsHidden()</code>
| No Description Set
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item.StacksWithOtherOwners | StacksWithOtherOwners]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.IsHiddenAsSecondaryAbility | IsHiddenAsSecondaryAbility]]  
| <code>bool StacksWithOtherOwners() </code>
| <code>bool IsHiddenAsSecondaryAbility()</code>
| No Description Set
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item.Think | Think]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.IsHiddenWhenStolen | IsHiddenWhenStolen]]  
| <code>void Think() </code>
| <code>bool IsHiddenWhenStolen()</code>
| Think this item
|
|}
 
 
=== CDOTA_Item_Physical ===
:::::extends [[#CBaseAnimating| CBaseAnimating]]
''No Description Set''
{| class="standard-table" style="width: 100%;"
! Function
! Signature
! Description
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item_Physical.GetContainedItem | GetContainedItem]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.IsInAbilityPhase | IsInAbilityPhase]]  
| <code>handle GetContainedItem() </code>
| <code>bool IsInAbilityPhase()</code>
| Returned the contained item.
| Returns whether the ability is currently casting.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item_Physical.GetCreationTime | GetCreationTime]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.IsItem | IsItem]]  
| <code>float GetCreationTime() </code>
| <code>bool IsItem()</code>
| Returns the game time when this item was created in the world
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item_Physical.SetContainedItem | SetContainedItem]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.IsOwnersGoldEnough | IsOwnersGoldEnough]]  
| <code>void SetContainedItem(handle hItem) </code>
| <code>bool IsOwnersGoldEnough(int nIssuerPlayerID)</code>
| Set the contained item.
|
|}
 
 
=== CDOTA_Item_DataDriven ===
:::::extends [[#CDOTA_Item| CDOTA_Item]]
''''
{| class="standard-table" style="width: 100%;"
! Function
! Signature
! Description
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item_DataDriven.ApplyDataDrivenModifier | ApplyDataDrivenModifier]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.IsOwnersGoldEnoughForUpgrade | IsOwnersGoldEnoughForUpgrade]]  
| <code>void ApplyDataDrivenModifier(handle source, handle target, string modifier_name, handle modifierArgs) </code>
| <code>bool IsOwnersGoldEnoughForUpgrade()</code>
| Applies a data driven modifier to the target
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item_DataDriven.ApplyDataDrivenThinker | ApplyDataDrivenThinker]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.IsOwnersManaEnough | IsOwnersManaEnough]]  
| <code>handle ApplyDataDrivenThinker(handle hCaster, Vector vLocation, string pszModifierName, handle hModifierTable) </code>
| <code>bool IsOwnersManaEnough()</code>
| Applies a data driven thinker at the location
|
|}
 
 
=== CDOTA_Unit_Nian ===
:::::extends [[#CDOTA_BaseNPC_Creature| CDOTA_BaseNPC_Creature]]
''No Description Set''
{| class="standard-table" style="width: 100%;"
! Function
! Signature
! Description
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Unit_Nian.GetHorn | GetHorn]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.IsPassive | IsPassive]]  
| <code>handle GetHorn() </code>
| <code>bool IsPassive()</code>
| Is the Nian horn?
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Unit_Nian.GetTail | GetTail]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.IsRefreshable | IsRefreshable]]  
| <code>handle GetTail() </code>
| <code>bool IsRefreshable()</code>
| Is the Nian's tail broken?
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Unit_Nian.IsHornAlive | IsHornAlive]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.IsSharedWithTeammates | IsSharedWithTeammates]]  
| <code>bool IsHornAlive() </code>
| <code>bool IsSharedWithTeammates()</code>
| Is the Nian's horn broken?
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Unit_Nian.IsTailAlive | IsTailAlive]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.IsStealable | IsStealable]]  
| <code>bool IsTailAlive() </code>
| <code>bool IsStealable()</code>
| Is the Nian's tail broken?
|
|}
 
 
=== CBasePlayer ===
''No Description Set''
{| class="standard-table" style="width: 100%;"
! Function
! Signature
! Description
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CBasePlayer.GetHMDAvatar | GetHMDAvatar]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.IsStolen | IsStolen]]  
| <code>handle GetHMDAvatar() </code>
| <code>bool IsStolen()</code>
| Returns the HMD Avatar entity for this player if it exists.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CBasePlayer.IsNoclipping | IsNoclipping]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.IsToggle | IsToggle]]  
| <code>bool IsNoclipping() </code>
| <code>bool IsToggle()</code>
| Returns true if the player is in noclip mode.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CBasePlayer.IsSteamControllerButtonPressed | IsSteamControllerButtonPressed]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.IsTrained | IsTrained]]  
| <code>bool IsSteamControllerButtonPressed(int nControllerNumber, int nButton) </code>
| <code>bool IsTrained()</code>
| Returns true if the controller button is pressed.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CBasePlayer.IsUsePressed | IsUsePressed]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.MarkAbilityButtonDirty | MarkAbilityButtonDirty]]  
| <code>bool IsUsePressed() </code>
| <code>void MarkAbilityButtonDirty()</code>
| Returns true if the use key is pressed.
| Mark the ability button for this ability as needing a refresh.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CBasePlayer.IsVRControllerButtonPressed | IsVRControllerButtonPressed]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.NumModifiersUsingAbility | NumModifiersUsingAbility]]  
| <code>bool IsVRControllerButtonPressed(int nButton) </code>
| <code>int NumModifiersUsingAbility()</code>
| Returns true if the controller button is pressed.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CBasePlayer.Quit | Quit]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.OnAbilityPhaseInterrupted | OnAbilityPhaseInterrupted]]  
| <code>void Quit() </code>
| <code>void OnAbilityPhaseInterrupted()</code>
| Quit the game from script.
|
|}
 
 
=== CDOTAPlayer ===
:::::extends [[#CBaseAnimating| CBaseAnimating]]
''No Description Set''
{| class="standard-table" style="width: 100%;"
! Function
! Signature
! Description
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAPlayer.GetAssignedHero | GetAssignedHero]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.OnAbilityPhaseStart | OnAbilityPhaseStart]]  
| <code>handle GetAssignedHero() </code>
| <code>bool OnAbilityPhaseStart()</code>
| Get the player's hero.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAPlayer.GetControlledRPGUnit | GetControlledRPGUnit]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.OnAbilityPinged | OnAbilityPinged]]  
| <code>handle GetControlledRPGUnit() </code>
| <code>void OnAbilityPinged(int nPlayerID, bool bCtrlHeld)</code>
| Get the RPG unit this player controls.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAPlayer.GetPlayerID | GetPlayerID]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.OnChannelFinish | OnChannelFinish]]  
| <code>int GetPlayerID() </code>
| <code>void OnChannelFinish(bool bInterrupted)</code>
| Get the player's official PlayerID; notably is -1 when the player isn't yet on a team.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAPlayer.MakeRandomHeroSelection | MakeRandomHeroSelection]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.OnChannelThink | OnChannelThink]]  
| <code>void MakeRandomHeroSelection() </code>
| <code>void OnChannelThink(float flInterval)</code>
| Randoms this player's hero.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAPlayer.SetKillCamUnit | SetKillCamUnit]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.OnHeroCalculateStatBonus | OnHeroCalculateStatBonus]]  
| <code>void SetKillCamUnit(handle hEntity) </code>
| <code>void OnHeroCalculateStatBonus()</code>
| Set the kill cam unit for this hero.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAPlayer.SetMusicStatus | SetMusicStatus]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.OnHeroLevelUp | OnHeroLevelUp]]  
| <code>void SetMusicStatus(int nMusicStatus, float flIntensity) </code>
| <code>void OnHeroLevelUp()</code>
| Set the music status for this player, note this will only really apply if dota_music_battle_enable is off.
|
|}
 
 
=== CDOTA_PlayerResource ===
:::::extends [[#CBaseEntity| CBaseEntity]]
''No Description Set''
 
''Global accessor variable:'' <code>PlayerResource</code>
{| class="standard-table" style="width: 100%;"
! Function
! Signature
! Description
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.AddAegisPickup | AddAegisPickup]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.OnOwnerDied | OnOwnerDied]]  
| <code>void AddAegisPickup(int iPlayerID) </code>
| <code>void OnOwnerDied()</code>
| No Description Set
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.AddClaimedFarm | AddClaimedFarm]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.OnOwnerSpawned | OnOwnerSpawned]]  
| <code>void AddClaimedFarm(int iPlayerID, float flFarmValue, bool bEarnedValue) </code>
| <code>void OnOwnerSpawned()</code>
| No Description Set
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.AddGoldSpentOnSupport | AddGoldSpentOnSupport]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.OnSpellStart | OnSpellStart]]  
| <code>void AddGoldSpentOnSupport(int iPlayerID, int iCost) </code>
| <code>void OnSpellStart()</code>
| No Description Set
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.AddRunePickup | AddRunePickup]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.OnToggle | OnToggle]]  
| <code>void AddRunePickup(int iPlayerID) </code>
| <code>void OnToggle()</code>
| No Description Set
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.AreUnitsSharedWithPlayerID | AreUnitsSharedWithPlayerID]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.OnUpgrade | OnUpgrade]]  
| <code>bool AreUnitsSharedWithPlayerID(int nUnitOwnerPlayerID, int nOtherPlayerID) </code>
| <code>void OnUpgrade()</code>
| No Description Set
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.ClearKillsMatrix | ClearKillsMatrix]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.PayGoldCost | PayGoldCost]]  
| <code>void ClearKillsMatrix(int iPlayerID) </code>
| <code>void PayGoldCost()</code>
| No Description Set
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.ClearLastHitMultikill | ClearLastHitMultikill]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.PayGoldCostForUpgrade | PayGoldCostForUpgrade]]  
| <code>void ClearLastHitMultikill(int iPlayerID) </code>
| <code>void PayGoldCostForUpgrade()</code>
| No Description Set
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.ClearLastHitStreak | ClearLastHitStreak]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.PayManaCost | PayManaCost]]  
| <code>void ClearLastHitStreak(int iPlayerID) </code>
| <code>void PayManaCost()</code>
| No Description Set
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.ClearRawPlayerDamageMatrix | ClearRawPlayerDamageMatrix]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.PlaysDefaultAnimWhenStolen | PlaysDefaultAnimWhenStolen]]  
| <code>void ClearRawPlayerDamageMatrix(int iPlayerID) </code>
| <code>bool PlaysDefaultAnimWhenStolen()</code>
| No Description Set
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.ClearStreak | ClearStreak]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.ProcsMagicStick | ProcsMagicStick]]  
| <code>void ClearStreak(int iPlayerID) </code>
| <code>bool ProcsMagicStick()</code>
| No Description Set
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.GetAegisPickups | GetAegisPickups]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.RefCountsModifiers | RefCountsModifiers]]  
| <code>int GetAegisPickups(int iPlayerID) </code>
| <code>bool RefCountsModifiers()</code>
| No Description Set
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.GetAssists | GetAssists]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.RefreshCharges | RefreshCharges]]  
| <code>int GetAssists(int iPlayerID) </code>
| <code>void RefreshCharges()</code>
| No Description Set
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.GetBroadcasterChannel | GetBroadcasterChannel]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.RefundManaCost | RefundManaCost]]  
| <code><> GetBroadcasterChannel(int iPlayerID) </code>
| <code>void RefundManaCost()</code>
| No Description Set
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.GetBroadcasterChannelSlot | GetBroadcasterChannelSlot]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.ResetToggleOnRespawn | ResetToggleOnRespawn]]  
| <code><> GetBroadcasterChannelSlot(int iPlayerID) </code>
| <code>bool ResetToggleOnRespawn()</code>
| No Description Set
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.GetClaimedDenies | GetClaimedDenies]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.SetAbilityIndex | SetAbilityIndex]]  
| <code>int GetClaimedDenies(int iPlayerID) </code>
| <code>void SetAbilityIndex(int iIndex)</code>
| No Description Set
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.GetClaimedFarm | GetClaimedFarm]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.SetActivated | SetActivated]]  
| <code>float GetClaimedFarm(int iPlayerID, bool bOnlyEarned) </code>
| <code>void SetActivated(bool bActivated)</code>
| No Description Set
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.GetClaimedMisses | GetClaimedMisses]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.SetChanneling | SetChanneling]]  
| <code>int GetClaimedMisses(int iPlayerID) </code>
| <code>void SetChanneling(bool bChanneling)</code>
| No Description Set
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.GetConnectionState | GetConnectionState]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.SetFrozenCooldown | SetFrozenCooldown]]  
| <code><> GetConnectionState(int iPlayerID) </code>
| <code>void SetFrozenCooldown(bool bFrozenCooldown)</code>
| No Description Set
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.GetCreepDamageTaken | GetCreepDamageTaken]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.SetHidden | SetHidden]]  
| <code>int GetCreepDamageTaken(int iPlayerID, bool bTotal) </code>
| <code>void SetHidden(bool bHidden)</code>
| No Description Set
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.GetCustomBuybackCooldown | GetCustomBuybackCooldown]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.SetInAbilityPhase | SetInAbilityPhase]]  
| <code>float GetCustomBuybackCooldown(int iPlayerID) </code>
| <code>void SetInAbilityPhase(bool bInAbilityPhase)</code>
| No Description Set
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.GetCustomBuybackCost | GetCustomBuybackCost]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.SetLevel | SetLevel]]  
| <code>int GetCustomBuybackCost(int iPlayerID) </code>
| <code>void SetLevel(int iLevel)</code>
| No Description Set
| Sets the level of this ability.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.GetCustomTeamAssignment | GetCustomTeamAssignment]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.SetOverrideCastPoint | SetOverrideCastPoint]]  
| <code>int GetCustomTeamAssignment(int playerIndex) </code>
| <code>void SetOverrideCastPoint(float flCastPoint)</code>
| returns the team number that the player should join
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.GetDamageDoneToHero | GetDamageDoneToHero]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.SetRefCountsModifiers | SetRefCountsModifiers]]  
| <code>int GetDamageDoneToHero(int iPlayerID, int iVictimID) </code>
| <code>void SetRefCountsModifiers(bool bRefCounts)</code>
| No Description Set
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.GetDeaths | GetDeaths]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.SetStealable | SetStealable]]  
| <code>int GetDeaths(int iPlayerID) </code>
| <code>void SetStealable(bool bStealable)</code>
| No Description Set
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.GetDenies | GetDenies]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.SetStolen | SetStolen]]  
| <code>int GetDenies(int iPlayerID) </code>
| <code>void SetStolen(bool bStolen)</code>
| No Description Set
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.GetEventPointsForPlayerID | GetEventPointsForPlayerID]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.SetUpgradeRecommended | SetUpgradeRecommended]]  
| <code>int GetEventPointsForPlayerID(int iPlayerID) </code>
| <code>void SetUpgradeRecommended(bool bUpgradeRecommended)</code>
| No Description Set
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.GetEventPremiumPointsGranted | GetEventPremiumPointsGranted]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.ShouldUseResources | ShouldUseResources]]  
| <code>int GetEventPremiumPointsGranted(int iPlayerID) </code>
| <code>bool ShouldUseResources()</code>
| No Description Set
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.GetEventRankGranted | GetEventRankGranted]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.SpeakAbilityConcept | SpeakAbilityConcept]]  
| <code>int GetEventRankGranted(int iPlayerID) </code>
| <code>void SpeakAbilityConcept(int iConcept)</code>
| No Description Set
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.GetGold | GetGold]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.SpeakTrigger | SpeakTrigger]]  
| <code>int GetGold(int playerID) </code>
| <code><unknown> SpeakTrigger()</code>
| Returns how much gold the specified player currently has
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.GetGoldBagsCollected | GetGoldBagsCollected]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.StartCooldown | StartCooldown]]  
| <code>int GetGoldBagsCollected(int iPlayerID) </code>
| <code>void StartCooldown(float flCooldown)</code>
| No Description Set
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.GetGoldLostToDeath | GetGoldLostToDeath]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.ToggleAbility | ToggleAbility]]  
| <code>int GetGoldLostToDeath(int iPlayerID) </code>
| <code>void ToggleAbility()</code>
| No Description Set
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.GetGoldPerMin | GetGoldPerMin]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.ToggleAutoCast | ToggleAutoCast]]  
| <code>float GetGoldPerMin(int iPlayerID) </code>
| <code>void ToggleAutoCast()</code>
| No Description Set
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.GetGoldSpentOnBuybacks | GetGoldSpentOnBuybacks]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.UpgradeAbility | UpgradeAbility]]  
| <code>int GetGoldSpentOnBuybacks(int iPlayerID) </code>
| <code>void UpgradeAbility(bool bSupressSpeech)</code>
| No Description Set
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.GetGoldSpentOnConsumables | GetGoldSpentOnConsumables]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.UseResources | UseResources]]  
| <code>int GetGoldSpentOnConsumables(int iPlayerID) </code>
| <code>void UseResources(bool bMana, bool bGold, bool bCooldown)</code>
| No Description Set
|
|}
 
==== CDOTABaseGameMode ====
:::::extends [[#CBaseEntity|CBaseEntity]]
''No Description Set''
{| class="standard-table" style="width: 100%;"
! Function
! Signature
! Description
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.GetGoldSpentOnItems | GetGoldSpentOnItems]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.AddRealTimeCombatAnalyzerQuery | AddRealTimeCombatAnalyzerQuery]]  
| <code>int GetGoldSpentOnItems(int iPlayerID) </code>
| <code>int AddRealTimeCombatAnalyzerQuery(handle hQueryTable, handle hPlayer, string pszQueryName)</code>
| No Description Set
| Begin tracking a sequence of events using the real time combat analyzer.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.GetGoldSpentOnSupport | GetGoldSpentOnSupport]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.AreWeatherEffectsDisabled | AreWeatherEffectsDisabled]]  
| <code>int GetGoldSpentOnSupport(int iPlayerID) </code>
| <code>bool AreWeatherEffectsDisabled()</code>
| No Description Set
| Get if weather effects are disabled on the client.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.GetHealing | GetHealing]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.ClearBountyRunePickupFilter | ClearBountyRunePickupFilter]]  
| <code>float GetHealing(int iPlayerID) </code>
| <code>void ClearBountyRunePickupFilter()</code>
| No Description Set
| Clear the script filter that controls bounty rune pickup behavior.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.GetHeroDamageTaken | GetHeroDamageTaken]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.ClearDamageFilter | ClearDamageFilter]]  
| <code>int GetHeroDamageTaken(int iPlayerID, bool bTotal) </code>
| <code>void ClearDamageFilter()</code>
| No Description Set
| Clear the script filter that controls how a unit takes damage.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.GetKills | GetKills]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.ClearExecuteOrderFilter | ClearExecuteOrderFilter]]  
| <code>int GetKills(int playerID) </code>
| <code>void ClearExecuteOrderFilter()</code>
| Return how many kills the specified player currently gets
| Clear the script filter that controls when a unit picks up an item.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.GetKillsDoneToHero | GetKillsDoneToHero]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.ClearHealingFilter | ClearHealingFilter]]  
| <code>int GetKillsDoneToHero(int attackerPlayerID, int victimPlayerID) </code>
| <code>void ClearHealingFilter()</code>
| Returns the number of times the attacker (first argument) has killed the victim (second argument)
| Clear the script filter that controls how a unit heals.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.GetLastHitMultikill | GetLastHitMultikill]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.ClearItemAddedToInventoryFilter | ClearItemAddedToInventoryFilter]]  
| <code>int GetLastHitMultikill(int iPlayerID) </code>
| <code>void ClearItemAddedToInventoryFilter()</code>
| No Description Set
| Clear the script filter that controls the item added to inventory filter.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.GetLastHits | GetLastHits]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.ClearModifierGainedFilter | ClearModifierGainedFilter]]  
| <code>int GetLastHits(int playerID) </code>
| <code>void ClearModifierGainedFilter()</code>
| No Description Set
| Clear the script filter that controls the modifier filter.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.GetLastHitStreak | GetLastHitStreak]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.ClearModifyExperienceFilter | ClearModifyExperienceFilter]]  
| <code>int GetLastHitStreak(int iPlayerID) </code>
| <code>void ClearModifyExperienceFilter()</code>
| No Description Set
| Clear the script filter that controls how hero experience is modified.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.GetLevel | GetLevel]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.ClearModifyGoldFilter | ClearModifyGoldFilter]]  
| <code>int GetLevel(int playerID) </code>
| <code>void ClearModifyGoldFilter()</code>
| No Description Set
| Clear the script filter that controls how hero gold is modified.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.GetMisses | GetMisses]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.ClearRuneSpawnFilter | ClearRuneSpawnFilter]]  
| <code>int GetMisses(int iPlayerID) </code>
| <code>void ClearRuneSpawnFilter()</code>
| No Description Set
| Clear the script filter that controls what rune spawns.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.GetNearbyCreepDeaths | GetNearbyCreepDeaths]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.ClearTrackingProjectileFilter | ClearTrackingProjectileFilter]]  
| <code>int GetNearbyCreepDeaths(int iPlayerID) </code>
| <code>void ClearTrackingProjectileFilter()</code>
| No Description Set
| Clear the script filter that controls when tracking projectiles are launched.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.GetNthCourierForTeam | GetNthCourierForTeam]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.DisableHudFlip | DisableHudFlip]]  
| <code>handle GetNthCourierForTeam(int nCourierIndex, int nTeamNumber) </code>
| <code>void DisableHudFlip(bool bDisable)</code>
| No Description Set
| Use to disable hud flip for this mod
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.GetNthPlayerIDOnTeam | GetNthPlayerIDOnTeam]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.GetAlwaysShowPlayerInventory | GetAlwaysShowPlayerInventory]]  
| <code>int GetNthPlayerIDOnTeam(int iTeamNumber, int iNthPlayer) </code>
| <code>bool GetAlwaysShowPlayerInventory()</code>
| No Description Set
| Show the player hero's inventory in the HUD, regardless of what unit is selected.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.GetNumConsumablesPurchased | GetNumConsumablesPurchased]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.GetAlwaysShowPlayerNames | GetAlwaysShowPlayerNames]]  
| <code>int GetNumConsumablesPurchased(int iPlayerID) </code>
| <code>bool GetAlwaysShowPlayerNames()</code>
| No Description Set
| Get whether player names are always shown, regardless of client setting.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.GetNumCouriersForTeam | GetNumCouriersForTeam]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.GetAnnouncerDisabled | GetAnnouncerDisabled]]  
| <code>int GetNumCouriersForTeam(int nTeamNumber) </code>
| <code>bool GetAnnouncerDisabled()</code>
| No Description Set
| Are in-game announcers disabled?
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.GetNumItemsPurchased | GetNumItemsPurchased]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.GetCameraDistanceOverride | GetCameraDistanceOverride]]  
| <code>int GetNumItemsPurchased(int iPlayerID) </code>
| <code>float GetCameraDistanceOverride()</code>
| No Description Set
| Set a different camera distance; dota default is 1134.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.GetOriginalLobbyTeam | GetOriginalLobbyTeam]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.GetCustomAttributeDerivedStatValue | GetCustomAttributeDerivedStatValue]]  
| <code>int GetOriginalLobbyTeam(int iPlayerID) </code>
| <code>float GetCustomAttributeDerivedStatValue(int nDerivedStatType, handle hHero)</code>
| The team this player was originally assigned in the lobby. DOTA_TEAM_NOTEAM if no lobby info.
| Get current derived stat value constant.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.GetPlayer | GetPlayer]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.GetCustomBackpackCooldownPercent | GetCustomBackpackCooldownPercent]]  
| <code>handle GetPlayer(int playerID) </code>
| <code>float GetCustomBackpackCooldownPercent()</code>
| No Description Set
| Get the current rate cooldown ticks down for items in the backpack.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.GetPlayerCount | GetPlayerCount]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.GetCustomBackpackSwapCooldown | GetCustomBackpackSwapCooldown]]  
| <code>int GetPlayerCount() </code>
| <code>float GetCustomBackpackSwapCooldown()</code>
| Includes spectators and players not assigned to a team
| Get the current custom backpack swap cooldown.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.GetPlayerCountForTeam | GetPlayerCountForTeam]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.GetCustomBuybackCooldownEnabled | GetCustomBuybackCooldownEnabled]]  
| <code>int GetPlayerCountForTeam(int iTeam) </code>
| <code>bool GetCustomBuybackCooldownEnabled()</code>
|  
| Turns on capability to define custom buyback cooldowns.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.GetPlayerLoadedCompletely | GetPlayerLoadedCompletely]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.GetCustomBuybackCostEnabled | GetCustomBuybackCostEnabled]]  
| <code>bool GetPlayerLoadedCompletely(int iPlayerID) </code>
| <code>bool GetCustomBuybackCostEnabled()</code>
| No Description Set
| Turns on capability to define custom buyback costs.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.GetPlayerName | GetPlayerName]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.GetCustomGlyphCooldown | GetCustomGlyphCooldown]]  
| <code>string GetPlayerName(int iPlayerID) </code>
| <code>float GetCustomGlyphCooldown()</code>
| No Description Set
| Get the current custom glyph cooldown.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.GetPlayerReservedState | GetPlayerReservedState]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.GetCustomHeroMaxLevel | GetCustomHeroMaxLevel]]  
| <code>bool GetPlayerReservedState(int iPlayerID) </code>
| <code>int GetCustomHeroMaxLevel()</code>
| No Description Set
| Allows definition of the max level heroes can achieve (default is 25).
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.GetRawPlayerDamage | GetRawPlayerDamage]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.GetCustomScanCooldown | GetCustomScanCooldown]]  
| <code>int GetRawPlayerDamage(int iPlayerID) </code>
| <code>float GetCustomScanCooldown()</code>
| No Description Set
| Get the current custom scan cooldown.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.GetReliableGold | GetReliableGold]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.GetFixedRespawnTime | GetFixedRespawnTime]]  
| <code>int GetReliableGold(int playerID) </code>
| <code>float GetFixedRespawnTime()</code>
| Returns how much reliable gold the specified player currently has
| Gets the fixed respawn time.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.GetRespawnSeconds | GetRespawnSeconds]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.GetFogOfWarDisabled | GetFogOfWarDisabled]]  
| <code>int GetRespawnSeconds(int iPlayerID) </code>
| <code>bool GetFogOfWarDisabled()</code>
| No Description Set
| Turn the fog of war on or off.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.GetRoshanKills | GetRoshanKills]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.GetGoldSoundDisabled | GetGoldSoundDisabled]]  
| <code>int GetRoshanKills(int iPlayerID) </code>
| <code>bool GetGoldSoundDisabled()</code>
| No Description Set
| Turn the sound when gold is acquired off/on.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.GetRunePickups | GetRunePickups]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.GetHUDVisible | GetHUDVisible]]  
| <code>int GetRunePickups(int iPlayerID) </code>
| <code>bool GetHUDVisible(int iElement)</code>
| No Description Set
| Returns the HUD element visibility.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.GetSelectedHeroEntity | GetSelectedHeroEntity]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.GetMaximumAttackSpeed | GetMaximumAttackSpeed]]  
| <code>handle GetSelectedHeroEntity(int iPlayerID) </code>
| <code>int GetMaximumAttackSpeed()</code>
| No Description Set
| Get the maximum attack speed for units.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.GetSelectedHeroID | GetSelectedHeroID]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.GetMinimumAttackSpeed | GetMinimumAttackSpeed]]  
| <code>int GetSelectedHeroID(int iPlayerID) </code>
| <code>int GetMinimumAttackSpeed()</code>
| No Description Set
| Get the minimum attack speed for units.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.GetSelectedHeroName | GetSelectedHeroName]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.GetRecommendedItemsDisabled | GetRecommendedItemsDisabled]]  
| <code>string GetSelectedHeroName(int iPlayerID) </code>
| <code>bool GetRecommendedItemsDisabled()</code>
| No Description Set
| Turn the panel for showing recommended items at the shop off/on.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.GetSteamAccountID | GetSteamAccountID]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.GetRespawnTimeScale | GetRespawnTimeScale]]  
| <code><> GetSteamAccountID(int iPlayerID) </code>
| <code>float GetRespawnTimeScale()</code>
| No Description Set
| Returns the scale applied to non-fixed respawn times.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.GetStreak | GetStreak]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.GetStashPurchasingDisabled | GetStashPurchasingDisabled]]  
| <code>int GetStreak(int iPlayerID) </code>
| <code>bool GetStashPurchasingDisabled()</code>
| No Description Set
| Turn purchasing items to the stash off/on. If purchasing to the stash is off the player must be at a shop to purchase items.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.GetStuns | GetStuns]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.GetStickyItemDisabled | GetStickyItemDisabled]]  
| <code>float GetStuns(int iPlayerID) </code>
| <code>bool GetStickyItemDisabled()</code>
| No Description Set
| Hide the sticky item in the quickbuy.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.GetTeam | GetTeam]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.GetTopBarTeamValuesOverride | GetTopBarTeamValuesOverride]]  
| <code>int GetTeam(int iPlayerID) </code>
| <code>bool GetTopBarTeamValuesOverride()</code>
| No Description Set
| Override the values of the team values on the top game bar.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.GetTeamKills | GetTeamKills]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.GetTopBarTeamValuesVisible | GetTopBarTeamValuesVisible]]  
| <code>int GetTeamKills(int iTeam) </code>
| <code>bool GetTopBarTeamValuesVisible()</code>
| No Description Set
| Turning on/off the team values on the top game bar.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.GetTeamPlayerCount | GetTeamPlayerCount]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.GetTowerBackdoorProtectionEnabled | GetTowerBackdoorProtectionEnabled]]  
| <code>int GetTeamPlayerCount() </code>
| <code>bool GetTowerBackdoorProtectionEnabled()</code>
| Players on a valid team (radiant, dire, or custom*) who haven't abandoned the game
| Gets whether tower backdoor protection is enabled or not.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.GetTimeOfLastConsumablePurchase | GetTimeOfLastConsumablePurchase]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.GetUseCustomHeroLevels | GetUseCustomHeroLevels]]  
| <code>float GetTimeOfLastConsumablePurchase(int iPlayerID) </code>
| <code>bool GetUseCustomHeroLevels()</code>
| No Description Set
| Are custom-defined XP values for hero level ups in use?
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.GetTimeOfLastDeath | GetTimeOfLastDeath]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.IsBuybackEnabled | IsBuybackEnabled]]  
| <code>float GetTimeOfLastDeath(int iPlayerID) </code>
| <code>bool IsBuybackEnabled()</code>
| No Description Set
| Enables or disables buyback completely.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.GetTimeOfLastItemPurchase | GetTimeOfLastItemPurchase]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.IsDaynightCycleDisabled | IsDaynightCycleDisabled]]  
| <code>float GetTimeOfLastItemPurchase(int iPlayerID) </code>
| <code>bool IsDaynightCycleDisabled()</code>
| No Description Set
| Is the day/night cycle disabled?
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.GetTotalEarnedGold | GetTotalEarnedGold]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.ListenForQueryFailed | ListenForQueryFailed]]  
| <code>int GetTotalEarnedGold(int iPlayerID) </code>
| <code>void ListenForQueryFailed(handle hFunction, handle hContext)</code>
| No Description Set
| Set function and context for real time combat analyzer query failed.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.GetTotalEarnedXP | GetTotalEarnedXP]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.ListenForQueryProgressChanged | ListenForQueryProgressChanged]]  
| <code>int GetTotalEarnedXP(int iPlayerID) </code>
| <code>void ListenForQueryProgressChanged(handle hFunction, handle hContext)</code>
| No Description Set
| Set function and context for real time combat analyzer query progress changed.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.GetTotalGoldSpent | GetTotalGoldSpent]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.ListenForQuerySucceeded | ListenForQuerySucceeded]]  
| <code>int GetTotalGoldSpent(int iPlayerID) </code>
| <code>void ListenForQuerySucceeded(handle hFunction, handle hContext)</code>
| No Description Set
| Set function and context for real time combat analyzer query succeeded.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.GetTowerDamageTaken | GetTowerDamageTaken]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.RemoveRealTimeCombatAnalyzerQuery | RemoveRealTimeCombatAnalyzerQuery]]  
| <code>int GetTowerDamageTaken(int iPlayerID, bool bTotal) </code>
| <code>void RemoveRealTimeCombatAnalyzerQuery(int nQueryID)</code>
| No Description Set
| Stop tracking a combat analyzer query.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.GetTowerKills | GetTowerKills]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.SetAbilityTuningValueFilter | SetAbilityTuningValueFilter]]  
| <code>int GetTowerKills(int iPlayerID) </code>
| <code>void SetAbilityTuningValueFilter(handle hFunction, handle hContext)</code>
| No Description Set
| Set a filter function to control the tuning values that abilities use. (Modify the table and Return true to use new values, return false to use the old values)
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.GetUnitShareMaskForPlayer | GetUnitShareMaskForPlayer]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.SetAlwaysShowPlayerInventory | SetAlwaysShowPlayerInventory]]  
| <code>int GetUnitShareMaskForPlayer(int nPlayerID, int nOtherPlayerID) </code>
| <code>void SetAlwaysShowPlayerInventory(bool bAlwaysShow)</code>
| No Description Set
| Show the player hero's inventory in the HUD, regardless of what unit is selected.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.GetUnreliableGold | GetUnreliableGold]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.SetAlwaysShowPlayerNames | SetAlwaysShowPlayerNames]]  
| <code>int GetUnreliableGold(int playerID) </code>
| <code>void SetAlwaysShowPlayerNames(bool bEnabled)</code>
| Returns how much unreliable gold the specified player currently has
| Set whether player names are always shown, regardless of client setting.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.GetXPPerMin | GetXPPerMin]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.SetAnnouncerDisabled | SetAnnouncerDisabled]]  
| <code>float GetXPPerMin(int iPlayerID) </code>
| <code>void SetAnnouncerDisabled(bool bDisabled)</code>
| No Description Set
| Mutes the in-game announcer.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.HasRandomed | HasRandomed]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.SetBotThinkingEnabled | SetBotThinkingEnabled]]  
| <code>bool HasRandomed(int iPlayerID) </code>
| <code>void SetBotThinkingEnabled(bool bEnabled)</code>
| No Description Set
| Enables/Disables bots in custom games. Note: this will only work with default heroes in the dota map.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.HasRepicked | HasRepicked]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.SetBotsAlwaysPushWithHuman | SetBotsAlwaysPushWithHuman]]  
| <code>bool HasRepicked(int playerID) </code>
| <code>void SetBotsAlwaysPushWithHuman(bool bAlwaysPush)</code>
| No Description Set
| Set if the bots should try their best to push with a human player.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.HasSelectedHero | HasSelectedHero]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.SetBotsInLateGame | SetBotsInLateGame]]  
| <code>bool HasSelectedHero(int iPlayerID) </code>
| <code>void SetBotsInLateGame(bool bLateGame)</code>
| No Description Set
| Set if bots should enable their late game behavior.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.HaveAllPlayersJoined | HaveAllPlayersJoined]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.SetBotsMaxPushTier | SetBotsMaxPushTier]]  
| <code>bool HaveAllPlayersJoined() </code>
| <code>void SetBotsMaxPushTier(int nMaxTier)</code>
| No Description Set
| Set the max tier of tower that bots want to push. (-1 to disable)
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.HeroLevelUp | HeroLevelUp]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.SetBountyRunePickupFilter | SetBountyRunePickupFilter]]  
| <code>void HeroLevelUp(int iPlayerID) </code>
| <code>void SetBountyRunePickupFilter(handle hFunction, handle hContext)</code>
| No Description Set
| Set a filter function to control the behavior when a bounty rune is picked up. (Modify the table and Return true to use new values, return false to cancel the event)
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.IncrementAssists | IncrementAssists]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.SetBountyRuneSpawnInterval | SetBountyRuneSpawnInterval]]  
| <code>void IncrementAssists(int playerID, int iVictimID) </code>
| <code>void SetBountyRuneSpawnInterval(float flInterval)</code>
| No Description Set
| Set bounty rune spawn rate
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.IncrementClaimedDenies | IncrementClaimedDenies]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.SetBuybackEnabled | SetBuybackEnabled]]  
| <code>void IncrementClaimedDenies(int iPlayerID) </code>
| <code>void SetBuybackEnabled(bool bEnabled)</code>
| No Description Set
| Enables or disables buyback completely.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.IncrementClaimedMisses | IncrementClaimedMisses]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.SetCameraDistanceOverride | SetCameraDistanceOverride]]  
| <code>void IncrementClaimedMisses(int iPlayerID) </code>
| <code>void SetCameraDistanceOverride(float flCameraDistanceOverride)</code>
| No Description Set
| Set a different camera distance; dota default is 1134.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.IncrementDeaths | IncrementDeaths]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.SetCameraSmoothCountOverride | SetCameraSmoothCountOverride]]  
| <code>void IncrementDeaths(int playerID, int iKillerID) </code>
| <code>void SetCameraSmoothCountOverride(int nSmoothCount)</code>
| No Description Set
| Set a different camera smooth count; dota default is 8.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.IncrementDenies | IncrementDenies]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.SetCustomAttributeDerivedStatValue | SetCustomAttributeDerivedStatValue]]  
| <code>void IncrementDenies(int iPlayerID) </code>
| <code>void SetCustomAttributeDerivedStatValue(int nStatType, float flNewValue)</code>
| No Description Set
| Modify derived stat value constants. ( AttributeDerivedStat eStatType, float flNewValue.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.IncrementGoldBagsCollected | IncrementGoldBagsCollected]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.SetCustomBackpackCooldownPercent | SetCustomBackpackCooldownPercent]]  
| <code>void IncrementGoldBagsCollected(int iPlayerID) </code>
| <code>void SetCustomBackpackCooldownPercent(float flPercent)</code>
| No Description Set
| Set the rate cooldown ticks down for items in the backpack.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.IncrementKills | IncrementKills]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.SetCustomBackpackSwapCooldown | SetCustomBackpackSwapCooldown]]  
| <code>void IncrementKills(int playerID, int kills) </code>
| <code>void SetCustomBackpackSwapCooldown(float flCooldown)</code>
| No Description Set
| Set a custom cooldown for swapping items into the backpack.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.IncrementLastHitMultikill | IncrementLastHitMultikill]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.SetCustomBuybackCooldownEnabled | SetCustomBuybackCooldownEnabled]]  
| <code>void IncrementLastHitMultikill(int iPlayerID) </code>
| <code>void SetCustomBuybackCooldownEnabled(bool bEnabled)</code>
| No Description Set
| Turns on capability to define custom buyback cooldowns.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.IncrementLastHits | IncrementLastHits]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.SetCustomBuybackCostEnabled | SetCustomBuybackCostEnabled]]  
| <code>void IncrementLastHits(int iPlayerID) </code>
| <code>void SetCustomBuybackCostEnabled(bool bEnabled)</code>
| No Description Set
| Turns on capability to define custom buyback costs.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.IncrementLastHitStreak | IncrementLastHitStreak]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.SetCustomGameForceHero | SetCustomGameForceHero]]  
| <code>void IncrementLastHitStreak(int iPlayerID) </code>
| <code>void SetCustomGameForceHero(string pHeroName)</code>
| No Description Set
| Force all players to use the specified hero and disable the normal hero selection process. Must be used before hero selection.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.IncrementMisses | IncrementMisses]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.SetCustomGlyphCooldown | SetCustomGlyphCooldown]]  
| <code>void IncrementMisses(int iPlayerID) </code>
| <code>void SetCustomGlyphCooldown(float flCooldown)</code>
| No Description Set
| Set a custom cooldown for team Glyph ability.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.IncrementNearbyCreepDeaths | IncrementNearbyCreepDeaths]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.SetCustomHeroMaxLevel | SetCustomHeroMaxLevel]]  
| <code>void IncrementNearbyCreepDeaths(int iPlayerID) </code>
| <code>void SetCustomHeroMaxLevel(int int_1)</code>
| No Description Set
| Allows definition of the max level heroes can achieve (default is 25).
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.IncrementStreak | IncrementStreak]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.SetCustomScanCooldown | SetCustomScanCooldown]]  
| <code>void IncrementStreak(int iPlayerID) </code>
| <code>void SetCustomScanCooldown(float flCooldown)</code>
| No Description Set
| Set a custom cooldown for team Scan ability.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.IncrementTotalEarnedXP | IncrementTotalEarnedXP]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.SetCustomTerrainWeatherEffect | SetCustomTerrainWeatherEffect]]  
| <code>void IncrementTotalEarnedXP(int iPlayerID, int iXP, int nReason) </code>
| <code>void SetCustomTerrainWeatherEffect(string pszEffectName)</code>
| No Description Set
| Set the effect used as a custom weather effect, when units are on non-default terrain, in this mode.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.IsBroadcaster | IsBroadcaster]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.SetCustomXPRequiredToReachNextLevel | SetCustomXPRequiredToReachNextLevel]]  
| <code>bool IsBroadcaster(int iPlayerID) </code>
| <code>void SetCustomXPRequiredToReachNextLevel(handle hTable)</code>
| No Description Set
| Allows definition of a table of hero XP values.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.IsDisableHelpSetForPlayerID | IsDisableHelpSetForPlayerID]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.SetDamageFilter | SetDamageFilter]]  
| <code>bool IsDisableHelpSetForPlayerID(int nPlayerID, int nOtherPlayerID) </code>
| <code>void SetDamageFilter(handle hFunction, handle hContext)</code>
| No Description Set
| Set a filter function to control the behavior when a unit takes damage. (Modify the table and Return true to use new values, return false to cancel the event)
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.IsFakeClient | IsFakeClient]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.SetDaynightCycleDisabled | SetDaynightCycleDisabled]]  
| <code>bool IsFakeClient(int iPlayerID) </code>
| <code>void SetDaynightCycleDisabled(bool bDisable)</code>
| No Description Set
| Enable or disable the day/night cycle.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.IsHeroSelected | IsHeroSelected]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.SetDeathOverlayDisabled | SetDeathOverlayDisabled]]  
| <code>bool IsHeroSelected(string pHeroname) </code>
| <code>void SetDeathOverlayDisabled(bool bDisabled)</code>
| No Description Set
| Specify whether the full screen death overlay effect plays when the selected hero dies.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.IsHeroSharedWithPlayerID | IsHeroSharedWithPlayerID]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.SetDraftingBanningTimeOverride | SetDraftingBanningTimeOverride]]  
| <code>bool IsHeroSharedWithPlayerID(int nUnitOwnerPlayerID, int nOtherPlayerID) </code>
| <code>void SetDraftingBanningTimeOverride(float flValue)</code>
| No Description Set
| Set drafting hero banning time
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.IsValidPlayer | IsValidPlayer]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.SetDraftingHeroPickSelectTimeOverride | SetDraftingHeroPickSelectTimeOverride]]  
| <code>bool IsValidPlayer(int playerID) </code>
| <code>void SetDraftingHeroPickSelectTimeOverride(float flValue)</code>
| No Description Set
| Set drafting hero pick time
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.IsValidPlayerID | IsValidPlayerID]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.SetExecuteOrderFilter | SetExecuteOrderFilter]]  
| <code>bool IsValidPlayerID(int playerID) </code>
| <code>void SetExecuteOrderFilter(handle hFunction, handle hContext)</code>
| No Description Set
| Set a filter function to control the behavior when a unit picks up an item. (Modify the table and Return true to use new values, return false to cancel the event)
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.IsValidTeamPlayer | IsValidTeamPlayer]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.SetFixedRespawnTime | SetFixedRespawnTime]]  
| <code>bool IsValidTeamPlayer(int playerID) </code>
| <code>void SetFixedRespawnTime(float flFixedRespawnTime)</code>
| No Description Set
| Set a fixed delay for all players to respawn after.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.IsValidTeamPlayerID | IsValidTeamPlayerID]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.SetFogOfWarDisabled | SetFogOfWarDisabled]]  
| <code>bool IsValidTeamPlayerID(int playerID) </code>
| <code>void SetFogOfWarDisabled(bool bDisabled)</code>
| No Description Set
| Turn the fog of war on or off.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.ModifyGold | ModifyGold]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.SetFountainConstantManaRegen | SetFountainConstantManaRegen]]  
| <code>int ModifyGold(int playerID, int goldAmmt, bool reliable, int nReason) </code>
| <code>void SetFountainConstantManaRegen(float flConstantManaRegen)</code>
| No Description Set
| Set the constant rate that the fountain will regen mana. (-1 for default)
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.ReplaceHeroWith | ReplaceHeroWith]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.SetFountainPercentageHealthRegen | SetFountainPercentageHealthRegen]]  
| <code>handle ReplaceHeroWith(int iPlayerID, string pszHeroClass, int nGold, int nXP) </code>
| <code>void SetFountainPercentageHealthRegen(float flPercentageHealthRegen)</code>
| (playerID, heroClassName, gold, XP) - replaces the player's hero with a new one of the specified class, gold and XP
| Set the percentage rate that the fountain will regen health. (-1 for default)  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.ResetBuybackCostTime | ResetBuybackCostTime]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.SetFountainPercentageManaRegen | SetFountainPercentageManaRegen]]  
| <code>void ResetBuybackCostTime(int nPlayerID) </code>
| <code>void SetFountainPercentageManaRegen(float flPercentageManaRegen)</code>
| No Description Set
| Set the percentage rate that the fountain will regen mana. (-1 for default)
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.ResetTotalEarnedGold | ResetTotalEarnedGold]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.SetFreeCourierModeEnabled | SetFreeCourierModeEnabled]]  
| <code>void ResetTotalEarnedGold(int iPlayerID) </code>
| <code>void SetFreeCourierModeEnabled(bool bEnabled)</code>
| No Description Set
| If set to true, enable 7.23 free courier mode.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.SetBuybackCooldownTime | SetBuybackCooldownTime]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.SetFriendlyBuildingMoveToEnabled | SetFriendlyBuildingMoveToEnabled]]  
| <code>void SetBuybackCooldownTime(int nPlayerID, float flBuybackCooldown) </code>
| <code>void SetFriendlyBuildingMoveToEnabled(bool bEnabled)</code>
| No Description Set
| Allows clicks on friendly buildings to be handled normally.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.SetBuybackGoldLimitTime | SetBuybackGoldLimitTime]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.SetGoldSoundDisabled | SetGoldSoundDisabled]]  
| <code>void SetBuybackGoldLimitTime(int nPlayerID, float flBuybackCooldown) </code>
| <code>void SetGoldSoundDisabled(bool bDisabled)</code>
| No Description Set
| Turn the sound when gold is acquired off/on.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.SetCameraTarget | SetCameraTarget]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.SetHUDVisible | SetHUDVisible]]  
| <code>void SetCameraTarget(int nPlayerID, handle hTarget) </code>
| <code>void SetHUDVisible(int iHUDElement, bool bVisible)</code>
| (playerID, entity) - force the given player's camera to follow the given entity
| Set the HUD element visibility.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.SetCustomBuybackCooldown | SetCustomBuybackCooldown]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.SetHealingFilter | SetHealingFilter]]  
| <code>void SetCustomBuybackCooldown(int iPlayerID, float flCooldownTime) </code>
| <code>void SetHealingFilter(handle hFunction, handle hContext)</code>
| Set the buyback cooldown for this player.
| Set a filter function to control the behavior when a unit heals. (Modify the table and Return true to use new values, return false to cancel the event)
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.SetCustomBuybackCost | SetCustomBuybackCost]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.SetHudCombatEventsDisabled | SetHudCombatEventsDisabled]]  
| <code>void SetCustomBuybackCost(int iPlayerID, int iGoldCost) </code>
| <code>void SetHudCombatEventsDisabled(bool bDisabled)</code>
| Set the buyback cost for this player.
| Specify whether the default combat events will show in the HUD.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.SetCustomPlayerColor | SetCustomPlayerColor]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.SetItemAddedToInventoryFilter | SetItemAddedToInventoryFilter]]  
| <code>void SetCustomPlayerColor(int iPlayerID, int r, int g, int b) </code>
| <code>void SetItemAddedToInventoryFilter(handle hFunction, handle hContext)</code>
| Set custom color for player (minimap, scoreboard, etc)
| Set a filter function to control what happens to items that are added to an inventory, return false to cancel the event
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.SetCustomTeamAssignment | SetCustomTeamAssignment]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.SetKillableTombstones | SetKillableTombstones]]  
| <code>void SetCustomTeamAssignment(int playerIndex, int teamToJoin) </code>
| <code>void SetKillableTombstones(bool bEnabled)</code>
| Sets the team that the player should join
| Set whether tombstones can be channeled to be removed by enemy heroes.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.SetGold | SetGold]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.SetKillingSpreeAnnouncerDisabled | SetKillingSpreeAnnouncerDisabled]]  
| <code>void SetGold(int playerID, int amount, bool reliableGold) </code>
| <code>void SetKillingSpreeAnnouncerDisabled(bool bDisabled)</code>
| Sets the reliable/unreliable gold of the specified player
| Mutes the in-game killing spree announcer.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.SetHasRandomed | SetHasRandomed]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.SetLoseGoldOnDeath | SetLoseGoldOnDeath]]  
| <code>void SetHasRandomed(int playerID) </code>
| <code>void SetLoseGoldOnDeath(bool bEnabled)</code>
| No Description Set
| Use to disable gold loss on death.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.SetHasRepicked | SetHasRepicked]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.SetMaximumAttackSpeed | SetMaximumAttackSpeed]]  
| <code>void SetHasRepicked(int playerID) </code>
| <code>void SetMaximumAttackSpeed(int nMaxSpeed)</code>
| No Description Set
| Set the maximum attack speed for units.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.SetLastBuybackTime | SetLastBuybackTime]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.SetMinimumAttackSpeed | SetMinimumAttackSpeed]]  
| <code>void SetLastBuybackTime(int iPlayerID, int iLastBuybackTime) </code>
| <code>void SetMinimumAttackSpeed(int nMinSpeed)</code>
| No Description Set
| Set the minimum attack speed for units.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.SetOverrideSelectionEntity | SetOverrideSelectionEntity]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.SetModifierGainedFilter | SetModifierGainedFilter]]  
| <code>void SetOverrideSelectionEntity(int nPlayerID, handle hEntity) </code>
| <code>void SetModifierGainedFilter(handle hFunction, handle hContext)</code>
| Set the forced selection entity for a player.
| Set a filter function to control modifiers that are gained, return false to destroy modifier.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.SetPlayerReservedState | SetPlayerReservedState]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.SetModifyExperienceFilter | SetModifyExperienceFilter]]  
| <code>void SetPlayerReservedState(int iPlayerID, bool bReserved) </code>
| <code>void SetModifyExperienceFilter(handle hFunction, handle hContext)</code>
| No Description Set
| Set a filter function to control the behavior when a hero's experience is modified. (Modify the table and Return true to use new values, return false to cancel the event)
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.SetUnitShareMaskForPlayer | SetUnitShareMaskForPlayer]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.SetModifyGoldFilter | SetModifyGoldFilter]]  
| <code>void SetUnitShareMaskForPlayer(int nPlayerID, int nOtherPlayerID, int nFlag, bool bState) </code>
| <code>void SetModifyGoldFilter(handle hFunction, handle hContext)</code>
| No Description Set
| Set a filter function to control the behavior when a hero's gold is modified. (Modify the table and Return true to use new values, return false to cancel the event)
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.SpendGold | SpendGold]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.SetOverrideSelectionEntity | SetOverrideSelectionEntity]]  
| <code>void SpendGold(int playerID, int amount, int reason) </code>
| <code>void SetOverrideSelectionEntity(handle hOverrideEntity)</code>
| No Description Set
| Set an override for the default selection entity, instead of each player's hero.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.UpdateTeamSlot | UpdateTeamSlot]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.SetPauseEnabled | SetPauseEnabled]]  
| <code>void UpdateTeamSlot(int iPlayerID, int iTeamNumber, bool bFromLobby) </code>
| <code>void SetPauseEnabled(bool bEnabled)</code>
| No Description Set
| Set pausing enabled/disabled
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.WhoSelectedHero | WhoSelectedHero]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.SetPowerRuneSpawnInterval | SetPowerRuneSpawnInterval]]  
| <code>int WhoSelectedHero(string pHeroFilename) </code>
| <code>void SetPowerRuneSpawnInterval(float flInterval)</code>
| No Description Set
| Set power rune spawn rate
|}
 
 
=== CDOTA_BaseNPC ===
:::::extends [[#CBaseFlex| CBaseFlex]]
''''
{| class="standard-table" style="width: 100%;"
! Function
! Signature
! Description
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.AddAbility | AddAbility]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.SetRecommendedItemsDisabled | SetRecommendedItemsDisabled]]  
| <code>void AddAbility(string pszAbilityName) </code>
| <code>void SetRecommendedItemsDisabled(bool bDisabled)</code>
| Add an ability to this unit by name.
| Turn the panel for showing recommended items at the shop off/on.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.AddItem | AddItem]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.SetRemoveIllusionsOnDeath | SetRemoveIllusionsOnDeath]]  
| <code>void AddItem(handle hItem) </code>
| <code>void SetRemoveIllusionsOnDeath(bool bRemove)</code>
| Add an item to this unit's inventory.
| Make it so illusions are immediately removed upon death, rather than sticking around for a few seconds.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.AddItemByName | AddItemByName]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.SetRespawnTimeScale | SetRespawnTimeScale]]  
| <code>void AddItemByName(string pszItemName) </code>
| <code>void SetRespawnTimeScale(float flValue)</code>
| Add an item to this unit's inventory.
| Sets the scale applied to non-fixed respawn times. 1 = default DOTA respawn calculations.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.AddNewModifier | AddNewModifier]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.SetRuneEnabled | SetRuneEnabled]]  
| <code>void AddNewModifier(handle caster, handle optionalSourceAbility, string modifierName, handle modifierData) </code>
| <code>void SetRuneEnabled(int nRune, bool bEnabled)</code>
| Add a modifier to this unit.
| Set if a given type of rune is enabled.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.AddNoDraw | AddNoDraw]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.SetRuneSpawnFilter | SetRuneSpawnFilter]]  
| <code>void AddNoDraw() </code>
| <code>void SetRuneSpawnFilter(handle hFunction, handle hContext)</code>
| Adds the no draw flag.
| Set a filter function to control what rune spawns. (Modify the table and Return true to use new values, return false to cancel the event)
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.AddSpeechBubble | AddSpeechBubble]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.SetSelectionGoldPenaltyEnabled | SetSelectionGoldPenaltyEnabled]]  
| <code>void AddSpeechBubble(int iBubble, string pszSpeech, float flDuration, unsigned unOffsetX, unsigned unOffsetY) </code>
| <code>void SetSelectionGoldPenaltyEnabled(bool bEnabled)</code>
| Add a speech bubble(1-4 live at a time) to this NPC.
| Enable/disable gold penalty for late picking.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.AlertNearbyUnits | AlertNearbyUnits]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.SetStashPurchasingDisabled | SetStashPurchasingDisabled]]  
| <code>void AlertNearbyUnits(handle hAttacker, handle hAbility) </code>
| <code>void SetStashPurchasingDisabled(bool bDisabled)</code>
| No Description Set
| Turn purchasing items to the stash off/on. If purchasing to the stash is off the player must be at a shop to purchase items.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.AngerNearbyUnits | AngerNearbyUnits]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.SetStickyItemDisabled | SetStickyItemDisabled]]  
| <code>void AngerNearbyUnits() </code>
| <code>void SetStickyItemDisabled(bool bDisabled)</code>
| No Description Set
| Hide the sticky item in the quickbuy.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.AttackNoEarlierThan | AttackNoEarlierThan]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.SetTopBarTeamValue | SetTopBarTeamValue]]  
| <code>void AttackNoEarlierThan(float flTime) </code>
| <code>void SetTopBarTeamValue(int iTeam, int nValue)</code>
| No Description Set
| Set the team values on the top game bar.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.AttackReady | AttackReady]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.SetTopBarTeamValuesOverride | SetTopBarTeamValuesOverride]]  
| <code>bool AttackReady() </code>
| <code>void SetTopBarTeamValuesOverride(bool bOverride)</code>
| No Description Set
| Override the values of the team values on the top game bar.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.BoundingRadius2D | BoundingRadius2D]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.SetTopBarTeamValuesVisible | SetTopBarTeamValuesVisible]]  
| <code>float BoundingRadius2D() </code>
| <code>void SetTopBarTeamValuesVisible(bool bVisible)</code>
| No Description Set
| Turning on/off the team values on the top game bar.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.CanEntityBeSeenByMyTeam | CanEntityBeSeenByMyTeam]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.SetTowerBackdoorProtectionEnabled | SetTowerBackdoorProtectionEnabled]]  
| <code>bool CanEntityBeSeenByMyTeam(handle hEntity) </code>
| <code>void SetTowerBackdoorProtectionEnabled(bool bEnabled)</code>
| Check FoW to see if an entity is visible.
| Enables/Disables tower backdoor protection.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.CanSellItems | CanSellItems]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.SetTrackingProjectileFilter | SetTrackingProjectileFilter]]  
| <code>bool CanSellItems() </code>
| <code>void SetTrackingProjectileFilter(handle hFunction, handle hContext)</code>
| Query if this unit can sell items.
| Set a filter function to control when tracking projectiles are launched. (Modify the table and Return true to use new values, return false to cancel the event)
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.CastAbilityImmediately | CastAbilityImmediately]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.SetUnseenFogOfWarEnabled | SetUnseenFogOfWarEnabled]]  
| <code>void CastAbilityImmediately(handle ability, int playerIndex) </code>
| <code>void SetUnseenFogOfWarEnabled(bool bEnabled)</code>
| Cast an ability immediately.
| Enable or disable unseen fog of war. When enabled parts of the map the player has never seen will be completely hidden by fog of war.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.CastAbilityNoTarget | CastAbilityNoTarget]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.SetUseCustomHeroLevels | SetUseCustomHeroLevels]]  
| <code>void CastAbilityNoTarget(handle ability, int playerIndex) </code>
| <code>void SetUseCustomHeroLevels(bool bEnabled)</code>
| Cast an ability with no target. ( hAbility, iPlayerIndex )
| Turn on custom-defined XP values for hero level ups.  The table should be defined before switching this on.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.CastAbilityOnPosition | CastAbilityOnPosition]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.SetUseDefaultDOTARuneSpawnLogic | SetUseDefaultDOTARuneSpawnLogic]]  
| <code>void CastAbilityOnPosition(Vector vPosition, handle hAbility, int iPlayerIndex) </code>
| <code>void SetUseDefaultDOTARuneSpawnLogic(bool bEnabled)</code>
| Cast an ability on a position.
| If set to true, use current rune spawn rules.  Either setting respects custom spawn intervals.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.CastAbilityOnTarget | CastAbilityOnTarget]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.SetWeatherEffectsDisabled | SetWeatherEffectsDisabled]]  
| <code>void CastAbilityOnTarget(handle target, handle ability, int playerIndex) </code>
| <code>void SetWeatherEffectsDisabled(bool bDisable)</code>
| Cast an ability on a target entity.
| Set if weather effects are disabled.  
|}
 
==== CDOTAGameManager ====
''No Description Set''
{| class="standard-table" style="width: 100%;"
! Function
! Signature
! Description
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.CastAbilityToggle | CastAbilityToggle]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGameManager.GetHeroDataByName_Script | GetHeroDataByName_Script]]  
| <code>void CastAbilityToggle(handle hAbility, int iPlayerIndex) </code>
| <code>table GetHeroDataByName_Script(string string_1)</code>
| Toggle an ability. ( hAbility, iPlayerIndex )
| Get the hero unit 
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.DestroyAllSpeechBubbles | DestroyAllSpeechBubbles]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGameManager.GetHeroIDByName | GetHeroIDByName]]  
| <code>void DestroyAllSpeechBubbles() </code>
| <code>int GetHeroIDByName(string string_1)</code>
|  
| Get the hero ID given the hero name.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.DisassembleItem | DisassembleItem]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGameManager.GetHeroNameByID | GetHeroNameByID]]  
| <code>void DisassembleItem(handle hItem) </code>
| <code>string GetHeroNameByID(int int_1)</code>
| Disassemble the passed item in this unit's inventory.
| Get the hero name given a hero ID.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.DropItemAtPosition | DropItemAtPosition]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGameManager.GetHeroNameForUnitName | GetHeroNameForUnitName]]  
| <code>void DropItemAtPosition(Vector vDest, handle hItem) </code>
| <code>string GetHeroNameForUnitName(string string_1)</code>
| Drop an item at a given point.
| Get the hero name given a unit name.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.DropItemAtPositionImmediate | DropItemAtPositionImmediate]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGameManager.GetHeroUnitNameByID | GetHeroUnitNameByID]]  
| <code>void DropItemAtPositionImmediate(handle hItem, Vector vPosition) </code>
| <code>string GetHeroUnitNameByID(int int_1)</code>
| Immediately drop a carried item at a given position.
| Get the hero unit name given the hero ID.  
|}
 
==== CDOTAGamerules ====
''Global accessor variable: <code>GameRules</code>''
{| class="standard-table" style="width: 100%;"
! Function
! Signature
! Description
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.EjectItemFromStash | EjectItemFromStash]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.AddBotPlayerWithEntityScript | AddBotPlayerWithEntityScript]]  
| <code>void EjectItemFromStash(handle hItem) </code>
| <code>handle AddBotPlayerWithEntityScript(string string_1, string string_2, int int_3, string string_4)</code>
| Drops the selected item out of this unit's stash.
| Spawn a bot player of the passed hero name, player name, and team.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.FindAbilityByName | FindAbilityByName]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.AddEventMetadataLeaderboardEntry | AddEventMetadataLeaderboardEntry]]  
| <code>handle FindAbilityByName(string pAbilityName) </code>
| <code>bool AddEventMetadataLeaderboardEntry(string string_1, unsigned unsigned_2, unsigned unsigned_3, unsigned unsigned_4, unsigned unsigned_5, unsigned unsigned_6, unsigned unsigned_7, unsigned unsigned_8, unsigned unsigned_9)</code>
| Retrieve an ability by name from the unit.
| Event-only ( string szNameSuffix, int nStars, int nMaxStars, int nExtraData1, int nExtraData2 )
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.FindAllModifiers | FindAllModifiers]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.AddItemToWhiteList | AddItemToWhiteList]]  
| <code>table FindAllModifiers() </code>
| <code>void AddItemToWhiteList(string string_1)</code>
| Returns a table of all of the modifiers on the NPC.
| Add an item to the whitelist
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.FindAllModifiersByName | FindAllModifiersByName]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.AddMinimapDebugPoint | AddMinimapDebugPoint]]  
| <code>table FindAllModifiersByName(string pszScriptName) </code>
| <code>void AddMinimapDebugPoint(int int_1, Vector Vector_2, int int_3, int int_4, int int_5, int int_6, float float_7)</code>
| Returns a table of all of the modifiers on the NPC with the passed name (modifierName)
| Add a point on the minimap.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.FindModifierByName | FindModifierByName]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.AddMinimapDebugPointForTeam | AddMinimapDebugPointForTeam]]  
| <code>handle FindModifierByName(string pszScriptName) </code>
| <code>void AddMinimapDebugPointForTeam(int int_1, Vector Vector_2, int int_3, int int_4, int int_5, int int_6, float float_7, int int_8)</code>
| Return a handle to the modifier of the given name if found, else nil (string Name )
| Add a point on the minimap for a specific team.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.FindModifierByNameAndCaster | FindModifierByNameAndCaster]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.BeginNightstalkerNight | BeginNightstalkerNight]]  
| <code>handle FindModifierByNameAndCaster(string pszScriptName, handle hCaster) </code>
| <code>void BeginNightstalkerNight(float float_1)</code>
| Return a handle to the modifier of the given name from the passed caster if found, else nil ( string Name, hCaster )
| Begin night stalker night.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.ForceKill | ForceKill]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.BeginTemporaryNight | BeginTemporaryNight]]  
| <code>void ForceKill(bool bReincarnate) </code>
| <code>void BeginTemporaryNight(float float_1)</code>
| Kill this unit immediately.
| Begin temporary night.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetAbilityByIndex | GetAbilityByIndex]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.BotPopulate | BotPopulate]]  
| <code>handle GetAbilityByIndex(int iIndex) </code>
| <code>void BotPopulate()</code>
| Retrieve an ability by index from the unit.
| Fills all the teams with bots if cheat mode is enabled.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetAbilityCount | GetAbilityCount]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.Defeated | Defeated]]  
| <code>int GetAbilityCount() </code>
| <code>void Defeated()</code>
| No Description Set
| Kills the ancient, etc.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetAcquisitionRange | GetAcquisitionRange]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.DidMatchSignoutTimeOut | DidMatchSignoutTimeOut]]  
| <code>float GetAcquisitionRange() </code>
| <code>bool DidMatchSignoutTimeOut()</code>
| Gets the range at which this unit will auto-acquire.
| true when we have waited some time after end of the game and not received signout
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetAdditionalBattleMusicWeight | GetAdditionalBattleMusicWeight]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.EnableCustomGameSetupAutoLaunch | EnableCustomGameSetupAutoLaunch]]  
| <code>float GetAdditionalBattleMusicWeight() </code>
| <code>void EnableCustomGameSetupAutoLaunch(bool bool_1)</code>
| Combat involving this creature will have this weight added to the music calcuations
| Enabled (true) or disable (false) auto launch for custom game setup.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetAggroTarget | GetAggroTarget]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.FinishCustomGameSetup | FinishCustomGameSetup]]  
| <code>handle GetAggroTarget() </code>
| <code>void FinishCustomGameSetup()</code>
| Returns this unit's aggro target.
| Indicate that the custom game setup phase is complete, and advance to the game.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetAttackAnimationPoint | GetAttackAnimationPoint]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.ForceCreepSpawn | ForceCreepSpawn]]  
| <code>float GetAttackAnimationPoint() </code>
| <code>void ForceCreepSpawn()</code>
| No Description Set
| Spawn the next wave of creeps.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetAttackCapability | GetAttackCapability]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.ForceGameStart | ForceGameStart]]  
| <code>int GetAttackCapability() </code>
| <code>void ForceGameStart()</code>
| Gets the Attack Capabilities of the unit
| Transition game state to DOTA_GAMERULES_STATE_GAME_IN_PROGRESS
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetAttackDamage | GetAttackDamage]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.GetCustomGameDifficulty | GetCustomGameDifficulty]]  
| <code>int GetAttackDamage() </code>
| <code>int GetCustomGameDifficulty()</code>
| Returns a random integer between the minimum and maximum base damage of the unit.
| Returns the difficulty level of the custom game mode
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetAttackRange | GetAttackRange]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.GetCustomGameTeamMaxPlayers | GetCustomGameTeamMaxPlayers]]  
| <code>float GetAttackRange() </code>
| <code>int GetCustomGameTeamMaxPlayers(int int_1)</code>
| Gets this unit's attack range after all modifiers.
| Get whether a team is selectable during game setup
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetAttackRangeBuffer | GetAttackRangeBuffer]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.GetDOTATime | GetDOTATime]]  
| <code>float GetAttackRangeBuffer() </code>
| <code>float GetDOTATime(bool bool_1, bool bool_2)</code>
| Gets the attack range buffer.
| (b IncludePregameTime b IncludeNegativeTime) Returns the actual DOTA in-game clock time.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetAttackSpeed | GetAttackSpeed]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.GetDifficulty | GetDifficulty]]  
| <code>float GetAttackSpeed() </code>
| <code>int GetDifficulty()</code>
| No Description Set
| Returns difficulty level of the custom game mode
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetAttacksPerSecond | GetAttacksPerSecond]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.GetDroppedItem | GetDroppedItem]]  
| <code>float GetAttacksPerSecond() </code>
| <code>handle GetDroppedItem(int int_1)</code>
| No Description Set
| Gets the Xth dropped item
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetAttackTarget | GetAttackTarget]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.GetGameFrameTime | GetGameFrameTime]]  
| <code>handle GetAttackTarget() </code>
| <code>float GetGameFrameTime()</code>
| No Description Set
| Returns the number of seconds elapsed since the last frame was renderered. This time doesn't count up when the game is paused
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetAverageTrueAttackDamage | GetAverageTrueAttackDamage]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.GetGameModeEntity | GetGameModeEntity]]  
| <code>int GetAverageTrueAttackDamage() </code>
| <code>handle GetGameModeEntity()</code>
| Returns the average value of the minimum and maximum damage values.
| Get the game mode entity
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetBaseAttackRange | GetBaseAttackRange]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.GetGameSessionConfigValue | GetGameSessionConfigValue]]  
| <code>int GetBaseAttackRange() </code>
| <code>string GetGameSessionConfigValue(string string_1, string string_2)</code>
| Gets this unit's attack range before modifiers.
| Get a string value from the game session config (map options)
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetBaseAttackTime | GetBaseAttackTime]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.GetGameTime | GetGameTime]]  
| <code>float GetBaseAttackTime() </code>
| <code>float GetGameTime()</code>
| No Description Set
| Returns the number of seconds elapsed since map start. This time doesn't count up when the game is paused
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetBaseDamageMax | GetBaseDamageMax]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.GetMatchID | GetMatchID]]  
| <code>int GetBaseDamageMax() </code>
| <code>uint64 GetMatchID()</code>
| Gets the minimum base damage.
| Get the MatchID for this game.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetBaseDamageMin | GetBaseDamageMin]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.GetMatchSignoutComplete | GetMatchSignoutComplete]]  
| <code>int GetBaseDamageMin() </code>
| <code>bool GetMatchSignoutComplete()</code>
| Gets the minimum base damage.
| Have we received the post match signout message that includes reward information
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetBaseDayTimeVisionRange | GetBaseDayTimeVisionRange]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.GetNianTotalDamageTaken | GetNianTotalDamageTaken]]  
| <code>int GetBaseDayTimeVisionRange() </code>
| <code>int GetNianTotalDamageTaken()</code>
| Returns the vision range before modifiers.
| For New Bloom, get total damage taken by the Nian / Year Beast
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetBaseHealthRegen | GetBaseHealthRegen]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.GetPlayerCustomGameAccountRecord | GetPlayerCustomGameAccountRecord]]  
| <code>float GetBaseHealthRegen() </code>
| <code>table GetPlayerCustomGameAccountRecord(int int_1)</code>
| No Description Set
| (Preview/Unreleased) Gets the player's custom game account record, as it looked at the start of this session
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetBaseMagicalResistanceValue | GetBaseMagicalResistanceValue]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.GetStateTransitionTime | GetStateTransitionTime]]  
| <code>float GetBaseMagicalResistanceValue() </code>
| <code>float GetStateTransitionTime()</code>
| Returns base magical armor value.
| Get time remaining between state changes.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetBaseMaxHealth | GetBaseMaxHealth]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.GetTimeOfDay | GetTimeOfDay]]  
| <code>float GetBaseMaxHealth() </code>
| <code>float GetTimeOfDay()</code>
| Gets the base max health value.
| Get the time of day
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetBaseMoveSpeed | GetBaseMoveSpeed]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.GetWeatherWindDirection | GetWeatherWindDirection]]  
| <code>float GetBaseMoveSpeed() </code>
| <code>Vector GetWeatherWindDirection()</code>
| No Description Set
| Get Weather Wind Direction Vector
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetBaseNightTimeVisionRange | GetBaseNightTimeVisionRange]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.IsCheatMode | IsCheatMode]]  
| <code>int GetBaseNightTimeVisionRange() </code>
| <code>bool IsCheatMode()</code>
| Returns the vision range before modifiers.
| Are cheats enabled on the server
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetCastPoint | GetCastPoint]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.IsDaytime | IsDaytime]]  
| <code>float GetCastPoint(bool bAttack) </code>
| <code>bool IsDaytime()</code>
| Parameter: bAttack
| Is it day time?
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetCloneSource | GetCloneSource]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.IsGamePaused | IsGamePaused]]  
| <code>handle GetCloneSource() </code>
| <code>bool IsGamePaused()</code>
| Get clone source (Meepo Prime, if this is a Meepo)
| Returns whether the game is paused.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetCollisionPadding | GetCollisionPadding]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.IsHeroRespawnEnabled | IsHeroRespawnEnabled]]  
| <code>float GetCollisionPadding() </code>
| <code>bool IsHeroRespawnEnabled()</code>
| Returns the size of the collision padding around the hull.
| Returns whether hero respawn is enabled.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetConstantBasedManaRegen | GetConstantBasedManaRegen]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.IsInBanPhase | IsInBanPhase]]  
| <code>float GetConstantBasedManaRegen() </code>
| <code>bool IsInBanPhase()</code>
| This Mana regen is derived from constant bonuses like Basilius.
| Are we in the ban phase of hero pick?
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetCreationTime | GetCreationTime]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.IsItemInWhiteList | IsItemInWhiteList]]  
| <code>float GetCreationTime() </code>
| <code>bool IsItemInWhiteList(string string_1)</code>
| No Description Set
| Query an item in the whitelist
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetCurrentActiveAbility | GetCurrentActiveAbility]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.IsNightstalkerNight | IsNightstalkerNight]]  
| <code>handle GetCurrentActiveAbility() </code>
| <code>bool IsNightstalkerNight()</code>
| Get the ability this unit is currently casting.
| Is it night stalker night-time?
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetCurrentVisionRange | GetCurrentVisionRange]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.IsTemporaryNight | IsTemporaryNight]]  
| <code>int GetCurrentVisionRange() </code>
| <code>bool IsTemporaryNight()</code>
| Gets the current vision range.
| Is it temporarily night-time?
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetCursorCastTarget | GetCursorCastTarget]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.LockCustomGameSetupTeamAssignment | LockCustomGameSetupTeamAssignment]]  
| <code>handle GetCursorCastTarget() </code>
| <code>void LockCustomGameSetupTeamAssignment(bool bool_1)</code>
| No Description Set
| Lock (true) or unlock (false) team assignemnt. If team assignment is locked players cannot change teams.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetCursorPosition | GetCursorPosition]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.MakeTeamLose | MakeTeamLose]]  
| <code>Vector GetCursorPosition() </code>
| <code>void MakeTeamLose(int int_1)</code>
| No Description Set
| Makes the specified team lose
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetCursorTargetingNothing | GetCursorTargetingNothing]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.NumDroppedItems | NumDroppedItems]]  
| <code>bool GetCursorTargetingNothing() </code>
| <code>int NumDroppedItems()</code>
| No Description Set
| Returns the number of items currently dropped on the ground
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetDayTimeVisionRange | GetDayTimeVisionRange]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.PlayerHasCustomGameHostPrivileges | PlayerHasCustomGameHostPrivileges]]  
| <code>int GetDayTimeVisionRange() </code>
| <code>bool PlayerHasCustomGameHostPrivileges(handle handle_1)</code>
| Returns the vision range after modifiers.
| Whether a player has custom game host privileges (shuffle teams, etc.)
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetDeathXP | GetDeathXP]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.Playtesting_UpdateAddOnKeyValues | Playtesting_UpdateAddOnKeyValues]]  
| <code>int GetDeathXP() </code>
| <code>void Playtesting_UpdateAddOnKeyValues()</code>
| Get the XP bounty on this unit
| Updates custom hero, unit and ability KeyValues in memory with the latest values from disk
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetForceAttackTarget | GetForceAttackTarget]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.PrepareSpawners | PrepareSpawners]]  
| <code>handle GetForceAttackTarget() </code>
| <code>void PrepareSpawners(float float_1)</code>
| No Description Set
| Prepare Dota lane style spawners with a given interval
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetGoldBounty | GetGoldBounty]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.RemoveItemFromWhiteList | RemoveItemFromWhiteList]]  
| <code>int GetGoldBounty() </code>
| <code>void RemoveItemFromWhiteList(string string_1)</code>
| Get the gold bounty on this unit
| Remove an item from the whitelist
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetHasteFactor | GetHasteFactor]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.ResetDefeated | ResetDefeated]]  
| <code>float GetHasteFactor() </code>
| <code>void ResetDefeated()</code>
| No Description Set
| Restart after killing the ancient, etc.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetHealth | GetHealth]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.ResetGameTime | ResetGameTime]]  
| <code>int GetHealth() </code>
| <code>void ResetGameTime()</code>
| Get the health of this unit.
| Restart gametime from 0
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetHealthDeficit | GetHealthDeficit]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.ResetToCustomGameSetup | ResetToCustomGameSetup]]  
| <code>int GetHealthDeficit() </code>
| <code>void ResetToCustomGameSetup()</code>
| Returns integer amount of health missing from max.
| Restart at custom game setup.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetHealthPercent | GetHealthPercent]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.ResetToHeroSelection | ResetToHeroSelection]]  
| <code>int GetHealthPercent() </code>
| <code>void ResetToHeroSelection()</code>
| Get the current health percent of the unit.
| Restart the game at hero selection
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetHealthRegen | GetHealthRegen]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.SendCustomMessage | SendCustomMessage]]  
| <code>float GetHealthRegen() </code>
| <code>void SendCustomMessage(string string_1, int int_2, int int_3)</code>
| No Description Set
| Sends a message on behalf of a player.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetHullRadius | GetHullRadius]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.SendCustomMessageToTeam | SendCustomMessageToTeam]]  
| <code>float GetHullRadius() </code>
| <code>void SendCustomMessageToTeam(string string_1, int int_2, int int_3, int int_4)</code>
| Get the collision hull radius of this NPC
| Sends a message on behalf of a player to the specified team.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetIdealSpeed | GetIdealSpeed]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.SetCreepMinimapIconScale | SetCreepMinimapIconScale]]  
| <code>float GetIdealSpeed() </code>
| <code>void SetCreepMinimapIconScale(float float_1)</code>
| Returns speed after all modifiers.
| (flMinimapCreepIconScale) - Scale the creep icons on the minimap.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetIncreasedAttackSpeed | GetIncreasedAttackSpeed]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.SetCreepSpawningEnabled | SetCreepSpawningEnabled]]  
| <code>float GetIncreasedAttackSpeed() </code>
| <code>void SetCreepSpawningEnabled(bool bool_1)</code>
| No Description Set
| Sets whether the regular Dota creeps spawn.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetInitialGoalEntity | GetInitialGoalEntity]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.SetCustomGameAccountRecordSaveFunction | SetCustomGameAccountRecordSaveFunction]]  
| <code>handle GetInitialGoalEntity() </code>
| <code>void SetCustomGameAccountRecordSaveFunction(handle handle_1, handle handle_2)</code>
| Returns the initial waypoint goal for this NPC
| (Preview/Unreleased) Sets a callback to handle saving custom game account records (callback is passed a Player ID and should return a flat simple table)
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetItemInSlot | GetItemInSlot]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.SetCustomGameAllowBattleMusic | SetCustomGameAllowBattleMusic]]  
| <code>handle GetItemInSlot(int i) </code>
| <code>void SetCustomGameAllowBattleMusic(bool bool_1)</code>
| Returns nth item in inventory slot (index is zero based)
| Sets a flag to enable/disable the default music handling code for custom games
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetLastAttackTime | GetLastAttackTime]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.SetCustomGameAllowHeroPickMusic | SetCustomGameAllowHeroPickMusic]]  
| <code>float GetLastAttackTime() </code>
| <code>void SetCustomGameAllowHeroPickMusic(bool bool_1)</code>
|  
| Sets a flag to enable/disable the default music handling code for custom games
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetLastIdleChangeTime | GetLastIdleChangeTime]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.SetCustomGameAllowMusicAtGameStart | SetCustomGameAllowMusicAtGameStart]]  
| <code>float GetLastIdleChangeTime() </code>
| <code>void SetCustomGameAllowMusicAtGameStart(bool bool_1)</code>
| Get the last game time that this unit switched to/from idle state.
| Sets a flag to enable/disable the default music handling code for custom games
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetLevel | GetLevel]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.SetCustomGameDifficulty | SetCustomGameDifficulty]]  
| <code>int GetLevel() </code>
| <code>void SetCustomGameDifficulty(int int_1)</code>
| Returns the level of this unit.
| Set the difficulty level of the custom game mode
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetMagicalArmorValue | GetMagicalArmorValue]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.SetCustomGameEndDelay | SetCustomGameEndDelay]]  
| <code>float GetMagicalArmorValue() </code>
| <code>void SetCustomGameEndDelay(float float_1)</code>
| Returns current magical armor value.
| Sets the game end delay.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetMainControllingPlayer | GetMainControllingPlayer]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.SetCustomGameSetupAutoLaunchDelay | SetCustomGameSetupAutoLaunchDelay]]  
| <code>int GetMainControllingPlayer() </code>
| <code>void SetCustomGameSetupAutoLaunchDelay(float float_1)</code>
| Returns the player ID of the controlling player.
| Set the amount of time to wait for auto launch.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetMana | GetMana]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.SetCustomGameSetupRemainingTime | SetCustomGameSetupRemainingTime]]  
| <code>float GetMana() </code>
| <code>void SetCustomGameSetupRemainingTime(float float_1)</code>
| Get the mana on this unit.
| Set the amount of remaining time, in seconds, for custom game setup. 0 = finish immediately, -1 = wait forever
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetManaPercent | GetManaPercent]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.SetCustomGameSetupTimeout | SetCustomGameSetupTimeout]]  
| <code>int GetManaPercent() </code>
| <code>void SetCustomGameSetupTimeout(float float_1)</code>
| Get the percent of mana remaining.
| Setup (pre-gameplay) phase timeout. 0 = instant, -1 = forever (until FinishCustomGameSetup is called)
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetManaRegen | GetManaRegen]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.SetCustomGameTeamMaxPlayers | SetCustomGameTeamMaxPlayers]]  
| <code>float GetManaRegen() </code>
| <code>void SetCustomGameTeamMaxPlayers(int int_1, int int_2)</code>
| No Description Set
| Set whether a team is selectable during game setup
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetMaxHealth | GetMaxHealth]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.SetCustomVictoryMessage | SetCustomVictoryMessage]]  
| <code>int GetMaxHealth() </code>
| <code>void SetCustomVictoryMessage(string string_1)</code>
| Get the maximum health of this unit.
| Sets the victory message.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetMaximumGoldBounty | GetMaximumGoldBounty]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.SetCustomVictoryMessageDuration | SetCustomVictoryMessageDuration]]  
| <code>int GetMaximumGoldBounty() </code>
| <code>void SetCustomVictoryMessageDuration(float float_1)</code>
| Get the maximum gold bounty for this unit.
| Sets the victory message duration.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetMaxMana | GetMaxMana]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.SetEventMetadataCustomTable | SetEventMetadataCustomTable]]  
| <code>float GetMaxMana() </code>
| <code>bool SetEventMetadataCustomTable(handle handle_1)</code>
| Get the maximum mana of this unit.
| Event-only ( table hMetadataTable )
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetMinimumGoldBounty | GetMinimumGoldBounty]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.SetEventSignoutCustomTable | SetEventSignoutCustomTable]]  
| <code>int GetMinimumGoldBounty() </code>
| <code>bool SetEventSignoutCustomTable(handle handle_1)</code>
| Get the minimum gold bounty for this unit.
| Event-only ( table hMetadataTable )
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetModelRadius | GetModelRadius]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.SetFirstBloodActive | SetFirstBloodActive]]  
| <code>float GetModelRadius() </code>
| <code>void SetFirstBloodActive(bool bool_1)</code>
| No Description Set
| Sets whether First Blood has been triggered.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetModifierCount | GetModifierCount]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.SetGameWinner | SetGameWinner]]  
| <code>int GetModifierCount() </code>
| <code>void SetGameWinner(int int_1)</code>
| How many modifiers does this unit have?
| Makes the specified team win
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetModifierNameByIndex | GetModifierNameByIndex]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.SetGoldPerTick | SetGoldPerTick]]  
| <code>string GetModifierNameByIndex(int nIndex) </code>
| <code>void SetGoldPerTick(int int_1)</code>
| Get a modifier name by index.
| Set the auto gold increase per timed interval.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetModifierStackCount | GetModifierStackCount]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.SetGoldTickTime | SetGoldTickTime]]  
| <code>void GetModifierStackCount(string modifierName, handle hCaster) </code>
| <code>void SetGoldTickTime(float float_1)</code>
| Gets the stack count of a given modifier.
| Set the time interval between auto gold increases.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetMoveSpeedModifier | GetMoveSpeedModifier]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.SetHeroMinimapIconScale | SetHeroMinimapIconScale]]  
| <code>float GetMoveSpeedModifier(float flBaseSpeed) </code>
| <code>void SetHeroMinimapIconScale(float float_1)</code>
| No Description Set
| (flMinimapHeroIconScale) - Scale the hero minimap icons on the minimap.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetMustReachEachGoalEntity | GetMustReachEachGoalEntity]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.SetHeroRespawnEnabled | SetHeroRespawnEnabled]]  
| <code>bool GetMustReachEachGoalEntity() </code>
| <code>void SetHeroRespawnEnabled(bool bool_1)</code>
| Get whether this NPC is required to reach each goal entity, rather than being allowed to 'unkink' their path
| Control if the normal DOTA hero respawn rules apply.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetNeverMoveToClearSpace | GetNeverMoveToClearSpace]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.SetHeroSelectPenaltyTime | SetHeroSelectPenaltyTime]]  
| <code>bool GetNeverMoveToClearSpace() </code>
| <code>void SetHeroSelectPenaltyTime(float float_1)</code>
| If set to true, we will never attempt to move this unit to clear space, even when it unphases.
| Sets amount of penalty time before randoming a hero
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetNightTimeVisionRange | GetNightTimeVisionRange]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.SetHeroSelectionTime | SetHeroSelectionTime]]  
| <code>int GetNightTimeVisionRange() </code>
| <code>void SetHeroSelectionTime(float float_1)</code>
| Returns the vision range after modifiers.
| Sets the amount of time players have to pick their hero.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetOpposingTeamNumber | GetOpposingTeamNumber]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.SetHideKillMessageHeaders | SetHideKillMessageHeaders]]  
| <code>int GetOpposingTeamNumber() </code>
| <code>void SetHideKillMessageHeaders(bool bool_1)</code>
| No Description Set
| Sets whether the multikill, streak, and first-blood banners appear at the top of the screen.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetPaddedCollisionRadius | GetPaddedCollisionRadius]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.SetOverlayHealthBarUnit | SetOverlayHealthBarUnit]]  
| <code>float GetPaddedCollisionRadius() </code>
| <code>void SetOverlayHealthBarUnit(handle handle_1, int int_2)</code>
| Get the collision hull radius (including padding) of this NPC
| Show this unit's health on the overlay health bar
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetPercentageBasedManaRegen | GetPercentageBasedManaRegen]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.SetPostGameTime | SetPostGameTime]]  
| <code>float GetPercentageBasedManaRegen() </code>
| <code>void SetPostGameTime(float float_1)</code>
| This Mana regen is derived from % bonuses (from items like Void Stone).
| Sets the amount of time players have between the game ending and the server disconnecting them.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetPhysicalArmorBaseValue | GetPhysicalArmorBaseValue]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.SetPreGameTime | SetPreGameTime]]  
| <code>float GetPhysicalArmorBaseValue() </code>
| <code>void SetPreGameTime(float float_1)</code>
| Returns base physical armor value.
| Sets the amount of time players have between picking their hero and game start.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetPhysicalArmorValue | GetPhysicalArmorValue]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.SetRuneMinimapIconScale | SetRuneMinimapIconScale]]  
| <code>float GetPhysicalArmorValue() </code>
| <code>void SetRuneMinimapIconScale(float float_1)</code>
| Returns current physical armor value.
| (flMinimapRuneIconScale) - Scale the rune icons on the minimap.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetPlayerOwner | GetPlayerOwner]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.SetRuneSpawnTime | SetRuneSpawnTime]]  
| <code>handle GetPlayerOwner() </code>
| <code>void SetRuneSpawnTime(float float_1)</code>
| Returns the player that owns this unit
| Sets the amount of time between rune spawns.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetPlayerOwnerID | GetPlayerOwnerID]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.SetSafeToLeave | SetSafeToLeave]]  
| <code>int GetPlayerOwnerID() </code>
| <code>void SetSafeToLeave(bool bool_1)</code>
| Get the owner player ID for this unit.
| (bSafeToLeave) - Mark this game as safe to leave.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetProjectileSpeed | GetProjectileSpeed]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.SetSameHeroSelectionEnabled | SetSameHeroSelectionEnabled]]  
| <code>int GetProjectileSpeed() </code>
| <code>void SetSameHeroSelectionEnabled(bool bool_1)</code>
| No Description Set
| When true, players can repeatedly pick the same hero.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetRangeToUnit | GetRangeToUnit]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.SetShowcaseTime | SetShowcaseTime]]  
| <code>float GetRangeToUnit(handle hNPC) </code>
| <code>void SetShowcaseTime(float float_1)</code>
| No Description Set
| Sets the amount of time players have between the strategy phase and entering the pre-game phase.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetSecondsPerAttack | GetSecondsPerAttack]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.SetStartingGold | SetStartingGold]]  
| <code>float GetSecondsPerAttack() </code>
| <code>void SetStartingGold(int int_1)</code>
| No Description Set
| Set the starting gold amount.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetStatsBasedManaRegen | GetStatsBasedManaRegen]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.SetStrategyTime | SetStrategyTime]]  
| <code>float GetStatsBasedManaRegen() </code>
| <code>void SetStrategyTime(float float_1)</code>
| Returns mana regen rate per intelligence.
| Sets the amount of time players have between the hero selection and entering the showcase phase.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetTeamNumber | GetTeamNumber]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.SetTimeOfDay | SetTimeOfDay]]  
| <code>int GetTeamNumber() </code>
| <code>void SetTimeOfDay(float float_1)</code>
| Get the team number of this unit.
| Set the time of day.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetTotalPurchasedUpgradeGoldCost | GetTotalPurchasedUpgradeGoldCost]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.SetTreeRegrowTime | SetTreeRegrowTime]]  
| <code>int GetTotalPurchasedUpgradeGoldCost() </code>
| <code>void SetTreeRegrowTime(float float_1)</code>
| Get how much gold has been spent on ability upgrades.
| Sets the tree regrow time in seconds.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetUnitLabel | GetUnitLabel]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.SetUseBaseGoldBountyOnHeroes | SetUseBaseGoldBountyOnHeroes]]  
| <code>string GetUnitLabel() </code>
| <code>void SetUseBaseGoldBountyOnHeroes(bool bool_1)</code>
| No Description Set
| Heroes will use the basic NPC functionality for determining their bounty, rather than DOTA specific formulas.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetUnitName | GetUnitName]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.SetUseCustomHeroXPValues | SetUseCustomHeroXPValues]]  
| <code>string GetUnitName() </code>
| <code>void SetUseCustomHeroXPValues(bool bool_1)</code>
| No Description Set
| Allows heroes in the map to give a specific amount of XP (this value must be set).
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GiveMana | GiveMana]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.SetUseUniversalShopMode | SetUseUniversalShopMode]]  
| <code>void GiveMana(float flMana) </code>
| <code>void SetUseUniversalShopMode(bool bool_1)</code>
| Give mana to this unit, this can be used for mana gained by abilities or item usage.
| When true, all items are available at as long as any shop is in range.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.HasAbility | HasAbility]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.SetWeatherWindDirection | SetWeatherWindDirection]]  
| <code>bool HasAbility(string pszAbilityName) </code>
| <code>void SetWeatherWindDirection(Vector Vector_1)</code>
| See whether this unit has an ability by name.
| Set Weather Wind Direction Vector
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.HasAnyActiveAbilities | HasAnyActiveAbilities]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.SetWhiteListEnabled | SetWhiteListEnabled]]  
| <code>bool HasAnyActiveAbilities() </code>
| <code>void SetWhiteListEnabled(bool bool_1)</code>
|  
| Item whitelist functionality enable/disable
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.HasAttackCapability | HasAttackCapability]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.SpawnAndReleaseCreeps | SpawnAndReleaseCreeps]]  
| <code>bool HasAttackCapability() </code>
| <code>void SpawnAndReleaseCreeps()</code>
| No Description Set
| Spawn and release the next creep wave from Dota lane style spawners.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.HasFlyingVision | HasFlyingVision]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.State_Get | State_Get]]  
| <code>bool HasFlyingVision() </code>
| <code>int State_Get()</code>
| No Description Set
| Get the current Gamerules state
|}
 
==== CDOTAPlayer ====
:::::extends [[#CBaseAnimating|CBaseAnimating]]
''No Description Set''
{| class="standard-table" style="width: 100%;"
! Function
! Signature
! Description
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.HasFlyMovementCapability | HasFlyMovementCapability]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAPlayer.CheckForCourierSpawning | CheckForCourierSpawning]]  
| <code>bool HasFlyMovementCapability() </code>
| <code>void CheckForCourierSpawning(handle hHero)</code>
| No Description Set
| Attempt to spawn the appropriate couriers for this mode.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.HasGroundMovementCapability | HasGroundMovementCapability]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAPlayer.GetAssignedHero | GetAssignedHero]]  
| <code>bool HasGroundMovementCapability() </code>
| <code>handle GetAssignedHero()</code>
| No Description Set
| Get the player's hero.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.HasInventory | HasInventory]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAPlayer.GetPlayerID | GetPlayerID]]  
| <code>bool HasInventory() </code>
| <code>int GetPlayerID()</code>
| No Description Set
| Get the player's official PlayerID; notably is -1 when the player isn't yet on a team.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.HasItemInInventory | HasItemInInventory]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAPlayer.MakeRandomHeroSelection | MakeRandomHeroSelection]]  
| <code>bool HasItemInInventory(string pItemName) </code>
| <code>void MakeRandomHeroSelection()</code>
| See whether this unit has an item by name.
| Randoms this player's hero.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.HasModifier | HasModifier]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAPlayer.SetAssignedHeroEntity | SetAssignedHeroEntity]]  
| <code>bool HasModifier(string pszScriptName) </code>
| <code>void SetAssignedHeroEntity(handle hHero)</code>
| Sees if this unit has a given modifier
| Sets this player's hero .
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.HasMovementCapability | HasMovementCapability]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAPlayer.SetKillCamUnit | SetKillCamUnit]]  
| <code>bool HasMovementCapability() </code>
| <code>void SetKillCamUnit(handle hEntity)</code>
| No Description Set
| Set the kill cam unit for this hero.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.HasScepter | HasScepter]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAPlayer.SetMusicStatus | SetMusicStatus]]  
| <code>bool HasScepter() </code>
| <code>void SetMusicStatus(int nMusicStatus, float flIntensity)</code>
| No Description Set
| (nMusicStatus, flIntensity) - Set the music status for this player, note this will only really apply if dota_music_battle_enable is off.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.Heal | Heal]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAPlayer.SetSelectedHero | SetSelectedHero]]  
| <code>void Heal(float amount, handle source) </code>
| <code>void SetSelectedHero(string pszHeroName)</code>
| Heal this unit.
| Sets this player's hero selection.  
|}
 
==== CDOTATutorial ====
''Global accessor variable: <code>Tutorial</code>''
{| class="standard-table" style="width: 100%;"
! Function
! Signature
! Description
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.Hold | Hold]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTATutorial.AddBot | AddBot]]  
| <code>void Hold() </code>
| <code>bool AddBot(string string_1, string string_2, string string_3, bool bool_4)</code>
| Hold position.
| Add a computer controlled bot.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.Interrupt | Interrupt]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTATutorial.AddQuest | AddQuest]]  
| <code>void Interrupt() </code>
| <code>void AddQuest(string string_1, int int_2, string string_3, string string_4)</code>
| No Description Set
| Add a quest to the quest log
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.InterruptChannel | InterruptChannel]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTATutorial.AddShopWhitelistItem | AddShopWhitelistItem]]  
| <code>void InterruptChannel() </code>
| <code>void AddShopWhitelistItem(string string_1)</code>
| No Description Set
| Add an item to the shop whitelist.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.InterruptMotionControllers | InterruptMotionControllers]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTATutorial.CompleteQuest | CompleteQuest]]  
| <code>void InterruptMotionControllers(bool bFindClearSpace) </code>
| <code>void CompleteQuest(string string_1)</code>
| Parameter boolean determines finding clear space.
| Complete a quest,
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.IsAlive | IsAlive]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTATutorial.CreateLocationTask | CreateLocationTask]]  
| <code>bool IsAlive() </code>
| <code>void CreateLocationTask(Vector Vector_1)</code>
| Is this unit alive?
| Add a task to move to a specific location
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.IsAncient | IsAncient]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTATutorial.EnableCreepAggroViz | EnableCreepAggroViz]]  
| <code>bool IsAncient() </code>
| <code>void EnableCreepAggroViz(bool bool_1)</code>
| Is this creature an Ancient?
| Alert the player when a creep becomes agro to their hero.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.IsAttackImmune | IsAttackImmune]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTATutorial.EnablePlayerOffscreenTip | EnablePlayerOffscreenTip]]  
| <code>bool IsAttackImmune() </code>
| <code>void EnablePlayerOffscreenTip(bool bool_1)</code>
| No Description Set
| Enable the tip to alert players how to find their hero.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.IsAttacking | IsAttacking]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTATutorial.EnableTowerAggroViz | EnableTowerAggroViz]]  
| <code>bool IsAttacking() </code>
| <code>void EnableTowerAggroViz(bool bool_1)</code>
| No Description Set
| Alert the player when a tower becomes agro to their hero.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.IsAttackingEntity | IsAttackingEntity]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTATutorial.FinishTutorial | FinishTutorial]]  
| <code>bool IsAttackingEntity(handle hEntity) </code>
| <code>void FinishTutorial()</code>
| No Description Set
| End the tutorial.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.IsBarracks | IsBarracks]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTATutorial.ForceGameStart | ForceGameStart]]  
| <code>bool IsBarracks() </code>
| <code>void ForceGameStart()</code>
| Is this unit a Barracks?
| Force the start of the game.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.IsBlind | IsBlind]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTATutorial.GetTimeFrozen | GetTimeFrozen]]  
| <code>bool IsBlind() </code>
| <code>bool GetTimeFrozen()</code>
| No Description Set
| Is our time frozen?
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.IsBlockDisabled | IsBlockDisabled]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTATutorial.IsItemInWhiteList | IsItemInWhiteList]]  
| <code>bool IsBlockDisabled() </code>
| <code>bool IsItemInWhiteList(string string_1)</code>
| No Description Set
| Is this item currently in the white list.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.IsBoss | IsBoss]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTATutorial.RemoveShopWhitelistItem | RemoveShopWhitelistItem]]  
| <code>bool IsBoss() </code>
| <code>void RemoveShopWhitelistItem(string string_1)</code>
| Is this a real hero?
| Remove an item from the shop whitelist.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.IsBuilding | IsBuilding]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTATutorial.SelectHero | SelectHero]]  
| <code>bool IsBuilding() </code>
| <code>void SelectHero(string string_1)</code>
| Is this unit a building?
| Select a hero for the local player
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.IsChanneling | IsChanneling]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTATutorial.SelectPlayerTeam | SelectPlayerTeam]]  
| <code>bool IsChanneling() </code>
| <code>void SelectPlayerTeam(string string_1)</code>
| Is this unit currently channeling a spell?
| Select the team for the local player
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.IsClone | IsClone]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTATutorial.SetItemGuide | SetItemGuide]]  
| <code>bool IsClone() </code>
| <code>void SetItemGuide(string string_1)</code>
| Is this unit a clone? (Meepo)
| Set the current item guide.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.IsCommandRestricted | IsCommandRestricted]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTATutorial.SetOrModifyPlayerGold | SetOrModifyPlayerGold]]  
| <code>bool IsCommandRestricted() </code>
| <code>void SetOrModifyPlayerGold(int int_1, bool bool_2)</code>
| No Description Set
| Set gold amount for the tutorial player. (int) GoldAmount, (bool) true=Set, false=Modify
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.IsConsideredHero | IsConsideredHero]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTATutorial.SetQuickBuy | SetQuickBuy]]  
| <code>bool IsConsideredHero() </code>
| <code>void SetQuickBuy(string string_1)</code>
| Is this unit a considered a hero for targeting purposes?
| Set players quick buy item.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.IsControllableByAnyPlayer | IsControllableByAnyPlayer]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTATutorial.SetShopOpen | SetShopOpen]]  
| <code>bool IsControllableByAnyPlayer() </code>
| <code>void SetShopOpen(bool bool_1)</code>
| Is this unit controlled by any non-bot player?
| Set the shop open or closed.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.IsCourier | IsCourier]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTATutorial.SetTimeFrozen | SetTimeFrozen]]  
| <code>bool IsCourier() </code>
| <code>void SetTimeFrozen(bool bool_1)</code>
| Is this unit a courier?
| Set if we should freeze time or not.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.IsCreature | IsCreature]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTATutorial.SetTutorialConvar | SetTutorialConvar]]  
| <code>bool IsCreature() </code>
| <code>void SetTutorialConvar(string string_1, string string_2)</code>
| Is this a Creature type NPC
| Set a tutorial convar
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.IsCreep | IsCreep]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTATutorial.SetTutorialUI | SetTutorialUI]]  
| <code>bool IsCreep() </code>
| <code>void SetTutorialUI(int int_1)</code>
| Is this unit a creep?
| Set the UI to use a reduced version to focus attention to specific elements.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.IsDeniable | IsDeniable]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTATutorial.SetWhiteListEnabled | SetWhiteListEnabled]]  
| <code>bool IsDeniable() </code>
| <code>void SetWhiteListEnabled(bool bool_1)</code>
| No Description Set
| Set if we should whitelist shop items.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.IsDisarmed | IsDisarmed]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTATutorial.StartTutorialMode | StartTutorialMode]]  
| <code>bool IsDisarmed() </code>
| <code>void StartTutorialMode()</code>
| No Description Set
| Initialize Tutorial Mode
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.IsDominated | IsDominated]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTATutorial.UpgradePlayerAbility | UpgradePlayerAbility]]  
| <code>bool IsDominated() </code>
| <code>void UpgradePlayerAbility(string string_1)</code>
| No Description Set
| Upgrade a specific ability for the local hero
|}
 
==== CDOTAVoteSystem ====
''No Description Set''
{| class="standard-table" style="width: 100%;"
! Function
! Signature
! Description
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.IsEvadeDisabled | IsEvadeDisabled]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAVoteSystem.StartVote | StartVote]]  
| <code>bool IsEvadeDisabled() </code>
| <code>void StartVote(handle handle_1)</code>
| No Description Set
| Starts a vote, based upon a table of parameters
|}
 
==== CDOTA_Ability_Animation_Attack ====
:::::extends [[#CDOTABaseAbility|CDOTABaseAbility]]
''No Description Set''
{| class="standard-table" style="width: 100%;"
! Function
! Signature
! Description
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.IsFort | IsFort]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Ability_Animation_Attack.SetPlaybackRate | SetPlaybackRate]]  
| <code>bool IsFort() </code>
| <code>void SetPlaybackRate(float flRate)</code>
| Is this unit an Ancient?
| Override playbackrate
|}
 
==== CDOTA_Ability_Animation_TailSpin ====
:::::extends [[#CDOTABaseAbility|CDOTABaseAbility]]
''No Description Set''
{| class="standard-table" style="width: 100%;"
! Function
! Signature
! Description
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.IsFrozen | IsFrozen]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Ability_Animation_TailSpin.SetPlaybackRate | SetPlaybackRate]]  
| <code>bool IsFrozen() </code>
| <code>void SetPlaybackRate(float flRate)</code>
| No Description Set
| Override playbackrate
|}
 
==== CDOTA_Ability_DataDriven ====
:::::extends [[#CDOTABaseAbility|CDOTABaseAbility]]
''No Description Set''
{| class="standard-table" style="width: 100%;"
! Function
! Signature
! Description
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.IsHardDisarmed | IsHardDisarmed]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Ability_DataDriven.ApplyDataDrivenModifier | ApplyDataDrivenModifier]]  
| <code>bool IsHardDisarmed() </code>
| <code>handle ApplyDataDrivenModifier(handle hCaster, handle hTarget, string pszModifierName, handle hModifierTable)</code>
| No Description Set
| Applies a data driven modifier to the target
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.IsHero | IsHero]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Ability_DataDriven.ApplyDataDrivenThinker | ApplyDataDrivenThinker]]  
| <code>bool IsHero() </code>
| <code>handle ApplyDataDrivenThinker(handle hCaster, Vector vLocation, string pszModifierName, handle hModifierTable)</code>
| Is this a hero or hero illusion?
| Applies a data driven thinker at the location
|-
|}
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.IsHexed | IsHexed]]
 
| <code>bool IsHexed() </code>
==== CDOTA_Ability_Lua ====
| No Description Set
:::::extends [[#CDOTABaseAbility|CDOTABaseAbility]]
|-
''No Description Set''
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.IsIdle | IsIdle]]
{| class="standard-table" style="width: 100%;"
| <code>bool IsIdle() </code>
! Function
| Is this creature currently idle?
! Signature
|-
! Description  
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.IsIllusion | IsIllusion]]
| <code>bool IsIllusion() </code>
| No Description Set
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.IsInvisible | IsInvisible]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Ability_Lua.CastFilterResult | CastFilterResult]]  
| <code>bool IsInvisible() </code>
| <code>int CastFilterResult()</code>
| No Description Set
| Determine whether an issued command with no target is valid.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.IsInvulnerable | IsInvulnerable]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Ability_Lua.CastFilterResultLocation | CastFilterResultLocation]]  
| <code>bool IsInvulnerable() </code>
| <code>int CastFilterResultLocation(Vector vLocation)</code>
| No Description Set
| (Vector vLocation) Determine whether an issued command on a location is valid.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.IsLowAttackPriority | IsLowAttackPriority]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Ability_Lua.CastFilterResultTarget | CastFilterResultTarget]]  
| <code>bool IsLowAttackPriority() </code>
| <code>int CastFilterResultTarget(handle hTarget)</code>
| No Description Set
| (HSCRIPT hTarget) Determine whether an issued command on a target is valid.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.IsMagicImmune | IsMagicImmune]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Ability_Lua.GetAOERadius | GetAOERadius]]  
| <code>bool IsMagicImmune() </code>
| <code>float GetAOERadius()</code>
| No Description Set
| Controls the size of the AOE casting cursor.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.IsMechanical | IsMechanical]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Ability_Lua.GetAssociatedPrimaryAbilities | GetAssociatedPrimaryAbilities]]  
| <code>bool IsMechanical() </code>
| <code>string GetAssociatedPrimaryAbilities()</code>
| Is the unit mechanical?
| Returns abilities that are stolen simultaneously, or otherwise related in functionality.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.IsMovementImpaired | IsMovementImpaired]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Ability_Lua.GetAssociatedSecondaryAbilities | GetAssociatedSecondaryAbilities]]  
| <code>bool IsMovementImpaired() </code>
| <code>string GetAssociatedSecondaryAbilities()</code>
| No Description Set
| Returns other abilities that are stolen simultaneously, or otherwise related in functionality.  Generally hidden abilities.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.IsMuted | IsMuted]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Ability_Lua.GetBehavior | GetBehavior]]  
| <code>bool IsMuted() </code>
| <code>int GetBehavior()</code>
| No Description Set
| Return cast behavior type of this ability.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.IsNeutralUnitType | IsNeutralUnitType]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Ability_Lua.GetCastAnimation | GetCastAnimation]]  
| <code>bool IsNeutralUnitType() </code>
| <code>int GetCastAnimation()</code>
| Is this a neutral?
| Return casting animation of this ability.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.IsNightmared | IsNightmared]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Ability_Lua.GetCastPoint | GetCastPoint]]  
| <code>bool IsNightmared() </code>
| <code>float GetCastPoint()</code>
| No Description Set
| Return cast point of this ability.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.IsOpposingTeam | IsOpposingTeam]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Ability_Lua.GetCastRange | GetCastRange]]  
| <code>bool IsOpposingTeam(int nTeam) </code>
| <code>int GetCastRange(Vector vLocation, handle hTarget)</code>
| No Description Set
| Return cast range of this ability.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.IsOther | IsOther]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Ability_Lua.GetChannelAnimation | GetChannelAnimation]]  
| <code>bool IsOther() </code>
| <code>int GetChannelAnimation()</code>
| Is this unit a ward-type unit?
| Return channel animation of this ability.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.IsOutOfGame | IsOutOfGame]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Ability_Lua.GetChannelTime | GetChannelTime]]  
| <code>bool IsOutOfGame() </code>
| <code>float GetChannelTime()</code>
| No Description Set
| Return the channel time of this ability.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.IsOwnedByAnyPlayer | IsOwnedByAnyPlayer]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Ability_Lua.GetChannelledManaCostPerSecond | GetChannelledManaCostPerSecond]]  
| <code>bool IsOwnedByAnyPlayer() </code>
| <code>int GetChannelledManaCostPerSecond(int iLevel)</code>
| Is this unit owned by any non-bot player?
| Return mana cost at the given level per second while channeling (-1 is current).
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.IsPhantom | IsPhantom]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Ability_Lua.GetConceptRecipientType | GetConceptRecipientType]]  
| <code>bool IsPhantom() </code>
| <code>int GetConceptRecipientType()</code>
| Is this a phantom unit?
| Return who hears speech when this spell is cast.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.IsPhantomBlocker | IsPhantomBlocker]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Ability_Lua.GetCooldown | GetCooldown]]  
| <code>bool IsPhantomBlocker() </code>
| <code>float GetCooldown(int iLevel)</code>
| No Description Set
| Return cooldown of this ability.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.IsPhased | IsPhased]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Ability_Lua.GetCustomCastError | GetCustomCastError]]  
| <code>bool IsPhased() </code>
| <code>string GetCustomCastError()</code>
| No Description Set
| Return the error string of a failed command with no target.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.IsPositionInRange | IsPositionInRange]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Ability_Lua.GetCustomCastErrorLocation | GetCustomCastErrorLocation]]  
| <code>bool IsPositionInRange(Vector vPosition, float flRange) </code>
| <code>string GetCustomCastErrorLocation(Vector vLocation)</code>
| No Description Set
| (Vector vLocation) Return the error string of a failed command on a location.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.IsRangedAttacker | IsRangedAttacker]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Ability_Lua.GetCustomCastErrorTarget | GetCustomCastErrorTarget]]  
| <code>bool IsRangedAttacker() </code>
| <code>string GetCustomCastErrorTarget(handle hTarget)</code>
| Is this unit a ranged attacker?
| (HSCRIPT hTarget) Return the error string of a failed command on a target.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.IsRealHero | IsRealHero]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Ability_Lua.GetGoldCost | GetGoldCost]]  
| <code>bool IsRealHero() </code>
| <code>int GetGoldCost(int iLevel)</code>
| Returns true if the hero is a true Hero, not a creep or an Illusion of a hero
| Return gold cost at the given level (-1 is current).
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.IsRooted | IsRooted]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Ability_Lua.GetIntrinsicModifierName | GetIntrinsicModifierName]]  
| <code>bool IsRooted() </code>
| <code>string GetIntrinsicModifierName()</code>
| No Description Set
| Returns the name of the modifier applied passively by this ability.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.IsSilenced | IsSilenced]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Ability_Lua.GetManaCost | GetManaCost]]  
| <code>bool IsSilenced() </code>
| <code>int GetManaCost(int iLevel)</code>
| No Description Set
| Return mana cost at the given level (-1 is current).
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.IsSoftDisarmed | IsSoftDisarmed]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Ability_Lua.GetPlaybackRateOverride | GetPlaybackRateOverride]]  
| <code>bool IsSoftDisarmed() </code>
| <code>float GetPlaybackRateOverride()</code>
| No Description Set
| Return the animation rate of the cast animation.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.IsSpeciallyDeniable | IsSpeciallyDeniable]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Ability_Lua.IsHiddenAbilityCastable | IsHiddenAbilityCastable]]  
| <code>bool IsSpeciallyDeniable() </code>
| <code>bool IsHiddenAbilityCastable()</code>
| No Description Set
| Returns true if this ability can be used when not on the action panel.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.IsStunned | IsStunned]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Ability_Lua.IsHiddenWhenStolen | IsHiddenWhenStolen]]  
| <code>bool IsStunned() </code>
| <code>bool IsHiddenWhenStolen()</code>
| No Description Set
| Returns true if this ability is hidden when stolen by Spell Steal.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.IsSummoned | IsSummoned]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Ability_Lua.IsRefreshable | IsRefreshable]]  
| <code>bool IsSummoned() </code>
| <code>bool IsRefreshable()</code>
| Is this unit summoned?
| Returns true if this ability is refreshed by Refresher Orb.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.IsTower | IsTower]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Ability_Lua.IsStealable | IsStealable]]  
| <code>bool IsTower() </code>
| <code>bool IsStealable()</code>
| Is this a tower?
| Returns true if this ability can be stolen by Spell Steal.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.IsUnableToMiss | IsUnableToMiss]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Ability_Lua.OnAbilityPhaseInterrupted | OnAbilityPhaseInterrupted]]  
| <code>bool IsUnableToMiss() </code>
| <code>void OnAbilityPhaseInterrupted()</code>
| No Description Set
| Cast time did not complete successfully.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.IsUnselectable | IsUnselectable]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Ability_Lua.OnAbilityPhaseStart | OnAbilityPhaseStart]]  
| <code>bool IsUnselectable() </code>
| <code>bool OnAbilityPhaseStart()</code>
| No Description Set
| Cast time begins (return true for successful cast).
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.Kill | Kill]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Ability_Lua.OnAbilityPinged | OnAbilityPinged]]  
| <code>void Kill(handle hAbility, handle hAttacker) </code>
| <code>void OnAbilityPinged(int nPlayerID, bool bCtrlHeld)</code>
| Kills this NPC, with the params Ability and Attacker
| The ability was pinged (nPlayerID, bCtrlHeld).
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.MakeIllusion | MakeIllusion]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Ability_Lua.OnChannelFinish | OnChannelFinish]]  
| <code>void MakeIllusion() </code>
| <code>void OnChannelFinish(bool bInterrupted)</code>
| No Description Set
| (bool bInterrupted) Channel finished.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.MakePhantomBlocker | MakePhantomBlocker]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Ability_Lua.OnChannelThink | OnChannelThink]]  
| <code>void MakePhantomBlocker() </code>
| <code>void OnChannelThink(float flInterval)</code>
| No Description Set
| (float flInterval) Channeling is taking place.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.MakeVisibleDueToAttack | MakeVisibleDueToAttack]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Ability_Lua.OnHeroCalculateStatBonus | OnHeroCalculateStatBonus]]  
| <code>void MakeVisibleDueToAttack(int iTeam) </code>
| <code>void OnHeroCalculateStatBonus()</code>
| No Description Set
| Caster (hero only) gained a level, skilled an ability, or received a new stat bonus.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.MakeVisibleToTeam | MakeVisibleToTeam]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Ability_Lua.OnHeroDiedNearby | OnHeroDiedNearby]]  
| <code>void MakeVisibleToTeam(int iTeam, float flDuration) </code>
| <code>void OnHeroDiedNearby(handle unit, handle attacker, handle table)</code>
| No Description Set
| A hero has died in the vicinity (ie Urn), takes table of params.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.ManageModelChanges | ManageModelChanges]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Ability_Lua.OnHeroLevelUp | OnHeroLevelUp]]  
| <code>void ManageModelChanges() </code>
| <code>void OnHeroLevelUp()</code>
|  
| Caster gained a level.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.ModifyHealth | ModifyHealth]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Ability_Lua.OnInventoryContentsChanged | OnInventoryContentsChanged]]  
| <code>void ModifyHealth(int iDesiredHealthValue, handle hAbility, bool bLethal, int iAdditionalFlags) </code>
| <code>void OnInventoryContentsChanged()</code>
| Sets the health to a specific value, with optional flags or inflictors.
| Caster inventory changed.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.MoveToNPC | MoveToNPC]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Ability_Lua.OnItemEquipped | OnItemEquipped]]  
| <code>void MoveToNPC(handle hNPC) </code>
| <code>void OnItemEquipped(handle hItem)</code>
| Move to follow a unit.
| ( HSCRIPT hItem ) Caster equipped item.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.MoveToNPCToGiveItem | MoveToNPCToGiveItem]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Ability_Lua.OnOwnerDied | OnOwnerDied]]  
| <code>void MoveToNPCToGiveItem(handle npc, handle item) </code>
| <code>void OnOwnerDied()</code>
| Give an item to another unit.
| Caster died.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.MoveToPosition | MoveToPosition]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Ability_Lua.OnOwnerSpawned | OnOwnerSpawned]]  
| <code>void MoveToPosition(Vector vDest) </code>
| <code>void OnOwnerSpawned()</code>
| Issue a Move-To command
| Caster respawned or spawned for the first time.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.MoveToPositionAggressive | MoveToPositionAggressive]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Ability_Lua.OnProjectileHit | OnProjectileHit]]  
| <code>void MoveToPositionAggressive(Vector vDest) </code>
| <code>bool OnProjectileHit(handle hTarget, Vector vLocation)</code>
| Issue an Attack-Move-To command
| (HSCRIPT hTarget, Vector vLocation) Projectile has collided with a given target or reached its destination (target is invalid).
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.MoveToTargetToAttack | MoveToTargetToAttack]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Ability_Lua.OnProjectileHitHandle | OnProjectileHitHandle]]  
| <code>void MoveToTargetToAttack(handle hTarget) </code>
| <code>bool OnProjectileHitHandle(handle hTarget, Vector vLocation, int iProjectileHandle)</code>
| Move to a target to attack.
| (HSCRIPT hTarget, Vector vLocation, int nHandle) Projectile has collided with a given target or reached its destination (target is invalid).  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.NoHealthBar | NoHealthBar]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Ability_Lua.OnProjectileHit_ExtraData | OnProjectileHit_ExtraData]]  
| <code>bool NoHealthBar() </code>
| <code>bool OnProjectileHit_ExtraData(handle hTarget, Vector vLocation, handle table)</code>
| No Description Set
| (HSCRIPT hTarget, Vector vLocation, table kv) Projectile has collided with a given target or reached its destination (target is invalid).
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.NoTeamMoveTo | NoTeamMoveTo]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Ability_Lua.OnProjectileThink | OnProjectileThink]]  
| <code>bool NoTeamMoveTo() </code>
| <code>void OnProjectileThink(Vector vLocation)</code>
| No Description Set
| (Vector vLocation) Projectile is actively moving.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.NoTeamSelect | NoTeamSelect]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Ability_Lua.OnProjectileThinkHandle | OnProjectileThinkHandle]]  
| <code>bool NoTeamSelect() </code>
| <code>void OnProjectileThinkHandle(int iProjectileHandle)</code>
| No Description Set
| (int nProjectileHandle) Projectile is actively moving.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.NotifyWearablesOfModelChange | NotifyWearablesOfModelChange]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Ability_Lua.OnProjectileThink_ExtraData | OnProjectileThink_ExtraData]]  
| <code>void NotifyWearablesOfModelChange(bool bOriginalModel) </code>
| <code>void OnProjectileThink_ExtraData(Vector vLocation, handle table)</code>
|  
| (Vector vLocation, table kv ) Projectile is actively moving.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.NotOnMinimap | NotOnMinimap]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Ability_Lua.OnSpellStart | OnSpellStart]]  
| <code>bool NotOnMinimap() </code>
| <code>void OnSpellStart()</code>
| No Description Set
| Cast time finished, spell effects begin.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.NotOnMinimapForEnemies | NotOnMinimapForEnemies]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Ability_Lua.OnStolen | OnStolen]]  
| <code>bool NotOnMinimapForEnemies() </code>
| <code>void OnStolen(handle hSourceAbility)</code>
| No Description Set
| ( HSCRIPT hAbility ) Special behavior when stolen by Spell Steal.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.NoUnitCollision | NoUnitCollision]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Ability_Lua.OnToggle | OnToggle]]  
| <code>bool NoUnitCollision() </code>
| <code>void OnToggle()</code>
| No Description Set
| Ability is toggled on/off.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.PassivesDisabled | PassivesDisabled]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Ability_Lua.OnUnStolen | OnUnStolen]]  
| <code>bool PassivesDisabled() </code>
| <code>void OnUnStolen()</code>
| No Description Set
| Special behavior when lost by Spell Steal.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.PerformAttack | PerformAttack]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Ability_Lua.OnUpgrade | OnUpgrade]]  
| <code>void PerformAttack(handle hTarget, bool bUseCastAttackOrb, bool bProcessProcs, bool bSkipCooldown, bool bIgnoreInvis) </code>
| <code>void OnUpgrade()</code>
| Performs an attack on a target. Params: Target, bUseCastAttackOrb, bProcessProcs, bSkipCooldown, bIgnoreInvis
| Ability gained a level.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.PickupDroppedItem | PickupDroppedItem]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Ability_Lua.ProcsMagicStick | ProcsMagicStick]]  
| <code>void PickupDroppedItem(handle hItem) </code>
| <code>bool ProcsMagicStick()</code>
| Pick up a dropped item.
| Returns true if this ability will generate magic stick charges for nearby enemies.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.PickupRune | PickupRune]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Ability_Lua.ResetToggleOnRespawn | ResetToggleOnRespawn]]  
| <code>void PickupRune(handle hItem) </code>
| <code>bool ResetToggleOnRespawn()</code>
| Pick up a rune.
| Returns true if this ability should return to the default toggle state when its parent respawns.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.ProvidesVision | ProvidesVision]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Ability_Lua.SpeakTrigger | SpeakTrigger]]  
| <code>bool ProvidesVision() </code>
| <code>int SpeakTrigger()</code>
| No Description Set
| Return the type of speech used.
|}
 
==== CDOTA_Ability_Nian_Dive ====
:::::extends [[#CDOTABaseAbility|CDOTABaseAbility]]
''No Description Set''
{| class="standard-table" style="width: 100%;"
! Function
! Signature
! Description
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.Purge | Purge]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Ability_Nian_Dive.SetPlaybackRate | SetPlaybackRate]]  
| <code>void Purge(bool bRemovePositiveBuffs, bool bRemoveDebuffs, bool bFrameOnly, bool bRemoveStuns, bool bRemoveExceptions) </code>
| <code>void SetPlaybackRate(float flRate)</code>
| (bool RemovePositiveBuffs, bool RemoveDebuffs, bool BuffsCreatedThisFrameOnly, bool RemoveStuns, bool RemoveExceptions
| Override playbackrate
|}
 
==== CDOTA_Ability_Nian_Leap ====
:::::extends [[#CDOTABaseAbility|CDOTABaseAbility]]
''No Description Set''
{| class="standard-table" style="width: 100%;"
! Function
! Signature
! Description
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.ReduceMana | ReduceMana]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Ability_Nian_Leap.SetPlaybackRate | SetPlaybackRate]]  
| <code>void ReduceMana(float flAmount) </code>
| <code>void SetPlaybackRate(float flRate)</code>
| Remove mana from this unit, this can be used for involuntary mana loss, not for mana that is spent.
| Override playbackrate
|}
 
==== CDOTA_Ability_Nian_Roar ====
:::::extends [[#CDOTABaseAbility|CDOTABaseAbility]]
''No Description Set''
{| class="standard-table" style="width: 100%;"
! Function
! Signature
! Description
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.RemoveAbility | RemoveAbility]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Ability_Nian_Roar.GetCastCount | GetCastCount]]  
| <code>void RemoveAbility(string pszAbilityName) </code>
| <code>int GetCastCount()</code>
| Remove an ability from this unit by name.
| Number of times Nian has used the roar
|}
 
==== CDOTA_BaseNPC ====
:::::extends [[#CBaseFlex|CBaseFlex]]
''No Description Set''
{| class="standard-table" style="width: 100%;"
! Function
! Signature
! Description
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.RemoveGesture | RemoveGesture]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.AddAbility | AddAbility]]  
| <code>void RemoveGesture(int nActivity) </code>
| <code>handle AddAbility(string pszAbilityName)</code>
| Remove the given gesture activity.
| Add an ability to this unit by name.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.RemoveHorizontalMotionController | RemoveHorizontalMotionController]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.AddActivityModifier | AddActivityModifier]]  
| <code>void RemoveHorizontalMotionController(handle hBuff) </code>
| <code>void AddActivityModifier(string szName)</code>
|  
| Add an activity modifier that affects future StartGesture calls
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.RemoveItem | RemoveItem]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.AddItem | AddItem]]  
| <code>void RemoveItem(handle hItem) </code>
| <code>handle AddItem(handle hItem)</code>
| Removes the passed item from this unit's inventory.
| Add an item to this unit's inventory.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.RemoveModifierByName | RemoveModifierByName]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.AddItemByName | AddItemByName]]  
| <code>void RemoveModifierByName(string pszScriptName) </code>
| <code>handle AddItemByName(string pszItemName)</code>
| Removes a modifier
| Add an item to this unit's inventory.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.RemoveModifierByNameAndCaster | RemoveModifierByNameAndCaster]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.AddNewModifier | AddNewModifier]]  
| <code>void RemoveModifierByNameAndCaster(string pszScriptName, handle hCaster) </code>
| <code>handle AddNewModifier(handle hCaster, handle hAbility, string pszScriptName, handle hModifierTable)</code>
| Removes a modifier that was cast by the given caster
| Add a modifier to this unit.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.RemoveNoDraw | RemoveNoDraw]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.AddNoDraw | AddNoDraw]]  
| <code>void RemoveNoDraw() </code>
| <code>void AddNoDraw()</code>
| Remove the no draw flag.
| Adds the no draw flag.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.RemoveVerticalMotionController | RemoveVerticalMotionController]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.AddSpeechBubble | AddSpeechBubble]]  
| <code>void RemoveVerticalMotionController(handle hBuff) </code>
| <code>void AddSpeechBubble(int iBubble, string pszSpeech, float flDuration, unsigned unOffsetX, unsigned unOffsetY)</code>
|  
| Add a speech bubble(1-4 live at a time) to this NPC.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.RespawnUnit | RespawnUnit]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.AlertNearbyUnits | AlertNearbyUnits]]  
| <code>void RespawnUnit() </code>
| <code>void AlertNearbyUnits(handle hAttacker, handle hAbility)</code>
| Respawns the target unit if it can be respawned.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.SellItem | SellItem]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.AngerNearbyUnits | AngerNearbyUnits]]  
| <code>void SellItem(handle hItem) </code>
| <code>void AngerNearbyUnits()</code>
| Sells the passed item in this unit's inventory.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.SetAcquisitionRange | SetAcquisitionRange]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.AttackNoEarlierThan | AttackNoEarlierThan]]  
| <code>void SetAcquisitionRange(float nRange) </code>
| <code>void AttackNoEarlierThan(float flTime)</code>
| Sets acquisition range
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.SetAdditionalBattleMusicWeight | SetAdditionalBattleMusicWeight]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.AttackReady | AttackReady]]  
| <code>void SetAdditionalBattleMusicWeight(float flWeight) </code>
| <code>bool AttackReady()</code>
| Combat involving this creature will have this weight added to the music calcuations
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.SetAggroTarget | SetAggroTarget]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.BoundingRadius2D | BoundingRadius2D]]  
| <code>void SetAggroTarget(handle hAggroTarget) </code>
| <code>float BoundingRadius2D()</code>
| Set this unit's aggro target to a specified unit.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.SetAttackCapability | SetAttackCapability]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.CanEntityBeSeenByMyTeam | CanEntityBeSeenByMyTeam]]  
| <code>void SetAttackCapability(int iAttackCapabilities) </code>
| <code>bool CanEntityBeSeenByMyTeam(handle hEntity)</code>
| No Description Set
| Check FoW to see if an entity is visible.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.SetAttacking | SetAttacking]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.CanSellItems | CanSellItems]]  
| <code>void SetAttacking(handle hAttackTarget) </code>
| <code>bool CanSellItems()</code>
| No Description Set
| Query if this unit can sell items.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.SetBaseAttackTime | SetBaseAttackTime]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.CastAbilityImmediately | CastAbilityImmediately]]  
| <code>void SetBaseAttackTime(float flBaseAttackTime) </code>
| <code>void CastAbilityImmediately(handle hAbility, int iPlayerIndex)</code>
| No Description Set
| Cast an ability immediately.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.SetBaseDamageMax | SetBaseDamageMax]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.CastAbilityNoTarget | CastAbilityNoTarget]]  
| <code>void SetBaseDamageMax(int nMax) </code>
| <code>void CastAbilityNoTarget(handle hAbility, int iPlayerIndex)</code>
| Sets the minimum base damage.
| Cast an ability with no target.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.SetBaseDamageMin | SetBaseDamageMin]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.CastAbilityOnPosition | CastAbilityOnPosition]]  
| <code>void SetBaseDamageMin(int nMin) </code>
| <code>void CastAbilityOnPosition(Vector vPosition, handle hAbility, int iPlayerIndex)</code>
| Sets the minimum base damage.
| Cast an ability on a position.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.SetBaseHealthRegen | SetBaseHealthRegen]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.CastAbilityOnTarget | CastAbilityOnTarget]]  
| <code>void SetBaseHealthRegen(float flHealthRegen) </code>
| <code>void CastAbilityOnTarget(handle hTarget, handle hAbility, int iPlayerIndex)</code>
| No Description Set
| Cast an ability on a target entity.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.SetBaseMagicalResistanceValue | SetBaseMagicalResistanceValue]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.CastAbilityToggle | CastAbilityToggle]]  
| <code>void SetBaseMagicalResistanceValue(float flMagicalResistanceValue) </code>
| <code>void CastAbilityToggle(handle hAbility, int iPlayerIndex)</code>
| Sets base magical armor value.
| Toggle an ability.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.SetBaseManaRegen | SetBaseManaRegen]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.ClearActivityModifiers | ClearActivityModifiers]]  
| <code>void SetBaseManaRegen(float flManaRegen) </code>
| <code>void ClearActivityModifiers()</code>
| No Description Set
| Clear Activity modifiers
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.SetBaseMaxHealth | SetBaseMaxHealth]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.DestroyAllSpeechBubbles | DestroyAllSpeechBubbles]]  
| <code>void SetBaseMaxHealth(float flBaseMaxHealth) </code>
| <code>void DestroyAllSpeechBubbles()</code>
| Set a new base max health value.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.SetBaseMoveSpeed | SetBaseMoveSpeed]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.DisassembleItem | DisassembleItem]]  
| <code>void SetBaseMoveSpeed(int iMoveSpeed) </code>
| <code>void DisassembleItem(handle hItem)</code>
| No Description Set
| Disassemble the passed item in this unit's inventory.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.SetCanSellItems | SetCanSellItems]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.DropItemAtPosition | DropItemAtPosition]]  
| <code>void SetCanSellItems(bool bCanSell) </code>
| <code>void DropItemAtPosition(Vector vDest, handle hItem)</code>
| Set whether or not this unit is allowed to sell items (bCanSellItems)
| Drop an item at a given point.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.SetControllableByPlayer | SetControllableByPlayer]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.DropItemAtPositionImmediate | DropItemAtPositionImmediate]]  
| <code>void SetControllableByPlayer(int iIndex, bool bSkipAdjustingPosition) </code>
| <code>void DropItemAtPositionImmediate(handle hItem, Vector vPosition)</code>
| Set this unit controllable by the player with the passed ID.
| Immediately drop a carried item at a given position.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.SetCursorCastTarget | SetCursorCastTarget]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.EjectItemFromStash | EjectItemFromStash]]  
| <code>void SetCursorCastTarget(handle hEntity) </code>
| <code>void EjectItemFromStash(handle hItem)</code>
| No Description Set
| Drops the selected item out of this unit's stash.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.SetCursorPosition | SetCursorPosition]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.FaceTowards | FaceTowards]]  
| <code>void SetCursorPosition(Vector vLocation) </code>
| <code>void FaceTowards(Vector vTarget)</code>
| No Description Set
| This unit will be set to face the target point.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.SetCursorTargetingNothing | SetCursorTargetingNothing]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.FadeGesture | FadeGesture]]  
| <code>void SetCursorTargetingNothing(bool bTargetingNothing) </code>
| <code>void FadeGesture(int nActivity)</code>
| No Description Set
| Fade and remove the given gesture activity.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.SetCustomHealthLabel | SetCustomHealthLabel]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.FindAbilityByName | FindAbilityByName]]  
| <code>void SetCustomHealthLabel(string pLabel, int r, int g, int b) </code>
| <code>handle FindAbilityByName(string pAbilityName)</code>
|  
| Retrieve an ability by name from the unit.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.SetDayTimeVisionRange | SetDayTimeVisionRange]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.FindAllModifiers | FindAllModifiers]]  
| <code>void SetDayTimeVisionRange(int iRange) </code>
| <code>table FindAllModifiers()</code>
| Set the base vision range.
| Returns a table of all of the modifiers on the NPC.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.SetDeathXP | SetDeathXP]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.FindAllModifiersByName | FindAllModifiersByName]]  
| <code>void SetDeathXP(int iXPBounty) </code>
| <code>table FindAllModifiersByName(string pszScriptName)</code>
| Set the XP bounty on this unit
| Returns a table of all of the modifiers on the NPC with the passed name (modifierName)
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.SetForceAttackTarget | SetForceAttackTarget]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.FindItemInInventory | FindItemInInventory]]  
| <code>void SetForceAttackTarget(handle hNPC) </code>
| <code>handle FindItemInInventory(string pszItemName)</code>
| No Description Set
| Get handle to first item in inventory, else nil.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.SetHasInventory | SetHasInventory]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.FindModifierByName | FindModifierByName]]  
| <code>void SetHasInventory(bool bHasInventory) </code>
| <code>handle FindModifierByName(string pszScriptName)</code>
| No Description Set
| Return a handle to the modifier of the given name if found, else nil (string Name )
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.SetHullRadius | SetHullRadius]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.FindModifierByNameAndCaster | FindModifierByNameAndCaster]]  
| <code>void SetHullRadius(float flHullRadius) </code>
| <code>handle FindModifierByNameAndCaster(string pszScriptName, handle hCaster)</code>
| Set the collision hull radius of this NPC
| Return a handle to the modifier of the given name from the passed caster if found, else nil ( string Name, hCaster )
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.SetIdleAcquire | SetIdleAcquire]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.ForceKill | ForceKill]]  
| <code>void SetIdleAcquire(bool bIdleAcquire) </code>
| <code>void ForceKill(bool bReincarnate)</code>
| No Description Set
| Kill this unit immediately.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.SetInitialGoalEntity | SetInitialGoalEntity]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.ForcePlayActivityOnce | ForcePlayActivityOnce]]  
| <code>void SetInitialGoalEntity(handle hGoal) </code>
| <code>void ForcePlayActivityOnce(int nActivity)</code>
| Sets the initial waypoint goal for this NPC
| Play an activity once, and then go back to idle.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.SetMana | SetMana]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetAbilityByIndex | GetAbilityByIndex]]  
| <code>void SetMana(float flMana) </code>
| <code>handle GetAbilityByIndex(int iIndex)</code>
| Set the mana on this unit.
| Retrieve an ability by index from the unit.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.SetMaximumGoldBounty | SetMaximumGoldBounty]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetAbilityCount | GetAbilityCount]]  
| <code>void SetMaximumGoldBounty(int iGoldBountyMax) </code>
| <code>int GetAbilityCount()</code>
| Set the maximum gold bounty for this unit.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.SetMinimumGoldBounty | SetMinimumGoldBounty]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetAcquisitionRange | GetAcquisitionRange]]  
| <code>void SetMinimumGoldBounty(int iGoldBountyMin) </code>
| <code>float GetAcquisitionRange()</code>
| Set the minimum gold bounty for this unit.
| Gets the range at which this unit will auto-acquire.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.SetModifierStackCount | SetModifierStackCount]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetAdditionalBattleMusicWeight | GetAdditionalBattleMusicWeight]]  
| <code>void SetModifierStackCount(string modifierName, handle hCaster, int modifierCount) </code>
| <code>float GetAdditionalBattleMusicWeight()</code>
| Sets the stack count of a given modifier.
| Combat involving this creature will have this weight added to the music calcuations.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.SetMoveCapability | SetMoveCapability]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetAggroTarget | GetAggroTarget]]  
| <code>void SetMoveCapability(int iMoveCapabilities) </code>
| <code>handle GetAggroTarget()</code>
| No Description Set
| Returns this unit's aggro target.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.SetMustReachEachGoalEntity | SetMustReachEachGoalEntity]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetAttackAnimationPoint | GetAttackAnimationPoint]]  
| <code>void SetMustReachEachGoalEntity(bool must) </code>
| <code>float GetAttackAnimationPoint()</code>
| Set whether this NPC is required to reach each goal entity, rather than being allowed to 'unkink' their path
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.SetNeverMoveToClearSpace | SetNeverMoveToClearSpace]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetAttackCapability | GetAttackCapability]]  
| <code>void SetNeverMoveToClearSpace(bool neverMoveToClearSpace) </code>
| <code>int GetAttackCapability()</code>
| If set to true, we will never attempt to move this unit to clear space, even when it unphases.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.SetNightTimeVisionRange | SetNightTimeVisionRange]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetAttackDamage | GetAttackDamage]]  
| <code>void SetNightTimeVisionRange(int iRange) </code>
| <code>int GetAttackDamage()</code>
| Set the base vision range.
| Returns a random integer between the minimum and maximum base damage of the unit.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.SetOrigin | SetOrigin]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetAttackRangeBuffer | GetAttackRangeBuffer]]  
| <code>void SetOrigin(Vector vLocation) </code>
| <code>float GetAttackRangeBuffer()</code>
| Set the unit's origin.
| Gets the attack range buffer.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.SetOriginalModel | SetOriginalModel]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetAttackSpeed | GetAttackSpeed]]  
| <code>void SetOriginalModel(string originalModel) </code>
| <code>float GetAttackSpeed()</code>
| Sets the original model of this entity, which it will tend to fall back to anytime its state changes
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.SetPhysicalArmorBaseValue | SetPhysicalArmorBaseValue]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetAttackTarget | GetAttackTarget]]  
| <code>void SetPhysicalArmorBaseValue(float flPhysicalArmorValue) </code>
| <code>handle GetAttackTarget()</code>
| Sets base physical armor value.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.SetRangedProjectileName | SetRangedProjectileName]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetAttacksPerSecond | GetAttacksPerSecond]]  
| <code>void SetRangedProjectileName(string pProjectileName) </code>
| <code>float GetAttacksPerSecond()</code>
| No Description Set
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.SetStolenScepter | SetStolenScepter]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetAverageTrueAttackDamage | GetAverageTrueAttackDamage]]  
| <code>void SetStolenScepter(bool bStolenScepter) </code>
| <code>int GetAverageTrueAttackDamage(handle hTarget)</code>
| No Description Set
| Returns the average value of the minimum and maximum damage values.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.SetUnitName | SetUnitName]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetBaseAttackRange | GetBaseAttackRange]]  
| <code>void SetUnitName(string pName) </code>
| <code>int GetBaseAttackRange()</code>
| No Description Set
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.ShouldIdleAcquire | ShouldIdleAcquire]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetBaseAttackTime | GetBaseAttackTime]]  
| <code>bool ShouldIdleAcquire() </code>
| <code>float GetBaseAttackTime()</code>
| No Description Set
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.SpendMana | SpendMana]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetBaseDamageMax | GetBaseDamageMax]]  
| <code>void SpendMana(float flManaSpent, handle hAbility) </code>
| <code>int GetBaseDamageMax()</code>
| Spend mana from this unit, this can be used for spending mana from abilities or item usage.
| Get the maximum attack damage of this unit.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.StartGesture | StartGesture]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetBaseDamageMin | GetBaseDamageMin]]  
| <code>void StartGesture(int nActivity) </code>
| <code>int GetBaseDamageMin()</code>
| Add the given gesture activity.
| Get the minimum attack damage of this unit.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.Stop | Stop]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetBaseDayTimeVisionRange | GetBaseDayTimeVisionRange]]  
| <code>void Stop() </code>
| <code>int GetBaseDayTimeVisionRange()</code>
| Stop the current order.
| Returns the vision range before modifiers.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.SwapAbilities | SwapAbilities]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetBaseHealthRegen | GetBaseHealthRegen]]  
| <code>void SwapAbilities(string pAbilityName1, string pAbilityName2, bool bEnable1, bool bEnable2) </code>
| <code>float GetBaseHealthRegen()</code>
| Swaps the slots of the two passed abilities and sets them enabled/disabled: const char* AbilityName1, const char* AbilityName2, ''bool'' bEnable1, ''bool'' bEnable2. The boolean controls which ability is active. The ability order is never swapped when swapping abilities, only the boolean statements are flipped.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.SwapItems | SwapItems]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetBaseMagicalResistanceValue | GetBaseMagicalResistanceValue]]  
| <code>void SwapItems(int nSlot1, int nSlot2) </code>
| <code>float GetBaseMagicalResistanceValue()</code>
| Swap the contents of two item slots (slot1, slot2)
| Returns base magical armor value.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.TimeUntilNextAttack | TimeUntilNextAttack]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetBaseMaxHealth | GetBaseMaxHealth]]  
| <code>float TimeUntilNextAttack() </code>
| <code>float GetBaseMaxHealth()</code>
| No Description Set
| Gets the base max health value.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.TriggerModifierDodge | TriggerModifierDodge]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetBaseMoveSpeed | GetBaseMoveSpeed]]  
| <code>bool TriggerModifierDodge() </code>
| <code>float GetBaseMoveSpeed()</code>
| No Description Set
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.TriggerSpellAbsorb | TriggerSpellAbsorb]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetBaseNightTimeVisionRange | GetBaseNightTimeVisionRange]]  
| <code>bool TriggerSpellAbsorb(handle hAbility) </code>
| <code>int GetBaseNightTimeVisionRange()</code>
| Query whether the passed ability will trigger spell absorb on this unit.
| Returns the vision range after modifiers.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.TriggerSpellReflect | TriggerSpellReflect]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetBonusManaRegen | GetBonusManaRegen]]  
| <code>void TriggerSpellReflect(handle hAbility) </code>
| <code>float GetBonusManaRegen()</code>
| Trigger the Lotus Orb-like effect.(hAbility)
| This Mana regen is derived from constant bonuses like Basilius.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.UnitCanRespawn | UnitCanRespawn]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetCastPoint | GetCastPoint]]  
| <code>bool UnitCanRespawn() </code>
| <code>float GetCastPoint(bool bAttack)</code>
| No Description Set
|
|}
 
 
=== CDOTA_BaseNPC_Hero ===
:::::extends [[#CDOTA_BaseNPC| CDOTA_BaseNPC]]
''''
{| class="standard-table" style="width: 100%;"
! Function
! Signature
! Description
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.AddExperience | AddExperience]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetCastRangeBonus | GetCastRangeBonus]]  
| <code>bool AddExperience(float amount, int nReason, bool bApplyBotDifficultyScaling, bool bIncrementTotal) </code>
| <code>float GetCastRangeBonus()</code>
| Adds experience to this unit.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.Buyback | Buyback]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetCloneSource | GetCloneSource]]  
| <code>void Buyback() </code>
| <code>handle GetCloneSource()</code>
| Spend the gold and buyback with this hero.
| Get clone source (Meepo Prime, if this is a Meepo)
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.CalculateStatBonus | CalculateStatBonus]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetCollisionPadding | GetCollisionPadding]]  
| <code>void CalculateStatBonus() </code>
| <code>float GetCollisionPadding()</code>
| Recalculate all stats after the hero gains stats.
| Returns the size of the collision padding around the hull.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.CanEarnGold | CanEarnGold]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetCooldownReduction | GetCooldownReduction]]  
| <code>bool CanEarnGold() </code>
| <code>float GetCooldownReduction()</code>
| Returns boolean value result of buyback gold limit time less than game time.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.ClearLastHitMultikill | ClearLastHitMultikill]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetCreationTime | GetCreationTime]]  
| <code>void ClearLastHitMultikill() </code>
| <code>float GetCreationTime()</code>
| Value is stored in PlayerResource.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.ClearLastHitStreak | ClearLastHitStreak]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetCurrentActiveAbility | GetCurrentActiveAbility]]  
| <code>void ClearLastHitStreak() </code>
| <code>handle GetCurrentActiveAbility()</code>
| Value is stored in PlayerResource.
| Get the ability this unit is currently casting.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.ClearStreak | ClearStreak]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetCurrentVisionRange | GetCurrentVisionRange]]  
| <code>void ClearStreak() </code>
| <code>int GetCurrentVisionRange()</code>
| Value is stored in PlayerResource.
| Gets the current vision range.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.GetAbilityPoints | GetAbilityPoints]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetCursorCastTarget | GetCursorCastTarget]]  
| <code>int GetAbilityPoints() </code>
| <code>handle GetCursorCastTarget()</code>
| Gets the current unspent ability point's.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.GetAdditionalOwnedUnits | GetAdditionalOwnedUnits]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetCursorPosition | GetCursorPosition]]  
| <code>handle GetAdditionalOwnedUnits() </code>
| <code>Vector GetCursorPosition()</code>
|  
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.GetAgility | GetAgility]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetCursorTargetingNothing | GetCursorTargetingNothing]]  
| <code>float GetAgility() </code>
| <code>bool GetCursorTargetingNothing()</code>
| No Description Set
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.GetAgilityGain | GetAgilityGain]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetDayTimeVisionRange | GetDayTimeVisionRange]]  
| <code>float GetAgilityGain() </code>
| <code>int GetDayTimeVisionRange()</code>
| No Description Set
| Returns the vision range after modifiers.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.GetAssists | GetAssists]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetDeathXP | GetDeathXP]]  
| <code>int GetAssists() </code>
| <code>int GetDeathXP()</code>
| Value is stored in PlayerResource.
| Get the XP bounty on this unit.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.GetAttacker | GetAttacker]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetDisplayAttackSpeed | GetDisplayAttackSpeed]]  
| <code>int GetAttacker(int nIndex) </code>
| <code>float GetDisplayAttackSpeed()</code>
| No Description Set
| Attack speed expressed as constant value
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.GetBaseAgility | GetBaseAgility]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetEvasion | GetEvasion]]  
| <code>float GetBaseAgility() </code>
| <code>float GetEvasion()</code>
| No Description Set
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.GetBaseDamageMax | GetBaseDamageMax]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetForceAttackTarget | GetForceAttackTarget]]  
| <code>int GetBaseDamageMax() </code>
| <code>handle GetForceAttackTarget()</code>
| Hero damage is also affected by attributes.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.GetBaseDamageMin | GetBaseDamageMin]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetGoldBounty | GetGoldBounty]]  
| <code>int GetBaseDamageMin() </code>
| <code>int GetGoldBounty()</code>
| Hero damage is also affected by attributes.
| Get the gold bounty on this unit.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.GetBaseIntellect | GetBaseIntellect]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetHasteFactor | GetHasteFactor]]  
| <code>float GetBaseIntellect() </code>
| <code>float GetHasteFactor()</code>
| No Description Set
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.GetBaseStrength | GetBaseStrength]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetHealthDeficit | GetHealthDeficit]]  
| <code>float GetBaseStrength() </code>
| <code>int GetHealthDeficit()</code>
| No Description Set
| Returns integer amount of health missing from max.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.GetBonusDamageFromPrimaryStat | GetBonusDamageFromPrimaryStat]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetHealthPercent | GetHealthPercent]]  
| <code>int GetBonusDamageFromPrimaryStat() </code>
| <code>int GetHealthPercent()</code>
| No Description Set
| Get the current health percent of the unit.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.GetBuybackCooldownTime | GetBuybackCooldownTime]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetHealthRegen | GetHealthRegen]]  
| <code>float GetBuybackCooldownTime() </code>
| <code>float GetHealthRegen()</code>
| Return ''float'' value for the amount of time left on cooldown for this hero's buyback.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.GetBuybackCost | GetBuybackCost]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetHullRadius | GetHullRadius]]  
| <code>int GetBuybackCost() </code>
| <code>float GetHullRadius()</code>
| Return integer value for the gold cost of a buyback.
| Get the collision hull radius of this NPC.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.GetBuybackGoldLimitTime | GetBuybackGoldLimitTime]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetIdealSpeed | GetIdealSpeed]]  
| <code>float GetBuybackGoldLimitTime() </code>
| <code>float GetIdealSpeed()</code>
| Returns the amount of time gold gain is limited after buying back.
| Returns speed after all modifiers.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.GetCurrentXP | GetCurrentXP]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetIdealSpeedNoSlows | GetIdealSpeedNoSlows]]  
| <code>int GetCurrentXP() </code>
| <code>float GetIdealSpeedNoSlows()</code>
| Returns the amount of XP
| Returns speed after all modifiers, but excluding those that reduce speed.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.GetDeathGoldCost | GetDeathGoldCost]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetIncreasedAttackSpeed | GetIncreasedAttackSpeed]]  
| <code>int GetDeathGoldCost() </code>
| <code>float GetIncreasedAttackSpeed()</code>
| No Description Set
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.GetDeaths | GetDeaths]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetInitialGoalEntity | GetInitialGoalEntity]]  
| <code>int GetDeaths() </code>
| <code>handle GetInitialGoalEntity()</code>
| Value is stored in PlayerResource.
| Returns the initial waypoint goal for this NPC.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.GetDenies | GetDenies]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetInitialGoalPosition | GetInitialGoalPosition]]  
| <code>int GetDenies() </code>
| <code>Vector GetInitialGoalPosition()</code>
| Value is stored in PlayerResource.
| Get waypoint position for this NPC.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.GetGold | GetGold]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetItemInSlot | GetItemInSlot]]  
| <code>int GetGold() </code>
| <code>handle GetItemInSlot(int i)</code>
| Returns gold amount for the player owning this hero
| Returns nth item in inventory slot (index is zero based).
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.GetGoldBounty | GetGoldBounty]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetLastAttackTime | GetLastAttackTime]]  
| <code>int GetGoldBounty() </code>
| <code>float GetLastAttackTime()</code>
| No Description Set
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.GetHealthRegen | GetHealthRegen]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetLastDamageTime | GetLastDamageTime]]  
| <code>float GetHealthRegen() </code>
| <code>float GetLastDamageTime()</code>
| Hero health regen is affected by attributes.
| Get the last time this NPC took damage
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.GetIncreasedAttackSpeed | GetIncreasedAttackSpeed]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetLastIdleChangeTime | GetLastIdleChangeTime]]  
| <code>float GetIncreasedAttackSpeed() </code>
| <code>float GetLastIdleChangeTime()</code>
| Hero attack speed is also affected by agility.
| Get the last game time that this unit switched to/from idle state.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.GetIntellect | GetIntellect]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetLevel | GetLevel]]  
| <code>float GetIntellect() </code>
| <code>int GetLevel()</code>
| No Description Set
| Returns the level of this unit.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.GetIntellectGain | GetIntellectGain]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetMagicalArmorValue | GetMagicalArmorValue]]  
| <code>float GetIntellectGain() </code>
| <code>float GetMagicalArmorValue()</code>
| No Description Set
| Returns current magical armor value.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.GetKills | GetKills]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetMainControllingPlayer | GetMainControllingPlayer]]  
| <code>int GetKills() </code>
| <code>int GetMainControllingPlayer()</code>
| Value is stored in PlayerResource.
| Returns the player ID of the controlling player.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.GetLastHits | GetLastHits]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetMana | GetMana]]  
| <code>int GetLastHits() </code>
| <code>float GetMana()</code>
| Value is stored in PlayerResource.
| Get the mana on this unit.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.GetManaRegen | GetManaRegen]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetManaPercent | GetManaPercent]]  
| <code>float GetManaRegen() </code>
| <code>int GetManaPercent()</code>
| Hero mana regen is affected by attributes.
| Get the percent of mana remaining.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.GetMostRecentDamageTime | GetMostRecentDamageTime]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetManaRegen | GetManaRegen]]  
| <code>float GetMostRecentDamageTime() </code>
| <code>float GetManaRegen()</code>
| No Description Set
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.GetMultipleKillCount | GetMultipleKillCount]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetMaxMana | GetMaxMana]]  
| <code>int GetMultipleKillCount() </code>
| <code>float GetMaxMana()</code>
| No Description Set
| Get the maximum mana of this unit.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.GetNumAttackers | GetNumAttackers]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetMaximumGoldBounty | GetMaximumGoldBounty]]  
| <code>int GetNumAttackers() </code>
| <code>int GetMaximumGoldBounty()</code>
| No Description Set
| Get the maximum gold bounty for this unit.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.GetNumItemsInInventory | GetNumItemsInInventory]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetMinimumGoldBounty | GetMinimumGoldBounty]]  
| <code>int GetNumItemsInInventory() </code>
| <code>int GetMinimumGoldBounty()</code>
|  
| Get the minimum gold bounty for this unit.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.GetNumItemsInStash | GetNumItemsInStash]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetModelRadius | GetModelRadius]]  
| <code>int GetNumItemsInStash() </code>
| <code>float GetModelRadius()</code>
|  
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.GetPhysicalArmorValue | GetPhysicalArmorValue]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetModifierCount | GetModifierCount]]  
| <code>float GetPhysicalArmorValue() </code>
| <code>int GetModifierCount()</code>
| Hero armor is affected by attributes.
| How many modifiers does this unit have?
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.GetPlayerID | GetPlayerID]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetModifierNameByIndex | GetModifierNameByIndex]]  
| <code>int GetPlayerID() </code>
| <code>string GetModifierNameByIndex(int nIndex)</code>
| Returns player ID of the player owning this hero
| Get a modifier name by index.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.GetPrimaryAttribute | GetPrimaryAttribute]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetModifierStackCount | GetModifierStackCount]]  
| <code>int GetPrimaryAttribute() </code>
| <code>int GetModifierStackCount(string pszScriptName, handle hCaster)</code>
| 0 = strength, 1 = agility, 2 = intelligence.
| Gets the stack count of a given modifier.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.GetPrimaryStatValue | GetPrimaryStatValue]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetMoveSpeedModifier | GetMoveSpeedModifier]]  
| <code>float GetPrimaryStatValue() </code>
| <code>float GetMoveSpeedModifier(float flBaseSpeed, bool bReturnUnslowed)</code>
| No Description Set
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.GetRespawnsDisabled | GetRespawnsDisabled]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetMustReachEachGoalEntity | GetMustReachEachGoalEntity]]  
| <code>bool GetRespawnsDisabled() </code>
| <code>bool GetMustReachEachGoalEntity()</code>
| Is this hero prevented from respawning?
| Set whether this NPC is required to reach each goal entity, rather than being allowed to unkink their path.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.GetRespawnTime | GetRespawnTime]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetNeverMoveToClearSpace | GetNeverMoveToClearSpace]]  
| <code>float GetRespawnTime() </code>
| <code>bool GetNeverMoveToClearSpace()</code>
| No Description Set
| If set to true, we will never attempt to move this unit to clear space, even when it unphases.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.GetStatsBasedManaRegen | GetStatsBasedManaRegen]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetNightTimeVisionRange | GetNightTimeVisionRange]]  
| <code>float GetStatsBasedManaRegen() </code>
| <code>int GetNightTimeVisionRange()</code>
| Returns only the regen based on Intelligence.
| Returns the vision range after modifiers.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.GetStreak | GetStreak]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetOpposingTeamNumber | GetOpposingTeamNumber]]  
| <code>int GetStreak() </code>
| <code>int GetOpposingTeamNumber()</code>
| Value is stored in PlayerResource.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.GetStrength | GetStrength]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetPaddedCollisionRadius | GetPaddedCollisionRadius]]  
| <code>float GetStrength() </code>
| <code>float GetPaddedCollisionRadius()</code>
| No Description Set
| Get the collision hull radius (including padding) of this NPC.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.GetStrengthGain | GetStrengthGain]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetPhysicalArmorBaseValue | GetPhysicalArmorBaseValue]]  
| <code>float GetStrengthGain() </code>
| <code>float GetPhysicalArmorBaseValue()</code>
| No Description Set
| Returns base physical armor value.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.GetTimeUntilRespawn | GetTimeUntilRespawn]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetPhysicalArmorValue | GetPhysicalArmorValue]]  
| <code>float GetTimeUntilRespawn() </code>
| <code>float GetPhysicalArmorValue(bool bIgnoreBase)</code>
| No Description Set
| Returns current physical armor value.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.GetTogglableWearable | GetTogglableWearable]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetPlayerOwner | GetPlayerOwner]]  
| <code>handle GetTogglableWearable(int nSlotType) </code>
| <code>handle GetPlayerOwner()</code>
| Get wearable entity in slot (slot)
| Returns the player that owns this unit.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.HasAnyAvailableInventorySpace | HasAnyAvailableInventorySpace]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetPlayerOwnerID | GetPlayerOwnerID]]  
| <code>bool HasAnyAvailableInventorySpace() </code>
| <code>int GetPlayerOwnerID()</code>
| No Description Set
| Get the owner player ID for this unit.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.HasFlyingVision | HasFlyingVision]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetProjectileSpeed | GetProjectileSpeed]]  
| <code>bool HasFlyingVision() </code>
| <code>int GetProjectileSpeed()</code>
| No Description Set
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.HasOwnerAbandoned | HasOwnerAbandoned]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetRangeToUnit | GetRangeToUnit]]  
| <code>bool HasOwnerAbandoned() </code>
| <code>float GetRangeToUnit(handle hNPC)</code>
| No Description Set
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.HasRoomForItem | HasRoomForItem]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetRangedProjectileName | GetRangedProjectileName]]  
| <code>int HasRoomForItem(string pItemName, bool bIncludeStashCombines, bool bAllowSelling) </code>
| <code>string GetRangedProjectileName()</code>
| Args: const char* pItemName, ''bool'' bIncludeStashCombines, ''bool'' bAllowSelling
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.HeroLevelUp | HeroLevelUp]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetSecondsPerAttack | GetSecondsPerAttack]]  
| <code>void HeroLevelUp(bool bPlayEffects) </code>
| <code>float GetSecondsPerAttack()</code>
| Levels up the hero, true or false to play effects.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.IncrementAssists | IncrementAssists]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetSpellAmplification | GetSpellAmplification]]  
| <code>void IncrementAssists(int iKillerID) </code>
| <code>float GetSpellAmplification(bool bBaseOnly)</code>
| Value is stored in PlayerResource.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.IncrementDeaths | IncrementDeaths]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetStatusResistance | GetStatusResistance]]  
| <code>void IncrementDeaths(int iKillerID) </code>
| <code>float GetStatusResistance()</code>
| Value is stored in PlayerResource.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.IncrementDenies | IncrementDenies]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetTotalPurchasedUpgradeGoldCost | GetTotalPurchasedUpgradeGoldCost]]  
| <code>void IncrementDenies() </code>
| <code>int GetTotalPurchasedUpgradeGoldCost()</code>
| Value is stored in PlayerResource.
| Get how much gold has been spent on ability upgrades.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.IncrementKills | IncrementKills]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetUnitLabel | GetUnitLabel]]  
| <code>void IncrementKills(int kills) </code>
| <code>string GetUnitLabel()</code>
| Passed ID is for the victim, killer ID is ID of the current hero. Value is stored in PlayerResource.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.IncrementLastHitMultikill | IncrementLastHitMultikill]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetUnitName | GetUnitName]]  
| <code>void IncrementLastHitMultikill() </code>
| <code>string GetUnitName()</code>
| Value is stored in PlayerResource.
| Get the name of this unit.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.IncrementLastHits | IncrementLastHits]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GiveMana | GiveMana]]  
| <code>void IncrementLastHits() </code>
| <code>void GiveMana(float flMana)</code>
| Value is stored in PlayerResource.
| Give mana to this unit, this can be used for mana gained by abilities or item usage.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.IncrementLastHitStreak | IncrementLastHitStreak]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.HasAbility | HasAbility]]  
| <code>void IncrementLastHitStreak() </code>
| <code>bool HasAbility(string pszAbilityName)</code>
| Value is stored in PlayerResource.
| See whether this unit has an ability by name.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.IncrementNearbyCreepDeaths | IncrementNearbyCreepDeaths]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.HasAnyActiveAbilities | HasAnyActiveAbilities]]  
| <code>void IncrementNearbyCreepDeaths() </code>
| <code>bool HasAnyActiveAbilities()</code>
| Value is stored in PlayerResource.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.IncrementStreak | IncrementStreak]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.HasAttackCapability | HasAttackCapability]]  
| <code>void IncrementStreak() </code>
| <code>bool HasAttackCapability()</code>
| Value is stored in PlayerResource.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.IsBuybackDisabledByReapersScythe | IsBuybackDisabledByReapersScythe]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.HasFlyMovementCapability | HasFlyMovementCapability]]  
| <code>bool IsBuybackDisabledByReapersScythe() </code>
| <code>bool HasFlyMovementCapability()</code>
| No Description Set
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.IsReincarnating | IsReincarnating]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.HasFlyingVision | HasFlyingVision]]  
| <code>bool IsReincarnating() </code>
| <code>bool HasFlyingVision()</code>
| No Description Set
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.KilledHero | KilledHero]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.HasGroundMovementCapability | HasGroundMovementCapability]]  
| <code>void KilledHero(handle hHero, handle hInflictor) </code>
| <code>bool HasGroundMovementCapability()</code>
| Args: Hero, Inflictor
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.ModifyAgility | ModifyAgility]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.HasInventory | HasInventory]]  
| <code>void ModifyAgility(float flNewAgility) </code>
| <code>bool HasInventory()</code>
| Adds passed value to base attribute value, then calls CalculateStatBonus.
| Does this unit have an inventory.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.ModifyGold | ModifyGold]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.HasItemInInventory | HasItemInInventory]]  
| <code>int ModifyGold(int goldAmmt, bool reliable, int reason) </code>
| <code>bool HasItemInInventory(string pItemName)</code>
| Gives this hero some gold. Args: ''int'' nGoldChange, ''bool'' bReliable, ''int'' reason
| See whether this unit has an item by name.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.ModifyIntellect | ModifyIntellect]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.HasModifier | HasModifier]]  
| <code>void ModifyIntellect(float flNewIntellect) </code>
| <code>bool HasModifier(string pszScriptName)</code>
| Adds passed value to base attribute value, then calls CalculateStatBonus.
| Sees if this unit has a given modifier.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.ModifyStrength | ModifyStrength]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.HasMovementCapability | HasMovementCapability]]  
| <code>void ModifyStrength(float flNewStrength) </code>
| <code>bool HasMovementCapability()</code>
| Adds passed value to base attribute value, then calls CalculateStatBonus.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.PerformTaunt | PerformTaunt]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.HasScepter | HasScepter]]  
| <code>void PerformTaunt() </code>
| <code>bool HasScepter()</code>
| No Description Set
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.RecordLastHit | RecordLastHit]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.Heal | Heal]]  
| <code>void RecordLastHit() </code>
| <code>void Heal(float flAmount, handle hInflictor)</code>
| No Description Set
| Heal this unit.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.RespawnHero | RespawnHero]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.Hold | Hold]]  
| <code>void RespawnHero(bool buyback, bool unknown1, bool unknown2) </code>
| <code>void Hold()</code>
| Respawn this hero.
| Hold position.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.SetAbilityPoints | SetAbilityPoints]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.Interrupt | Interrupt]]  
| <code>void SetAbilityPoints(int iPoints) </code>
| <code>void Interrupt()</code>
| Sets the current unspent ability point's.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.SetBaseAgility | SetBaseAgility]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.InterruptChannel | InterruptChannel]]  
| <code>void SetBaseAgility(float flAgility) </code>
| <code>void InterruptChannel()</code>
| No Description Set
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.SetBaseIntellect | SetBaseIntellect]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.InterruptMotionControllers | InterruptMotionControllers]]  
| <code>void SetBaseIntellect(float flIntellect) </code>
| <code>void InterruptMotionControllers(bool bFindClearSpace)</code>
| No Description Set
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.SetBaseStrength | SetBaseStrength]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.IsAlive | IsAlive]]  
| <code>void SetBaseStrength(float flStrength) </code>
| <code>bool IsAlive()</code>
| No Description Set
| Is this unit alive?
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.SetBotDifficulty | SetBotDifficulty]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.IsAncient | IsAncient]]  
| <code>void SetBotDifficulty(int nDifficulty) </code>
| <code>bool IsAncient()</code>
|  
| Is this unit an Ancient?
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.SetBuybackCooldownTime | SetBuybackCooldownTime]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.IsAttackImmune | IsAttackImmune]]  
| <code>void SetBuybackCooldownTime(float flTime) </code>
| <code>bool IsAttackImmune()</code>
| Sets the buyback cooldown time.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.SetBuyBackDisabledByReapersScythe | SetBuyBackDisabledByReapersScythe]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.IsAttacking | IsAttacking]]  
| <code>void SetBuyBackDisabledByReapersScythe(bool bBuybackDisabled) </code>
| <code>bool IsAttacking()</code>
| No Description Set
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.SetBuybackGoldLimitTime | SetBuybackGoldLimitTime]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.IsAttackingEntity | IsAttackingEntity]]  
| <code>void SetBuybackGoldLimitTime(float flTime) </code>
| <code>bool IsAttackingEntity(handle hEntity)</code>
| Set the amount of time gold gain is limited after buying back.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.SetCustomDeathXP | SetCustomDeathXP]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.IsBarracks | IsBarracks]]  
| <code>void SetCustomDeathXP(int iValue) </code>
| <code>bool IsBarracks()</code>
| Sets a custom experience value for this hero. {{tip|GameRules boolean must be set for this to work!}}
| Is this unit a Barracks?
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.SetGold | SetGold]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.IsBlind | IsBlind]]  
| <code>void SetGold(int amount, bool reliableGold) </code>
| <code>bool IsBlind()</code>
| Sets the gold amount for the player owning this hero
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.SetPlayerID | SetPlayerID]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.IsBlockDisabled | IsBlockDisabled]]  
| <code>void SetPlayerID(int iPlayerID) </code>
| <code>bool IsBlockDisabled()</code>
| No Description Set
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.SetPrimaryAttribute | SetPrimaryAttribute]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.IsBoss | IsBoss]]  
| <code>void SetPrimaryAttribute(int nPrimaryAttribute) </code>
| <code>bool IsBoss()</code>
| Set this hero's primary attribute value.
| Is this unit a boss?
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.SetRespawnPosition | SetRespawnPosition]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.IsBuilding | IsBuilding]]  
| <code>void SetRespawnPosition(Vector vOrigin) </code>
| <code>bool IsBuilding()</code>
| No Description Set
| Is this unit a building?
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.SetRespawnsDisabled | SetRespawnsDisabled]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.IsChanneling | IsChanneling]]  
| <code>void SetRespawnsDisabled(bool bDisableRespawns) </code>
| <code>bool IsChanneling()</code>
| Prevent this hero from respawning.
| Is this unit currently channeling a spell?
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.SetTimeUntilRespawn | SetTimeUntilRespawn]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.IsClone | IsClone]]  
| <code>void SetTimeUntilRespawn(float time) </code>
| <code>bool IsClone()</code>
| No Description Set
| Is this unit a clone? (Meepo)
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.ShouldDoFlyHeightVisual | ShouldDoFlyHeightVisual]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.IsCommandRestricted | IsCommandRestricted]]  
| <code>bool ShouldDoFlyHeightVisual() </code>
| <code>bool IsCommandRestricted()</code>
| No Description Set
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.SpendGold | SpendGold]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.IsConsideredHero | IsConsideredHero]]  
| <code>void SpendGold(int amount, int reason) </code>
| <code>bool IsConsideredHero()</code>
| Args: ''int'' nGold, ''int'' nReason
| Is this unit a considered a hero for targeting purposes?
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.UnitCanRespawn | UnitCanRespawn]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.IsControllableByAnyPlayer | IsControllableByAnyPlayer]]  
| <code>bool UnitCanRespawn() </code>
| <code>bool IsControllableByAnyPlayer()</code>
| No Description Set
| Is this unit controlled by any non-bot player?
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.UpgradeAbility | UpgradeAbility]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.IsCourier | IsCourier]]  
| <code>void UpgradeAbility(handle hAbility) </code>
| <code>bool IsCourier()</code>
| This upgrades the passed ability if it exists and the hero has enough ability point's.
| Is this unit a courier?
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.WillReincarnate | WillReincarnate]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.IsCreature | IsCreature]]  
| <code>bool WillReincarnate() </code>
| <code>bool IsCreature()</code>
| No Description Set
| Is this a Creature type NPC?
|}
 
 
=== CDOTA_BaseNPC_Creature ===
:::::extends [[#CDOTA_BaseNPC| CDOTA_BaseNPC]]
''No Description Set''
{| class="standard-table" style="width: 100%;"
! Function
! Signature
! Description
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Creature.AddItemDrop | AddItemDrop]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.IsCreep | IsCreep]]  
| <code>void AddItemDrop(handle hDropData) </code>
| <code>bool IsCreep()</code>
| Add the specified item drop to this creature
| Is this unit a creep?
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Creature.CreatureLevelUp | CreatureLevelUp]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.IsDeniable | IsDeniable]]  
| <code>void CreatureLevelUp(int iLevels) </code>
| <code>bool IsDeniable()</code>
| Level the creature up by the specified number of levels
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Creature.IsChampion | IsChampion]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.IsDisarmed | IsDisarmed]]  
| <code>bool IsChampion() </code>
| <code>bool IsDisarmed()</code>
| Is this unit a champion?
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Creature.SetArmorGain | SetArmorGain]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.IsDominated | IsDominated]]  
| <code>void SetArmorGain(float flArmorGain) </code>
| <code>bool IsDominated()</code>
| Set the armor gained per level on this creature.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Creature.SetAttackTimeGain | SetAttackTimeGain]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.IsEvadeDisabled | IsEvadeDisabled]]  
| <code>void SetAttackTimeGain(float flAttackTimeGain) </code>
| <code>bool IsEvadeDisabled()</code>
| Set the attack time gained per level on this creature.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Creature.SetBountyGain | SetBountyGain]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.IsFort | IsFort]]  
| <code>void SetBountyGain(int nBountyGain) </code>
| <code>bool IsFort()</code>
| Set the bounty gold gained per level on this creature.
| Is this unit an Ancient?
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Creature.SetChampion | SetChampion]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.IsFrozen | IsFrozen]]  
| <code>void SetChampion(bool bIsChampion) </code>
| <code>bool IsFrozen()</code>
| Flag this unit as a champion creature.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Creature.SetDamageGain | SetDamageGain]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.IsHero | IsHero]]  
| <code>void SetDamageGain(int nDamageGain) </code>
| <code>bool IsHero()</code>
| Set the damage gained per level on this creature.
| Is this a hero or hero illusion?
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Creature.SetDisableResistanceGain | SetDisableResistanceGain]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.IsHexed | IsHexed]]  
| <code>void SetDisableResistanceGain(float flDisableResistanceGain) </code>
| <code>bool IsHexed()</code>
| Set the disable resistance gained per level on this creature.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Creature.SetHPGain | SetHPGain]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.IsIdle | IsIdle]]  
| <code>void SetHPGain(int nHPGain) </code>
| <code>bool IsIdle()</code>
| Set the hit point's gained per level on this creature.
| Is this creature currently idle?
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Creature.SetHPRegenGain | SetHPRegenGain]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.IsIllusion | IsIllusion]]  
| <code>void SetHPRegenGain(float flHPRegenGain) </code>
| <code>bool IsIllusion()</code>
| Set the hit point's regen gained per level on this creature.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Creature.SetMagicResistanceGain | SetMagicResistanceGain]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.IsInRangeOfShop | IsInRangeOfShop]]  
| <code>void SetMagicResistanceGain(float flMagicResistanceGain) </code>
| <code>bool IsInRangeOfShop(int nShopType, bool bPhysical)</code>
| Set the magic resistance gained per level on this creature.
| Ask whether this unit is in range of the specified shop ( DOTA_SHOP_TYPE shop, bool bMustBePhysicallyNear
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Creature.SetManaGain | SetManaGain]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.IsInvisible | IsInvisible]]  
| <code>void SetManaGain(int nManaGain) </code>
| <code>bool IsInvisible()</code>
| Set the mana point's gained per level on this creature.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Creature.SetManaRegenGain | SetManaRegenGain]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.IsInvulnerable | IsInvulnerable]]  
| <code>void SetManaRegenGain(float flManaRegenGain) </code>
| <code>bool IsInvulnerable()</code>
| Set the mana point's regen gained per level on this creature.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Creature.SetMoveSpeedGain | SetMoveSpeedGain]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.IsLowAttackPriority | IsLowAttackPriority]]  
| <code>void SetMoveSpeedGain(int nMoveSpeedGain) </code>
| <code>bool IsLowAttackPriority()</code>
| Set the move speed gained per level on this creature.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Creature.SetXPGain | SetXPGain]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.IsMagicImmune | IsMagicImmune]]  
| <code>void SetXPGain(int nXPGain) </code>
| <code>bool IsMagicImmune()</code>
| Set the xp reward gained per level on this creature.
|
|}
 
 
=== CDOTA_BaseNPC_Building ===
:::::extends [[#CDOTA_BaseNPC| CDOTA_BaseNPC]]
''No Description Set''
{| class="standard-table" style="width: 100%;"
! Function
! Signature
! Description
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Building.GetInvulnCount | GetInvulnCount]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.IsMovementImpaired | IsMovementImpaired]]  
| <code>int GetInvulnCount() </code>
| <code>bool IsMovementImpaired()</code>
| Get the invulnerability count for a building.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Building.SetInvulnCount | SetInvulnCount]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.IsMoving | IsMoving]]  
| <code>void SetInvulnCount(int nInvulnCount) </code>
| <code>bool IsMoving()</code>
| Set the invulnerability counter of this building.
| Is this unit moving?
|}
 
 
=== CDOTABaseGameMode ===
:::::extends [[#CBaseEntity| CBaseEntity]]
''No Description Set''
{| class="standard-table" style="width: 100%;"
! Function
! Signature
! Description
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.ClearAbilityTuningValueFilter | ClearAbilityTuningValueFilter]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.IsMuted | IsMuted]]  
| <code>void ClearAbilityTuningValueFilter() </code>
| <code>bool IsMuted()</code>
| Clear the script filter that controls the tuning values abilities use.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.ClearBountyRunePickupFilter | ClearBountyRunePickupFilter]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.IsNeutralUnitType | IsNeutralUnitType]]  
| <code>void ClearBountyRunePickupFilter() </code>
| <code>bool IsNeutralUnitType()</code>
| Clear the script filter that controls bounty rune pickup behavior.
| Is this a neutral?
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.ClearDamageFilter | ClearDamageFilter]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.IsNightmared | IsNightmared]]  
| <code>void ClearDamageFilter() </code>
| <code>bool IsNightmared()</code>
| Clear the script filter that controls how a unit takes damage.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.ClearExecuteOrderFilter | ClearExecuteOrderFilter]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.IsOpposingTeam | IsOpposingTeam]]  
| <code>void ClearExecuteOrderFilter() </code>
| <code>bool IsOpposingTeam(int nTeam)</code>
| Clear the script filter that controls when a unit picks up an item.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.ClearModifierGainedFilter | ClearModifierGainedFilter]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.IsOther | IsOther]]  
| <code>void ClearModifierGainedFilter() </code>
| <code>bool IsOther()</code>
| Clear the script filter that controls the modifier filter.
| Is this unit a ward-type unit?
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.ClearModifyExperienceFilter | ClearModifyExperienceFilter]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.IsOutOfGame | IsOutOfGame]]  
| <code>void ClearModifyExperienceFilter() </code>
| <code>bool IsOutOfGame()</code>
| Clear the script filter that controls how hero experience is modified.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.ClearModifyGoldFilter | ClearModifyGoldFilter]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.IsOwnedByAnyPlayer | IsOwnedByAnyPlayer]]  
| <code>void ClearModifyGoldFilter() </code>
| <code>bool IsOwnedByAnyPlayer()</code>
| Clear the script filter that controls how hero gold is modified.
| Is this unit owned by any non-bot player?
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.ClearRuneSpawnFilter | ClearRuneSpawnFilter]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.IsPhantom | IsPhantom]]  
| <code>void ClearRuneSpawnFilter() </code>
| <code>bool IsPhantom()</code>
| Clear the script filter that controls what rune spawns.
| Is this a phantom unit?
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.ClearTrackingProjectileFilter | ClearTrackingProjectileFilter]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.IsPhantomBlocker | IsPhantomBlocker]]  
| <code>void ClearTrackingProjectileFilter() </code>
| <code>bool IsPhantomBlocker()</code>
| Clear the script filter that controls when tracking projectiles are launched.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.ClientLoadGridNav | ClientLoadGridNav]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.IsPhased | IsPhased]]  
| <code>void ClientLoadGridNav() </code>
| <code>bool IsPhased()</code>
| Tell clients that they need to load gridnav information. Used for things like allowing clients to identify valid locations to place buildings.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.GetAlwaysShowPlayerInventory | GetAlwaysShowPlayerInventory]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.IsPositionInRange | IsPositionInRange]]  
| <code>bool GetAlwaysShowPlayerInventory() </code>
| <code>bool IsPositionInRange(Vector vPosition, float flRange)</code>
| Show the player hero's inventory in the HUD, regardless of what unit is selected.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.GetAnnouncerDisabled | GetAnnouncerDisabled]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.IsRangedAttacker | IsRangedAttacker]]  
| <code>bool GetAnnouncerDisabled() </code>
| <code>bool IsRangedAttacker()</code>
| Are in-game announcers disabled?
| Is this unit a ranged attacker?  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.GetCameraDistanceOverride | GetCameraDistanceOverride]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.IsRealHero | IsRealHero]]  
| <code>float GetCameraDistanceOverride() </code>
| <code>bool IsRealHero()</code>
| Set a different camera distance; dota default is 1134.
| Is this a real hero?
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.GetCustomBuybackCooldownEnabled | GetCustomBuybackCooldownEnabled]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.IsRooted | IsRooted]]  
| <code>bool GetCustomBuybackCooldownEnabled() </code>
| <code>bool IsRooted()</code>
| Turns on capability to define custom buyback cooldowns.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.GetCustomBuybackCostEnabled | GetCustomBuybackCostEnabled]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.IsShrine | IsShrine]]  
| <code>bool GetCustomBuybackCostEnabled() </code>
| <code>bool IsShrine()</code>
| Turns on capability to define custom buyback costs.
| Is this a shrine?
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.GetCustomHeroMaxLevel | GetCustomHeroMaxLevel]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.IsSilenced | IsSilenced]]  
| <code>int GetCustomHeroMaxLevel() </code>
| <code>bool IsSilenced()</code>
| Allows definition of the max level heroes can achieve (default is 25).
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.GetFixedRespawnTime | GetFixedRespawnTime]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.IsSpeciallyDeniable | IsSpeciallyDeniable]]  
| <code>float GetFixedRespawnTime() </code>
| <code>bool IsSpeciallyDeniable()</code>
| Gets the fixed respawn time.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.GetFogOfWarDisabled | GetFogOfWarDisabled]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.IsStunned | IsStunned]]  
| <code>bool GetFogOfWarDisabled() </code>
| <code>bool IsStunned()</code>
| Turn the fog of war on or off.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.GetGoldSoundDisabled | GetGoldSoundDisabled]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.IsSummoned | IsSummoned]]  
| <code>bool GetGoldSoundDisabled() </code>
| <code>bool IsSummoned()</code>
| Turn the sound when gold is acquired off/on.
| Is this unit summoned?
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.GetMaximumAttackSpeed | GetMaximumAttackSpeed]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.IsTempestDouble | IsTempestDouble]]  
| <code>int GetMaximumAttackSpeed() </code>
| <code>bool IsTempestDouble()</code>
| Get the maximum attack speed for units.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.GetMinimumAttackSpeed | GetMinimumAttackSpeed]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.IsTower | IsTower]]  
| <code>int GetMinimumAttackSpeed() </code>
| <code>bool IsTower()</code>
| Get the minimum attack speed for units.
| Is this a tower?
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.GetRecommendedItemsDisabled | GetRecommendedItemsDisabled]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.IsUnableToMiss | IsUnableToMiss]]  
| <code>bool GetRecommendedItemsDisabled() </code>
| <code>bool IsUnableToMiss()</code>
| Turn the panel for showing recommended items at the shop off/on.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.GetStashPurchasingDisabled | GetStashPurchasingDisabled]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.IsUnselectable | IsUnselectable]]  
| <code>bool GetStashPurchasingDisabled() </code>
| <code>bool IsUnselectable()</code>
| Turn purchasing items to the stash off/on. If purchasing to the stash is off the player must be at a shop to purchase items.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.GetTopBarTeamValuesOverride | GetTopBarTeamValuesOverride]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.IsUntargetable | IsUntargetable]]  
| <code>bool GetTopBarTeamValuesOverride() </code>
| <code>bool IsUntargetable()</code>
| Override the values of the team values on the top game bar.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.GetTopBarTeamValuesVisible | GetTopBarTeamValuesVisible]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.Kill | Kill]]  
| <code>bool GetTopBarTeamValuesVisible() </code>
| <code>void Kill(handle hAbility, handle hAttacker)</code>
| Turning on/off the team values on the top game bar.
| Kills this NPC, with the params Ability and Attacker.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.GetTowerBackdoorProtectionEnabled | GetTowerBackdoorProtectionEnabled]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.MakeIllusion | MakeIllusion]]  
| <code>bool GetTowerBackdoorProtectionEnabled() </code>
| <code>void MakeIllusion()</code>
| Enables/Disables tower backdoor protection.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.GetUseCustomHeroLevels | GetUseCustomHeroLevels]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.MakePhantomBlocker | MakePhantomBlocker]]  
| <code>bool GetUseCustomHeroLevels() </code>
| <code>void MakePhantomBlocker()</code>
| Are custom-defined XP values for hero level ups in use?
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.IsBuybackEnabled | IsBuybackEnabled]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.MakeVisibleDueToAttack | MakeVisibleDueToAttack]]  
| <code>bool IsBuybackEnabled() </code>
| <code>void MakeVisibleDueToAttack(int iTeam, float flRadius)</code>
| Enables or disables buyback completely.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.SetAbilityTuningValueFilter | SetAbilityTuningValueFilter]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.MakeVisibleToTeam | MakeVisibleToTeam]]  
| <code>void SetAbilityTuningValueFilter(handle hFunction, handle hContext) </code>
| <code>void MakeVisibleToTeam(int iTeam, float flDuration)</code>
| Set a filter function to control the tuning values that abilities use. (Modify the table and Return true to use new values, return false to use the old values)
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.SetAlwaysShowPlayerInventory | SetAlwaysShowPlayerInventory]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.ManageModelChanges | ManageModelChanges]]  
| <code>void SetAlwaysShowPlayerInventory(bool bAlwaysShow) </code>
| <code>void ManageModelChanges()</code>
| Show the player hero's inventory in the HUD, regardless of what unit is selected.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.SetAnnouncerDisabled | SetAnnouncerDisabled]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.ModifyHealth | ModifyHealth]]  
| <code>void SetAnnouncerDisabled(bool enabled) </code>
| <code>void ModifyHealth(int iDesiredHealthValue, handle hAbility, bool bLethal, int iAdditionalFlags)</code>
| Disables the dota announcer
| Sets the health to a specific value, with optional flags or inflictors.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.SetBotsAlwaysPushWithHuman | SetBotsAlwaysPushWithHuman]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.MoveToNPC | MoveToNPC]]  
| <code>void SetBotsAlwaysPushWithHuman(bool bAlwaysPush) </code>
| <code>void MoveToNPC(handle hNPC)</code>
| Set if the bots should try their best to push with a human player.
| Move to follow a unit.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.SetBotsInLateGame | SetBotsInLateGame]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.MoveToNPCToGiveItem | MoveToNPCToGiveItem]]  
| <code>void SetBotsInLateGame(bool bLateGame) </code>
| <code>void MoveToNPCToGiveItem(handle hNPC, handle hItem)</code>
| Set if bots should enable their late game behavior.
| Give an item to another unit.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.SetBotsMaxPushTier | SetBotsMaxPushTier]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.MoveToPosition | MoveToPosition]]  
| <code>void SetBotsMaxPushTier(int nMaxTier) </code>
| <code>void MoveToPosition(Vector vDest)</code>
| Set the max tier of tower that bots want to push. (-1 to disable)
| Issue a Move-To command.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.SetBotThinkingEnabled | SetBotThinkingEnabled]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.MoveToPositionAggressive | MoveToPositionAggressive]]  
| <code>void SetBotThinkingEnabled(bool bEnabled) </code>
| <code>void MoveToPositionAggressive(Vector vDest)</code>
| Enables/Disables bot thinking. Requires a very Dota PvP-like map with 3 lanes, a shop, etc.
| Issue an Attack-Move-To command.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.SetBountyRunePickupFilter | SetBountyRunePickupFilter]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.MoveToTargetToAttack | MoveToTargetToAttack]]  
| <code>void SetBountyRunePickupFilter(handle hFunction, handle hContext) </code>
| <code>void MoveToTargetToAttack(handle hTarget)</code>
| Set a filter function to control the behavior when a bounty rune is picked up. (Modify the table and Return true to use new values, return false to cancel the event)
| Move to a target to attack.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.SetBuybackEnabled | SetBuybackEnabled]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.NoHealthBar | NoHealthBar]]  
| <code>void SetBuybackEnabled(bool bEnabled) </code>
| <code>bool NoHealthBar()</code>
| Enables or disables buyback completely
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.SetCameraDistanceOverride | SetCameraDistanceOverride]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.NoTeamMoveTo | NoTeamMoveTo]]  
| <code>void SetCameraDistanceOverride(float flCameraDistanceOverride) </code>
| <code>bool NoTeamMoveTo()</code>
| Set a different camera distance; dota default is 1134.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.SetCustomBuybackCooldownEnabled | SetCustomBuybackCooldownEnabled]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.NoTeamSelect | NoTeamSelect]]  
| <code>void SetCustomBuybackCooldownEnabled(bool bEnabled) </code>
| <code>bool NoTeamSelect()</code>
| Turns on capability to define custom buyback cooldowns.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.SetCustomBuybackCostEnabled | SetCustomBuybackCostEnabled]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.NoUnitCollision | NoUnitCollision]]  
| <code>void SetCustomBuybackCostEnabled(bool bEnabled) </code>
| <code>bool NoUnitCollision()</code>
| Turns on capability to define custom buyback costs.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.SetCustomGameForceHero | SetCustomGameForceHero]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.NotOnMinimap | NotOnMinimap]]  
| <code>void SetCustomGameForceHero(string pHeroName) </code>
| <code>bool NotOnMinimap()</code>
| Force single-player hero selection.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.SetCustomHeroMaxLevel | SetCustomHeroMaxLevel]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.NotOnMinimapForEnemies | NotOnMinimapForEnemies]]  
| <code>void SetCustomHeroMaxLevel(int maxLevel) </code>
| <code>bool NotOnMinimapForEnemies()</code>
| Allows definition of the max level heroes can achieve (default is 25).
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.SetCustomXPRequiredToReachNextLevel | SetCustomXPRequiredToReachNextLevel]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.NotifyWearablesOfModelChange | NotifyWearablesOfModelChange]]  
| <code>void SetCustomXPRequiredToReachNextLevel(handle hTable) </code>
| <code>void NotifyWearablesOfModelChange(bool bOriginalModel)</code>
| Allows definition of a ''table'' of hero XP values.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.SetDamageFilter | SetDamageFilter]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.PassivesDisabled | PassivesDisabled]]  
| <code>void SetDamageFilter(handle hFunction, handle hContext) </code>
| <code>bool PassivesDisabled()</code>
| Set a filter function to control the behavior when a unit takes damage. (Modify the table and Return true to use new values, return false to cancel the event)
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.SetExecuteOrderFilter | SetExecuteOrderFilter]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.PatrolToPosition | PatrolToPosition]]  
| <code>void SetExecuteOrderFilter(handle hFunction, handle hContext) </code>
| <code>void PatrolToPosition(Vector vDest)</code>
| Set a filter function to control the behavior when a unit picks up an item. (Modify the table and Return true to use new values, return false to cancel the event)
| Issue a Patrol-To command.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.SetFixedRespawnTime | SetFixedRespawnTime]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.PerformAttack | PerformAttack]]  
| <code>void SetFixedRespawnTime(float time) </code>
| <code>void PerformAttack(handle hTarget, bool bUseCastAttackOrb, bool bProcessProcs, bool bSkipCooldown, bool bIgnoreInvis, bool bUseProjectile, bool bFakeAttack, bool bNeverMiss)</code>
| Sets the dota respawn time. -1 for default behavior
| Performs an attack on a target.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.SetFogOfWarDisabled | SetFogOfWarDisabled]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.PickupDroppedItem | PickupDroppedItem]]  
| <code>void SetFogOfWarDisabled(bool bDisabled) </code>
| <code>void PickupDroppedItem(handle hItem)</code>
| Turn the fog of war on or off.
| Pick up a dropped item.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.SetFountainConstantManaRegen | SetFountainConstantManaRegen]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.PickupRune | PickupRune]]  
| <code>void SetFountainConstantManaRegen(float flConstantManaRegen) </code>
| <code>void PickupRune(handle hItem)</code>
| Set the constant rate that the fountain will regen mana. (-1 for default)
| Pick up a rune.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.SetFountainPercentageHealthRegen | SetFountainPercentageHealthRegen]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.PlayVCD | PlayVCD]]  
| <code>void SetFountainPercentageHealthRegen(float flPercentageHealthRegen) </code>
| <code>void PlayVCD(string pVCD)</code>
| Set the percentage rate that the fountain will regen health. (-1 for default)
| Play a VCD on the NPC.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.SetFountainPercentageManaRegen | SetFountainPercentageManaRegen]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.ProvidesVision | ProvidesVision]]  
| <code>void SetFountainPercentageManaRegen(float flPercentageManaRegen) </code>
| <code>bool ProvidesVision()</code>
| Set the percentage rate that the fountain will regen mana. (-1 for default)
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.SetGoldSoundDisabled | SetGoldSoundDisabled]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.Purge | Purge]]  
| <code>void SetGoldSoundDisabled(bool bDisabled) </code>
| <code>void Purge(bool bRemovePositiveBuffs, bool bRemoveDebuffs, bool bFrameOnly, bool bRemoveStuns, bool bRemoveExceptions)</code>
| Turn the sound when gold is acquired off/on. Takes a ''bool''.
| (bool RemovePositiveBuffs, bool RemoveDebuffs, bool BuffsCreatedThisFrameOnly, bool RemoveStuns, bool RemoveExceptions
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.SetHUDVisible | SetHUDVisible]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.ReduceMana | ReduceMana]]  
| <code>void SetHUDVisible(int iHUDElement, bool bVisible) </code>
| <code>void ReduceMana(float flAmount)</code>
| Set the HUD element visibility.
| Remove mana from this unit, this can be used for involuntary mana loss, not for mana that is spent.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.SetLoseGoldOnDeath | SetLoseGoldOnDeath]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.RemoveAbility | RemoveAbility]]  
| <code>void SetLoseGoldOnDeath(bool bEnabled) </code>
| <code>void RemoveAbility(string pszAbilityName)</code>
| Use to disable gold loss on death.
| Remove an ability from this unit by name.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.SetMaximumAttackSpeed | SetMaximumAttackSpeed]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.RemoveAbilityByHandle | RemoveAbilityByHandle]]  
| <code>void SetMaximumAttackSpeed(int nMaxSpeed) </code>
| <code>void RemoveAbilityByHandle(handle hAbility)</code>
| Set the maximum attack speed for units.
| Remove the passed ability from this unit.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.SetMinimumAttackSpeed | SetMinimumAttackSpeed]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.RemoveGesture | RemoveGesture]]  
| <code>void SetMinimumAttackSpeed(int nMinSpeed) </code>
| <code>void RemoveGesture(int nActivity)</code>
| Set the minimum attack speed for units.
| Remove the given gesture activity.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.SetModifierGainedFilter | SetModifierGainedFilter]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.RemoveHorizontalMotionController | RemoveHorizontalMotionController]]  
| <code>void SetModifierGainedFilter(handle hFunction, handle hContext) </code>
| <code>void RemoveHorizontalMotionController(handle hBuff)</code>
| Set a filter function to control modifiers that are gained, return false to destroy modifier.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.SetModifyExperienceFilter | SetModifyExperienceFilter]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.RemoveItem | RemoveItem]]  
| <code>void SetModifyExperienceFilter(handle hFunction, handle hContext) </code>
| <code>void RemoveItem(handle hItem)</code>
| Set a filter function to control the behavior when a hero's experience is modified. (Modify the table and Return true to use new values, return false to cancel the event)
| Removes the passed item from this unit's inventory and deletes it.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.SetModifyGoldFilter | SetModifyGoldFilter]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.RemoveModifierByName | RemoveModifierByName]]  
| <code>void SetModifyGoldFilter(handle hFunction, handle hContext) </code>
| <code>void RemoveModifierByName(string pszScriptName)</code>
| Set a filter function to control the behavior when a hero's gold is modified. (Modify the table and Return true to use new values, return false to cancel the event)
| Removes a modifier.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.SetOverrideSelectionEntity | SetOverrideSelectionEntity]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.RemoveModifierByNameAndCaster | RemoveModifierByNameAndCaster]]  
| <code>void SetOverrideSelectionEntity(handle unit) </code>
| <code>void RemoveModifierByNameAndCaster(string pszScriptName, handle hCaster)</code>
| Set an override for the default selection entity, instead of each player's hero.
| Removes a modifier that was cast by the given caster.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.SetRecommendedItemsDisabled | SetRecommendedItemsDisabled]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.RemoveNoDraw | RemoveNoDraw]]  
| <code>void SetRecommendedItemsDisabled(bool bDisabled) </code>
| <code>void RemoveNoDraw()</code>
| Turn the panel for showing recommended items at the shop off/on. Takes a ''bool''.
| Remove the no draw flag.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.SetRemoveIllusionsOnDeath | SetRemoveIllusionsOnDeath]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.RemoveVerticalMotionController | RemoveVerticalMotionController]]  
| <code>void SetRemoveIllusionsOnDeath(bool bRemove) </code>
| <code>void RemoveVerticalMotionController(handle hBuff)</code>
| Make it so illusions are immediately removed upon death, rather than sticking around for a few seconds.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.SetRuneEnabled | SetRuneEnabled]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.RespawnUnit | RespawnUnit]]  
| <code>void SetRuneEnabled(int nRune, bool bEnabled) </code>
| <code>void RespawnUnit()</code>
| Set if a given type of rune is enabled.
| Respawns the target unit if it can be respawned.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.SetRuneSpawnFilter | SetRuneSpawnFilter]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.Script_GetAttackRange | Script_GetAttackRange]]  
| <code>void SetRuneSpawnFilter(handle hFunction, handle hContext) </code>
| <code>float Script_GetAttackRange()</code>
| Set a filter function to control what rune spawns. (Modify the table and Return true to use new values, return false to cancel the event)
| Gets this unit's attack range after all modifiers.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.SetStashPurchasingDisabled | SetStashPurchasingDisabled]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.SellItem | SellItem]]  
| <code>void SetStashPurchasingDisabled(bool bDisabled) </code>
| <code>void SellItem(handle hItem)</code>
| Turn purchasing items to the stash off/on. If purchasing to the stash is off the player must be at a shop to purchase items.
| Sells the passed item in this unit's inventory.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.SetTopBarTeamValue | SetTopBarTeamValue]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.SetAbilityByIndex | SetAbilityByIndex]]  
| <code>void SetTopBarTeamValue(int iTeam, int nValue) </code>
| <code>void SetAbilityByIndex(handle hAbility, int iIndex)</code>
| Set the team values on the top game bar.
| Set the ability by index.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.SetTopBarTeamValuesOverride | SetTopBarTeamValuesOverride]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.SetAcquisitionRange | SetAcquisitionRange]]  
| <code>void SetTopBarTeamValuesOverride(bool bOverride) </code>
| <code>void SetAcquisitionRange(int nRange)</code>
| Override the values of the team values on the top game bar.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.SetTopBarTeamValuesVisible | SetTopBarTeamValuesVisible]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.SetAdditionalBattleMusicWeight | SetAdditionalBattleMusicWeight]]  
| <code>void SetTopBarTeamValuesVisible(bool bVisible) </code>
| <code>void SetAdditionalBattleMusicWeight(float flWeight)</code>
| Turning on/off the team values on the top game bar.
| Combat involving this creature will have this weight added to the music calcuations.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.SetTowerBackdoorProtectionEnabled | SetTowerBackdoorProtectionEnabled]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.SetAggroTarget | SetAggroTarget]]  
| <code>void SetTowerBackdoorProtectionEnabled(bool bEnabled) </code>
| <code>void SetAggroTarget(handle hAggroTarget)</code>
| Enables/Disables tower backdoor protection
| Set this unit's aggro target to a specified unit.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.SetTrackingProjectileFilter | SetTrackingProjectileFilter]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.SetAttackCapability | SetAttackCapability]]  
| <code>void SetTrackingProjectileFilter(handle hFunction, handle hContext) </code>
| <code>void SetAttackCapability(int iAttackCapabilities)</code>
| Set a filter function to control when tracking projectiles are launched. (Modify the table and Return true to use new values, return false to cancel the event)
|
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.SetAttacking | SetAttacking]]
| <code>void SetAttacking(handle hAttackTarget)</code>
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.SetUnseenFogOfWarEnabled | SetUnseenFogOfWarEnabled]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.SetBaseAttackTime | SetBaseAttackTime]]  
| <code>void SetUnseenFogOfWarEnabled(bool bEnabled) </code>
| <code>void SetBaseAttackTime(float flBaseAttackTime)</code>
| Enable or disable unseen fog of war. When enabled parts of the map the player has never seen will be completely hidden by fog of war.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.SetUseCustomHeroLevels | SetUseCustomHeroLevels]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.SetBaseDamageMax | SetBaseDamageMax]]  
| <code>void SetUseCustomHeroLevels(bool bEnabled) </code>
| <code>void SetBaseDamageMax(int nMax)</code>
| Turn on custom-defined XP values for hero level ups. The ''table'' should be defined before switching this on.
| Sets the maximum base damage.  
|}
 
 
=== CDotaQuest ===
:::::extends [[#CBaseEntity| CBaseEntity]]
''A quest, as seen in the Tutorial and Frostivus''
{| class="standard-table" style="width: 100%;"
! Function
! Signature
! Description
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDotaQuest.AddSubquest | AddSubquest]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.SetBaseDamageMin | SetBaseDamageMin]]  
| <code>void AddSubquest(handle hSubquest) </code>
| <code>void SetBaseDamageMin(int nMin)</code>
| Add a subquest to this quest
| Sets the minimum base damage.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDotaQuest.CompleteQuest | CompleteQuest]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.SetBaseHealthRegen | SetBaseHealthRegen]]  
| <code>void CompleteQuest() </code>
| <code>void SetBaseHealthRegen(float flHealthRegen)</code>
| Mark this quest complete
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDotaQuest.GetSubquest | GetSubquest]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.SetBaseMagicalResistanceValue | SetBaseMagicalResistanceValue]]  
| <code>handle GetSubquest(int nIndex) </code>
| <code>void SetBaseMagicalResistanceValue(float flMagicalResistanceValue)</code>
| Finds a subquest from this quest by index
| Sets base magical armor value.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDotaQuest.GetSubquestByName | GetSubquestByName]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.SetBaseManaRegen | SetBaseManaRegen]]  
| <code>handle GetSubquestByName(string pszName) </code>
| <code>void SetBaseManaRegen(float flManaRegen)</code>
| Finds a subquest from this quest by name
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDotaQuest.RemoveSubquest | RemoveSubquest]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.SetBaseMaxHealth | SetBaseMaxHealth]]  
| <code>void RemoveSubquest(handle hSubquest) </code>
| <code>void SetBaseMaxHealth(float flBaseMaxHealth)</code>
| Remove a subquest from this quest
| Set a new base max health value.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDotaQuest.SetTextReplaceString | SetTextReplaceString]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.SetBaseMoveSpeed | SetBaseMoveSpeed]]  
| <code>void SetTextReplaceString(string pszString) </code>
| <code>void SetBaseMoveSpeed(int iMoveSpeed)</code>
| Set the text replace ''string'' for this quest
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDotaQuest.SetTextReplaceValue | SetTextReplaceValue]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.SetCanSellItems | SetCanSellItems]]  
| <code>void SetTextReplaceValue(int valueSlot, int value) </code>
| <code>void SetCanSellItems(bool bCanSell)</code>
| Set a quest value
| Set whether or not this unit is allowed to sell items (bCanSellItems)
|}
 
 
=== CDotaSubquestBase ===
:::::extends [[#CDotaQuest| CDotaQuest]]
''No Description Set''
{| class="standard-table" style="width: 100%;"
! Function
! Signature
! Description
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDotaSubquestBase.CompleteSubquest | CompleteSubquest]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.SetControllableByPlayer | SetControllableByPlayer]]  
| <code>void CompleteSubquest() </code>
| <code>void SetControllableByPlayer(int iIndex, bool bSkipAdjustingPosition)</code>
| Mark this subquest complete
| Set this unit controllable by the player with the passed ID.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDotaSubquestBase.SetTextReplaceString | SetTextReplaceString]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.SetCursorCastTarget | SetCursorCastTarget]]  
| <code>void SetTextReplaceString(string pszString) </code>
| <code>void SetCursorCastTarget(handle hEntity)</code>
| Set the text replace ''string'' for this subquest
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDotaSubquestBase.SetTextReplaceValue | SetTextReplaceValue]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.SetCursorPosition | SetCursorPosition]]  
| <code>void SetTextReplaceValue(int valueSlot, int value) </code>
| <code>void SetCursorPosition(Vector vLocation)</code>
| Set a subquest value
|
|}
 
 
=== CPhysicsComponent ===
''No Description Set''
{| class="standard-table" style="width: 100%;"
! Function
! Signature
! Description
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CPhysicsComponent.ExpensiveInstantRayCast | ExpensiveInstantRayCast]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.SetCursorTargetingNothing | SetCursorTargetingNothing]]  
| <code>bool ExpensiveInstantRayCast(Vector Vector_1, Vector Vector_2, handle handle_3) </code>
| <code>void SetCursorTargetingNothing(bool bTargetingNothing)</code>
| Do an instant (i.e. blocking) Ray Cast. Will do a handle/queue version later. Don't plan to use this for real!
|
|}
 
 
=== CPointTemplate ===
''No Description Set''
{| class="standard-table" style="width: 100%;"
! Function
! Signature
! Description
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CPointTemplate.DeleteCreatedSpawnGroups | DeleteCreatedSpawnGroups]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.SetCustomHealthLabel | SetCustomHealthLabel]]  
| <code>void DeleteCreatedSpawnGroups() </code>
| <code>void SetCustomHealthLabel(string pLabel, int r, int g, int b)</code>
| DeleteCreatedSpawnGroups() : Deletes any spawn groups that this point_template has spawned. Note: The point_template will not be deleted by this.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CPointTemplate.ForceSpawn | ForceSpawn]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.SetDayTimeVisionRange | SetDayTimeVisionRange]]  
| <code>void ForceSpawn() </code>
| <code>void SetDayTimeVisionRange(int iRange)</code>
| ForceSpawn() : Spawns all of the entities the point_template is pointing at.
| Set the base vision range.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CPointTemplate.GetSpawnedEntities | GetSpawnedEntities]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.SetDeathXP | SetDeathXP]]  
| <code>handle GetSpawnedEntities() </code>
| <code>void SetDeathXP(int iXPBounty)</code>
| GetSpawnedEntities() : Get the list of the most recent spawned entities
| Set the XP bounty on this unit.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CPointTemplate.SetSpawnCallback | SetSpawnCallback]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.SetForceAttackTarget | SetForceAttackTarget]]  
| <code>void SetSpawnCallback(handle hCallbackFunc, handle hCallbackScope) </code>
| <code>void SetForceAttackTarget(handle hNPC)</code>
| SetSpawnCallback( hCallbackFunc, hCallbackScope, hCallbackData ) : Set a callback for when the template spawns entities. The spawned entities will be passed in as an array.
|
|}
 
 
=== CBodyComponent ===
''No Description Set''
{| class="standard-table" style="width: 100%;"
! Function
! Signature
! Description
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CBodyComponent.AddImpulseAtPosition | AddImpulseAtPosition]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.SetForceAttackTargetAlly | SetForceAttackTargetAlly]]  
| <code>void AddImpulseAtPosition(Vector Vector_1, Vector Vector_2) </code>
| <code>void SetForceAttackTargetAlly(handle hNPC)</code>
| Apply an impulse at a worldspace position to the physics
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CBodyComponent.AddVelocity | AddVelocity]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.SetHasInventory | SetHasInventory]]  
| <code>void AddVelocity(Vector Vector_1, Vector Vector_2) </code>
| <code>void SetHasInventory(bool bHasInventory)</code>
| Add linear and angular velocity to the physics object
| Set if this unit has an inventory.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CBodyComponent.DetachFromParent | DetachFromParent]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.SetHullRadius | SetHullRadius]]  
| <code>void DetachFromParent() </code>
| <code>void SetHullRadius(float flHullRadius)</code>
| Detach from its parent
| Set the collision hull radius of this NPC.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CBodyComponent.GetSequence | GetSequence]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.SetIdleAcquire | SetIdleAcquire]]  
| <code><> GetSequence() </code>
| <code>void SetIdleAcquire(bool bIdleAcquire)</code>
| Returns the active sequence
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CBodyComponent.IsAttachedToParent | IsAttachedToParent]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.SetInitialGoalEntity | SetInitialGoalEntity]]  
| <code>bool IsAttachedToParent() </code>
| <code>void SetInitialGoalEntity(handle hGoal)</code>
| Is attached to parent
| Sets the initial waypoint goal for this NPC.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CBodyComponent.LookupSequence | LookupSequence]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.SetInitialGoalPosition | SetInitialGoalPosition]]  
| <code><> LookupSequence(string string_1) </code>
| <code>void SetInitialGoalPosition(Vector vPosition)</code>
| Returns a sequence id given a name
| Set waypoint position for this NPC.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CBodyComponent.SequenceDuration | SequenceDuration]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.SetMana | SetMana]]  
| <code>float SequenceDuration(string string_1) </code>
| <code>void SetMana(float flMana)</code>
| Returns the duration in seconds of the specified sequence
| Set the mana on this unit.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CBodyComponent.SetAngularVelocity | SetAngularVelocity]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.SetMaxMana | SetMaxMana]]  
| <code>void SetAngularVelocity(Vector Vector_1) </code>
| <code>void SetMaxMana(float flMaxMana)</code>
| No Description Set
| Set the maximum mana of this unit.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CBodyComponent.SetAnimation | SetAnimation]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.SetMaximumGoldBounty | SetMaximumGoldBounty]]  
| <code>void SetAnimation(string string_1) </code>
| <code>void SetMaximumGoldBounty(int iGoldBountyMax)</code>
| Pass ''string'' for the animation to play on this model
| Set the maximum gold bounty for this unit.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CBodyComponent.SetBodyGroup | SetBodyGroup]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.SetMinimumGoldBounty | SetMinimumGoldBounty]]  
| <code>void SetBodyGroup(string string_1) </code>
| <code>void SetMinimumGoldBounty(int iGoldBountyMin)</code>
| No Description Set
| Set the minimum gold bounty for this unit.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CBodyComponent.SetMaterialGroup | SetMaterialGroup]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.SetModifierStackCount | SetModifierStackCount]]  
| <code>void SetMaterialGroup(utlstringtoken utlstringtoken_1) </code>
| <code>void SetModifierStackCount(string pszScriptName, handle hCaster, int nStackCount)</code>
| No Description Set
| Sets the stack count of a given modifier.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CBodyComponent.SetVelocity | SetVelocity]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.SetMoveCapability | SetMoveCapability]]  
| <code>void SetVelocity(Vector velocity) </code>
| <code>void SetMoveCapability(int iMoveCapabilities)</code>
| No Description Set
|
|}
 
 
=== CBaseAnimating ===
:::::extends [[#CBaseEntity| CBaseEntity]]
''A class containing functions involved in animations''
{| class="standard-table" style="width: 100%;"
! Function
! Signature
! Description
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CBaseAnimating.GetAttachmentAngles | GetAttachmentAngles]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.SetMustReachEachGoalEntity | SetMustReachEachGoalEntity]]  
| <code>Vector GetAttachmentAngles(int iAttachment) </code>
| <code>void SetMustReachEachGoalEntity(bool must)</code>
| Get the attachement id's angles as a p,y,r ''vector''
| Set whether this NPC is required to reach each goal entity, rather than being allowed to unkink their path.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CBaseAnimating.GetAttachmentOrigin | GetAttachmentOrigin]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.SetNeverMoveToClearSpace | SetNeverMoveToClearSpace]]  
| <code>Vector GetAttachmentOrigin(int iAttachment) </code>
| <code>void SetNeverMoveToClearSpace(bool neverMoveToClearSpace)</code>
| Get the attachement id's origin ''vector''
| If set to true, we will never attempt to move this unit to clear space, even when it unphases.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CBaseAnimating.GetModelScale | GetModelScale]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.SetNightTimeVisionRange | SetNightTimeVisionRange]]  
| <code>float GetModelScale() </code>
| <code>void SetNightTimeVisionRange(int iRange)</code>
| Get scale of entity's model.
| Returns the vision range after modifiers.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CBaseAnimating.IsSequenceFinished | IsSequenceFinished]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.SetOrigin | SetOrigin]]  
| <code>bool IsSequenceFinished() </code>
| <code>void SetOrigin(Vector vLocation)</code>
| Ask whether the main sequence is done playing
| Set the unit's origin.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CBaseAnimating.ScriptLookupAttachment | ScriptLookupAttachment]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.SetOriginalModel | SetOriginalModel]]  
| <code>int ScriptLookupAttachment(string pAttachmentName) </code>
| <code>void SetOriginalModel(string pszModelName)</code>
| Get the named attachment id
| Sets the original model of this entity, which it will tend to fall back to anytime its state changes.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CBaseAnimating.SetBodygroup | SetBodygroup]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.SetPhysicalArmorBaseValue | SetPhysicalArmorBaseValue]]  
| <code>void SetBodygroup(int iGroup, int iValue) </code>
| <code>void SetPhysicalArmorBaseValue(float flPhysicalArmorValue)</code>
| Sets a bodygroup
| Sets base physical armor value.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CBaseAnimating.SetModelScale | SetModelScale]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.SetRangedProjectileName | SetRangedProjectileName]]  
| <code>void SetModelScale(float scale) </code>
| <code>void SetRangedProjectileName(string pProjectileName)</code>
| Sets the model's scale to <i>scale</i>, <br/>so if a unit had its model scale at 1, and you use <i>SetModelScale(<b>10.0</b>)</i>, it would set the scale to <b>10.0</b>.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CBaseAnimating.SetPoseParameter | SetPoseParameter]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.SetRevealRadius | SetRevealRadius]]  
| <code>float SetPoseParameter(string szName, float fValue) </code>
| <code>void SetRevealRadius(float revealRadius)</code>
| Set the specified pose parameter to the specified value
| sets the client side map reveal radius for this unit
|}
 
 
=== CBaseCombatCharacter ===
''No Description Set''
{| class="standard-table" style="width: 100%;"
! Function
! Signature
! Description
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CBaseCombatCharacter.GetEquippedWeapons | GetEquippedWeapons]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.SetShouldDoFlyHeightVisual | SetShouldDoFlyHeightVisual]]  
| <code>table GetEquippedWeapons() </code>
| <code>void SetShouldDoFlyHeightVisual(bool bShouldVisuallyFly)</code>
| GetEquippedWeapons() : Returns an array of all the equipped weapons
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CBaseCombatCharacter.GetWeaponCount | GetWeaponCount]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.SetStolenScepter | SetStolenScepter]]  
| <code>int GetWeaponCount() </code>
| <code>void SetStolenScepter(bool bStolenScepter)</code>
| GetWeaponCount() : Gets the number of weapons currently equipped
|
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.SetUnitCanRespawn | SetUnitCanRespawn]]
| <code>void SetUnitCanRespawn(bool bCanRespawn)</code>
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CBaseCombatCharacter.ShootPosition | ShootPosition]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.SetUnitName | SetUnitName]]  
| <code>Vector ShootPosition(int nHand) </code>
| <code>void SetUnitName(string pName)</code>
| Returns the shoot position eyes (or hand in VR).
|}
|-
 
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.ShouldIdleAcquire | ShouldIdleAcquire]]
 
| <code>bool ShouldIdleAcquire()</code>
=== ProjectileManager ===
''The projectile manager, it manages projectiles.''
|-
{| class="standard-table" style="width: 100%;"
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.SpendMana | SpendMana]]
! Function
| <code>void SpendMana(float flManaSpent, handle hAbility)</code>
! Signature
| Spend mana from this unit, this can be used for spending mana from abilities or item usage.
! Description
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.StartGesture | StartGesture]]
| <code>void StartGesture(int nActivity)</code>
| Add the given gesture activity.
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.StartGestureWithPlaybackRate | StartGestureWithPlaybackRate]]
| <code>void StartGestureWithPlaybackRate(int nActivity, float flRate)</code>
| Add the given gesture activity with a playback rate override.
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.Stop | Stop]]
| <code>void Stop()</code>
| Stop the current order.
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.StopFacing | StopFacing]]
| <code>void StopFacing()</code>
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.SwapAbilities | SwapAbilities]]
| <code>void SwapAbilities(string pAbilityName1, string pAbilityName2, bool bEnable1, bool bEnable2)</code>
| Swaps the slots of the two passed abilities and sets them enabled/disabled.  
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.SwapItems | SwapItems]]
| <code>void SwapItems(int nSlot1, int nSlot2)</code>
| Swap the contents of two item slots (slot1, slot2)
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.TakeItem | TakeItem]]
| <code>handle TakeItem(handle hItem)</code>
| Removed the passed item from this unit's inventory.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/ProjectileManager.CreateLinearProjectile | CreateLinearProjectile]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.TimeUntilNextAttack | TimeUntilNextAttack]]  
| <code>int CreateLinearProjectile(table infoTable) </code>
| <code>float TimeUntilNextAttack()</code>
| Creates a linear projectile and returns the projectile ID
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/ProjectileManager.CreateTrackingProjectile | CreateTrackingProjectile]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.TriggerModifierDodge | TriggerModifierDodge]]  
| <code>void CreateTrackingProjectile(handle handle_1) </code>
| <code>bool TriggerModifierDodge()</code>
| Creates a tracking projectile
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/ProjectileManager.DestroyLinearProjectile | DestroyLinearProjectile]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.TriggerSpellAbsorb | TriggerSpellAbsorb]]  
| <code>void DestroyLinearProjectile(int int_1) </code>
| <code>bool TriggerSpellAbsorb(handle hAbility)</code>
| Destroys the linear projectile matching the argument ID
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/ProjectileManager.GetLinearProjectileVelocity | GetLinearProjectileVelocity]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.TriggerSpellReflect | TriggerSpellReflect]]  
| <code>Vector GetLinearProjectileVelocity(int int_1) </code>
| <code>void TriggerSpellReflect(handle hAbility)</code>
| Returns a vector representing the current velocity of the projectile.
| Trigger the Lotus Orb-like effect.(hAbility)
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/ProjectileManager.ProjectileDodge | ProjectileDodge]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.UnHideAbilityToSlot | UnHideAbilityToSlot]]  
| <code>void ProjectileDodge(handle handle_1) </code>
| <code>void UnHideAbilityToSlot(string pszAbilityName, string pszReplacedAbilityName)</code>
| Makes the specified unit dodge projectiles
| Makes the first ability unhidden, and puts it where second ability currently is. Will do nothing if the first ability is already unhidden and in a valid slot.
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.UnitCanRespawn | UnitCanRespawn]]
| <code>bool UnitCanRespawn()</code>
|}
|}


 
==== CDOTA_BaseNPC_Building ====
=== CBaseTrigger ===
:::::extends [[#CDOTA_BaseNPC|CDOTA_BaseNPC]]
:::::extends [[#CBaseEntity| CBaseEntity]]
''No Description Set''
''No Description Set''
{| class="standard-table" style="width: 100%;"
{| class="standard-table" style="width: 100%;"
Line 4,655: Line 4,641:
! Description  
! Description  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CBaseTrigger.Disable | Disable]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Building.GetInvulnCount | GetInvulnCount]]  
| <code>void Disable() </code>
| <code>int GetInvulnCount()</code>
| Disable the trigger
| Get the invulnerability count for a building.  
|-
| [[Dota 2 Workshop Tools/Scripting/API/CBaseTrigger.Enable | Enable]]
| <code>void Enable() </code>
| Enable the trigger
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CBaseTrigger.IsTouching | IsTouching]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Building.SetInvulnCount | SetInvulnCount]]  
| <code>bool IsTouching(handle hEnt) </code>
| <code>void SetInvulnCount(int nInvulnCount)</code>
| Checks whether the passed entity is touching the trigger.
| Set the invulnerability counter of this building.  
|}
|}


 
==== CDOTA_BaseNPC_Creature ====
=== CEnvEntityMaker ===
:::::extends [[#CDOTA_BaseNPC|CDOTA_BaseNPC]]
:::::extends [[#CBaseEntity| CBaseEntity]]
''No Description Set''
''No Description Set''
{| class="standard-table" style="width: 100%;"
{| class="standard-table" style="width: 100%;"
Line 4,677: Line 4,658:
! Description  
! Description  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CEnvEntityMaker.SpawnEntity | SpawnEntity]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Creature.AddItemDrop | AddItemDrop]]  
| <code>void SpawnEntity() </code>
| <code>void AddItemDrop(handle hDropData)</code>
| Create an entity at the location of the maker
| Add the specified item drop to this creature.
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Creature.CreatureLevelUp | CreatureLevelUp]]
| <code>void CreatureLevelUp(int iLevels)</code>
| Level the creature up by the specified number of levels
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Creature.IsChampion | IsChampion]]
| <code>bool IsChampion()</code>
| Is this unit a champion?
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Creature.RemoveAllItemDrops | RemoveAllItemDrops]]
| <code>void RemoveAllItemDrops()</code>
| Remove all item drops from this creature.
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Creature.SetArmorGain | SetArmorGain]]
| <code>void SetArmorGain(float flArmorGain)</code>
| Set the armor gained per level on this creature.
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Creature.SetAttackTimeGain | SetAttackTimeGain]]
| <code>void SetAttackTimeGain(float flAttackTimeGain)</code>
| Set the attack time gained per level on this creature.
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Creature.SetBountyGain | SetBountyGain]]
| <code>void SetBountyGain(int nBountyGain)</code>
| Set the bounty gold gained per level on this creature.
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Creature.SetChampion | SetChampion]]
| <code>void SetChampion(bool bIsChampion)</code>
| Flag this unit as a champion creature.
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Creature.SetDamageGain | SetDamageGain]]
| <code>void SetDamageGain(int nDamageGain)</code>
| Set the damage gained per level on this creature.
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Creature.SetDisableResistanceGain | SetDisableResistanceGain]]
| <code>void SetDisableResistanceGain(float flDisableResistanceGain)</code>
| Set the disable resistance gained per level on this creature.
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Creature.SetHPGain | SetHPGain]]
| <code>void SetHPGain(int nHPGain)</code>
| Set the hit points gained per level on this creature.
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Creature.SetHPRegenGain | SetHPRegenGain]]
| <code>void SetHPRegenGain(float flHPRegenGain)</code>
| Set the hit points regen gained per level on this creature.
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Creature.SetMagicResistanceGain | SetMagicResistanceGain]]
| <code>void SetMagicResistanceGain(float flMagicResistanceGain)</code>
| Set the magic resistance gained per level on this creature.
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Creature.SetManaGain | SetManaGain]]
| <code>void SetManaGain(int nManaGain)</code>
| Set the mana points gained per level on this creature.
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Creature.SetManaRegenGain | SetManaRegenGain]]
| <code>void SetManaRegenGain(float flManaRegenGain)</code>
| Set the mana points regen gained per level on this creature.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CEnvEntityMaker.SpawnEntityAtEntityOrigin | SpawnEntityAtEntityOrigin]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Creature.SetMoveSpeedGain | SetMoveSpeedGain]]  
| <code>void SpawnEntityAtEntityOrigin(handle hEntity) </code>
| <code>void SetMoveSpeedGain(int nMoveSpeedGain)</code>
| Create an entity at the location of a specified entity instance
| Set the move speed gained per level on this creature.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CEnvEntityMaker.SpawnEntityAtLocation | SpawnEntityAtLocation]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Creature.SetRequiresReachingEndPath | SetRequiresReachingEndPath]]  
| <code>void SpawnEntityAtLocation(Vector vecAlternateOrigin, Vector vecAlternateAngles) </code>
| <code>void SetRequiresReachingEndPath(bool bRequiresReachingEndPath)</code>
| Create an entity at a specified location and orientaton, orientation is Euler angle in degrees (pitch, yaw, roll)
| Set whether creatures require reaching their end path before becoming idle
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CEnvEntityMaker.SpawnEntityAtNamedEntityOrigin | SpawnEntityAtNamedEntityOrigin]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Creature.SetXPGain | SetXPGain]]  
| <code>void SpawnEntityAtNamedEntityOrigin(string pszName) </code>
| <code>void SetXPGain(int nXPGain)</code>
| Create an entity at the location of a named entity
| Set the XP gained per level on this creature.
|}
|}


 
==== CDOTA_BaseNPC_Hero ====
=== CDOTAVoteSystem ===
:::::extends [[#CDOTA_BaseNPC|CDOTA_BaseNPC]]
''No Description Set''
''No Description Set''
{| class="standard-table" style="width: 100%;"
{| class="standard-table" style="width: 100%;"
Line 4,702: Line 4,739:
! Description  
! Description  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAVoteSystem.StartVote | StartVote]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.AddExperience | AddExperience]]  
| <code>void StartVote(handle handle_1) </code>
| <code>bool AddExperience(float flXP, int nReason, bool bApplyBotDifficultyScaling, bool bIncrementTotal)</code>
| Starts a vote, based upon a ''table'' of parameters
| Params: Float XP, Bool applyBotDifficultyScaling
|}
|-
 
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.Buyback | Buyback]]
 
| <code>void Buyback()</code>
=== CMarkupVolumeTagged ===
| Spend the gold and buyback with this hero.
''No Description Set''
|-
{| class="standard-table" style="width: 100%;"
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.CalculateStatBonus | CalculateStatBonus]]
! Function
| <code>void CalculateStatBonus()</code>
! Signature
| Recalculate all stats after the hero gains stats.
! Description
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.CanEarnGold | CanEarnGold]]
| <code>bool CanEarnGold()</code>
| Returns boolean value result of buyback gold limit time less than game time.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CMarkupVolumeTagged.HasTag | HasTag]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.ClearLastHitMultikill | ClearLastHitMultikill]]  
| <code>bool HasTag(string pszTagName) </code>
| <code>void ClearLastHitMultikill()</code>
| Does this volume have the given tag.
| Value is stored in PlayerResource.  
|}
 
 
=== CScriptPrecacheContext ===
''No Description Set''
{| class="standard-table" style="width: 100%;"
! Function
! Signature
! Description
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CScriptPrecacheContext.AddResource | AddResource]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.ClearLastHitStreak | ClearLastHitStreak]]  
| <code>void AddResource(string string_1) </code>
| <code>void ClearLastHitStreak()</code>
| Precaches a specific resource
| Value is stored in PlayerResource.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CScriptPrecacheContext.GetValue | GetValue]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.ClearStreak | ClearStreak]]  
| <code>table GetValue(string string_1) </code>
| <code>void ClearStreak()</code>
| Reads a spawn key
| Value is stored in PlayerResource.
|}
 
 
=== CScriptKeyValues ===
''No Description Set''
{| class="standard-table" style="width: 100%;"
! Function
! Signature
! Description
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CScriptKeyValues.GetValue | GetValue]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.GetAbilityPoints | GetAbilityPoints]]  
| <code>table GetValue(string string_1) </code>
| <code>int GetAbilityPoints()</code>
| Reads a spawn key
| Gets the current unspent ability points.
|}
 
 
=== CScriptParticleManager ===
''No Description Set''
 
''Global accessor variable:'' <code>ParticleManager</code>
{| class="standard-table" style="width: 100%;"
! Function
! Signature
! Description
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CScriptParticleManager.CreateParticle | CreateParticle]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.GetAdditionalOwnedUnits | GetAdditionalOwnedUnits]]  
| <code>int CreateParticle(string particleName, int particleAttach, handle owningEntity) </code>
| <code>table GetAdditionalOwnedUnits()</code>
| Creates a new particle effect
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CScriptParticleManager.CreateParticleForPlayer | CreateParticleForPlayer]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.GetAgility | GetAgility]]  
| <code>int CreateParticleForPlayer(string particleName, int particleAttach, handle owningEntity, handle owningPlayer) </code>
| <code>float GetAgility()</code>
| Creates a new particle effect that only plays for the specified player
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CScriptParticleManager.CreateParticleForTeam | CreateParticleForTeam]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.GetAgilityGain | GetAgilityGain]]  
| <code>int CreateParticleForTeam(string string_1, int int_2, handle handle_3, int int_4) </code>
| <code>float GetAgilityGain()</code>
| Creates a new particle effect that only plays for the specified team
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CScriptParticleManager.DestroyParticle | DestroyParticle]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.GetAssists | GetAssists]]  
| <code>void DestroyParticle(int particleID, bool immediately) </code>
| <code>int GetAssists()</code>
| Destroys particle.
| Value is stored in PlayerResource.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CScriptParticleManager.GetParticleReplacement | GetParticleReplacement]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.GetAttacker | GetAttacker]]  
| <code>string GetParticleReplacement(string string_1, handle handle_2) </code>
| <code>int GetAttacker(int nIndex)</code>
| No Description Set
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CScriptParticleManager.ReleaseParticleIndex | ReleaseParticleIndex]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.GetBaseAgility | GetBaseAgility]]  
| <code>void ReleaseParticleIndex(int particleId) </code>
| <code>float GetBaseAgility()</code>
| Frees the specified particle index
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CScriptParticleManager.SetParticleAlwaysSimulate | SetParticleAlwaysSimulate]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.GetBaseDamageMax | GetBaseDamageMax]]  
| <code>void SetParticleAlwaysSimulate(int int_1) </code>
| <code>int GetBaseDamageMax()</code>
| No Description Set
| Hero damage is also affected by attributes.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CScriptParticleManager.SetParticleControl | SetParticleControl]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.GetBaseDamageMin | GetBaseDamageMin]]  
| <code>void SetParticleControl(int particleId, int controlIndex, Vector controlData) </code>
| <code>int GetBaseDamageMin()</code>
| Set the control point data for a control on a particle effect
| Hero damage is also affected by attributes.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CScriptParticleManager.SetParticleControlEnt | SetParticleControlEnt]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.GetBaseIntellect | GetBaseIntellect]]  
| <code>void SetParticleControlEnt(int int_1, int int_2, handle handle_3, int int_4, string string_5, Vector Vector_6, bool bool_7) </code>
| <code>float GetBaseIntellect()</code>
| No Description Set
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CScriptParticleManager.SetParticleControlForward | SetParticleControlForward]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.GetBaseManaRegen | GetBaseManaRegen]]  
| <code>void SetParticleControlForward(int int_1, int int_2, Vector Vector_3) </code>
| <code>float GetBaseManaRegen()</code>
| (int nFXIndex, int nPoint, vForward)
| Returns the base mana regen.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CScriptParticleManager.SetParticleControlOrientation | SetParticleControlOrientation]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.GetBaseStrength | GetBaseStrength]]  
| <code>void SetParticleControlOrientation(int int_1, int int_2, Vector Vector_3, Vector Vector_4, Vector Vector_5) </code>
| <code>float GetBaseStrength()</code>
| (int nFXIndex, int nPoint, vForward, vRight, vUp)
|
|}
 
 
=== CScriptHeroList ===
''No Description Set''
 
''Global accessor variable:'' <code>HeroList</code>
{| class="standard-table" style="width: 100%;"
! Function
! Signature
! Description
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CScriptHeroList.GetAllHeroes | GetAllHeroes]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.GetBonusDamageFromPrimaryStat | GetBonusDamageFromPrimaryStat]]  
| <code>table GetAllHeroes() </code>
| <code>int GetBonusDamageFromPrimaryStat()</code>
| Returns all the heroes in the world
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CScriptHeroList.GetHero | GetHero]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.GetBuybackCooldownTime | GetBuybackCooldownTime]]  
| <code>handle GetHero(int heroId) </code>
| <code>float GetBuybackCooldownTime()</code>
| Get the Nth hero in the Hero List
| Return float value for the amount of time left on cooldown for this hero's buyback.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CScriptHeroList.GetHeroCount | GetHeroCount]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.GetBuybackCost | GetBuybackCost]]  
| <code>int GetHeroCount() </code>
| <code>int GetBuybackCost(bool bReturnOldValues)</code>
| Returns the number of heroes in the world
| Return integer value for the gold cost of a buyback.
|}
 
 
=== CNativeOutputs ===
''No Description Set''
{| class="standard-table" style="width: 100%;"
! Function
! Signature
! Description
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CNativeOutputs.AddOutput | AddOutput]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.GetBuybackGoldLimitTime | GetBuybackGoldLimitTime]]  
| <code>void AddOutput(string string_1, string string_2) </code>
| <code>float GetBuybackGoldLimitTime()</code>
| Add an output
| Returns the amount of time gold gain is limited after buying back.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CNativeOutputs.Init | Init]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.GetCurrentXP | GetCurrentXP]]  
| <code>void Init(int int_1) </code>
| <code>int GetCurrentXP()</code>
| Initialize with number of outputs
| Returns the amount of XP 
|}
 
 
=== CEnvProjectedTexture ===
:::::extends [[#CBaseEntity| CBaseEntity]]
''No Description Set''
{| class="standard-table" style="width: 100%;"
! Function
! Signature
! Description
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CEnvProjectedTexture.SetFarRange | SetFarRange]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.GetDeathGoldCost | GetDeathGoldCost]]  
| <code>void SetFarRange(float flRange) </code>
| <code>int GetDeathGoldCost()</code>
| Set light maximum range
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CEnvProjectedTexture.SetLinearAttenuation | SetLinearAttenuation]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.GetDeaths | GetDeaths]]  
| <code>void SetLinearAttenuation(float flAtten) </code>
| <code>int GetDeaths()</code>
| Set light linear attenuation value
| Value is stored in PlayerResource.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CEnvProjectedTexture.SetNearRange | SetNearRange]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.GetDenies | GetDenies]]  
| <code>void SetNearRange(float flRange) </code>
| <code>int GetDenies()</code>
| Set light minimum range
| Value is stored in PlayerResource.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CEnvProjectedTexture.SetQuadraticAttenuation | SetQuadraticAttenuation]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.GetGold | GetGold]]  
| <code>void SetQuadraticAttenuation(float flAtten) </code>
| <code>int GetGold()</code>
| Set light quadratic attenuation value
| Returns gold amount for the player owning this hero
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CEnvProjectedTexture.SetVolumetrics | SetVolumetrics]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.GetGoldBounty | GetGoldBounty]]  
| <code>void SetVolumetrics(bool bOn, float flIntensity, float flNoise, int nPlanes, float flPlaneOffset) </code>
| <code>int GetGoldBounty()</code>
| Turn on/off light volumetrics: ''bool'' bOn, ''float'' flIntensity, ''float'' flNoise, ''int'' nPlanes, ''float'' flPlaneOffset
|
|}
 
 
=== CInfoData ===
''No Description Set''
{| class="standard-table" style="width: 100%;"
! Function
! Signature
! Description
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CInfoData.QueryColor | QueryColor]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.GetIncreasedAttackSpeed | GetIncreasedAttackSpeed]]  
| <code>Vector QueryColor(utlstringtoken tok, Vector vDefault) </code>
| <code>float GetIncreasedAttackSpeed()</code>
| Query color data for this key
| Hero attack speed is also affected by agility.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CInfoData.QueryFloat | QueryFloat]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.GetIntellect | GetIntellect]]  
| <code>float QueryFloat(utlstringtoken tok, float flDefault) </code>
| <code>float GetIntellect()</code>
| Query ''float'' data for this key
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CInfoData.QueryInt | QueryInt]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.GetIntellectGain | GetIntellectGain]]  
| <code>int QueryInt(utlstringtoken tok, int nDefault) </code>
| <code>float GetIntellectGain()</code>
| Query ''int'' data for this key
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CInfoData.QueryNumber | QueryNumber]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.GetKills | GetKills]]  
| <code>float QueryNumber(utlstringtoken tok, float flDefault) </code>
| <code>int GetKills()</code>
| Query number data for this key
| Value is stored in PlayerResource.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CInfoData.QueryString | QueryString]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.GetLastHits | GetLastHits]]  
| <code>string QueryString(utlstringtoken tok, string pDefault) </code>
| <code>int GetLastHits()</code>
| Query ''string'' data for this key
| Value is stored in PlayerResource.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CInfoData.QueryVector | QueryVector]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.GetMostRecentDamageTime | GetMostRecentDamageTime]]  
| <code>Vector QueryVector(utlstringtoken tok, Vector vDefault) </code>
| <code>float GetMostRecentDamageTime()</code>
| Query ''vector'' data for this key
|
|}
 
 
=== CPhysicsProp ===
''No Description Set''
{| class="standard-table" style="width: 100%;"
! Function
! Signature
! Description
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CPhysicsProp.DisableMotion | DisableMotion]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.GetMultipleKillCount | GetMultipleKillCount]]  
| <code>void DisableMotion() </code>
| <code>int GetMultipleKillCount()</code>
| Enable motion for the prop
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CPhysicsProp.EnableMotion | EnableMotion]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.GetNumAttackers | GetNumAttackers]]  
| <code>void EnableMotion() </code>
| <code>int GetNumAttackers()</code>
| Enable motion for the prop
|
|}
 
 
=== CDOTAGamerules ===
''''
 
''Global accessor variable:'' <code>GameRules</code>
{| class="standard-table" style="width: 100%;"
! Function
! Signature
! Description
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.AddMinimapDebugPoint | AddMinimapDebugPoint]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.GetNumItemsInInventory | GetNumItemsInInventory]]  
| <code>void AddMinimapDebugPoint(int int_1, Vector Vector_2, int int_3, int int_4, int int_5, int int_6, float float_7) </code>
| <code>int GetNumItemsInInventory()</code>
| Add a point on the minimap.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.AddMinimapDebugPointForTeam | AddMinimapDebugPointForTeam]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.GetNumItemsInStash | GetNumItemsInStash]]  
| <code>void AddMinimapDebugPointForTeam(int int_1, Vector Vector_2, int int_3, int int_4, int int_5, int int_6, float float_7, int int_8) </code>
| <code>int GetNumItemsInStash()</code>
| Add a point on the minimap for a specific team.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.Defeated | Defeated]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.GetPhysicalArmorBaseValue | GetPhysicalArmorBaseValue]]  
| <code>void Defeated() </code>
| <code>float GetPhysicalArmorBaseValue()</code>
| Kills the ancient, etc.
| Hero armor is affected by attributes.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.DidMatchSignoutTimeOut | DidMatchSignoutTimeOut]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.GetPlayerID | GetPlayerID]]  
| <code>bool DidMatchSignoutTimeOut() </code>
| <code>int GetPlayerID()</code>
| true when we have waited some time after end of the game and not received signout
| Returns player ID of the player owning this hero
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.EnableCustomGameSetupAutoLaunch | EnableCustomGameSetupAutoLaunch]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.GetPrimaryAttribute | GetPrimaryAttribute]]  
| <code>void EnableCustomGameSetupAutoLaunch(bool bool_1) </code>
| <code>int GetPrimaryAttribute()</code>
| Enabled (true) or disable (false) auto launch for custom game setup.
| 0 = strength, 1 = agility, 2 = intelligence.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.FinishCustomGameSetup | FinishCustomGameSetup]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.GetPrimaryStatValue | GetPrimaryStatValue]]  
| <code>void FinishCustomGameSetup() </code>
| <code>float GetPrimaryStatValue()</code>
| Indicate that the custom game setup phase is complete, and advance to the game.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.GetCustomGameDifficulty | GetCustomGameDifficulty]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.GetRespawnTime | GetRespawnTime]]  
| <code>int GetCustomGameDifficulty() </code>
| <code>float GetRespawnTime()</code>
| Returns the difficulty level of the custom game mode
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.GetCustomGameTeamMaxPlayers | GetCustomGameTeamMaxPlayers]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.GetRespawnsDisabled | GetRespawnsDisabled]]  
| <code>int GetCustomGameTeamMaxPlayers(int int_1) </code>
| <code>bool GetRespawnsDisabled()</code>
| Get whether a team is selectable during game setup
| Is this hero prevented from respawning?
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.GetDifficulty | GetDifficulty]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.GetStreak | GetStreak]]  
| <code>int GetDifficulty() </code>
| <code>int GetStreak()</code>
| Returns difficulty level of the custom game mode
| Value is stored in PlayerResource.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.GetDOTATime | GetDOTATime]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.GetStrength | GetStrength]]  
| <code>float GetDOTATime(bool bool_1, bool bool_2) </code>
| <code>float GetStrength()</code>
| (b IncludePregameTime b IncludeNegativeTime) Returns the actual DOTA in-game clock time.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.GetDroppedItem | GetDroppedItem]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.GetStrengthGain | GetStrengthGain]]  
| <code>handle GetDroppedItem(int dropIndex) </code>
| <code>float GetStrengthGain()</code>
| Gets the Xth dropped item
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.GetGameModeEntity | GetGameModeEntity]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.GetTimeUntilRespawn | GetTimeUntilRespawn]]  
| <code>handle GetGameModeEntity() </code>
| <code>float GetTimeUntilRespawn()</code>
| Get the game mode entity
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.GetGameSessionConfigValue | GetGameSessionConfigValue]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.GetTogglableWearable | GetTogglableWearable]]  
| <code>string GetGameSessionConfigValue(string string_1, string string_2) </code>
| <code>handle GetTogglableWearable(int nSlotType)</code>
| Get a string value from the game session config (map options)
| Get wearable entity in slot (slot)  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.GetGameTime | GetGameTime]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.HasAnyAvailableInventorySpace | HasAnyAvailableInventorySpace]]  
| <code>float GetGameTime() </code>
| <code>bool HasAnyAvailableInventorySpace()</code>
| Returns the number of seconds elapsed since map start. This time doesn't count up when the game is paused
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.GetMatchSignoutComplete | GetMatchSignoutComplete]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.HasFlyingVision | HasFlyingVision]]  
| <code>bool GetMatchSignoutComplete() </code>
| <code>bool HasFlyingVision()</code>
| Have we received the post match signout message that includes reward information
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.GetNianFightStartTime | GetNianFightStartTime]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.HasOwnerAbandoned | HasOwnerAbandoned]]  
| <code>float GetNianFightStartTime() </code>
| <code>bool HasOwnerAbandoned()</code>
| Gets the start time for the Nian fight
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.GetNianTotalDamageTaken | GetNianTotalDamageTaken]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.HasRoomForItem | HasRoomForItem]]  
| <code>int GetNianTotalDamageTaken() </code>
| <code>int HasRoomForItem(string pItemName, bool bIncludeStashCombines, bool bAllowSelling)</code>
| For New Bloom, get total damage taken by the Nian / Year Beast
| Args: const char* pItemName, bool bIncludeStashCombines, bool bAllowSelling
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.GetTimeOfDay | GetTimeOfDay]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.HeroLevelUp | HeroLevelUp]]  
| <code>float GetTimeOfDay() </code>
| <code>void HeroLevelUp(bool bPlayEffects)</code>
| Get the time of day
| Levels up the hero, true or false to play effects.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.IsDaytime | IsDaytime]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.IncrementAssists | IncrementAssists]]  
| <code>bool IsDaytime() </code>
| <code>void IncrementAssists(int iKillerID)</code>
| Is it day time.
| Value is stored in PlayerResource.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.IsGamePaused | IsGamePaused]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.IncrementDeaths | IncrementDeaths]]  
| <code>bool IsGamePaused() </code>
| <code>void IncrementDeaths(int iKillerID)</code>
| Returns whether the game is paused.
| Value is stored in PlayerResource.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.LockCustomGameSetupTeamAssignment | LockCustomGameSetupTeamAssignment]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.IncrementDenies | IncrementDenies]]  
| <code>void LockCustomGameSetupTeamAssignment(bool bool_1) </code>
| <code>void IncrementDenies()</code>
| Lock (true) or unlock (false) team assignemnt. If team assignment is locked players cannot change teams.
| Value is stored in PlayerResource.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.MakeTeamLose | MakeTeamLose]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.IncrementKills | IncrementKills]]  
| <code>void MakeTeamLose(int team) </code>
| <code>void IncrementKills(int iVictimID)</code>
| Makes ths specified team lose
| Passed ID is for the victim, killer ID is ID of the current hero.  Value is stored in PlayerResource.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.NumDroppedItems | NumDroppedItems]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.IncrementLastHitMultikill | IncrementLastHitMultikill]]  
| <code>int NumDroppedItems() </code>
| <code>void IncrementLastHitMultikill()</code>
| Returns the number of items currently dropped on the ground
| Value is stored in PlayerResource.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.PlayerHasCustomGameHostPrivileges | PlayerHasCustomGameHostPrivileges]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.IncrementLastHitStreak | IncrementLastHitStreak]]  
| <code>bool PlayerHasCustomGameHostPrivileges(handle handle_1) </code>
| <code>void IncrementLastHitStreak()</code>
| Whether a player has custom game host privileges (shuffle teams, etc.)
| Value is stored in PlayerResource.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.Playtesting_UpdateAddOnKeyValues | Playtesting_UpdateAddOnKeyValues]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.IncrementLastHits | IncrementLastHits]]  
| <code>void Playtesting_UpdateAddOnKeyValues() </code>
| <code>void IncrementLastHits()</code>
| Updates custom hero, unit and ability KeyValues in memory with the latest values from disk
| Value is stored in PlayerResource.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.ResetDefeated | ResetDefeated]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.IncrementNearbyCreepDeaths | IncrementNearbyCreepDeaths]]  
| <code>void ResetDefeated() </code>
| <code>void IncrementNearbyCreepDeaths()</code>
| Restart after killing the ancient, etc.
| Value is stored in PlayerResource.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.ResetToHeroSelection | ResetToHeroSelection]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.IncrementStreak | IncrementStreak]]  
| <code>void ResetToHeroSelection() </code>
| <code>void IncrementStreak()</code>
| Restart the game at hero selection
| Value is stored in PlayerResource.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.SendCustomMessage | SendCustomMessage]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.IsBuybackDisabledByReapersScythe | IsBuybackDisabledByReapersScythe]]  
| <code>void SendCustomMessage(string message, int teamID, int unknown(1?)) </code>
| <code>bool IsBuybackDisabledByReapersScythe()</code>
| Displays a line of text in the left textbox (where usually deaths/denies/buysbacks are announced). This function takes restricted HTML as input! (&lt;br&gt;,&lt;u&gt;,&lt;font&gt;)
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.SendCustomMessageToTeam | SendCustomMessageToTeam]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.IsReincarnating | IsReincarnating]]  
| <code>void SendCustomMessageToTeam(string string_1, int int_2, int int_3, int int_4) </code>
| <code>bool IsReincarnating()</code>
| Sends a message on behalf of a player to the specified team.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.SetCreepMinimapIconScale | SetCreepMinimapIconScale]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.IsStashEnabled | IsStashEnabled]]  
| <code>void SetCreepMinimapIconScale(float scale) </code>
| <code>bool IsStashEnabled()</code>
| Scale the creep icons on the minimap.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.SetCustomGameDifficulty | SetCustomGameDifficulty]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.KilledHero | KilledHero]]  
| <code>void SetCustomGameDifficulty(int int_1) </code>
| <code>void KilledHero(handle hHero, handle hInflictor)</code>
| Set the difficulty level of the custom game mode
| Args: Hero, Inflictor
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.SetCustomGameEndDelay | SetCustomGameEndDelay]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.ModifyAgility | ModifyAgility]]  
| <code>void SetCustomGameEndDelay(float delay) </code>
| <code>void ModifyAgility(float flNewAgility)</code>
| Sets the delay time until the game ends
| Adds passed value to base attribute value, then calls CalculateStatBonus.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.SetCustomGameSetupAutoLaunchDelay | SetCustomGameSetupAutoLaunchDelay]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.ModifyGold | ModifyGold]]  
| <code>void SetCustomGameSetupAutoLaunchDelay(float float_1) </code>
| <code>int ModifyGold(int iGoldChange, bool bReliable, int iReason)</code>
| Set the amount of time to wait for auto launch.
| Gives this hero some gold. Args: int nGoldChange, bool bReliable, int reason
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.SetCustomGameSetupRemainingTime | SetCustomGameSetupRemainingTime]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.ModifyIntellect | ModifyIntellect]]  
| <code>void SetCustomGameSetupRemainingTime(float float_1) </code>
| <code>void ModifyIntellect(float flNewIntellect)</code>
| Set the amount of remaining time, in seconds, for custom game setup. 0 = finish immediately, -1 = wait forever
| Adds passed value to base attribute value, then calls CalculateStatBonus.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.SetCustomGameSetupTimeout | SetCustomGameSetupTimeout]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.ModifyStrength | ModifyStrength]]  
| <code>void SetCustomGameSetupTimeout(float float_1) </code>
| <code>void ModifyStrength(float flNewStrength)</code>
| Setup (pre-gameplay) phase timeout. 0 = instant, -1 = forever (until FinishCustomGameSetup is called)
| Adds passed value to base attribute value, then calls CalculateStatBonus.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.SetCustomGameTeamMaxPlayers | SetCustomGameTeamMaxPlayers]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.PerformTaunt | PerformTaunt]]  
| <code>void SetCustomGameTeamMaxPlayers(int int_1, int int_2) </code>
| <code>void PerformTaunt()</code>
| Set whether a team is selectable during game setup
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.SetCustomVictoryMessage | SetCustomVictoryMessage]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.RecordLastHit | RecordLastHit]]  
| <code>void SetCustomVictoryMessage(string string_1) </code>
| <code>void RecordLastHit()</code>
| Sets the victory message.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.SetCustomVictoryMessageDuration | SetCustomVictoryMessageDuration]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.RespawnHero | RespawnHero]]  
| <code>void SetCustomVictoryMessageDuration(float duration) </code>
| <code>void RespawnHero(bool bBuyBack, bool bRespawnPenalty)</code>
| Sets how long the custom victory message should last
| Respawn this hero.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.SetFirstBloodActive | SetFirstBloodActive]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.SetAbilityPoints | SetAbilityPoints]]  
| <code>void SetFirstBloodActive(bool bool_1) </code>
| <code>void SetAbilityPoints(int iPoints)</code>
| Sets whether First Blood has been triggered.
| Sets the current unspent ability points.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.SetGameWinner | SetGameWinner]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.SetBaseAgility | SetBaseAgility]]  
| <code>void SetGameWinner(int team) </code>
| <code>void SetBaseAgility(float flAgility)</code>
| Makes ths specified team win
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.SetGoldPerTick | SetGoldPerTick]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.SetBaseIntellect | SetBaseIntellect]]  
| <code>void SetGoldPerTick(int int_1) </code>
| <code>void SetBaseIntellect(float flIntellect)</code>
| Set the auto gold increase per timed interval.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.SetGoldTickTime | SetGoldTickTime]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.SetBaseStrength | SetBaseStrength]]  
| <code>void SetGoldTickTime(float float_1) </code>
| <code>void SetBaseStrength(float flStrength)</code>
| Set the time ''int''erval between auto gold increases.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.SetHeroMinimapIconScale | SetHeroMinimapIconScale]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.SetBotDifficulty | SetBotDifficulty]]  
| <code>void SetHeroMinimapIconScale(int iconSize) </code>
| <code>void SetBotDifficulty(int nDifficulty)</code>
| (nMinimapHeroIconSize) - Set the hero minimap icon size.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.SetHeroRespawnEnabled | SetHeroRespawnEnabled]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.SetBuyBackDisabledByReapersScythe | SetBuyBackDisabledByReapersScythe]]  
| <code>void SetHeroRespawnEnabled(bool canRespawn) </code>
| <code>void SetBuyBackDisabledByReapersScythe(bool bBuybackDisabled)</code>
| Control if the normal DOTA hero respawn rules apply.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.SetHeroSelectionTime | SetHeroSelectionTime]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.SetBuybackCooldownTime | SetBuybackCooldownTime]]  
| <code>void SetHeroSelectionTime(float time) </code>
| <code>void SetBuybackCooldownTime(float flTime)</code>
| Sets the amount of time players have to pick their hero.
| Sets the buyback cooldown time.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.SetHideKillMessageHeaders | SetHideKillMessageHeaders]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.SetBuybackGoldLimitTime | SetBuybackGoldLimitTime]]  
| <code>void SetHideKillMessageHeaders(bool hide) </code>
| <code>void SetBuybackGoldLimitTime(float flTime)</code>
| Sets whether or not the kill banners should be hidden
| Set the amount of time gold gain is limited after buying back.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.SetNianFightStartTime | SetNianFightStartTime]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.SetCustomDeathXP | SetCustomDeathXP]]  
| <code>void SetNianFightStartTime(float float_1) </code>
| <code>void SetCustomDeathXP(int iValue)</code>
| Sets the start time for the Nian fight
| Sets a custom experience value for this hero.  Note, GameRules boolean must be set for this to work!
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.SetOverlayHealthBarUnit | SetOverlayHealthBarUnit]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.SetGold | SetGold]]  
| <code>void SetOverlayHealthBarUnit(handle unit, int style) </code>
| <code>void SetGold(int iGold, bool bReliable)</code>
| Show this unit's health on the overlay health bar
| Sets the gold amount for the player owning this hero
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.SetPostGameTime | SetPostGameTime]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.SetPlayerID | SetPlayerID]]  
| <code>void SetPostGameTime(float time) </code>
| <code>void SetPlayerID(int iPlayerID)</code>
| Sets the amount of time players have between the game ending and the server disconnecting them.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.SetPreGameTime | SetPreGameTime]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.SetPrimaryAttribute | SetPrimaryAttribute]]  
| <code>void SetPreGameTime(float time) </code>
| <code>void SetPrimaryAttribute(int nPrimaryAttribute)</code>
| Sets the amount of time players have between picking their hero and game start.
| Set this hero's primary attribute value.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.SetRuneMinimapIconScale | SetRuneMinimapIconScale]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.SetRespawnPosition | SetRespawnPosition]]  
| <code>void SetRuneMinimapIconScale(float scale) </code>
| <code>void SetRespawnPosition(Vector vOrigin)</code>
| Scale the rune icons on the minimap.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.SetRuneSpawnTime | SetRuneSpawnTime]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.SetRespawnsDisabled | SetRespawnsDisabled]]  
| <code>void SetRuneSpawnTime(float time) </code>
| <code>void SetRespawnsDisabled(bool bDisableRespawns)</code>
| Sets the amount of time between rune spawns.
| Prevent this hero from respawning.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.SetSafeToLeave | SetSafeToLeave]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.SetStashEnabled | SetStashEnabled]]  
| <code>void SetSafeToLeave(bool safeToLeave) </code>
| <code>void SetStashEnabled(bool bEnabled)</code>
| Mark this game as safe to leave.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.SetSameHeroSelectionEnabled | SetSameHeroSelectionEnabled]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.SetTimeUntilRespawn | SetTimeUntilRespawn]]  
| <code>void SetSameHeroSelectionEnabled(bool enabled) </code>
| <code>void SetTimeUntilRespawn(float time)</code>
| When true, players can repeatedly pick the same hero.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.SetTimeOfDay | SetTimeOfDay]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.ShouldDoFlyHeightVisual | ShouldDoFlyHeightVisual]]  
| <code>void SetTimeOfDay(float time) </code>
| <code>bool ShouldDoFlyHeightVisual()</code>
| Set the time of day.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.SetTreeRegrowTime | SetTreeRegrowTime]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.SpendGold | SpendGold]]  
| <code>void SetTreeRegrowTime(float time) </code>
| <code>void SpendGold(int iCost, int iReason)</code>
| Sets the tree regrow time in seconds.
| Args: int nGold, int nReason
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.SetUseBaseGoldBountyOnHeroes | SetUseBaseGoldBountyOnHeroes]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.UnitCanRespawn | UnitCanRespawn]]  
| <code>void SetUseBaseGoldBountyOnHeroes(bool bool_1) </code>
| <code>bool UnitCanRespawn()</code>
| Heroes will use the basic NPC functionality for determining their bounty, rather than DOTA specific formulas.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.SetUseCustomHeroXPValues | SetUseCustomHeroXPValues]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.UpgradeAbility | UpgradeAbility]]  
| <code>void SetUseCustomHeroXPValues(bool bool_1) </code>
| <code>void UpgradeAbility(handle hAbility)</code>
| Allows heroes in the map to give a specific amount of XP (this value must be set).
| This upgrades the passed ability if it exists and the hero has enough ability points.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.SetUseUniversalShopMode | SetUseUniversalShopMode]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.WillReincarnate | WillReincarnate]]  
| <code>void SetUseUniversalShopMode(bool enabled) </code>
| <code>bool WillReincarnate()</code>
| When true, all items are available at as long as any shop is in range, including Secret Shop items
|
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.State_Get | State_Get]]
| <code><> State_Get() </code>
| Get the current Gamerules state
|}
|}


==== CDOTA_BaseNPC_RotatableBuilding ====
:::::extends [[#CDOTA_BaseNPC|CDOTA_BaseNPC]]
''No Description Set''
{| class="standard-table" style="width: 100%;"
! Function
! Signature
! Description
|}


=== CToneMapControllerComponent ===
==== CDOTA_BaseNPC_Shop ====
:::::extends [[#CDOTA_BaseNPC_Building|CDOTA_BaseNPC_Building]]
''No Description Set''
''No Description Set''
{| class="standard-table" style="width: 100%;"
{| class="standard-table" style="width: 100%;"
Line 5,184: Line 5,141:
! Description  
! Description  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CToneMapControllerComponent.GetBloomScale | GetBloomScale]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Shop.GetShopType | GetShopType]]  
| <code>float GetBloomScale() </code>
| <code>int GetShopType()</code>
| Gets bloomscale for this tonemap controller
| Get the DOTA_SHOP_TYPE
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CToneMapControllerComponent.GetMaxExposure | GetMaxExposure]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Shop.SetShopType | SetShopType]]  
| <code>float GetMaxExposure() </code>
| <code>void SetShopType(int eShopType)</code>
| Gets max exposure for this tonemap controller
| Set the DOTA_SHOP_TYPE.
|-
|}
| [[Dota 2 Workshop Tools/Scripting/API/CToneMapControllerComponent.GetMinExposure | GetMinExposure]]
 
| <code>float GetMinExposure() </code>
==== CDOTA_BaseNPC_Trap_Ward ====
| Gets min exposure for this tonemap controller
:::::extends [[#CDOTA_BaseNPC_Creature|CDOTA_BaseNPC_Creature]]
|-
''No Description Set''
| [[Dota 2 Workshop Tools/Scripting/API/CToneMapControllerComponent.SetBloomScale | SetBloomScale]]
{| class="standard-table" style="width: 100%;"
| <code>void SetBloomScale(float float_1) </code>
! Function
| Sets bloom scale for this tonemap controller
! Signature
! Description
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CToneMapControllerComponent.SetMaxExposure | SetMaxExposure]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Trap_Ward.GetTrapTarget | GetTrapTarget]]  
| <code>void SetMaxExposure(float float_1) </code>
| <code>Vector GetTrapTarget()</code>
| Sets max exposure for this tonemap controller
| Get the trap target for this entity.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CToneMapControllerComponent.SetMinExposure | SetMinExposure]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Trap_Ward.SetAnimation | SetAnimation]]  
| <code>void SetMinExposure(float float_1) </code>
| <code>void SetAnimation(string pAnimation)</code>
| Sets min exposure for this tonemap controller
| Set the animation sequence for this entity.
|}
|}


 
==== CDOTA_Buff ====
=== CDebugOverlayScriptHelper ===
''No Description Set''
''No Description Set''
{| class="standard-table" style="width: 100%;"
{| class="standard-table" style="width: 100%;"
Line 5,217: Line 5,174:
! Description  
! Description  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDebugOverlayScriptHelper.Axis | Axis]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Buff.AddParticle | AddParticle]]  
| <code>void Axis(Vector Vector_1, Quaternion Quaternion_2, float float_3, bool bool_4, float float_5) </code>
| <code>void AddParticle(int i, bool bDestroyImmediately, bool bStatusEffect, int iPriority, bool bHeroEffect, bool bOverheadEffect)</code>
| Draws an axis. Specify origin + orientation in world space.
| (index, bDestroyImmediately, bStatusEffect, priority, bHeroEffect, bOverheadEffect
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDebugOverlayScriptHelper.Box | Box]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Buff.DecrementStackCount | DecrementStackCount]]  
| <code>void Box(Vector Vector_1, Vector Vector_2, int int_3, int int_4, int int_5, int int_6, bool bool_7, float float_8) </code>
| <code>void DecrementStackCount()</code>
| Draws a world-space axis-aligned box. Specify bounds in world space.
| Decrease this modifier's stack count by 1.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDebugOverlayScriptHelper.BoxAngles | BoxAngles]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Buff.Destroy | Destroy]]  
| <code>void BoxAngles(Vector Vector_1, Vector Vector_2, Vector Vector_3, Quaternion Quaternion_4, int int_5, int int_6, int int_7, int int_8, bool bool_9, float float_10) </code>
| <code>void Destroy()</code>
| Draws an oriented box at the origin. Specify bounds in local space.
| Run all associated destroy functions, then remove the modifier.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDebugOverlayScriptHelper.Capsule | Capsule]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Buff.ForceRefresh | ForceRefresh]]  
| <code>void Capsule(Vector Vector_1, Quaternion Quaternion_2, float float_3, float float_4, int int_5, int int_6, int int_7, int int_8, bool bool_9, float float_10) </code>
| <code>void ForceRefresh()</code>
| Draws a capsule. Specify base in world space.
| Run all associated refresh functions on this modifier as if it was re-applied.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDebugOverlayScriptHelper.Circle | Circle]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Buff.GetAbility | GetAbility]]  
| <code>void Circle(Vector Vector_1, Quaternion Quaternion_2, float float_3, int int_4, int int_5, int int_6, int int_7, bool bool_8, float float_9) </code>
| <code>handle GetAbility()</code>
| Draws a circle. Specify center in world space.
| Get the ability that generated the modifier.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDebugOverlayScriptHelper.CircleScreenOriented | CircleScreenOriented]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Buff.GetAuraDuration | GetAuraDuration]]  
| <code>void CircleScreenOriented(Vector Vector_1, float float_2, int int_3, int int_4, int int_5, int int_6, bool bool_7, float float_8) </code>
| <code>float GetAuraDuration()</code>
| Draws a circle oriented to the screen. Specify center in world space.
| Returns aura stickiness (default 0.5)
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDebugOverlayScriptHelper.Cone | Cone]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Buff.GetAuraOwner | GetAuraOwner]]  
| <code>void Cone(Vector Vector_1, Vector Vector_2, float float_3, float float_4, int int_5, int int_6, int int_7, int int_8, bool bool_9, float float_10) </code>
| <code>handle GetAuraOwner()</code>
| Draws a wireframe cone. Specify endpoint and direction in world space.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDebugOverlayScriptHelper.Cross | Cross]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Buff.GetCaster | GetCaster]]  
| <code>void Cross(Vector Vector_1, float float_2, int int_3, int int_4, int int_5, int int_6, bool bool_7, float float_8) </code>
| <code>handle GetCaster()</code>
| Draws a screen-aligned cross. Specify origin in world space.
| Get the owner of the ability responsible for the modifier.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDebugOverlayScriptHelper.Cross3D | Cross3D]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Buff.GetClass | GetClass]]  
| <code>void Cross3D(Vector Vector_1, float float_2, int int_3, int int_4, int int_5, int int_6, bool bool_7, float float_8) </code>
| <code>string GetClass()</code>
| Draws a world-aligned cross. Specify origin in world space.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDebugOverlayScriptHelper.Cross3DOriented | Cross3DOriented]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Buff.GetCreationTime | GetCreationTime]]  
| <code>void Cross3DOriented(Vector Vector_1, Quaternion Quaternion_2, float float_3, int int_4, int int_5, int int_6, int int_7, bool bool_8, float float_9) </code>
| <code>float GetCreationTime()</code>
| Draws an oriented cross. Specify origin in world space.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDebugOverlayScriptHelper.DrawTickMarkedLine | DrawTickMarkedLine]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Buff.GetDieTime | GetDieTime]]  
| <code>void DrawTickMarkedLine(Vector Vector_1, Vector Vector_2, float float_3, int int_4, int int_5, int int_6, int int_7, int int_8, bool bool_9, float float_10) </code>
| <code>float GetDieTime()</code>
| Draws a dashed line. Specify endpoint's in world space.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDebugOverlayScriptHelper.EntityAttachments | EntityAttachments]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Buff.GetDuration | GetDuration]]  
| <code>void EntityAttachments(ehandle ehandle_1, float float_2, float float_3) </code>
| <code>float GetDuration()</code>
| Draws the attachments of the entity
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDebugOverlayScriptHelper.EntityAxis | EntityAxis]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Buff.GetElapsedTime | GetElapsedTime]]  
| <code>void EntityAxis(ehandle ehandle_1, float float_2, bool bool_3, float float_4) </code>
| <code>float GetElapsedTime()</code>
| Draws the axis of the entity origin
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDebugOverlayScriptHelper.EntityBounds | EntityBounds]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Buff.GetLastAppliedTime | GetLastAppliedTime]]  
| <code>void EntityBounds(ehandle ehandle_1, int int_2, int int_3, int int_4, int int_5, bool bool_6, float float_7) </code>
| <code>float GetLastAppliedTime()</code>
| Draws bounds of an entity
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDebugOverlayScriptHelper.EntitySkeleton | EntitySkeleton]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Buff.GetName | GetName]]  
| <code>void EntitySkeleton(ehandle ehandle_1, float float_2) </code>
| <code>string GetName()</code>
| Draws the skeleton of the entity
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDebugOverlayScriptHelper.EntityText | EntityText]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Buff.GetParent | GetParent]]  
| <code>void EntityText(ehandle ehandle_1, int int_2, string string_3, int int_4, int int_5, int int_6, int int_7, float float_8) </code>
| <code>handle GetParent()</code>
| Draws text on an entity
| Get the unit the modifier is parented to.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDebugOverlayScriptHelper.FilledRect2D | FilledRect2D]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Buff.GetRemainingTime | GetRemainingTime]]  
| <code>void FilledRect2D(Vector2D Vector2D_1, Vector2D Vector2D_2, int int_3, int int_4, int int_5, int int_6, float float_7) </code>
| <code>float GetRemainingTime()</code>
| Draws a screen-space filled 2D rectangle. Coordinates are in pixels.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDebugOverlayScriptHelper.HorzArrow | HorzArrow]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Buff.GetSerialNumber | GetSerialNumber]]  
| <code>void HorzArrow(Vector Vector_1, Vector Vector_2, float float_3, int int_4, int int_5, int int_6, int int_7, bool bool_8, float float_9) </code>
| <code>int GetSerialNumber()</code>
| Draws a horizontal arrow. Specify endpoint's in world space.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDebugOverlayScriptHelper.Line | Line]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Buff.GetStackCount | GetStackCount]]  
| <code>void Line(Vector Vector_1, Vector Vector_2, int int_3, int int_4, int int_5, int int_6, bool bool_7, float float_8) </code>
| <code>int GetStackCount()</code>
| Draws a line between two point's
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDebugOverlayScriptHelper.Line2D | Line2D]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Buff.HasFunction | HasFunction]]  
| <code>void Line2D(Vector2D Vector2D_1, Vector2D Vector2D_2, int int_3, int int_4, int int_5, int int_6, float float_7) </code>
| <code>bool HasFunction(int iFunction)</code>
| Draws a line between two point's in screenspace
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDebugOverlayScriptHelper.PopDebugOverlayScope | PopDebugOverlayScope]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Buff.IncrementStackCount | IncrementStackCount]]  
| <code>void PopDebugOverlayScope() </code>
| <code>void IncrementStackCount()</code>
| Pops the identifier used to group overlays. Overlays marked with this identifier can be deleted in a big batch.
| Increase this modifier's stack count by 1.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDebugOverlayScriptHelper.PushAndClearDebugOverlayScope | PushAndClearDebugOverlayScope]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Buff.IsDebuff | IsDebuff]]  
| <code>void PushAndClearDebugOverlayScope(utlstringtoken utlstringtoken_1) </code>
| <code>bool IsDebuff()</code>
| Pushes an identifier used to group overlays. Deletes all existing overlays using this overlay id.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDebugOverlayScriptHelper.PushDebugOverlayScope | PushDebugOverlayScope]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Buff.IsHexDebuff | IsHexDebuff]]  
| <code>void PushDebugOverlayScope(utlstringtoken utlstringtoken_1) </code>
| <code>bool IsHexDebuff()</code>
| Pushes an identifier used to group overlays. Overlays marked with this identifier can be deleted in a big batch.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDebugOverlayScriptHelper.RemoveAllInScope | RemoveAllInScope]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Buff.IsStunDebuff | IsStunDebuff]]  
| <code>void RemoveAllInScope(utlstringtoken utlstringtoken_1) </code>
| <code>bool IsStunDebuff()</code>
| Removes all overlays marked with a specific identifier, regardless of their lifetime.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDebugOverlayScriptHelper.SolidCone | SolidCone]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Buff.SetDuration | SetDuration]]  
| <code>void SolidCone(Vector Vector_1, Vector Vector_2, float float_3, float float_4, int int_5, int int_6, int int_7, int int_8, bool bool_9, float float_10) </code>
| <code>void SetDuration(float flDuration, bool bInformClient)</code>
| Draws a solid cone. Specify endpoint and direction in world space.
| (flTime, bInformClients)
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDebugOverlayScriptHelper.Sphere | Sphere]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Buff.SetStackCount | SetStackCount]]  
| <code>void Sphere(Vector Vector_1, float float_2, int int_3, int int_4, int int_5, int int_6, bool bool_7, float float_8) </code>
| <code>void SetStackCount(int iCount)</code>
| Draws a wireframe sphere. Specify center in world space.
|
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDebugOverlayScriptHelper.SweptBox | SweptBox]]
| <code>void SweptBox(Vector Vector_1, Vector Vector_2, Vector Vector_3, Vector Vector_4, Quaternion Quaternion_5, int int_6, int int_7, int int_8, int int_9, float float_10) </code>
| Draws a swept box. Specify endpoint's in world space and the bounds in local space.
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDebugOverlayScriptHelper.Text | Text]]
| <code>void Text(Vector Vector_1, int int_2, string string_3, float float_4, int int_5, int int_6, int int_7, int int_8, float float_9) </code>
| Draws 2D text. Specify origin in world space.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDebugOverlayScriptHelper.Texture | Texture]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Buff.StartIntervalThink | StartIntervalThink]]  
| <code>void Texture(string string_1, Vector2D Vector2D_2, Vector2D Vector2D_3, int int_4, int int_5, int int_6, int int_7, Vector2D Vector2D_8, Vector2D Vector2D_9, float float_10) </code>
| <code>void StartIntervalThink(float flInterval)</code>
| Draws a screen-space texture. Coordinates are in pixels.
| Start this modifier's think function (OnIntervalThink) with the given interval (float). To stop, call with -1.  
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDebugOverlayScriptHelper.Triangle | Triangle]]
| <code>void Triangle(Vector Vector_1, Vector Vector_2, Vector Vector_3, int int_4, int int_5, int int_6, int int_7, bool bool_8, float float_9) </code>
| Draws a filled triangle. Specify vertices in world space.
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDebugOverlayScriptHelper.UnitTestCycleOverlayRenderType | UnitTestCycleOverlayRenderType]]
| <code>void UnitTestCycleOverlayRenderType() </code>
| Toggles the overlay render type, for unit tests
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDebugOverlayScriptHelper.VectorText3D | VectorText3D]]
| <code>void VectorText3D(Vector Vector_1, Quaternion Quaternion_2, string string_3, int int_4, int int_5, int int_6, int int_7, bool bool_8, float float_9) </code>
| Draws 3D text. Specify origin + orientation in world space.
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDebugOverlayScriptHelper.VertArrow | VertArrow]]
| <code>void VertArrow(Vector Vector_1, Vector Vector_2, float float_3, int int_4, int int_5, int int_6, int int_7, bool bool_8, float float_9) </code>
| Draws a vertical arrow. Specify endpoint's in world space.
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDebugOverlayScriptHelper.YawArrow | YawArrow]]
| <code>void YawArrow(Vector Vector_1, float float_2, float float_3, float float_4, int int_5, int int_6, int int_7, int int_8, bool bool_9, float float_10) </code>
| Draws a arrow associated with a specific yaw. Specify endpoint's in world space.
|}
|}


 
==== CDOTA_CustomUIManager ====
=== CBaseFlex ===
''Global accessor variable: <code>CustomUI</code>''
:::::extends [[#CBaseAnimating| CBaseAnimating]]
''Animated characters who have vertex flex capability (Hi hex6)''
{| class="standard-table" style="width: 100%;"
{| class="standard-table" style="width: 100%;"
! Function  
! Function  
Line 5,363: Line 5,290:
! Description  
! Description  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CBaseFlex.GetCurrentScene | GetCurrentScene]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_CustomUIManager.DynamicHud_Create | DynamicHud_Create]]  
| <code>handle GetCurrentScene() </code>
| <code>void DynamicHud_Create(int int_1, string string_2, string string_3, handle handle_4)</code>
| Returns the instance of the oldest active scene entity '''(if any).
| Create a new custom UI HUD element for the specified player(s). ( int PlayerID /*-1 means everyone*/, string ElementID /* should be unique */, string LayoutFileName, table DialogVariables /* can be nil */ )
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_CustomUIManager.DynamicHud_Destroy | DynamicHud_Destroy]]
| <code>void DynamicHud_Destroy(int int_1, string string_2)</code>
| Destroy a custom hud element ( int PlayerID /*-1 means everyone*/, string ElementID )  
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_CustomUIManager.DynamicHud_SetDialogVariables | DynamicHud_SetDialogVariables]]
| <code>void DynamicHud_SetDialogVariables(int int_1, string string_2, handle handle_3)</code>
| Add or modify dialog variables for an existing custom hud element ( int PlayerID /*-1 means everyone*/, string ElementID, table DialogVariables )
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CBaseFlex.GetSceneByIndex | GetSceneByIndex]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_CustomUIManager.DynamicHud_SetVisible | DynamicHud_SetVisible]]  
| <code>handle GetSceneByIndex(int index) </code>
| <code>void DynamicHud_SetVisible(int int_1, string string_2, bool bool_3)</code>
| Returns the instance of the scene entity at the specified index.
| Toggle the visibility of an existing custom hud element ( int PlayerID /*-1 means everyone*/, string ElementID, bool Visible )
|}
|}


 
==== CDOTA_Item ====
=== CSceneEntity ===
:::::extends [[#CDOTABaseAbility|CDOTABaseAbility]]
:::::extends [[#CBaseEntity| CBaseEntity]]
''No Description Set''
''Choreographed scene which controls animation and/or dialog on one or more actors.''
{| class="standard-table" style="width: 100%;"
{| class="standard-table" style="width: 100%;"
! Function  
! Function  
Line 5,381: Line 5,315:
! Description  
! Description  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CSceneEntity.AddBroadcastTeamTarget | AddBroadcastTeamTarget]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item.CanBeUsedOutOfInventory | CanBeUsedOutOfInventory]]  
| <code>void AddBroadcastTeamTarget(int int_1) </code>
| <code>bool CanBeUsedOutOfInventory()</code>
| Adds a team (by index) to the broadcast list
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CSceneEntity.Cancel | Cancel]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item.GetContainer | GetContainer]]  
| <code>void Cancel() </code>
| <code>handle GetContainer()</code>
| Cancel scene playback
| Get the container for this item.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CSceneEntity.EstimateLength | EstimateLength]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item.GetCost | GetCost]]  
| <code>float EstimateLength() </code>
| <code>int GetCost()</code>
| Returns length of this scene in seconds.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CSceneEntity.FindCamera | FindCamera]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item.GetCurrentCharges | GetCurrentCharges]]  
| <code>handle FindCamera() </code>
| <code>int GetCurrentCharges()</code>
| Get the camera
| Get the number of charges this item currently has.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CSceneEntity.FindNamedEntity | FindNamedEntity]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item.GetInitialCharges | GetInitialCharges]]  
| <code>handle FindNamedEntity(string string_1) </code>
| <code>int GetInitialCharges()</code>
| given an entity reference, such as !target, get actual entity from scene object
| Get the initial number of charges this item has.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CSceneEntity.IsPaused | IsPaused]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item.GetItemSlot | GetItemSlot]]  
| <code>bool IsPaused() </code>
| <code>int GetItemSlot()</code>
| If this scene is currently paused.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CSceneEntity.IsPlayingBack | IsPlayingBack]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item.GetItemState | GetItemState]]  
| <code>bool IsPlayingBack() </code>
| <code>int GetItemState()</code>
| If this scene is currently playing.
| Gets whether item is unequipped or ready.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CSceneEntity.LoadSceneFromString | LoadSceneFromString]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item.GetParent | GetParent]]  
| <code>bool LoadSceneFromString(string string_1, string string_2) </code>
| <code>handle GetParent()</code>
| given a dummy scene name and a vcd ''string'', load the scene
| Get the parent for this item.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CSceneEntity.RemoveBroadcastTeamTarget | RemoveBroadcastTeamTarget]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item.GetPurchaseTime | GetPurchaseTime]]  
| <code>void RemoveBroadcastTeamTarget(int int_1) </code>
| <code>float GetPurchaseTime()</code>
| Removes a team (by index) from the broadcast list
| Get the purchase time of this item
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CSceneEntity.Start | Start]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item.GetPurchaser | GetPurchaser]]  
| <code>void Start(handle handle_1) </code>
| <code>handle GetPurchaser()</code>
| Start scene playback, takes activatorEntity as param
| Get the purchaser for this item.
|}
 
 
=== GridNav ===
''A class that can communicate with the gridnav, useful for seeing if stuff should be able to move''
{| class="standard-table" style="width: 100%;"
! Function
! Signature
! Description
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/GridNav.CanFindPath | CanFindPath]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item.GetSecondaryCharges | GetSecondaryCharges]]  
| <code>bool CanFindPath(Vector Vector_1, Vector Vector_2) </code>
| <code>int GetSecondaryCharges()</code>
| Determine if it is possible to reach the specified end point from the specified start point. bool (vStart, vEnd)
| Get the number of secondary charges this item currently has.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/GridNav.DestroyTreesAroundPoint | DestroyTreesAroundPoint]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item.GetShareability | GetShareability]]  
| <code>void DestroyTreesAroundPoint(Vector Vector_1, float float_2, bool bool_3) </code>
| <code>int GetShareability()</code>
| Destroy all trees in the area(vPosition, flRadius, bFullCollision
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/GridNav.FindPathLength | FindPathLength]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item.IsAlertableItem | IsAlertableItem]]  
| <code>float FindPathLength(Vector Vector_1, Vector Vector_2) </code>
| <code>bool IsAlertableItem()</code>
| Find a path between the two points an return the length of the path. If there is not a path between the points the returned value will be -1. float (vStart, vEnd )
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/GridNav.GetAllTreesAroundPoint | GetAllTreesAroundPoint]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item.IsCastOnPickup | IsCastOnPickup]]  
| <code>handle GetAllTreesAroundPoint(Vector Vector_1, float float_2, bool bool_3) </code>
| <code>bool IsCastOnPickup()</code>
| Returns a table full of tree HSCRIPTS (vPosition, flRadius, bFullCollision).
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/GridNav.GridPosToWorldCenterX | GridPosToWorldCenterX]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item.IsCombinable | IsCombinable]]  
| <code>float GridPosToWorldCenterX(int int_1) </code>
| <code>bool IsCombinable()</code>
| Get the X position of the center of a given X index
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/GridNav.GridPosToWorldCenterY | GridPosToWorldCenterY]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item.IsDisassemblable | IsDisassemblable]]  
| <code>float GridPosToWorldCenterY(int int_1) </code>
| <code>bool IsDisassemblable()</code>
| Get the Y position of the center of a given Y index
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/GridNav.IsBlocked | IsBlocked]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item.IsDroppable | IsDroppable]]  
| <code>bool IsBlocked(Vector Vector_1) </code>
| <code>bool IsDroppable()</code>
| Checks whether the given position is blocked
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/GridNav.IsNearbyTree | IsNearbyTree]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item.IsInBackpack | IsInBackpack]]  
| <code>bool IsNearbyTree(Vector position, float radius, bool bool_3) </code>
| <code>bool IsInBackpack()</code>
|   
|   
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/GridNav.IsTraversable | IsTraversable]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item.IsItem | IsItem]]  
| <code>bool IsTraversable(Vector Vector_1) </code>
| <code>bool IsItem()</code>
| Checks whether the given position is traversable
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/GridNav.RegrowAllTrees | RegrowAllTrees]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item.IsKillable | IsKillable]]  
| <code>void RegrowAllTrees() </code>
| <code>bool IsKillable()</code>
|   
|   
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/GridNav.WorldToGridPosX | WorldToGridPosX]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item.IsMuted | IsMuted]]  
| <code>int WorldToGridPosX(float float_1) </code>
| <code>bool IsMuted()</code>
| Get the X index of a given world X position
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/GridNav.WorldToGridPosY | WorldToGridPosY]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item.IsPermanent | IsPermanent]]  
| <code>int WorldToGridPosY(float float_1) </code>
| <code>bool IsPermanent()</code>
| Get the Y index of a given world Y position
|
|}
 
 
=== Convars ===
''No Description Set''
 
''Global accessor variable:'' <code>ConVars</code>
{| class="standard-table" style="width: 100%;"
! Function
! Signature
! Description
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/Convars.GetBool | GetBool]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item.IsPurchasable | IsPurchasable]]  
| <code>table GetBool(string variableName) </code>
| <code>bool IsPurchasable()</code>
| GetBool(name) : returns the convar as a boolean flag.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/Convars.GetCommandClient | GetCommandClient]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item.IsRecipe | IsRecipe]]  
| <code>handle GetCommandClient() </code>
| <code>bool IsRecipe()</code>
| GetCommandClient() : returns the player who issued this console command.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/Convars.GetDOTACommandClient | GetDOTACommandClient]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item.IsRecipeGenerated | IsRecipeGenerated]]  
| <code>handle GetDOTACommandClient() </code>
| <code>bool IsRecipeGenerated()</code>
| GetDOTACommandClient() : returns the DOTA player who issued this console command.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/Convars.GetFloat | GetFloat]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item.IsSellable | IsSellable]]  
| <code>table GetFloat(string name) </code>
| <code>bool IsSellable()</code>
| GetFloat(name) : returns the convar as a ''float''. May return ''nil'' if no such convar.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/Convars.GetInt | GetInt]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item.IsStackable | IsStackable]]  
| <code>table GetInt(string string_1) </code>
| <code>bool IsStackable()</code>
| GetInt(name) : returns the convar as an ''int''. May return ''nil'' if no such convar.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/Convars.GetStr | GetStr]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item.LaunchLoot | LaunchLoot]]  
| <code>table GetStr(string variableName) </code>
| <code>void LaunchLoot(bool bAutoUse, float flHeight, float flDuration, Vector vEndPoint)</code>
| GetStr(name) : returns the convar as a ''string''. May return ''nil'' if no such convar.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/Convars.RegisterCommand | RegisterCommand]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item.LaunchLootInitialHeight | LaunchLootInitialHeight]]  
| <code>void RegisterCommand(string variableName, handle function, string helpText, int flags) </code>
| <code>void LaunchLootInitialHeight(bool bAutoUse, float flInitialHeight, float flLaunchHeight, float flDuration, Vector vEndPoint)</code>
| RegisterCommand(name, fn, helpString, flags) : register a console command.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/Convars.RegisterConvar | RegisterConvar]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item.OnEquip | OnEquip]]  
| <code>void RegisterConvar(string name, string defaultValue, string helpText, int flags) </code>
| <code>void OnEquip()</code>
| RegisterConvar(name, defaultValue, helpString, flags): register a new console variable.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/Convars.SetBool | SetBool]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item.OnUnequip | OnUnequip]]  
| <code>void SetBool(string variableName, bool value) </code>
| <code>void OnUnequip()</code>
| SetBool(name, val) : sets the value of the convar to the ''bool''.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/Convars.SetFloat | SetFloat]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item.RequiresCharges | RequiresCharges]]  
| <code>void SetFloat(string variableName, float value) </code>
| <code>bool RequiresCharges()</code>
| SetFloat(name, val) : sets the value of the convar to the ''float''.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/Convars.SetInt | SetInt]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item.SetCanBeUsedOutOfInventory | SetCanBeUsedOutOfInventory]]  
| <code>void SetInt(string string_1, int int_2) </code>
| <code>void SetCanBeUsedOutOfInventory(bool bValue)</code>
| SetInt(name, val) : sets the value of the convar to the ''int''.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/Convars.SetStr | SetStr]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item.SetCastOnPickup | SetCastOnPickup]]  
| <code>void SetStr(string string_1, string string_2) </code>
| <code>void SetCastOnPickup(bool bCastOnPickUp)</code>
| SetStr(name, val) : sets the value of the convar to the ''string''.
|
|}
 
 
=== Vector ===
''Vector class''
 
''Global accessor variable:'' <code>Vector(x,y,z)</code>
{| class="standard-table" style="width: 100%;"
! Function
! Signature
! Description
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/Vector.__add | __add]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item.SetCurrentCharges | SetCurrentCharges]]  
| <code>Vector __add(Vector a, Vector b) </code>
| <code>void SetCurrentCharges(int iCharges)</code>
| Overloaded +.  Adds vectors together
| Set the number of charges on this item
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/Vector.__div | __div]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item.SetDroppable | SetDroppable]]  
| <code>Vector __div(Vector a, Vector b) </code>
| <code>void SetDroppable(bool bDroppable)</code>
| Overloaded /. Divides vectors
|   
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/Vector.__eq | __eq]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item.SetItemState | SetItemState]]  
| <code>bool __eq(Vector a, Vector b) </code>
| <code>void SetItemState(int iState)</code>
| Overloaded ==. Tests for Equality
| Sets whether item is unequipped or ready.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/Vector.__len | __len]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item.SetPurchaseTime | SetPurchaseTime]]  
| <code>float __len() </code>
| <code>void SetPurchaseTime(float flTime)</code>
| Overloaded # returns the length of the vector
| Set the purchase time of this item
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/Vector.__mul | __mul]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item.SetPurchaser | SetPurchaser]]  
| <code>Vector __mul(Vector a, Vector b) </code>
| <code>void SetPurchaser(handle hPurchaser)</code>
| Overloaded * returns the vectors multiplied together
| Set the purchaser of record for this item.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/Vector.__sub | __sub]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item.SetSecondaryCharges | SetSecondaryCharges]]  
| <code>Vector __sub(Vector a, Vector b) </code>
| <code>void SetSecondaryCharges(int iCharges)</code>
| Overloaded -.  Subtracts vectors
| Set the number of secondary charges on this item
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/Vector.__tostring | __tostring]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item.SetSellable | SetSellable]]  
| <code>string __tostring() </code>
| <code>void SetSellable(bool bSellable)</code>
| Overloaded .. Converts vectors to strings
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/Vector.__unm | __unm]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item.SetShareability | SetShareability]]  
| <code>Vector __unm() </code>
| <code>void SetShareability(int iShareability)</code>
| Overloaded - operator
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/Vector.Cross | Cross]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item.SetStacksWithOtherOwners | SetStacksWithOtherOwners]]  
| <code>Vector Cross(Vector a, Vector b) </code>
| <code>void SetStacksWithOtherOwners(bool bStacksWithOtherOwners)</code>
| Cross product of two vectors
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/Vector.Dot | Dot]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item.SpendCharge | SpendCharge]]  
| <code>float Dot(Vector a, Vector b) </code>
| <code>void SpendCharge()</code>
| Dot product of two vectors
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/Vector.Length | Length]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item.StacksWithOtherOwners | StacksWithOtherOwners]]  
| <code>float Length() </code>
| <code>bool StacksWithOtherOwners()</code>
| Length of the Vector
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/Vector.Length2D | Length2D]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item.Think | Think]]  
| <code>float Length2D() </code>
| <code>void Think()</code>
| Length of the Vector in the XY plane
| Think this item
|-
| [[Dota 2 Workshop Tools/Scripting/API/Vector.Normalized | Normalized]]
| <code>Vector Normalized() </code>
| Returns the vector normalized
|}
|}


 
==== CDOTA_ItemSpawner ====
=== CDOTA_MapTree ===
:::::extends [[#CBaseEntity|CBaseEntity]]
:::::extends [[#CBaseEntity| CBaseEntity]]
''No Description Set''
''A tree on the map''
{| class="standard-table" style="width: 100%;"
{| class="standard-table" style="width: 100%;"
! Function  
! Function  
Line 5,610: Line 5,508:
! Description  
! Description  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_MapTree.CutDown | CutDown]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_ItemSpawner.GetItemName | GetItemName]]  
| <code>void CutDown(int TeamNumberKnownTo ) </code>
| <code>string GetItemName()</code>
| Cuts down this tree.
| Returns the item name
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_MapTree.CutDownRegrowAfter | CutDownRegrowAfter]]
| <code>void CutDownRegrowAfter(float RegrowAfter, int TeamNumberKnownTo ) </code>
| Cuts down this tree.  Regrow it after some time
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_MapTree.GrowBack | GrowBack]]
| <code>void GrowBack() </code>
| Grows back the tree if it was cut down.
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_MapTree.IsStanding | IsStanding]]
| <code>bool IsStanding() </code>
| Returns true if the tree is standing, false if it has been cut down
|}
|}


 
==== CDOTA_Item_DataDriven ====
=== CDOTA_SimpleObstruction ===
:::::extends [[#CDOTA_Item|CDOTA_Item]]
:::::extends [[#CBaseEntity| CBaseEntity]]
''No Description Set''
''An obstruction on the map that effects the gridnav''
{| class="standard-table" style="width: 100%;"
{| class="standard-table" style="width: 100%;"
! Function  
! Function  
Line 5,636: Line 5,521:
! Description  
! Description  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_SimpleObstruction.IsEnabled | IsEnabled]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item_DataDriven.ApplyDataDrivenModifier | ApplyDataDrivenModifier]]  
| <code>bool IsEnabled() </code>
| <code>void ApplyDataDrivenModifier(handle hCaster, handle hTarget, string pszModifierName, handle hModifierTable)</code>
| Returns whether the obstruction is currently active
| Applies a data driven modifier to the target
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_SimpleObstruction.SetEnabled | SetEnabled]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item_DataDriven.ApplyDataDrivenThinker | ApplyDataDrivenThinker]]  
| <code>void SetEnabled(bool enabled, bool bForce) </code>
| <code>handle ApplyDataDrivenThinker(handle hCaster, Vector vLocation, string pszModifierName, handle hModifierTable)</code>
| Enable or disable the obstruction
| Applies a data driven thinker at the location
|}
|}


 
==== CDOTA_Item_Lua ====
=== CDOTA_Unit_Courier ===
:::::extends [[#CDOTA_Item|CDOTA_Item]]
:::::extends [[#CDOTA_BaseNPC| CDOTA_BaseNPC]]
''No Description Set''
''Class for Couriers''
{| class="standard-table" style="width: 100%;"
{| class="standard-table" style="width: 100%;"
! Function  
! Function  
Line 5,654: Line 5,538:
! Description  
! Description  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Unit_Courier.UpgradeToFlyingCourier | UpgradeToFlyingCourier]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item_Lua.CanUnitPickUp | CanUnitPickUp]]  
| <code>bool UpgradeToFlyingCourier() </code>
| <code>bool CanUnitPickUp(handle hUnit)</code>
| Upgrade to a flying courier
| Returns true if this item can be picked up by the target unit.
|}
|-
 
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item_Lua.CastFilterResult | CastFilterResult]]
 
| <code>int CastFilterResult()</code>
=== CDOTA_Ability_DataDriven ===
| Determine whether an issued command with no target is valid.
''No Description Set''
|-
 
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item_Lua.CastFilterResultLocation | CastFilterResultLocation]]
''Global accessor variable:'' <code>Unknown</code>
| <code>int CastFilterResultLocation(Vector vLocation)</code>
{| class="standard-table" style="width: 100%;"
| (Vector vLocation) Determine whether an issued command on a location is valid.
! Function
! Signature
! Description
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Ability_DataDriven.ApplyDataDrivenModifier | ApplyDataDrivenModifier]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item_Lua.CastFilterResultTarget | CastFilterResultTarget]]  
| <code>int ApplyDataDrivenModifier(handle hCaster, handle hTarget, string pszModifierName, handle hModifierTable) </code>
| <code>int CastFilterResultTarget(handle hTarget)</code>
| Gets the Attack Capabilities of the unit
| (HSCRIPT hTarget) Determine whether an issued command on a target is valid.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Ability_DataDriven.ApplyDataDrivenThinker | ApplyDataDrivenThinker]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item_Lua.GetAssociatedPrimaryAbilities | GetAssociatedPrimaryAbilities]]  
| <code>handle ApplyDataDrivenThinker(handle hCaster, Vector vLocation, string pszModifierName, handle hModifierTable) </code>
| <code>string GetAssociatedPrimaryAbilities()</code>
| Applies a data driven thinker at the location
| Returns abilities that are stolen simultaneously, or otherwise related in functionality.
|}
|-
 
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item_Lua.GetAssociatedSecondaryAbilities | GetAssociatedSecondaryAbilities]]
 
| <code>string GetAssociatedSecondaryAbilities()</code>
=== CBaseModelEntity ===
| Returns other abilities that are stolen simultaneously, or otherwise related in functionality.  Generally hidden abilities.
''No Description Set''
|-
 
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item_Lua.GetBehavior | GetBehavior]]
''Global accessor variable:'' <code>Unknown</code>
| <code>int GetBehavior()</code>
{| class="standard-table" style="width: 100%;"
| Return cast behavior type of this ability.
! Function
! Signature
! Description
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CBaseModelEntity.SetLightGroup | SetLightGroup]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item_Lua.GetCastRange | GetCastRange]]  
| <code>void SetLightGroup(string pLightGroup) </code>
| <code>int GetCastRange(Vector vLocation, handle hTarget)</code>
| SetLightGroup( string ): Sets the light group of the entity.
| Return cast range of this ability.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CBaseModelEntity.SetModel | SetModel]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item_Lua.GetChannelTime | GetChannelTime]]  
| <code>void SetModel(string pModelName) </code>
| <code>float GetChannelTime()</code>
|  
| Return the channel time of this ability.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CBaseModelEntity.SetRenderColor | SetRenderColor]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item_Lua.GetChannelledManaCostPerSecond | GetChannelledManaCostPerSecond]]  
| <code>void SetRenderColor(int r, int g, int b) </code>
| <code>int GetChannelledManaCostPerSecond(int iLevel)</code>
| SetRenderColor( r, g, b ): Sets the render color of the entity.
| Return mana cost at the given level per second while channeling (-1 is current).  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CBaseModelEntity.SetRenderMode | SetRenderMode]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item_Lua.GetConceptRecipientType | GetConceptRecipientType]]  
| <code>void SetRenderMode(int nMode) </code>
| <code>int GetConceptRecipientType()</code>
| SetRenderMode( int ): Sets the render mode of the entity.
| Return who hears speech when this spell is cast.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CBaseModelEntity.SetSize | SetSize]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item_Lua.GetCooldown | GetCooldown]]  
| <code>void SetSize(Vector mins, Vector maxs) </code>
| <code>float GetCooldown(int iLevel)</code>
|  
| Return cooldown of this ability.
|}
 
 
=== CCustomGameEventManager ===
''No Description Set''
 
''Global accessor variable:'' <code>Unknown</code>
{| class="standard-table" style="width: 100%;"
! Function
! Signature
! Description
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CCustomGameEventManager.RegisterListener | RegisterListener]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item_Lua.GetCustomCastError | GetCustomCastError]]  
| <code>int RegisterListener(string string_1, handle handle_2) </code>
| <code>string GetCustomCastError()</code>
| ( string EventName, func CallbackFunction ) - Register a callback to be called when a particular custom event arrives. Returns a listener ID that can be used to unregister later.
| Return the error string of a failed command with no target.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CCustomGameEventManager.Send_ServerToAllClients | Send_ServerToAllClients]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item_Lua.GetCustomCastErrorLocation | GetCustomCastErrorLocation]]  
| <code>void Send_ServerToAllClients(string string_1, handle handle_2) </code>
| <code>string GetCustomCastErrorLocation(Vector vLocation)</code>
| ( string EventName, table EventData )
| (Vector vLocation) Return the error string of a failed command on a location.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CCustomGameEventManager.Send_ServerToPlayer | Send_ServerToPlayer]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item_Lua.GetCustomCastErrorTarget | GetCustomCastErrorTarget]]  
| <code>void Send_ServerToPlayer(handle handle_1, string string_2, handle handle_3) </code>
| <code>string GetCustomCastErrorTarget(handle hTarget)</code>
| ( Entity Player, string EventName, table EventData )
| (HSCRIPT hTarget) Return the error string of a failed command on a target.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CCustomGameEventManager.Send_ServerToTeam | Send_ServerToTeam]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item_Lua.GetGoldCost | GetGoldCost]]  
| <code>void Send_ServerToTeam(int int_1, string string_2, handle handle_3) </code>
| <code>int GetGoldCost(int iLevel)</code>
| ( int TeamNumber, string EventName, table EventData )
| Return gold cost at the given level (-1 is current).
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CCustomGameEventManager.UnregisterListener | UnregisterListener]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item_Lua.GetIntrinsicModifierName | GetIntrinsicModifierName]]  
| <code>void UnregisterListener(int int_1) </code>
| <code>string GetIntrinsicModifierName()</code>
| ( int ListnerID ) - Unregister a specific listener
| Returns the name of the modifier applied passively by this ability.
|}
 
 
=== CCustomNetTableManager ===
''No Description Set''
 
''Global accessor variable:'' <code>Unknown</code>
{| class="standard-table" style="width: 100%;"
! Function
! Signature
! Description
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CCustomNetTableManager.GetTableValue | GetTableValue]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item_Lua.GetManaCost | GetManaCost]]  
| <code>handle GetTableValue(string string_1, string string_2) </code>
| <code>int GetManaCost(int iLevel)</code>
| ( string TableName, string KeyName )
| Return mana cost at the given level (-1 is current).
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CCustomNetTableManager.SetTableValue | SetTableValue]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item_Lua.GetPlaybackRateOverride | GetPlaybackRateOverride]]  
| <code>bool SetTableValue(string string_1, string string_2, handle handle_3) </code>
| <code>float GetPlaybackRateOverride()</code>
| ( string TableName, string KeyName, script_table Value )
| Return the animation rate of the cast animation.
|}
 
 
=== CDOTATutorial ===
''No Description Set''
 
''Global accessor variable:'' <code>Unknown</code>
{| class="standard-table" style="width: 100%;"
! Function
! Signature
! Description
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTATutorial.AddBot | AddBot]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item_Lua.IsHiddenAbilityCastable | IsHiddenAbilityCastable]]  
| <code>bool AddBot(string string_1, string string_2, string string_3, bool bool_4) </code>
| <code>bool IsHiddenAbilityCastable()</code>
| Add a computer controlled bot.
| Returns true if this ability can be used when not on the action panel.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTATutorial.AddQuest | AddQuest]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item_Lua.IsHiddenWhenStolen | IsHiddenWhenStolen]]  
| <code>void AddQuest(string string_1, int int_2, string string_3, string string_4) </code>
| <code>bool IsHiddenWhenStolen()</code>
| Add a quest to the quest log
| Returns true if this ability is hidden when stolen by Spell Steal.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTATutorial.AddShopWhitelistItem | AddShopWhitelistItem]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item_Lua.IsMuted | IsMuted]]  
| <code>void AddShopWhitelistItem(string string_1) </code>
| <code>bool IsMuted()</code>
| Add an item to the shop whitelist.
| Returns whether this item is muted or not.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTATutorial.CompleteQuest | CompleteQuest]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item_Lua.IsRefreshable | IsRefreshable]]  
| <code>void CompleteQuest(string string_1) </code>
| <code>bool IsRefreshable()</code>
| Complete a quest,
| Returns true if this ability is refreshed by Refresher Orb.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTATutorial.CreateLocationTask | CreateLocationTask]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item_Lua.IsStealable | IsStealable]]  
| <code>void CreateLocationTask(Vector Vector_1) </code>
| <code>bool IsStealable()</code>
| Add a task to move to a specific location
| Returns true if this ability can be stolen by Spell Steal.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTATutorial.EnableCreepAggroViz | EnableCreepAggroViz]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item_Lua.OnAbilityPhaseInterrupted | OnAbilityPhaseInterrupted]]  
| <code>void EnableCreepAggroViz(bool bool_1) </code>
| <code>void OnAbilityPhaseInterrupted()</code>
| Alert the player when a creep becomes agro to their hero.
| Cast time did not complete successfully.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTATutorial.EnablePlayerOffscreenTip | EnablePlayerOffscreenTip]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item_Lua.OnAbilityPhaseStart | OnAbilityPhaseStart]]  
| <code>void EnablePlayerOffscreenTip(bool bool_1) </code>
| <code>bool OnAbilityPhaseStart()</code>
| Enable the tip to alert players how to find their hero.
| Cast time begins (return true for successful cast).  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTATutorial.EnableTowerAggroViz | EnableTowerAggroViz]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item_Lua.OnChannelFinish | OnChannelFinish]]  
| <code>void EnableTowerAggroViz(bool bool_1) </code>
| <code>void OnChannelFinish(bool bInterrupted)</code>
| Alert the player when a tower becomes agro to their hero.
| (bool bInterrupted) Channel finished.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTATutorial.FinishTutorial | FinishTutorial]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item_Lua.OnChannelThink | OnChannelThink]]  
| <code>void FinishTutorial() </code>
| <code>void OnChannelThink(float flInterval)</code>
| End the tutorial.
| (float flInterval) Channeling is taking place.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTATutorial.ForceGameStart | ForceGameStart]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item_Lua.OnHeroCalculateStatBonus | OnHeroCalculateStatBonus]]  
| <code>void ForceGameStart() </code>
| <code>void OnHeroCalculateStatBonus()</code>
| Force the start of the game.
| Caster (hero only) gained a level, skilled an ability, or received a new stat bonus.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTATutorial.GetTimeFrozen | GetTimeFrozen]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item_Lua.OnHeroDiedNearby | OnHeroDiedNearby]]  
| <code>bool GetTimeFrozen() </code>
| <code>void OnHeroDiedNearby(handle unit, handle attacker, handle table)</code>
| Is our time frozen?
| A hero has died in the vicinity (ie Urn), takes table of params.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTATutorial.IsItemInWhiteList | IsItemInWhiteList]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item_Lua.OnHeroLevelUp | OnHeroLevelUp]]  
| <code>bool IsItemInWhiteList(string string_1) </code>
| <code>void OnHeroLevelUp()</code>
| Is this item currently in the white list.
| Caster gained a level.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTATutorial.RemoveShopWhitelistItem | RemoveShopWhitelistItem]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item_Lua.OnInventoryContentsChanged | OnInventoryContentsChanged]]  
| <code>void RemoveShopWhitelistItem(string string_1) </code>
| <code>void OnInventoryContentsChanged()</code>
| Remove an item from the shop whitelist.
| Caster inventory changed.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTATutorial.SelectHero | SelectHero]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item_Lua.OnItemEquipped | OnItemEquipped]]  
| <code>void SelectHero(string string_1) </code>
| <code>void OnItemEquipped(handle hItem)</code>
| Select a hero for the local player
| ( HSCRIPT hItem ) Caster equipped item.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTATutorial.SelectPlayerTeam | SelectPlayerTeam]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item_Lua.OnOwnerDied | OnOwnerDied]]  
| <code>void SelectPlayerTeam(string string_1) </code>
| <code>void OnOwnerDied()</code>
| Select the team for the local player
| Caster died.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTATutorial.SetItemGuide | SetItemGuide]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item_Lua.OnOwnerSpawned | OnOwnerSpawned]]  
| <code>void SetItemGuide(string string_1) </code>
| <code>void OnOwnerSpawned()</code>
| Set the current item guide.
| Caster respawned or spawned for the first time.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTATutorial.SetOrModifyPlayerGold | SetOrModifyPlayerGold]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item_Lua.OnProjectileHit | OnProjectileHit]]  
| <code>void SetOrModifyPlayerGold(int int_1, bool bool_2) </code>
| <code>bool OnProjectileHit(handle hTarget, Vector vLocation)</code>
| Set gold amount for the tutorial player. (int) GoldAmount, (bool) true=Set, false=Modify
| (HSCRIPT hTarget, Vector vLocation) Projectile has collided with a given target or reached its destination (target is invalid).
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTATutorial.SetQuickBuy | SetQuickBuy]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item_Lua.OnProjectileThink | OnProjectileThink]]  
| <code>void SetQuickBuy(string string_1) </code>
| <code>void OnProjectileThink(Vector vLocation)</code>
| Set players quick buy item.
| (Vector vLocation) Projectile is actively moving.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTATutorial.SetShopOpen | SetShopOpen]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item_Lua.OnSpellStart | OnSpellStart]]  
| <code>void SetShopOpen(bool bool_1) </code>
| <code>void OnSpellStart()</code>
| Set the shop open or closed.
| Cast time finished, spell effects begin.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTATutorial.SetTimeFrozen | SetTimeFrozen]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item_Lua.OnStolen | OnStolen]]  
| <code>void SetTimeFrozen(bool bool_1) </code>
| <code>void OnStolen(handle hSourceAbility)</code>
| Set if we should freeze time or not.
| ( HSCRIPT hAbility ) Special behavior when stolen by Spell Steal.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTATutorial.SetTutorialConvar | SetTutorialConvar]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item_Lua.OnToggle | OnToggle]]  
| <code>void SetTutorialConvar(string string_1, string string_2) </code>
| <code>void OnToggle()</code>
| Set a tutorial convar
| Ability is toggled on/off.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTATutorial.SetTutorialUI | SetTutorialUI]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item_Lua.OnUnStolen | OnUnStolen]]  
| <code>void SetTutorialUI(int int_1) </code>
| <code>void OnUnStolen()</code>
| Set the UI to use a reduced version to focus attention to specific elements.
| Special behavior when lost by Spell Steal.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTATutorial.SetWhiteListEnabled | SetWhiteListEnabled]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item_Lua.OnUpgrade | OnUpgrade]]  
| <code>void SetWhiteListEnabled(bool bool_1) </code>
| <code>void OnUpgrade()</code>
| Set if we should whitelist shop items.
| Ability gained a level.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTATutorial.StartTutorialMode | StartTutorialMode]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item_Lua.ProcsMagicStick | ProcsMagicStick]]  
| <code>void StartTutorialMode() </code>
| <code>bool ProcsMagicStick()</code>
| Initialize Tutorial Mode
| Returns true if this ability will generate magic stick charges for nearby enemies.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTATutorial.UpgradePlayerAbility | UpgradePlayerAbility]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item_Lua.SpeakTrigger | SpeakTrigger]]  
| <code>void UpgradePlayerAbility(string string_1) </code>
| <code>int SpeakTrigger()</code>
| Upgrade a specific ability for the local hero
| Return the type of speech used.
|}
|}


 
==== CDOTA_Item_Physical ====
=== CDOTA_Ability_Lua ===
:::::extends [[#CBaseAnimating|CBaseAnimating]]
''No Description Set''
''No Description Set''
''Global accessor variable:'' <code>Unknown</code>
{| class="standard-table" style="width: 100%;"
{| class="standard-table" style="width: 100%;"
! Function  
! Function  
Line 5,880: Line 5,723:
! Description  
! Description  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Ability_Lua.CastFilterResult | CastFilterResult]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item_Physical.GetContainedItem | GetContainedItem]]  
| <code>int CastFilterResult() </code>
| <code>handle GetContainedItem()</code>
| Determine whether an issued command with no target is valid.
| Returned the contained item.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Ability_Lua.CastFilterResultLocation | CastFilterResultLocation]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item_Physical.GetCreationTime | GetCreationTime]]  
| <code>int CastFilterResultLocation(Vector vLocation) </code>
| <code>float GetCreationTime()</code>
| (Vector vLocation) Determine whether an issued command on a location is valid.
| Returns the game time when this item was created in the world
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Ability_Lua.CastFilterResultTarget | CastFilterResultTarget]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item_Physical.SetContainedItem | SetContainedItem]]  
| <code>int CastFilterResultTarget(handle hTarget) </code>
| <code>void SetContainedItem(handle hItem)</code>
| (HSCRIPT hTarget) Determine whether an issued command on a target is valid.
| Set the contained item.  
|}
 
==== CDOTA_MapTree ====
:::::extends [[#CBaseEntity|CBaseEntity]]
''No Description Set''
{| class="standard-table" style="width: 100%;"
! Function
! Signature
! Description
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Ability_Lua.GetAssociatedPrimaryAbilities | GetAssociatedPrimaryAbilities]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_MapTree.CutDown | CutDown]]  
| <code>string GetAssociatedPrimaryAbilities() </code>
| <code>void CutDown(int nTeamNumberKnownTo)</code>
| Returns abilities that are stolen simultaneously, or otherwise related in functionality.
| Cuts down this tree. Parameters: int nTeamNumberKnownTo (-1 = invalid team)
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Ability_Lua.GetAssociatedSecondaryAbilities | GetAssociatedSecondaryAbilities]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_MapTree.CutDownRegrowAfter | CutDownRegrowAfter]]  
| <code>string GetAssociatedSecondaryAbilities() </code>
| <code>void CutDownRegrowAfter(float flRegrowAfter, int nTeamNumberKnownTo)</code>
| Returns other abilities that are stolen simultaneously, or otherwise related in functionality.  Generally hidden abilities.
| Cuts down this tree. Parameters: float flRegrowAfter (-1 = never regrow), int nTeamNumberKnownTo (-1 = invalid team)
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Ability_Lua.GetBehavior | GetBehavior]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_MapTree.GrowBack | GrowBack]]  
| <code>int GetBehavior() </code>
| <code>void GrowBack()</code>
| Return cast behavior type of this ability.
| Grows back the tree if it was cut down.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Ability_Lua.GetCastAnimation | GetCastAnimation]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_MapTree.IsStanding | IsStanding]]  
| <code>int GetCastAnimation() </code>
| <code>bool IsStanding()</code>
| Return casting animation of this ability.
| Returns true if the tree is standing, false if it has been cut down
|-
|}
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Ability_Lua.GetCastRange | GetCastRange]]
 
| <code>int GetCastRange(Vector vLocation, handle hTarget) </code>
==== CDOTA_Modifier_Lua ====
| Return cast range of this ability.
:::::extends [[#CDOTA_Buff|CDOTA_Buff]]
''No Description Set''
{| class="standard-table" style="width: 100%;"
! Function
! Signature
! Description
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Ability_Lua.GetChannelAnimation | GetChannelAnimation]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Modifier_Lua.AllowIllusionDuplicate | AllowIllusionDuplicate]]  
| <code>int GetChannelAnimation() </code>
| <code>bool AllowIllusionDuplicate()</code>
| Return channel animation of this ability.
| True/false if this modifier is active on illusions.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Ability_Lua.GetChannelledManaCostPerSecond | GetChannelledManaCostPerSecond]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Modifier_Lua.CanParentBeAutoAttacked | CanParentBeAutoAttacked]]  
| <code>int GetChannelledManaCostPerSecond(int iLevel) </code>
| <code>bool CanParentBeAutoAttacked()</code>
| Return mana cost at the given level per second while channeling (-1 is current).
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Ability_Lua.GetChannelTime | GetChannelTime]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Modifier_Lua.DestroyOnExpire | DestroyOnExpire]]  
| <code>float GetChannelTime() </code>
| <code>bool DestroyOnExpire()</code>
| Return the channel time of this ability.
| True/false if this buff is removed when the duration expires.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Ability_Lua.GetConceptRecipientType | GetConceptRecipientType]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Modifier_Lua.GetAttributes | GetAttributes]]  
| <code>int GetConceptRecipientType() </code>
| <code>int GetAttributes()</code>
| Return who hears speech when this spell is cast.
| Return the types of attributes applied to this modifier (enum value from DOTAModifierAttribute_t
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Ability_Lua.GetCooldown | GetCooldown]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Modifier_Lua.GetAuraDuration | GetAuraDuration]]  
| <code>float GetCooldown(int iLevel) </code>
| <code>float GetAuraDuration()</code>
| Return cooldown of this ability.
| Returns aura stickiness
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Ability_Lua.GetCustomCastError | GetCustomCastError]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Modifier_Lua.GetAuraEntityReject | GetAuraEntityReject]]  
| <code>string GetCustomCastError() </code>
| <code>bool GetAuraEntityReject(handle hEntity)</code>
| Return the error string of a failed command with no target.
| Return true/false if this entity should receive the aura under specific conditions
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Ability_Lua.GetCustomCastErrorLocation | GetCustomCastErrorLocation]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Modifier_Lua.GetAuraRadius | GetAuraRadius]]  
| <code>string GetCustomCastErrorLocation(Vector vLocation) </code>
| <code>int GetAuraRadius()</code>
| (Vector vLocation) Return the error string of a failed command on a location.
| Return the range around the parent this aura tries to apply its buff.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Ability_Lua.GetCustomCastErrorTarget | GetCustomCastErrorTarget]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Modifier_Lua.GetAuraSearchFlags | GetAuraSearchFlags]]  
| <code>string GetCustomCastErrorTarget(handle hTarget) </code>
| <code>int GetAuraSearchFlags()</code>
| (HSCRIPT hTarget) Return the error string of a failed command on a target.
| Return the unit flags this aura respects when placing buffs.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Ability_Lua.GetGoldCost | GetGoldCost]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Modifier_Lua.GetAuraSearchTeam | GetAuraSearchTeam]]  
| <code>int GetGoldCost(int iLevel) </code>
| <code>int GetAuraSearchTeam()</code>
| Return gold cost at the given level (-1 is current).
| Return the teams this aura applies its buff to.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Ability_Lua.GetIntrinsicModifierName | GetIntrinsicModifierName]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Modifier_Lua.GetAuraSearchType | GetAuraSearchType]]  
| <code>string GetIntrinsicModifierName() </code>
| <code>int GetAuraSearchType()</code>
| Returns the name of the modifier applied passively by this ability.
| Return the unit classifications this aura applies its buff to.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Ability_Lua.GetManaCost | GetManaCost]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Modifier_Lua.GetEffectAttachType | GetEffectAttachType]]  
| <code>int GetManaCost(int iLevel) </code>
| <code>int GetEffectAttachType()</code>
| Return mana cost at the given level (-1 is current).
| Return the attach type of the particle system from GetEffectName.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Ability_Lua.GetPlaybackRateOverride | GetPlaybackRateOverride]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Modifier_Lua.GetEffectName | GetEffectName]]  
| <code>float GetPlaybackRateOverride() </code>
| <code>string GetEffectName()</code>
| Return the animation rate of the cast animation.
| Return the name of the particle system that is created while this modifier is active.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Ability_Lua.IsHiddenAbilityCastable | IsHiddenAbilityCastable]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Modifier_Lua.GetHeroEffectName | GetHeroEffectName]]  
| <code>bool IsHiddenAbilityCastable() </code>
| <code>string GetHeroEffectName()</code>
| Returns true if this ability can be used when not on the action panel.
| Return the name of the hero effect particle system that is created while this modifier is active.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Ability_Lua.IsHiddenWhenStolen | IsHiddenWhenStolen]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Modifier_Lua.GetModifierAura | GetModifierAura]]  
| <code>bool IsHiddenWhenStolen() </code>
| <code>string GetModifierAura()</code>
| Returns true if this ability is hidden when stolen by Spell Steal.
| The name of the secondary modifier that will be applied by this modifier (if it is an aura).  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Ability_Lua.IsRefreshable | IsRefreshable]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Modifier_Lua.GetPriority | GetPriority]]  
| <code>bool IsRefreshable() </code>
| <code>int GetPriority()</code>
| Returns true if this ability is refreshed by Refresher Orb.
| Return the priority order this modifier will be applied over others.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Ability_Lua.IsStealable | IsStealable]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Modifier_Lua.GetStatusEffectName | GetStatusEffectName]]  
| <code>bool IsStealable() </code>
| <code>string GetStatusEffectName()</code>
| Returns true if this ability can be stolen by Spell Steal.
| Return the name of the status effect particle system that is created while this modifier is active.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Ability_Lua.OnAbilityPhaseInterrupted | OnAbilityPhaseInterrupted]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Modifier_Lua.GetTexture | GetTexture]]  
| <code>void OnAbilityPhaseInterrupted() </code>
| <code>string GetTexture()</code>
| Cast time did not complete successfully.
| Return the name of the buff icon to be shown for this modifier.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Ability_Lua.OnAbilityPhaseStart | OnAbilityPhaseStart]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Modifier_Lua.HeroEffectPriority | HeroEffectPriority]]  
| <code>bool OnAbilityPhaseStart() </code>
| <code>int HeroEffectPriority()</code>
| Cast time begins (return true for successful cast).
| Relationship of this hero effect with those from other buffs (higher is more likely to be shown).  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Ability_Lua.OnChannelFinish | OnChannelFinish]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Modifier_Lua.IsAura | IsAura]]  
| <code>void OnChannelFinish(bool bInterrupted) </code>
| <code>bool IsAura()</code>
| (bool bInterrupted) Channel finished.
| True/false if this modifier is an aura.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Ability_Lua.OnChannelThink | OnChannelThink]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Modifier_Lua.IsAuraActiveOnDeath | IsAuraActiveOnDeath]]  
| <code>void OnChannelThink(float flInterval) </code>
| <code>bool IsAuraActiveOnDeath()</code>
| (float flInterval) Channeling is taking place.
| True/false if this aura provides buffs when the parent is dead.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Ability_Lua.OnHeroCalculateStatBonus | OnHeroCalculateStatBonus]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Modifier_Lua.IsDebuff | IsDebuff]]  
| <code>void OnHeroCalculateStatBonus() </code>
| <code>bool IsDebuff()</code>
| Caster (hero only) gained a level, skilled an ability, or received a new stat bonus.
| True/false if this modifier should be displayed as a debuff.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Ability_Lua.OnHeroDiedNearby | OnHeroDiedNearby]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Modifier_Lua.IsHidden | IsHidden]]  
| <code>void OnHeroDiedNearby(handle unit, handle attacker, handle table) </code>
| <code>bool IsHidden()</code>
| A hero has died in the vicinity (ie Urn), takes table of params.
| True/false if this modifier should be displayed on the buff bar.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Ability_Lua.OnHeroLevelUp | OnHeroLevelUp]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Modifier_Lua.IsPermanent | IsPermanent]]  
| <code>void OnHeroLevelUp() </code>
| <code>bool IsPermanent()</code>
| Caster gained a level.
|
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Ability_Lua.OnInventoryContentsChanged | OnInventoryContentsChanged]]
| <code>void OnInventoryContentsChanged() </code>
| Caster inventory changed.
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Ability_Lua.OnItemEquipped | OnItemEquipped]]
| <code>void OnItemEquipped(handle hItem) </code>
| ( HSCRIPT hItem ) Caster equipped item.
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Ability_Lua.OnOwnerDied | OnOwnerDied]]
| <code>void OnOwnerDied() </code>
| Caster died.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Ability_Lua.OnOwnerSpawned | OnOwnerSpawned]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Modifier_Lua.IsPurgable | IsPurgable]]  
| <code>void OnOwnerSpawned() </code>
| <code>bool IsPurgable()</code>
| Caster respawned or spawned for the first time.
| True/false if this modifier can be purged.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Ability_Lua.OnProjectileHit | OnProjectileHit]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Modifier_Lua.IsPurgeException | IsPurgeException]]  
| <code>bool OnProjectileHit(handle hTarget, Vector vLocation) </code>
| <code>bool IsPurgeException()</code>
| (HSCRIPT hTarget, Vector vLocation) Projectile has collided with a given target or reached its destination (target is invalid).
| True/false if this modifier can be purged by strong dispels.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Ability_Lua.OnProjectileHit_ExtraData | OnProjectileHit_ExtraData]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Modifier_Lua.IsStunDebuff | IsStunDebuff]]  
| <code>bool OnProjectileHit_ExtraData(handle hTarget, Vector vLocation, handle table) </code>
| <code>bool IsStunDebuff()</code>
| (HSCRIPT hTarget, Vector vLocation, table kv) Projectile has collided with a given target or reached its destination (target is invalid).
| True/false if this modifier is considered a stun for purge reasons.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Ability_Lua.OnProjectileThink | OnProjectileThink]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Modifier_Lua.OnCreated | OnCreated]]  
| <code>void OnProjectileThink(Vector vLocation) </code>
| <code>void OnCreated(handle table)</code>
| (Vector vLocation) Projectile is actively moving.
| Runs when the modifier is created.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Ability_Lua.OnProjectileThink_ExtraData | OnProjectileThink_ExtraData]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Modifier_Lua.OnDestroy | OnDestroy]]  
| <code>void OnProjectileThink_ExtraData(Vector vLocation, handle table) </code>
| <code>void OnDestroy()</code>
| (Vector vLocation, table kv ) Projectile is actively moving.
| Runs when the modifier is destroyed (after unit loses modifier).  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Ability_Lua.OnSpellStart | OnSpellStart]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Modifier_Lua.OnIntervalThink | OnIntervalThink]]  
| <code>void OnSpellStart() </code>
| <code>void OnIntervalThink()</code>
| Cast time finished, spell effects begin.
| Runs when the think interval occurs.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Ability_Lua.OnStolen | OnStolen]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Modifier_Lua.OnRefresh | OnRefresh]]  
| <code>void OnStolen(handle hSourceAbility) </code>
| <code>void OnRefresh(handle table)</code>
| ( HSCRIPT hAbility ) Special behavior when stolen by Spell Steal.
| Runs when the modifier is refreshed.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Ability_Lua.OnToggle | OnToggle]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Modifier_Lua.OnRemoved | OnRemoved]]  
| <code>void OnToggle() </code>
| <code>void OnRemoved()</code>
| Ability is toggled on/off.
| Runs when the modifier is destroyed (before unit loses modifier).  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Ability_Lua.OnUnStolen | OnUnStolen]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Modifier_Lua.OnStackCountChanged | OnStackCountChanged]]  
| <code>void OnUnStolen() </code>
| <code>void OnStackCountChanged(int iStackCount)</code>
| Special behavior when lost by Spell Steal.
| Runs when stack count changes (param is old count).  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Ability_Lua.OnUpgrade | OnUpgrade]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Modifier_Lua.RemoveOnDeath | RemoveOnDeath]]  
| <code>void OnUpgrade() </code>
| <code>bool RemoveOnDeath()</code>
| Ability gained a level.
| True/false if this modifier is removed when the parent dies.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Ability_Lua.ProcsMagicStick | ProcsMagicStick]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Modifier_Lua.ShouldUseOverheadOffset | ShouldUseOverheadOffset]]  
| <code>bool ProcsMagicStick() </code>
| <code>bool ShouldUseOverheadOffset()</code>
| Returns true if this ability will generate magic stick charges for nearby enemies.
| Apply the overhead offset to the attached effect.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Ability_Lua.SpeakTrigger | SpeakTrigger]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Modifier_Lua.StatusEffectPriority | StatusEffectPriority]]  
| <code>int SpeakTrigger() </code>
| <code>int StatusEffectPriority()</code>
| Return the type of speech used.
| Relationship of this status effect with those from other buffs (higher is more likely to be shown).  
|}
|}


 
==== CDOTA_Modifier_Lua_Horizontal_Motion ====
=== CDOTA_CustomUIManager ===
:::::extends [[#CDOTA_Modifier_Lua|CDOTA_Modifier_Lua]]
''No Description Set''
''No Description Set''
''Global accessor variable:'' <code>Unknown</code>
{| class="standard-table" style="width: 100%;"
{| class="standard-table" style="width: 100%;"
! Function  
! Function  
Line 6,075: Line 5,918:
! Description  
! Description  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_CustomUIManager.DynamicHud_Create | DynamicHud_Create]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Modifier_Lua_Horizontal_Motion.ApplyHorizontalMotionController | ApplyHorizontalMotionController]]  
| <code>void DynamicHud_Create(int int_1, string string_2, string string_3, handle handle_4) </code>
| <code>bool ApplyHorizontalMotionController()</code>
| Create a new custom UI HUD element for the specified player(s). ( int PlayerID /*-1 means everyone*/, string ElementID /* should be unique */, string LayoutFileName, table DialogVariables /* can be nil */ )
| Starts the horizontal motion controller effects for this buff.  Returns true if successful.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_CustomUIManager.DynamicHud_Destroy | DynamicHud_Destroy]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Modifier_Lua_Horizontal_Motion.GetPriority | GetPriority]]  
| <code>void DynamicHud_Destroy(int int_1, string string_2) </code>
| <code>int GetPriority()</code>
| Destroy a custom hud element ( int PlayerID /*-1 means everyone*/, string ElementID )
| Get the priority
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_CustomUIManager.DynamicHud_SetDialogVariables | DynamicHud_SetDialogVariables]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Modifier_Lua_Horizontal_Motion.OnHorizontalMotionInterrupted | OnHorizontalMotionInterrupted]]  
| <code>void DynamicHud_SetDialogVariables(int int_1, string string_2, handle handle_3) </code>
| <code>void OnHorizontalMotionInterrupted()</code>
| Add or modify dialog variables for an existing custom hud element ( int PlayerID /*-1 means everyone*/, string ElementID, table DialogVariables )
| Called when the motion gets interrupted.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_CustomUIManager.DynamicHud_SetVisible | DynamicHud_SetVisible]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Modifier_Lua_Horizontal_Motion.SetPriority | SetPriority]]  
| <code>void DynamicHud_SetVisible(int int_1, string string_2, bool bool_3) </code>
| <code>void SetPriority(int nMotionPriority)</code>
| Toggle the visibility of an existing custom hud element ( int PlayerID /*-1 means everyone*/, string ElementID, bool Visible )
| Set the priority
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Modifier_Lua_Horizontal_Motion.UpdateHorizontalMotion | UpdateHorizontalMotion]]
| <code>void UpdateHorizontalMotion(handle me, float dt)</code>
| Perform any motion from the given interval on the NPC.
|}
|}


 
==== CDOTA_Modifier_Lua_Motion_Both ====
=== CPropHMDAvatar ===
:::::extends [[#CDOTA_Modifier_Lua|CDOTA_Modifier_Lua]]
''No Description Set''
''No Description Set''
''Global accessor variable:'' <code>Unknown</code>
{| class="standard-table" style="width: 100%;"
{| class="standard-table" style="width: 100%;"
! Function  
! Function  
Line 6,102: Line 5,947:
! Description  
! Description  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CPropHMDAvatar.GetVRHand | GetVRHand]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Modifier_Lua_Motion_Both.ApplyHorizontalMotionController | ApplyHorizontalMotionController]]  
| <code>handle GetVRHand(int nHandID) </code>
| <code>bool ApplyHorizontalMotionController()</code>
| Get VR hand by ID
| Starts the horizontal motion controller effects for this buff.  Returns true if successful.
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Modifier_Lua_Motion_Both.ApplyVerticalMotionController | ApplyVerticalMotionController]]
| <code>bool ApplyVerticalMotionController()</code>
| Starts the vertical motion controller effects for this buff.  Returns true if successful.
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Modifier_Lua_Motion_Both.GetPriority | GetPriority]]
| <code>int GetPriority()</code>
| Get the priority
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Modifier_Lua_Motion_Both.OnHorizontalMotionInterrupted | OnHorizontalMotionInterrupted]]
| <code>void OnHorizontalMotionInterrupted()</code>
| Called when the motion gets interrupted.
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Modifier_Lua_Motion_Both.OnVerticalMotionInterrupted | OnVerticalMotionInterrupted]]
| <code>void OnVerticalMotionInterrupted()</code>
| Called when the motion gets interrupted.
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Modifier_Lua_Motion_Both.SetPriority | SetPriority]]
| <code>void SetPriority(int nMotionPriority)</code>
| Set the priority
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Modifier_Lua_Motion_Both.UpdateHorizontalMotion | UpdateHorizontalMotion]]
| <code>void UpdateHorizontalMotion(handle me, float dt)</code>
| Perform any motion from the given interval on the NPC.
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Modifier_Lua_Motion_Both.UpdateVerticalMotion | UpdateVerticalMotion]]
| <code>void UpdateVerticalMotion(handle me, float dt)</code>
| Perform any motion from the given interval on the NPC.
|}
|}


 
==== CDOTA_Modifier_Lua_Vertical_Motion ====
=== CPropVRHand ===
:::::extends [[#CDOTA_Modifier_Lua|CDOTA_Modifier_Lua]]
''No Description Set''
''No Description Set''
''Global accessor variable:'' <code>Unknown</code>
{| class="standard-table" style="width: 100%;"
{| class="standard-table" style="width: 100%;"
! Function  
! Function  
Line 6,117: Line 5,988:
! Description  
! Description  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CPropVRHand.GetAttachment | GetAttachment]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Modifier_Lua_Vertical_Motion.ApplyVerticalMotionController | ApplyVerticalMotionController]]  
| <code>handle GetAttachment() </code>
| <code>bool ApplyVerticalMotionController()</code>
| Get the attachment on this hand
| Starts the vertical motion controller effects for this buff.  Returns true if successful.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CPropVRHand.SetAttachment | SetAttachment]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Modifier_Lua_Vertical_Motion.GetMotionPriority | GetMotionPriority]]
| <code>void SetAttachment(handle hAttachment) </code>
| <code>int GetMotionPriority()</code>
| Set the attachment for this hand
| Get the priority
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Modifier_Lua_Vertical_Motion.OnVerticalMotionInterrupted | OnVerticalMotionInterrupted]]
| <code>void OnVerticalMotionInterrupted()</code>
| Called when the motion gets interrupted.
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Modifier_Lua_Vertical_Motion.SetMotionPriority | SetMotionPriority]]  
| <code>void SetMotionPriority(int nMotionPriority)</code>
| Set the priority
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Modifier_Lua_Vertical_Motion.UpdateVerticalMotion | UpdateVerticalMotion]]
| <code>void UpdateVerticalMotion(handle me, float dt)</code>
| Perform any motion from the given interval on the NPC.
|}
|}


 
==== CDOTA_PlayerResource ====
=== CDOTA_Buff ===
:::::extends [[#CBaseEntity|CBaseEntity]]
''No Description Set''
''Global accessor variable: <code>PlayerResource</code>''
 
''Global accessor variable:'' <code>Unknown</code>
{| class="standard-table" style="width: 100%;"
{| class="standard-table" style="width: 100%;"
! Function  
! Function  
Line 6,136: Line 6,017:
! Description  
! Description  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Buff.AddParticle | AddParticle]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.AddAegisPickup | AddAegisPickup]]  
| <code>void AddParticle(int i, bool bDestroyImmediately, bool bStatusEffect, int iPriority, bool bHeroEffect, bool bOverheadEffect) </code>
| <code>void AddAegisPickup(int iPlayerID)</code>
| (index, bDestroyImmediately, bStatusEffect, priority, bHeroEffect, bOverheadEffect
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Buff.DecrementStackCount | DecrementStackCount]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.AddClaimedFarm | AddClaimedFarm]]  
| <code>void DecrementStackCount() </code>
| <code>void AddClaimedFarm(int iPlayerID, float flFarmValue, bool bEarnedValue)</code>
| Decrease this modifier's stack count by 1.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Buff.Destroy | Destroy]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.AddGoldSpentOnSupport | AddGoldSpentOnSupport]]  
| <code>void Destroy() </code>
| <code>void AddGoldSpentOnSupport(int iPlayerID, int iCost)</code>
| Run all associated destroy functions, then remove the modifier.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Buff.ForceRefresh | ForceRefresh]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.AddRunePickup | AddRunePickup]]  
| <code>void ForceRefresh() </code>
| <code>void AddRunePickup(int iPlayerID)</code>
| Run all associated refresh functions on this modifier as if it was re-applied.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Buff.GetAbility | GetAbility]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.AreUnitsSharedWithPlayerID | AreUnitsSharedWithPlayerID]]  
| <code>handle GetAbility() </code>
| <code>bool AreUnitsSharedWithPlayerID(int nUnitOwnerPlayerID, int nOtherPlayerID)</code>
| Get the ability that generated the modifier.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Buff.GetCaster | GetCaster]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.CanRepick | CanRepick]]  
| <code>handle GetCaster() </code>
| <code>bool CanRepick(int iPlayerID)</code>
| Get the owner of the ability responsible for the modifier.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Buff.GetClass | GetClass]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.ClearKillsMatrix | ClearKillsMatrix]]  
| <code>string GetClass() </code>
| <code>void ClearKillsMatrix(int iPlayerID)</code>
|  
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Buff.GetCreationTime | GetCreationTime]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.ClearLastHitMultikill | ClearLastHitMultikill]]  
| <code>float GetCreationTime() </code>
| <code>void ClearLastHitMultikill(int iPlayerID)</code>
|  
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Buff.GetDieTime | GetDieTime]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.ClearLastHitStreak | ClearLastHitStreak]]  
| <code>float GetDieTime() </code>
| <code>void ClearLastHitStreak(int iPlayerID)</code>
|  
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Buff.GetDuration | GetDuration]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.ClearRawPlayerDamageMatrix | ClearRawPlayerDamageMatrix]]  
| <code>float GetDuration() </code>
| <code>void ClearRawPlayerDamageMatrix(int iPlayerID)</code>
|  
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Buff.GetElapsedTime | GetElapsedTime]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.ClearStreak | ClearStreak]]  
| <code>float GetElapsedTime() </code>
| <code>void ClearStreak(int iPlayerID)</code>
|  
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Buff.GetName | GetName]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.GetAegisPickups | GetAegisPickups]]  
| <code>string GetName() </code>
| <code>int GetAegisPickups(int iPlayerID)</code>
|  
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Buff.GetParent | GetParent]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.GetAssists | GetAssists]]  
| <code>handle GetParent() </code>
| <code>int GetAssists(int iPlayerID)</code>
| Get the unit the modifier is parented to.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Buff.GetRemainingTime | GetRemainingTime]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.GetBroadcasterChannel | GetBroadcasterChannel]]  
| <code>float GetRemainingTime() </code>
| <code>unsigned GetBroadcasterChannel(int iPlayerID)</code>
|  
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Buff.GetStackCount | GetStackCount]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.GetBroadcasterChannelSlot | GetBroadcasterChannelSlot]]  
| <code>int GetStackCount() </code>
| <code>unsigned GetBroadcasterChannelSlot(int iPlayerID)</code>
|  
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Buff.IncrementStackCount | IncrementStackCount]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.GetClaimedDenies | GetClaimedDenies]]  
| <code>void IncrementStackCount() </code>
| <code>int GetClaimedDenies(int iPlayerID)</code>
| Increase this modifier's stack count by 1.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Buff.SetDuration | SetDuration]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.GetClaimedFarm | GetClaimedFarm]]  
| <code>void SetDuration(float flDuration, bool bInformClient) </code>
| <code>float GetClaimedFarm(int iPlayerID, bool bOnlyEarned)</code>
| (flTime, bInformClients)
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Buff.SetStackCount | SetStackCount]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.GetClaimedMisses | GetClaimedMisses]]  
| <code>void SetStackCount(int iCount) </code>
| <code>int GetClaimedMisses(int iPlayerID)</code>
|  
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Buff.StartIntervalThink | StartIntervalThink]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.GetConnectionState | GetConnectionState]]  
| <code>void StartIntervalThink(float flInterval) </code>
| <code><unknown> GetConnectionState(int iPlayerID)</code>
| Start this modifier's think function (OnIntervalThink) with the given interval (float).  To stop, call with -1.
|
|}
 
 
=== CDOTA_Modifier_Lua ===
''No Description Set''
 
''Global accessor variable:'' <code>Unknown</code>
{| class="standard-table" style="width: 100%;"
! Function
! Signature
! Description
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Modifier_Lua.AllowIllusionDuplicate | AllowIllusionDuplicate]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.GetCreepDamageTaken | GetCreepDamageTaken]]  
| <code>bool AllowIllusionDuplicate() </code>
| <code>int GetCreepDamageTaken(int iPlayerID, bool bTotal)</code>
| True/false if this modifier is active on illusions.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Modifier_Lua.DestroyOnExpire | DestroyOnExpire]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.GetCustomBuybackCooldown | GetCustomBuybackCooldown]]  
| <code>bool DestroyOnExpire() </code>
| <code>float GetCustomBuybackCooldown(int iPlayerID)</code>
| True/false if this buff is removed when the duration expires.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Modifier_Lua.GetAttributes | GetAttributes]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.GetCustomBuybackCost | GetCustomBuybackCost]]  
| <code>int GetAttributes() </code>
| <code>int GetCustomBuybackCost(int iPlayerID)</code>
| Return the types of attributes applied to this modifier (enum value from DOTAModifierAttribute_t
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Modifier_Lua.GetAuraEntityReject | GetAuraEntityReject]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.GetCustomTeamAssignment | GetCustomTeamAssignment]]  
| <code>bool GetAuraEntityReject(handle hEntity) </code>
| <code>int GetCustomTeamAssignment(int iPlayerID)</code>
| Return true/false if this entity should receive the aura under specific conditions
| Get the current custom team assignment for this player.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Modifier_Lua.GetAuraRadius | GetAuraRadius]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.GetDamageDoneToHero | GetDamageDoneToHero]]  
| <code>int GetAuraRadius() </code>
| <code>int GetDamageDoneToHero(int iPlayerID, int iVictimID)</code>
| Return the range around the parent this aura tries to apply its buff.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Modifier_Lua.GetAuraSearchFlags | GetAuraSearchFlags]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.GetDeaths | GetDeaths]]  
| <code>int GetAuraSearchFlags() </code>
| <code>int GetDeaths(int iPlayerID)</code>
| Return the unit flags this aura respects when placing buffs.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Modifier_Lua.GetAuraSearchTeam | GetAuraSearchTeam]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.GetDenies | GetDenies]]  
| <code>int GetAuraSearchTeam() </code>
| <code>int GetDenies(int iPlayerID)</code>
| Return the teams this aura applies its buff to.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Modifier_Lua.GetAuraSearchType | GetAuraSearchType]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.GetEventPointsForPlayerID | GetEventPointsForPlayerID]]  
| <code>int GetAuraSearchType() </code>
| <code>unsigned GetEventPointsForPlayerID(int nPlayerID)</code>
| Return the unit classifications this aura applies its buff to.
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.GetEventPremiumPoints | GetEventPremiumPoints]]
| <code>unsigned GetEventPremiumPoints(int nPlayerID)</code>
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Modifier_Lua.GetEffectAttachType | GetEffectAttachType]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.GetEventRanks | GetEventRanks]]  
| <code>int GetEffectAttachType() </code>
| <code><unknown> GetEventRanks(int nPlayerID)</code>
| Return the attach type of the particle system from GetEffectName.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Modifier_Lua.GetEffectName | GetEffectName]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.GetGold | GetGold]]  
| <code>string GetEffectName() </code>
| <code>int GetGold(int iPlayerID)</code>
| Return the name of the particle system that is created while this modifier is active.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Modifier_Lua.GetHeroEffectName | GetHeroEffectName]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.GetGoldLostToDeath | GetGoldLostToDeath]]  
| <code>string GetHeroEffectName() </code>
| <code>int GetGoldLostToDeath(int iPlayerID)</code>
| Return the name of the hero effect particle system that is created while this modifier is active.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Modifier_Lua.GetModifierAura | GetModifierAura]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.GetGoldPerMin | GetGoldPerMin]]  
| <code>string GetModifierAura() </code>
| <code>float GetGoldPerMin(int iPlayerID)</code>
| The name of the secondary modifier that will be applied by this modifier (if it is an aura).
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Modifier_Lua.GetStatusEffectName | GetStatusEffectName]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.GetGoldSpentOnBuybacks | GetGoldSpentOnBuybacks]]  
| <code>string GetStatusEffectName() </code>
| <code>int GetGoldSpentOnBuybacks(int iPlayerID)</code>
| Return the name of the status effect particle system that is created while this modifier is active.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Modifier_Lua.GetTexture | GetTexture]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.GetGoldSpentOnConsumables | GetGoldSpentOnConsumables]]  
| <code>string GetTexture() </code>
| <code>int GetGoldSpentOnConsumables(int iPlayerID)</code>
| Return the name of the buff icon to be shown for this modifier.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Modifier_Lua.HeroEffectPriority | HeroEffectPriority]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.GetGoldSpentOnItems | GetGoldSpentOnItems]]  
| <code>int HeroEffectPriority() </code>
| <code>int GetGoldSpentOnItems(int iPlayerID)</code>
| Relationship of this hero effect with those from other buffs (higher is more likely to be shown).
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Modifier_Lua.IsAura | IsAura]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.GetGoldSpentOnSupport | GetGoldSpentOnSupport]]  
| <code>bool IsAura() </code>
| <code>int GetGoldSpentOnSupport(int iPlayerID)</code>
| True/false if this modifier is an aura.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Modifier_Lua.IsAuraActiveOnDeath | IsAuraActiveOnDeath]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.GetHealing | GetHealing]]  
| <code>bool IsAuraActiveOnDeath() </code>
| <code>float GetHealing(int iPlayerID)</code>
| True/false if this aura provides buffs when the parent is dead.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Modifier_Lua.IsDebuff | IsDebuff]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.GetHeroDamageTaken | GetHeroDamageTaken]]  
| <code>bool IsDebuff() </code>
| <code>int GetHeroDamageTaken(int iPlayerID, bool bTotal)</code>
| True/false if this modifier should be displayed as a debuff.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Modifier_Lua.IsHidden | IsHidden]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.GetKills | GetKills]]  
| <code>bool IsHidden() </code>
| <code>int GetKills(int iPlayerID)</code>
| True/false if this modifier should be displayed on the buff bar.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Modifier_Lua.IsPurgable | IsPurgable]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.GetKillsDoneToHero | GetKillsDoneToHero]]  
| <code>bool IsPurgable() </code>
| <code>int GetKillsDoneToHero(int iPlayerID, int iVictimID)</code>
| True/false if this modifier can be purged.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Modifier_Lua.IsPurgeException | IsPurgeException]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.GetLastHitMultikill | GetLastHitMultikill]]  
| <code>bool IsPurgeException() </code>
| <code>int GetLastHitMultikill(int iPlayerID)</code>
| True/false if this modifier can be purged by strong dispels.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Modifier_Lua.IsStunDebuff | IsStunDebuff]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.GetLastHitStreak | GetLastHitStreak]]  
| <code>bool IsStunDebuff() </code>
| <code>int GetLastHitStreak(int iPlayerID)</code>
| True/false if this modifier is considered a stun for purge reasons.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Modifier_Lua.OnCreated | OnCreated]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.GetLastHits | GetLastHits]]  
| <code>void OnCreated(handle table) </code>
| <code>int GetLastHits(int iPlayerID)</code>
| Runs when the modifier is created.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Modifier_Lua.OnDestroy | OnDestroy]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.GetLevel | GetLevel]]  
| <code>void OnDestroy() </code>
| <code>int GetLevel(int iPlayerID)</code>
| Runs when the modifier is destroyed.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Modifier_Lua.OnIntervalThink | OnIntervalThink]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.GetMisses | GetMisses]]  
| <code>void OnIntervalThink() </code>
| <code>int GetMisses(int iPlayerID)</code>
| Runs when the think interval occurs.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Modifier_Lua.OnRefresh | OnRefresh]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.GetNearbyCreepDeaths | GetNearbyCreepDeaths]]  
| <code>void OnRefresh(handle table) </code>
| <code>int GetNearbyCreepDeaths(int iPlayerID)</code>
| Runs when the modifier is refreshed.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Modifier_Lua.RemoveOnDeath | RemoveOnDeath]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.GetNetWorth | GetNetWorth]]  
| <code>bool RemoveOnDeath() </code>
| <code>int GetNetWorth(int iPlayerID)</code>
| True/false if this modifier is removed when the parent dies.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Modifier_Lua.StatusEffectPriority | StatusEffectPriority]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.GetNthCourierForTeam | GetNthCourierForTeam]]  
| <code>int StatusEffectPriority() </code>
| <code>handle GetNthCourierForTeam(int nCourierIndex, int nTeamNumber)</code>
| Relationship of this status effect with those from other buffs (higher is more likely to be shown).
|
|}
 
 
=== CDOTA_Modifier_Lua_Horizontal_Motion ===
''No Description Set''
 
''Global accessor variable:'' <code>Unknown</code>
{| class="standard-table" style="width: 100%;"
! Function
! Signature
! Description
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Modifier_Lua_Horizontal_Motion.ApplyHorizontalMotionController | ApplyHorizontalMotionController]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.GetNthPlayerIDOnTeam | GetNthPlayerIDOnTeam]]  
| <code>bool ApplyHorizontalMotionController() </code>
| <code>int GetNthPlayerIDOnTeam(int iTeamNumber, int iNthPlayer)</code>
| Starts the horizontal motion controller effects for this buff. Returns true if successful.
|   
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Modifier_Lua_Horizontal_Motion.GetPriority | GetPriority]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.GetNumConsumablesPurchased | GetNumConsumablesPurchased]]  
| <code>int GetPriority() </code>
| <code>int GetNumConsumablesPurchased(int iPlayerID)</code>
| Get the priority
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Modifier_Lua_Horizontal_Motion.OnHorizontalMotionInterrupted | OnHorizontalMotionInterrupted]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.GetNumCouriersForTeam | GetNumCouriersForTeam]]  
| <code>void OnHorizontalMotionInterrupted() </code>
| <code>int GetNumCouriersForTeam(int nTeamNumber)</code>
| Called when the motion gets interrupted.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Modifier_Lua_Horizontal_Motion.SetPriority | SetPriority]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.GetNumItemsPurchased | GetNumItemsPurchased]]  
| <code>void SetPriority(int nMotionPriority) </code>
| <code>int GetNumItemsPurchased(int iPlayerID)</code>
| Set the priority
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Modifier_Lua_Horizontal_Motion.UpdateHorizontalMotion | UpdateHorizontalMotion]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.GetPartyID | GetPartyID]]  
| <code>void UpdateHorizontalMotion(handle me, float dt) </code>
| <code>uint64 GetPartyID(int iPlayerID)</code>
| Perform any motion from the given interval on the NPC.
|
|}
 
 
=== CDOTA_Modifier_Lua_Motion_Both ===
''No Description Set''
 
''Global accessor variable:'' <code>Unknown</code>
{| class="standard-table" style="width: 100%;"
! Function
! Signature
! Description
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Modifier_Lua_Motion_Both.ApplyHorizontalMotionController | ApplyHorizontalMotionController]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.GetPlayer | GetPlayer]]  
| <code>bool ApplyHorizontalMotionController() </code>
| <code>handle GetPlayer(int iPlayerID)</code>
| Starts the horizontal motion controller effects for this buff. Returns true if successful.
|   
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Modifier_Lua_Motion_Both.ApplyVerticalMotionController | ApplyVerticalMotionController]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.GetPlayerCount | GetPlayerCount]]  
| <code>bool ApplyVerticalMotionController() </code>
| <code>int GetPlayerCount()</code>
| Starts the vertical motion controller effects for this buff.  Returns true if successful.
| Includes spectators and players not assigned to a team
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Modifier_Lua_Motion_Both.GetPriority | GetPriority]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.GetPlayerCountForTeam | GetPlayerCountForTeam]]  
| <code>int GetPriority() </code>
| <code>int GetPlayerCountForTeam(int iTeam)</code>
| Get the priority
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Modifier_Lua_Motion_Both.OnHorizontalMotionInterrupted | OnHorizontalMotionInterrupted]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.GetPlayerLoadedCompletely | GetPlayerLoadedCompletely]]  
| <code>void OnHorizontalMotionInterrupted() </code>
| <code>bool GetPlayerLoadedCompletely(int iPlayerID)</code>
| Called when the motion gets interrupted.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Modifier_Lua_Motion_Both.OnVerticalMotionInterrupted | OnVerticalMotionInterrupted]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.GetPlayerName | GetPlayerName]]  
| <code>void OnVerticalMotionInterrupted() </code>
| <code>string GetPlayerName(int iPlayerID)</code>
| Called when the motion gets interrupted.
|
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.GetRawPlayerDamage | GetRawPlayerDamage]]
| <code>int GetRawPlayerDamage(int iPlayerID)</code>
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.GetReliableGold | GetReliableGold]]
| <code>int GetReliableGold(int iPlayerID)</code>
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Modifier_Lua_Motion_Both.SetPriority | SetPriority]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.GetRespawnSeconds | GetRespawnSeconds]]  
| <code>void SetPriority(int nMotionPriority) </code>
| <code>int GetRespawnSeconds(int iPlayerID)</code>
| Set the priority
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Modifier_Lua_Motion_Both.UpdateHorizontalMotion | UpdateHorizontalMotion]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.GetRoshanKills | GetRoshanKills]]  
| <code>void UpdateHorizontalMotion(handle me, float dt) </code>
| <code>int GetRoshanKills(int iPlayerID)</code>
| Perform any motion from the given interval on the NPC.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Modifier_Lua_Motion_Both.UpdateVerticalMotion | UpdateVerticalMotion]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.GetRunePickups | GetRunePickups]]  
| <code>void UpdateVerticalMotion(handle me, float dt) </code>
| <code>int GetRunePickups(int iPlayerID)</code>
| Perform any motion from the given interval on the NPC.
|
|}
 
 
=== CDOTA_Modifier_Lua_Vertical_Motion ===
''No Description Set''
 
''Global accessor variable:'' <code>Unknown</code>
{| class="standard-table" style="width: 100%;"
! Function
! Signature
! Description
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Modifier_Lua_Vertical_Motion.ApplyVerticalMotionController | ApplyVerticalMotionController]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.GetSelectedHeroEntity | GetSelectedHeroEntity]]  
| <code>bool ApplyVerticalMotionController() </code>
| <code>handle GetSelectedHeroEntity(int iPlayerID)</code>
| Starts the vertical motion controller effects for this buff. Returns true if successful.
|   
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Modifier_Lua_Vertical_Motion.GetMotionPriority | GetMotionPriority]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.GetSelectedHeroID | GetSelectedHeroID]]  
| <code>int GetMotionPriority() </code>
| <code>int GetSelectedHeroID(int iPlayerID)</code>
| Get the priority
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Modifier_Lua_Vertical_Motion.OnVerticalMotionInterrupted | OnVerticalMotionInterrupted]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.GetSelectedHeroName | GetSelectedHeroName]]  
| <code>void OnVerticalMotionInterrupted() </code>
| <code>string GetSelectedHeroName(int iPlayerID)</code>
| Called when the motion gets interrupted.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Modifier_Lua_Vertical_Motion.SetMotionPriority | SetMotionPriority]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.GetSteamAccountID | GetSteamAccountID]]  
| <code>void SetMotionPriority(int nMotionPriority) </code>
| <code>unsigned GetSteamAccountID(int iPlayerID)</code>
| Set the priority
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Modifier_Lua_Vertical_Motion.UpdateVerticalMotion | UpdateVerticalMotion]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.GetSteamID | GetSteamID]]  
| <code>void UpdateVerticalMotion(handle me, float dt) </code>
| <code>uint64 GetSteamID(int iPlayerID)</code>
| Perform any motion from the given interval on the NPC.
| Get the 64 bit steam ID for a given player.  
|}
 
 
=== CDOTA_Item_Lua ===
''No Description Set''
 
''Global accessor variable:'' <code>Unknown</code>
{| class="standard-table" style="width: 100%;"
! Function
! Signature
! Description
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item_Lua.CastFilterResult | CastFilterResult]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.GetStreak | GetStreak]]  
| <code>int CastFilterResult() </code>
| <code>int GetStreak(int iPlayerID)</code>
| Determine whether an issued command with no target is valid.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item_Lua.CastFilterResultLocation | CastFilterResultLocation]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.GetStuns | GetStuns]]  
| <code>int CastFilterResultLocation(Vector vLocation) </code>
| <code>float GetStuns(int iPlayerID)</code>
| (Vector vLocation) Determine whether an issued command on a location is valid.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item_Lua.CastFilterResultTarget | CastFilterResultTarget]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.GetTeam | GetTeam]]  
| <code>int CastFilterResultTarget(handle hTarget) </code>
| <code>int GetTeam(int iPlayerID)</code>
| (HSCRIPT hTarget) Determine whether an issued command on a target is valid.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item_Lua.GetAssociatedPrimaryAbilities | GetAssociatedPrimaryAbilities]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.GetTeamKills | GetTeamKills]]  
| <code>string GetAssociatedPrimaryAbilities() </code>
| <code>int GetTeamKills(int iTeam)</code>
| Returns abilities that are stolen simultaneously, or otherwise related in functionality.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item_Lua.GetAssociatedSecondaryAbilities | GetAssociatedSecondaryAbilities]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.GetTeamPlayerCount | GetTeamPlayerCount]]  
| <code>string GetAssociatedSecondaryAbilities() </code>
| <code>int GetTeamPlayerCount()</code>
| Returns other abilities that are stolen simultaneously, or otherwise related in functionality.  Generally hidden abilities.
| Players on a valid team (radiant, dire, or custom*) who haven't abandoned the game
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item_Lua.GetBehavior | GetBehavior]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.GetTimeOfLastConsumablePurchase | GetTimeOfLastConsumablePurchase]]  
| <code>int GetBehavior() </code>
| <code>float GetTimeOfLastConsumablePurchase(int iPlayerID)</code>
| Return cast behavior type of this ability.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item_Lua.GetCastRange | GetCastRange]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.GetTimeOfLastDeath | GetTimeOfLastDeath]]  
| <code>int GetCastRange(Vector vLocation, handle hTarget) </code>
| <code>float GetTimeOfLastDeath(int iPlayerID)</code>
| Return cast range of this ability.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item_Lua.GetChannelledManaCostPerSecond | GetChannelledManaCostPerSecond]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.GetTimeOfLastItemPurchase | GetTimeOfLastItemPurchase]]  
| <code>int GetChannelledManaCostPerSecond(int iLevel) </code>
| <code>float GetTimeOfLastItemPurchase(int iPlayerID)</code>
| Return mana cost at the given level per second while channeling (-1 is current).
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item_Lua.GetChannelTime | GetChannelTime]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.GetTotalEarnedGold | GetTotalEarnedGold]]  
| <code>float GetChannelTime() </code>
| <code>int GetTotalEarnedGold(int iPlayerID)</code>
| Return the channel time of this ability.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item_Lua.GetConceptRecipientType | GetConceptRecipientType]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.GetTotalEarnedXP | GetTotalEarnedXP]]  
| <code>int GetConceptRecipientType() </code>
| <code>int GetTotalEarnedXP(int iPlayerID)</code>
| Return who hears speech when this spell is cast.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item_Lua.GetCooldown | GetCooldown]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.GetTotalGoldSpent | GetTotalGoldSpent]]  
| <code>float GetCooldown(int iLevel) </code>
| <code>int GetTotalGoldSpent(int iPlayerID)</code>
| Return cooldown of this ability.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item_Lua.GetCustomCastError | GetCustomCastError]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.GetTowerDamageTaken | GetTowerDamageTaken]]  
| <code>string GetCustomCastError() </code>
| <code>int GetTowerDamageTaken(int iPlayerID, bool bTotal)</code>
| Return the error string of a failed command with no target.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item_Lua.GetCustomCastErrorLocation | GetCustomCastErrorLocation]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.GetTowerKills | GetTowerKills]]  
| <code>string GetCustomCastErrorLocation(Vector vLocation) </code>
| <code>int GetTowerKills(int iPlayerID)</code>
| (Vector vLocation) Return the error string of a failed command on a location.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item_Lua.GetCustomCastErrorTarget | GetCustomCastErrorTarget]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.GetUnitShareMaskForPlayer | GetUnitShareMaskForPlayer]]  
| <code>string GetCustomCastErrorTarget(handle hTarget) </code>
| <code>int GetUnitShareMaskForPlayer(int nPlayerID, int nOtherPlayerID)</code>
| (HSCRIPT hTarget) Return the error string of a failed command on a target.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item_Lua.GetGoldCost | GetGoldCost]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.GetUnreliableGold | GetUnreliableGold]]  
| <code>int GetGoldCost(int iLevel) </code>
| <code>int GetUnreliableGold(int iPlayerID)</code>
| Return gold cost at the given level (-1 is current).
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item_Lua.GetIntrinsicModifierName | GetIntrinsicModifierName]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.GetXPPerMin | GetXPPerMin]]  
| <code>string GetIntrinsicModifierName() </code>
| <code>float GetXPPerMin(int iPlayerID)</code>
| Returns the name of the modifier applied passively by this ability.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item_Lua.GetManaCost | GetManaCost]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.HasCustomGameTicketForPlayerID | HasCustomGameTicketForPlayerID]]  
| <code>int GetManaCost(int iLevel) </code>
| <code>bool HasCustomGameTicketForPlayerID(int iPlayerID)</code>
| Return mana cost at the given level (-1 is current).
| Does this player have a custom game ticket for this game?
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item_Lua.GetPlaybackRateOverride | GetPlaybackRateOverride]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.HasRandomed | HasRandomed]]  
| <code>float GetPlaybackRateOverride() </code>
| <code>bool HasRandomed(int iPlayerID)</code>
| Return the animation rate of the cast animation.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item_Lua.IsHiddenAbilityCastable | IsHiddenAbilityCastable]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.HasSelectedHero | HasSelectedHero]]  
| <code>bool IsHiddenAbilityCastable() </code>
| <code>bool HasSelectedHero(int iPlayerID)</code>
| Returns true if this ability can be used when not on the action panel.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item_Lua.IsHiddenWhenStolen | IsHiddenWhenStolen]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.HaveAllPlayersJoined | HaveAllPlayersJoined]]  
| <code>bool IsHiddenWhenStolen() </code>
| <code>bool HaveAllPlayersJoined()</code>
| Returns true if this ability is hidden when stolen by Spell Steal.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item_Lua.IsRefreshable | IsRefreshable]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.IncrementAssists | IncrementAssists]]  
| <code>bool IsRefreshable() </code>
| <code>void IncrementAssists(int iPlayerID, int iVictimID)</code>
| Returns true if this ability is refreshed by Refresher Orb.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item_Lua.IsStealable | IsStealable]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.IncrementClaimedDenies | IncrementClaimedDenies]]  
| <code>bool IsStealable() </code>
| <code>void IncrementClaimedDenies(int iPlayerID)</code>
| Returns true if this ability can be stolen by Spell Steal.
|
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.IncrementClaimedMisses | IncrementClaimedMisses]]
| <code>void IncrementClaimedMisses(int iPlayerID)</code>
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item_Lua.OnAbilityPhaseInterrupted | OnAbilityPhaseInterrupted]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.IncrementDeaths | IncrementDeaths]]  
| <code>void OnAbilityPhaseInterrupted() </code>
| <code>void IncrementDeaths(int iPlayerID, int iKillerID)</code>
| Cast time did not complete successfully.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item_Lua.OnAbilityPhaseStart | OnAbilityPhaseStart]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.IncrementDenies | IncrementDenies]]  
| <code>bool OnAbilityPhaseStart() </code>
| <code>void IncrementDenies(int iPlayerID)</code>
| Cast time begins (return true for successful cast).
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item_Lua.OnChannelFinish | OnChannelFinish]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.IncrementKills | IncrementKills]]  
| <code>void OnChannelFinish(bool bInterrupted) </code>
| <code>void IncrementKills(int iPlayerID, int iVictimID)</code>
| (bool bInterrupted) Channel finished.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item_Lua.OnChannelThink | OnChannelThink]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.IncrementLastHitMultikill | IncrementLastHitMultikill]]  
| <code>void OnChannelThink(float flInterval) </code>
| <code>void IncrementLastHitMultikill(int iPlayerID)</code>
| (float flInterval) Channeling is taking place.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item_Lua.OnHeroCalculateStatBonus | OnHeroCalculateStatBonus]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.IncrementLastHitStreak | IncrementLastHitStreak]]  
| <code>void OnHeroCalculateStatBonus() </code>
| <code>void IncrementLastHitStreak(int iPlayerID)</code>
| Caster (hero only) gained a level, skilled an ability, or received a new stat bonus.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item_Lua.OnHeroDiedNearby | OnHeroDiedNearby]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.IncrementLastHits | IncrementLastHits]]  
| <code>void OnHeroDiedNearby(handle unit, handle attacker, handle table) </code>
| <code>void IncrementLastHits(int iPlayerID)</code>
| A hero has died in the vicinity (ie Urn), takes table of params.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item_Lua.OnHeroLevelUp | OnHeroLevelUp]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.IncrementMisses | IncrementMisses]]  
| <code>void OnHeroLevelUp() </code>
| <code>void IncrementMisses(int iPlayerID)</code>
| Caster gained a level.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item_Lua.OnInventoryContentsChanged | OnInventoryContentsChanged]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.IncrementNearbyCreepDeaths | IncrementNearbyCreepDeaths]]  
| <code>void OnInventoryContentsChanged() </code>
| <code>void IncrementNearbyCreepDeaths(int iPlayerID)</code>
| Caster inventory changed.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item_Lua.OnItemEquipped | OnItemEquipped]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.IncrementStreak | IncrementStreak]]  
| <code>void OnItemEquipped(handle hItem) </code>
| <code>void IncrementStreak(int iPlayerID)</code>
| ( HSCRIPT hItem ) Caster equipped item.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item_Lua.OnOwnerDied | OnOwnerDied]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.IncrementTotalEarnedXP | IncrementTotalEarnedXP]]  
| <code>void OnOwnerDied() </code>
| <code>void IncrementTotalEarnedXP(int iPlayerID, int iXP, int nReason)</code>
| Caster died.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item_Lua.OnOwnerSpawned | OnOwnerSpawned]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.IsBroadcaster | IsBroadcaster]]  
| <code>void OnOwnerSpawned() </code>
| <code>bool IsBroadcaster(int iPlayerID)</code>
| Caster respawned or spawned for the first time.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item_Lua.OnProjectileHit | OnProjectileHit]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.IsDisableHelpSetForPlayerID | IsDisableHelpSetForPlayerID]]  
| <code>bool OnProjectileHit(handle hTarget, Vector vLocation) </code>
| <code>bool IsDisableHelpSetForPlayerID(int nPlayerID, int nOtherPlayerID)</code>
| (HSCRIPT hTarget, Vector vLocation) Projectile has collided with a given target or reached its destination (target is invalid).
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item_Lua.OnProjectileThink | OnProjectileThink]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.IsFakeClient | IsFakeClient]]  
| <code>void OnProjectileThink(Vector vLocation) </code>
| <code>bool IsFakeClient(int iPlayerID)</code>
| (Vector vLocation) Projectile is actively moving.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item_Lua.OnSpellStart | OnSpellStart]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.IsHeroSelected | IsHeroSelected]]  
| <code>void OnSpellStart() </code>
| <code>bool IsHeroSelected(string pHeroname)</code>
| Cast time finished, spell effects begin.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item_Lua.OnStolen | OnStolen]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.IsHeroSharedWithPlayerID | IsHeroSharedWithPlayerID]]  
| <code>void OnStolen(handle hSourceAbility) </code>
| <code>bool IsHeroSharedWithPlayerID(int nUnitOwnerPlayerID, int nOtherPlayerID)</code>
| ( HSCRIPT hAbility ) Special behavior when stolen by Spell Steal.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item_Lua.OnToggle | OnToggle]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.IsValidPlayer | IsValidPlayer]]  
| <code>void OnToggle() </code>
| <code>bool IsValidPlayer(int iPlayerID)</code>
| Ability is toggled on/off.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item_Lua.OnUnStolen | OnUnStolen]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.IsValidPlayerID | IsValidPlayerID]]  
| <code>void OnUnStolen() </code>
| <code>bool IsValidPlayerID(int iPlayerID)</code>
| Special behavior when lost by Spell Steal.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item_Lua.OnUpgrade | OnUpgrade]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.IsValidTeamPlayer | IsValidTeamPlayer]]  
| <code>void OnUpgrade() </code>
| <code>bool IsValidTeamPlayer(int iPlayerID)</code>
| Ability gained a level.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item_Lua.ProcsMagicStick | ProcsMagicStick]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.IsValidTeamPlayerID | IsValidTeamPlayerID]]  
| <code>bool ProcsMagicStick() </code>
| <code>bool IsValidTeamPlayerID(int iPlayerID)</code>
| Returns true if this ability will generate magic stick charges for nearby enemies.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item_Lua.SpeakTrigger | SpeakTrigger]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.ModifyGold | ModifyGold]]  
| <code>int SpeakTrigger() </code>
| <code>int ModifyGold(int iPlayerID, int iGoldChange, bool bReliable, int nReason)</code>
| Return the type of speech used.
|
|}
 
 
=== Constants ===
==== AbilityLearnResult_t ====
{| class="standard-table" style="width: 50%;"
! Name
! Value
! Description
|-
|-
| ABILITY_CAN_BE_UPGRADED
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.NumPlayers | NumPlayers]]
| 0
| <code>int NumPlayers()</code>
|  
|
|-
|-
| ABILITY_CANNOT_BE_UPGRADED_NOT_UPGRADABLE
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.NumTeamPlayers | NumTeamPlayers]]
| 1
| <code>int NumTeamPlayers()</code>
|  
|
|-
|-
| ABILITY_CANNOT_BE_UPGRADED_AT_MAX
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.RecordConsumableAbilityChargeChange | RecordConsumableAbilityChargeChange]]
| 2
| <code>void RecordConsumableAbilityChargeChange(int iPlayerID, int item_definition_index, int nChargeIncrementOrDecrement)</code>
|  
| Increment or decrement consumable charges (nPlayerID, item_definition_index, nChargeIncrementOrDecrement)
|-
|-
| ABILITY_CANNOT_BE_UPGRADED_REQUIRES_LEVEL
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.ReplaceHeroWith | ReplaceHeroWith]]
| 3
| <code>handle ReplaceHeroWith(int iPlayerID, string pszHeroClass, int nGold, int nXP)</code>
|  
| (playerID, heroClassName, gold, XP) - replaces the player's hero with a new one of the specified class, gold and XP
|-
|-
| ABILITY_NOT_LEARNABLE
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.ResetBuybackCostTime | ResetBuybackCostTime]]
| 4
| <code>void ResetBuybackCostTime(int nPlayerID)</code>
|  
|
|}
 
==== Attributes ====
{| class="standard-table" style="width: 50%;"
! Name
! Value
! Description
|-
|-
| DOTA_ATTRIBUTE_INVALID
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.ResetTotalEarnedGold | ResetTotalEarnedGold]]
| -1
| <code>void ResetTotalEarnedGold(int iPlayerID)</code>
|  
|
|-
|-
| DOTA_ATTRIBUTE_STRENGTH
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.SetBuybackCooldownTime | SetBuybackCooldownTime]]
| 0
| <code>void SetBuybackCooldownTime(int nPlayerID, float flBuybackCooldown)</code>
|  
|
|-
|-
| DOTA_ATTRIBUTE_AGILITY
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.SetBuybackGoldLimitTime | SetBuybackGoldLimitTime]]
| 1
| <code>void SetBuybackGoldLimitTime(int nPlayerID, float flBuybackCooldown)</code>
|  
|
|-
|-
| DOTA_ATTRIBUTE_INTELLECT
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.SetCameraTarget | SetCameraTarget]]
| 2
| <code>void SetCameraTarget(int nPlayerID, handle hTarget)</code>
|  
| (playerID, entity) - force the given player's camera to follow the given entity
|-
|-
| DOTA_ATTRIBUTE_MAX
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.SetCanRepick | SetCanRepick]]
| 3
| <code>void SetCanRepick(int iPlayerID, bool bCanRepick)</code>
|  
|}
|-
 
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.SetCustomBuybackCooldown | SetCustomBuybackCooldown]]
==== DAMAGE_TYPES ====
| <code>void SetCustomBuybackCooldown(int iPlayerID, float flCooldownTime)</code>
{| class="standard-table" style="width: 50%;"
| Set the buyback cooldown for this player.
! Name
|-
! Value
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.SetCustomBuybackCost | SetCustomBuybackCost]]
! Description
| <code>void SetCustomBuybackCost(int iPlayerID, int iGoldCost)</code>
| Set the buyback cost for this player.
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.SetCustomPlayerColor | SetCustomPlayerColor]]
| <code>void SetCustomPlayerColor(int iPlayerID, int r, int g, int b)</code>
| Set custom color for player (minimap, scoreboard, etc)
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.SetCustomTeamAssignment | SetCustomTeamAssignment]]
| <code>void SetCustomTeamAssignment(int iPlayerID, int iTeamAssignment)</code>
| Set custom team assignment for this player.
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.SetGold | SetGold]]
| <code>void SetGold(int iPlayerID, int iGold, bool bReliable)</code>
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.SetHasRandomed | SetHasRandomed]]
| <code>void SetHasRandomed(int iPlayerID)</code>
|-
|-
| DAMAGE_TYPE_NONE
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.SetLastBuybackTime | SetLastBuybackTime]]
| 0
| <code>void SetLastBuybackTime(int iPlayerID, int iLastBuybackTime)</code>
|  
|
|-
|-
| DAMAGE_TYPE_PHYSICAL
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.SetOverrideSelectionEntity | SetOverrideSelectionEntity]]
| 1
| <code>void SetOverrideSelectionEntity(int nPlayerID, handle hEntity)</code>
|  
| Set the forced selection entity for a player.
|-
|-
| DAMAGE_TYPE_MAGICAL
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.SetUnitShareMaskForPlayer | SetUnitShareMaskForPlayer]]
| 2
| <code>void SetUnitShareMaskForPlayer(int nPlayerID, int nOtherPlayerID, int nFlag, bool bState)</code>
|  
|
|-
|-
| DAMAGE_TYPE_PURE
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.SpendGold | SpendGold]]
| 4
| <code>void SpendGold(int iPlayerID, int iCost, int iReason)</code>
|  
|
|-
|-
| DAMAGE_TYPE_ALL
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.UpdateTeamSlot | UpdateTeamSlot]]
| 7
| <code>void UpdateTeamSlot(int iPlayerID, int iTeamNumber, int desiredSlot)</code>
|  
|
|-
|-
| DAMAGE_TYPE_HP_REMOVAL
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.WhoSelectedHero | WhoSelectedHero]]
| 8
| <code>int WhoSelectedHero(string pHeroFilename)</code>
|  
|
|}
|}


==== DOTAAbilitySpeakTrigger_t ====
==== CDOTA_ShopTrigger ====
{| class="standard-table" style="width: 50%;"
:::::extends [[#CBaseTrigger|CBaseTrigger]]
! Name
''No Description Set''
! Value
{| class="standard-table" style="width: 100%;"
! Description
! Function
|-
! Signature
| DOTA_ABILITY_SPEAK_START_ACTION_PHASE
! Description  
| 0
|-
|  
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_ShopTrigger.GetShopType | GetShopType]]
| <code>int GetShopType()</code>
| Get the DOTA_SHOP_TYPE
|-
|-
| DOTA_ABILITY_SPEAK_CAST
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_ShopTrigger.SetShopType | SetShopType]]
| 1
| <code>void SetShopType(int eShopType)</code>
|  
| Set the DOTA_SHOP_TYPE.
|}
|}


==== DOTADamageFlag_t ====
==== CDOTA_SimpleObstruction ====
{| class="standard-table" style="width: 50%;"
:::::extends [[#CBaseEntity|CBaseEntity]]
! Name
''No Description Set''
! Value
{| class="standard-table" style="width: 100%;"
! Description
! Function
! Signature
! Description  
|-
|-
| DOTA_DAMAGE_FLAG_NONE
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_SimpleObstruction.IsEnabled | IsEnabled]]
| 0
| <code>bool IsEnabled()</code>
|  
| Returns whether the obstruction is currently active
|-
|-
| DOTA_DAMAGE_FLAG_IGNORES_MAGIC_ARMOR
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_SimpleObstruction.SetEnabled | SetEnabled]]
| 1
| <code>void SetEnabled(bool bEnabled, bool bForce)</code>
|  
| Enable or disable the obstruction
|}
 
==== CDOTA_Unit_Courier ====
:::::extends [[#CDOTA_BaseNPC|CDOTA_BaseNPC]]
''No Description Set''
{| class="standard-table" style="width: 100%;"
! Function
! Signature
! Description
|}
 
==== CDOTA_Unit_Nian ====
:::::extends [[#CDOTA_BaseNPC_Creature|CDOTA_BaseNPC_Creature]]
''No Description Set''
{| class="standard-table" style="width: 100%;"
! Function
! Signature
! Description
|-
|-
| DOTA_DAMAGE_FLAG_IGNORES_PHYSICAL_ARMOR
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Unit_Nian.GetHorn | GetHorn]]
| 2
| <code>handle GetHorn()</code>
|  
| Is the Nian horn?
|-
|-
| DOTA_DAMAGE_FLAG_BYPASSES_INVULNERABILITY
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Unit_Nian.GetTail | GetTail]]
| 4
| <code>handle GetTail()</code>
|  
| Is the Nian's tail broken?
|-
|-
| DOTA_DAMAGE_FLAG_BYPASSES_BLOCK
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Unit_Nian.IsHornAlive | IsHornAlive]]
| 8
| <code>bool IsHornAlive()</code>
|  
| Is the Nian's horn broken?
|-
|-
| DOTA_DAMAGE_FLAG_REFLECTION
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Unit_Nian.IsTailAlive | IsTailAlive]]
| 16
| <code>bool IsTailAlive()</code>
|  
| Is the Nian's tail broken?
|}
 
==== CDebugOverlayScriptHelper ====
''No Description Set''
{| class="standard-table" style="width: 100%;"
! Function
! Signature
! Description
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDebugOverlayScriptHelper.Axis | Axis]]
| <code>void Axis(Vector Vector_1, Quaternion Quaternion_2, float float_3, bool bool_4, float float_5)</code>
| Draws an axis. Specify origin + orientation in world space.
|-
|-
| DOTA_DAMAGE_FLAG_HPLOSS
| [[Dota 2 Workshop Tools/Scripting/API/CDebugOverlayScriptHelper.Box | Box]]
| 32
| <code>void Box(Vector Vector_1, Vector Vector_2, int int_3, int int_4, int int_5, int int_6, bool bool_7, float float_8)</code>
|  
| Draws a world-space axis-aligned box. Specify bounds in world space.
|-
|-
| DOTA_DAMAGE_FLAG_NO_DIRECTOR_EVENT
| [[Dota 2 Workshop Tools/Scripting/API/CDebugOverlayScriptHelper.BoxAngles | BoxAngles]]
| 64
| <code>void BoxAngles(Vector Vector_1, Vector Vector_2, Vector Vector_3, Quaternion Quaternion_4, int int_5, int int_6, int int_7, int int_8, bool bool_9, float float_10)</code>
|  
| Draws an oriented box at the origin. Specify bounds in local space.
|-
|-
| DOTA_DAMAGE_FLAG_NON_LETHAL
| [[Dota 2 Workshop Tools/Scripting/API/CDebugOverlayScriptHelper.Capsule | Capsule]]
| 128
| <code>void Capsule(Vector Vector_1, Quaternion Quaternion_2, float float_3, float float_4, int int_5, int int_6, int int_7, int int_8, bool bool_9, float float_10)</code>
|  
| Draws a capsule. Specify base in world space.
|-
|-
| DOTA_DAMAGE_FLAG_USE_COMBAT_PROFICIENCY
| [[Dota 2 Workshop Tools/Scripting/API/CDebugOverlayScriptHelper.Circle | Circle]]
| 256
| <code>void Circle(Vector Vector_1, Quaternion Quaternion_2, float float_3, int int_4, int int_5, int int_6, int int_7, bool bool_8, float float_9)</code>
|  
| Draws a circle. Specify center in world space.
|-
|-
| DOTA_DAMAGE_FLAG_NO_DAMAGE_MULTIPLIERS
| [[Dota 2 Workshop Tools/Scripting/API/CDebugOverlayScriptHelper.CircleScreenOriented | CircleScreenOriented]]
| 512
| <code>void CircleScreenOriented(Vector Vector_1, float float_2, int int_3, int int_4, int int_5, int int_6, bool bool_7, float float_8)</code>
|  
| Draws a circle oriented to the screen. Specify center in world space.
|}
 
==== DOTAHUDVisibility_t ====
{| class="standard-table" style="width: 50%;"
! Name
! Value
! Description
|-
|-
| DOTA_HUD_VISIBILITY_TOP_TIMEOFDAY
| [[Dota 2 Workshop Tools/Scripting/API/CDebugOverlayScriptHelper.Cone | Cone]]
| 0
| <code>void Cone(Vector Vector_1, Vector Vector_2, float float_3, float float_4, int int_5, int int_6, int int_7, int int_8, bool bool_9, float float_10)</code>
|  
| Draws a wireframe cone. Specify endpoint and direction in world space.
|-
|-
| DOTA_HUD_VISIBILITY_TOP_HEROES
| [[Dota 2 Workshop Tools/Scripting/API/CDebugOverlayScriptHelper.Cross | Cross]]
| 1
| <code>void Cross(Vector Vector_1, float float_2, int int_3, int int_4, int int_5, int int_6, bool bool_7, float float_8)</code>
|  
| Draws a screen-aligned cross. Specify origin in world space.
|-
|-
| DOTA_HUD_VISIBILITY_TOP_SCOREBOARD
| [[Dota 2 Workshop Tools/Scripting/API/CDebugOverlayScriptHelper.Cross3D | Cross3D]]
| 2
| <code>void Cross3D(Vector Vector_1, float float_2, int int_3, int int_4, int int_5, int int_6, bool bool_7, float float_8)</code>
|  
| Draws a world-aligned cross. Specify origin in world space.
|-
|-
| DOTA_HUD_VISIBILITY_ACTION_PANEL
| [[Dota 2 Workshop Tools/Scripting/API/CDebugOverlayScriptHelper.Cross3DOriented | Cross3DOriented]]
| 3
| <code>void Cross3DOriented(Vector Vector_1, Quaternion Quaternion_2, float float_3, int int_4, int int_5, int int_6, int int_7, bool bool_8, float float_9)</code>
|  
| Draws an oriented cross. Specify origin in world space.
|-
|-
| DOTA_HUD_VISIBILITY_ACTION_MINIMAP
| [[Dota 2 Workshop Tools/Scripting/API/CDebugOverlayScriptHelper.DrawTickMarkedLine | DrawTickMarkedLine]]
| 4
| <code>void DrawTickMarkedLine(Vector Vector_1, Vector Vector_2, float float_3, int int_4, int int_5, int int_6, int int_7, int int_8, bool bool_9, float float_10)</code>
|  
| Draws a dashed line. Specify endpoints in world space.
|-
|-
| DOTA_HUD_VISIBILITY_INVENTORY_PANEL
| [[Dota 2 Workshop Tools/Scripting/API/CDebugOverlayScriptHelper.EntityAttachments | EntityAttachments]]
| 5
| <code>void EntityAttachments(ehandle ehandle_1, float float_2, float float_3)</code>
|  
| Draws the attachments of the entity
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDebugOverlayScriptHelper.EntityAxis | EntityAxis]]
| <code>void EntityAxis(ehandle ehandle_1, float float_2, bool bool_3, float float_4)</code>
| Draws the axis of the entity origin
|-
|-
| DOTA_HUD_VISIBILITY_INVENTORY_SHOP
| [[Dota 2 Workshop Tools/Scripting/API/CDebugOverlayScriptHelper.EntityBounds | EntityBounds]]
| 6
| <code>void EntityBounds(ehandle ehandle_1, int int_2, int int_3, int int_4, int int_5, bool bool_6, float float_7)</code>
|  
| Draws bounds of an entity
|-
|-
| DOTA_HUD_VISIBILITY_INVENTORY_ITEMS
| [[Dota 2 Workshop Tools/Scripting/API/CDebugOverlayScriptHelper.EntitySkeleton | EntitySkeleton]]
| 7
| <code>void EntitySkeleton(ehandle ehandle_1, float float_2)</code>
|  
| Draws the skeleton of the entity
|-
|-
| DOTA_HUD_VISIBILITY_INVENTORY_QUICKBUY
| [[Dota 2 Workshop Tools/Scripting/API/CDebugOverlayScriptHelper.EntityText | EntityText]]
| 8
| <code>void EntityText(ehandle ehandle_1, int int_2, string string_3, int int_4, int int_5, int int_6, int int_7, float float_8)</code>
|  
| Draws text on an entity
|-
|-
| DOTA_HUD_VISIBILITY_INVENTORY_COURIER
| [[Dota 2 Workshop Tools/Scripting/API/CDebugOverlayScriptHelper.FilledRect2D | FilledRect2D]]
| 9
| <code>void FilledRect2D(Vector2D Vector2D_1, Vector2D Vector2D_2, int int_3, int int_4, int int_5, int int_6, float float_7)</code>
|  
| Draws a screen-space filled 2D rectangle. Coordinates are in pixels.
|-
|-
| DOTA_HUD_VISIBILITY_INVENTORY_PROTECT
| [[Dota 2 Workshop Tools/Scripting/API/CDebugOverlayScriptHelper.HorzArrow | HorzArrow]]
| 10
| <code>void HorzArrow(Vector Vector_1, Vector Vector_2, float float_3, int int_4, int int_5, int int_6, int int_7, bool bool_8, float float_9)</code>
|  
| Draws a horizontal arrow. Specify endpoints in world space.
|-
|-
| DOTA_HUD_VISIBILITY_INVENTORY_GOLD
| [[Dota 2 Workshop Tools/Scripting/API/CDebugOverlayScriptHelper.Line | Line]]
| 11
| <code>void Line(Vector Vector_1, Vector Vector_2, int int_3, int int_4, int int_5, int int_6, bool bool_7, float float_8)</code>
|  
| Draws a line between two points
|-
|-
| DOTA_HUD_VISIBILITY_SHOP_SUGGESTEDITEMS
| [[Dota 2 Workshop Tools/Scripting/API/CDebugOverlayScriptHelper.Line2D | Line2D]]
| 12
| <code>void Line2D(Vector2D Vector2D_1, Vector2D Vector2D_2, int int_3, int int_4, int int_5, int int_6, float float_7)</code>
|  
| Draws a line between two points in screenspace
|-
|-
| DOTA_HUD_VISIBILITY_COUNT
| [[Dota 2 Workshop Tools/Scripting/API/CDebugOverlayScriptHelper.PopDebugOverlayScope | PopDebugOverlayScope]]
| 13
| <code>void PopDebugOverlayScope()</code>
|  
| Pops the identifier used to group overlays. Overlays marked with this identifier can be deleted in a big batch.
|}
 
==== DOTAInventoryFlags_t ====
{| class="standard-table" style="width: 50%;"
! Name
! Value
! Description
|-
|-
| DOTA_INVENTORY_ALLOW_NONE
| [[Dota 2 Workshop Tools/Scripting/API/CDebugOverlayScriptHelper.PushAndClearDebugOverlayScope | PushAndClearDebugOverlayScope]]
| 0
| <code>void PushAndClearDebugOverlayScope(utlstringtoken utlstringtoken_1)</code>
|  
| Pushes an identifier used to group overlays. Deletes all existing overlays using this overlay id.
|-
|-
| DOTA_INVENTORY_ALLOW_MAIN
| [[Dota 2 Workshop Tools/Scripting/API/CDebugOverlayScriptHelper.PushDebugOverlayScope | PushDebugOverlayScope]]
| 1
| <code>void PushDebugOverlayScope(utlstringtoken utlstringtoken_1)</code>
|  
| Pushes an identifier used to group overlays. Overlays marked with this identifier can be deleted in a big batch.
|-
|-
| DOTA_INVENTORY_ALLOW_STASH
| [[Dota 2 Workshop Tools/Scripting/API/CDebugOverlayScriptHelper.RemoveAllInScope | RemoveAllInScope]]
| 2
| <code>void RemoveAllInScope(utlstringtoken utlstringtoken_1)</code>
|  
| Removes all overlays marked with a specific identifier, regardless of their lifetime.
|-
|-
| DOTA_INVENTORY_ALL_ACCESS
| [[Dota 2 Workshop Tools/Scripting/API/CDebugOverlayScriptHelper.SolidCone | SolidCone]]
| 3
| <code>void SolidCone(Vector Vector_1, Vector Vector_2, float float_3, float float_4, int int_5, int int_6, int int_7, int int_8, bool bool_9, float float_10)</code>
|  
| Draws a solid cone. Specify endpoint and direction in world space.
|-
|-
| DOTA_INVENTORY_ALLOW_DROP_ON_GROUND
| [[Dota 2 Workshop Tools/Scripting/API/CDebugOverlayScriptHelper.Sphere | Sphere]]
| 4
| <code>void Sphere(Vector Vector_1, float float_2, int int_3, int int_4, int int_5, int int_6, bool bool_7, float float_8)</code>
|  
| Draws a wireframe sphere. Specify center in world space.
|-
|-
| DOTA_INVENTORY_ALLOW_DROP_AT_FOUNTAIN
| [[Dota 2 Workshop Tools/Scripting/API/CDebugOverlayScriptHelper.SweptBox | SweptBox]]
| 8
| <code>void SweptBox(Vector Vector_1, Vector Vector_2, Vector Vector_3, Vector Vector_4, Quaternion Quaternion_5, int int_6, int int_7, int int_8, int int_9, float float_10)</code>
|  
| Draws a swept box. Specify endpoints in world space and the bounds in local space.
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDebugOverlayScriptHelper.Text | Text]]
| <code>void Text(Vector Vector_1, int int_2, string string_3, float float_4, int int_5, int int_6, int int_7, int int_8, float float_9)</code>
| Draws 2D text. Specify origin in world space.
|-
|-
| DOTA_INVENTORY_LIMIT_DROP_ON_GROUND
| [[Dota 2 Workshop Tools/Scripting/API/CDebugOverlayScriptHelper.Texture | Texture]]
| 16
| <code>void Texture(string string_1, Vector2D Vector2D_2, Vector2D Vector2D_3, int int_4, int int_5, int int_6, int int_7, Vector2D Vector2D_8, Vector2D Vector2D_9, float float_10)</code>
|  
| Draws a screen-space texture. Coordinates are in pixels.
|}
 
==== DOTAMinimapEvent_t ====
{| class="standard-table" style="width: 50%;"
! Name
! Value
! Description
|-
|-
| DOTA_MINIMAP_EVENT_ANCIENT_UNDER_ATTACK
| [[Dota 2 Workshop Tools/Scripting/API/CDebugOverlayScriptHelper.Triangle | Triangle]]
| 2
| <code>void Triangle(Vector Vector_1, Vector Vector_2, Vector Vector_3, int int_4, int int_5, int int_6, int int_7, bool bool_8, float float_9)</code>
|  
| Draws a filled triangle. Specify vertices in world space.
|-
|-
| DOTA_MINIMAP_EVENT_BASE_UNDER_ATTACK
| [[Dota 2 Workshop Tools/Scripting/API/CDebugOverlayScriptHelper.UnitTestCycleOverlayRenderType | UnitTestCycleOverlayRenderType]]
| 4
| <code>void UnitTestCycleOverlayRenderType()</code>
|  
| Toggles the overlay render type, for unit tests
|-
|-
| DOTA_MINIMAP_EVENT_BASE_GLYPHED
| [[Dota 2 Workshop Tools/Scripting/API/CDebugOverlayScriptHelper.VectorText3D | VectorText3D]]
| 8
| <code>void VectorText3D(Vector Vector_1, Quaternion Quaternion_2, string string_3, int int_4, int int_5, int int_6, int int_7, bool bool_8, float float_9)</code>
|  
| Draws 3D text. Specify origin + orientation in world space.
|-
|-
| DOTA_MINIMAP_EVENT_TEAMMATE_UNDER_ATTACK
| [[Dota 2 Workshop Tools/Scripting/API/CDebugOverlayScriptHelper.VertArrow | VertArrow]]
| 16
| <code>void VertArrow(Vector Vector_1, Vector Vector_2, float float_3, int int_4, int int_5, int int_6, int int_7, bool bool_8, float float_9)</code>
|  
| Draws a vertical arrow. Specify endpoints in world space.
|-
|-
| DOTA_MINIMAP_EVENT_TEAMMATE_TELEPORTING
| [[Dota 2 Workshop Tools/Scripting/API/CDebugOverlayScriptHelper.YawArrow | YawArrow]]
| 32
| <code>void YawArrow(Vector Vector_1, float float_2, float float_3, float float_4, int int_5, int int_6, int int_7, int int_8, bool bool_9, float float_10)</code>
|  
| Draws a arrow associated with a specific yaw. Specify endpoints in world space.
|}
 
==== CDotaQuest ====
:::::extends [[#CBaseEntity|CBaseEntity]]
''No Description Set''
{| class="standard-table" style="width: 100%;"
! Function
! Signature
! Description
|-
|-
| DOTA_MINIMAP_EVENT_TEAMMATE_DIED
| [[Dota 2 Workshop Tools/Scripting/API/CDotaQuest.AddSubquest | AddSubquest]]
| 64
| <code>void AddSubquest(handle hSubquest)</code>
|  
| Add a subquest to this quest
|-
|-
| DOTA_MINIMAP_EVENT_TUTORIAL_TASK_ACTIVE
| [[Dota 2 Workshop Tools/Scripting/API/CDotaQuest.CompleteQuest | CompleteQuest]]
| 128
| <code>void CompleteQuest()</code>
|  
| Mark this quest complete
|-
|-
| DOTA_MINIMAP_EVENT_TUTORIAL_TASK_FINISHED
| [[Dota 2 Workshop Tools/Scripting/API/CDotaQuest.GetSubquest | GetSubquest]]
| 256
| <code>handle GetSubquest(int nIndex)</code>
|  
| Finds a subquest from this quest by index
|-
|-
| DOTA_MINIMAP_EVENT_HINT_LOCATION
| [[Dota 2 Workshop Tools/Scripting/API/CDotaQuest.GetSubquestByName | GetSubquestByName]]
| 512
| <code>handle GetSubquestByName(string pszName)</code>
|  
| Finds a subquest from this quest by name
|-
|-
| DOTA_MINIMAP_EVENT_ENEMY_TELEPORTING
| [[Dota 2 Workshop Tools/Scripting/API/CDotaQuest.RemoveSubquest | RemoveSubquest]]
| 1024
| <code>void RemoveSubquest(handle hSubquest)</code>
|  
| Remove a subquest from this quest
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDotaQuest.SetTextReplaceString | SetTextReplaceString]]
| <code>void SetTextReplaceString(string pszString)</code>
| Set the text replace string for this quest
|-
|-
| DOTA_MINIMAP_EVENT_CANCEL_TELEPORTING
| [[Dota 2 Workshop Tools/Scripting/API/CDotaQuest.SetTextReplaceValue | SetTextReplaceValue]]
| 2048
| <code>void SetTextReplaceValue(int valueSlot, int value)</code>
|  
| Set a quest value
|}
|}


==== DOTAModifierAttribute_t ====
==== CDotaSubquestBase ====
{| class="standard-table" style="width: 50%;"
:::::extends [[#CBaseEntity|CBaseEntity]]
! Name
''No Description Set''
! Value
{| class="standard-table" style="width: 100%;"
! Description
! Function
! Signature
! Description  
|-
|-
| MODIFIER_ATTRIBUTE_NONE
| [[Dota 2 Workshop Tools/Scripting/API/CDotaSubquestBase.CompleteSubquest | CompleteSubquest]]
| 0
| <code>void CompleteSubquest()</code>
|  
| Mark this subquest complete
|-
|-
| MODIFIER_ATTRIBUTE_PERMANENT
| [[Dota 2 Workshop Tools/Scripting/API/CDotaSubquestBase.SetTextReplaceString | SetTextReplaceString]]
| 1
| <code>void SetTextReplaceString(string pszString)</code>
|  
| Set the text replace string for this subquest
|-
|-
| MODIFIER_ATTRIBUTE_MULTIPLE
| [[Dota 2 Workshop Tools/Scripting/API/CDotaSubquestBase.SetTextReplaceValue | SetTextReplaceValue]]
| 2
| <code>void SetTextReplaceValue(int valueSlot, int value)</code>
|
| Set a subquest value
|-
| MODIFIER_ATTRIBUTE_IGNORE_INVULNERABLE
| 4
|  
|}
|}


==== DOTAMusicStatus_t ====
==== CEntities ====
{| class="standard-table" style="width: 50%;"
''Global accessor variable: <code>Entities</code>''
! Name
{| class="standard-table" style="width: 100%;"
! Value
! Function
! Description
! Signature
! Description  
|-
| [[Dota 2 Workshop Tools/Scripting/API/CEntities.CreateByClassname | CreateByClassname]]
| <code>handle CreateByClassname(string string_1)</code>
| Creates an entity by classname
|-
|-
| DOTA_MUSIC_STATUS_NONE
| [[Dota 2 Workshop Tools/Scripting/API/CEntities.FindAllByClassname | FindAllByClassname]]
| 0
| <code>table FindAllByClassname(string string_1)</code>
|  
| Finds all entities by class name. Returns an array containing all the found entities.
|-
|-
| DOTA_MUSIC_STATUS_EXPLORATION
| [[Dota 2 Workshop Tools/Scripting/API/CEntities.FindAllByClassnameWithin | FindAllByClassnameWithin]]
| 1
| <code>table FindAllByClassnameWithin(string string_1, Vector Vector_2, float float_3)</code>
|  
| Find entities by class name within a radius.
|-
|-
| DOTA_MUSIC_STATUS_BATTLE
| [[Dota 2 Workshop Tools/Scripting/API/CEntities.FindAllByModel | FindAllByModel]]
| 2
| <code>table FindAllByModel(string string_1)</code>
|  
| Find entities by model name.
|-
|-
| DOTA_MUSIC_STATUS_PRE_GAME_EXPLORATION
| [[Dota 2 Workshop Tools/Scripting/API/CEntities.FindAllByName | FindAllByName]]
| 3
| <code>table FindAllByName(string string_1)</code>
|  
| Find all entities by name. Returns an array containing all the found entities in it.
|-
| [[Dota 2 Workshop Tools/Scripting/API/CEntities.FindAllByNameWithin | FindAllByNameWithin]]
| <code>table FindAllByNameWithin(string string_1, Vector Vector_2, float float_3)</code>
| Find entities by name within a radius.
|-
|-
| DOTA_MUSIC_STATUS_DEAD
| [[Dota 2 Workshop Tools/Scripting/API/CEntities.FindAllByTarget | FindAllByTarget]]
| 4
| <code>table FindAllByTarget(string string_1)</code>
|  
| Find entities by targetname.
|-
|-
| DOTA_MUSIC_STATUS_LAST
| [[Dota 2 Workshop Tools/Scripting/API/CEntities.FindAllInSphere | FindAllInSphere]]
| 5
| <code>table FindAllInSphere(Vector Vector_1, float float_2)</code>
|  
| Find entities within a radius.
|}
 
==== DOTASlotType_t ====
{| class="standard-table" style="width: 50%;"
! Name
! Value
! Description
|-
|-
| DOTA_LOADOUT_TYPE_INVALID
| [[Dota 2 Workshop Tools/Scripting/API/CEntities.FindByClassname | FindByClassname]]
| -1
| <code>handle FindByClassname(handle handle_1, string string_2)</code>
|  
| Find entities by class name. Pass 'null' to start an iteration, or reference to a previously found entity to continue a search
|-
|-
| DOTA_LOADOUT_TYPE_WEAPON
| [[Dota 2 Workshop Tools/Scripting/API/CEntities.FindByClassnameNearest | FindByClassnameNearest]]
| 0
| <code>handle FindByClassnameNearest(string string_1, Vector Vector_2, float float_3)</code>
|  
| Find entities by class name nearest to a point.
|-
|-
| DOTA_LOADOUT_TYPE_OFFHAND_WEAPON
| [[Dota 2 Workshop Tools/Scripting/API/CEntities.FindByClassnameWithin | FindByClassnameWithin]]
| 1
| <code>handle FindByClassnameWithin(handle handle_1, string string_2, Vector Vector_3, float float_4)</code>
|  
| Find entities by class name within a radius. Pass 'null' to start an iteration, or reference to a previously found entity to continue a search
|-
|-
| DOTA_LOADOUT_TYPE_WEAPON2
| [[Dota 2 Workshop Tools/Scripting/API/CEntities.FindByModel | FindByModel]]
| 2
| <code>handle FindByModel(handle handle_1, string string_2)</code>
|  
| Find entities by model name. Pass 'null' to start an iteration, or reference to a previously found entity to continue a search
|-
|-
| DOTA_LOADOUT_TYPE_OFFHAND_WEAPON2
| [[Dota 2 Workshop Tools/Scripting/API/CEntities.FindByModelWithin | FindByModelWithin]]
| 3
| <code>handle FindByModelWithin(handle handle_1, string string_2, Vector Vector_3, float float_4)</code>
|  
| Find entities by model name within a radius. Pass 'null' to start an iteration, or reference to a previously found entity to continue a search
|-
|-
| DOTA_LOADOUT_TYPE_HEAD
| [[Dota 2 Workshop Tools/Scripting/API/CEntities.FindByName | FindByName]]
| 4
| <code>handle FindByName(handle handle_1, string string_2)</code>
|  
| Find entities by name. Pass 'null' to start an iteration, or reference to a previously found entity to continue a search
|-
|-
| DOTA_LOADOUT_TYPE_SHOULDER
| [[Dota 2 Workshop Tools/Scripting/API/CEntities.FindByNameNearest | FindByNameNearest]]
| 5
| <code>handle FindByNameNearest(string string_1, Vector Vector_2, float float_3)</code>
|  
| Find entities by name nearest to a point.
|-
|-
| DOTA_LOADOUT_TYPE_ARMS
| [[Dota 2 Workshop Tools/Scripting/API/CEntities.FindByNameWithin | FindByNameWithin]]
| 6
| <code>handle FindByNameWithin(handle handle_1, string string_2, Vector Vector_3, float float_4)</code>
|  
| Find entities by name within a radius. Pass 'null' to start an iteration, or reference to a previously found entity to continue a search
|-
|-
| DOTA_LOADOUT_TYPE_ARMOR
| [[Dota 2 Workshop Tools/Scripting/API/CEntities.FindByTarget | FindByTarget]]
| 7
| <code>handle FindByTarget(handle handle_1, string string_2)</code>
|  
| Find entities by targetname. Pass 'null' to start an iteration, or reference to a previously found entity to continue a search
|-
|-
| DOTA_LOADOUT_TYPE_BELT
| [[Dota 2 Workshop Tools/Scripting/API/CEntities.FindInSphere | FindInSphere]]
| 8
| <code>handle FindInSphere(handle handle_1, Vector Vector_2, float float_3)</code>
|  
| Find entities within a radius. Pass 'null' to start an iteration, or reference to a previously found entity to continue a search
|-
|-
| DOTA_LOADOUT_TYPE_NECK
| [[Dota 2 Workshop Tools/Scripting/API/CEntities.First | First]]
| 9
| <code>handle First()</code>
|  
| Begin an iteration over the list of entities
|-
|-
| DOTA_LOADOUT_TYPE_BACK
| [[Dota 2 Workshop Tools/Scripting/API/CEntities.GetLocalPlayer | GetLocalPlayer]]
| 10
| <code>handle GetLocalPlayer()</code>
|  
| Get the local player.
|-
| [[Dota 2 Workshop Tools/Scripting/API/CEntities.Next | Next]]
| <code>handle Next(handle handle_1)</code>
| Continue an iteration over the list of entities, providing reference to a previously found entity
|}
 
==== CEntityInstance ====
''No Description Set''
{| class="standard-table" style="width: 100%;"
! Function
! Signature
! Description
|-
|-
| DOTA_LOADOUT_TYPE_LEGS
| [[Dota 2 Workshop Tools/Scripting/API/CEntityInstance.ConnectOutput | ConnectOutput]]
| 11
| <code>void ConnectOutput(string string_1, string string_2)</code>
|  
| Adds an I/O connection that will call the named function on this entity when the specified output fires.
|-
|-
| DOTA_LOADOUT_TYPE_GLOVES
| [[Dota 2 Workshop Tools/Scripting/API/CEntityInstance.Destroy | Destroy]]
| 12
| <code>void Destroy()</code>
|  
|
|-
|-
| DOTA_LOADOUT_TYPE_TAIL
| [[Dota 2 Workshop Tools/Scripting/API/CEntityInstance.DisconnectOutput | DisconnectOutput]]
| 13
| <code>void DisconnectOutput(string string_1, string string_2)</code>
|  
| Removes a connected script function from an I/O event on this entity.
|-
|-
| DOTA_LOADOUT_TYPE_MISC
| [[Dota 2 Workshop Tools/Scripting/API/CEntityInstance.DisconnectRedirectedOutput | DisconnectRedirectedOutput]]
| 14
| <code>void DisconnectRedirectedOutput(string string_1, string string_2, handle handle_3)</code>
|  
| Removes a connected script function from an I/O event on the passed entity.
|-
|-
| DOTA_LOADOUT_TYPE_BODY_HEAD
| [[Dota 2 Workshop Tools/Scripting/API/CEntityInstance.FireOutput | FireOutput]]
| 15
| <code>void FireOutput(string string_1, handle handle_2, handle handle_3, table table_4, float float_5)</code>
|  
| Fire an entity output
|-
|-
| DOTA_LOADOUT_TYPE_MOUNT
| [[Dota 2 Workshop Tools/Scripting/API/CEntityInstance.GetClassname | GetClassname]]
| 16
| <code>string GetClassname()</code>
|  
|
|-
|-
| DOTA_LOADOUT_TYPE_SUMMON
| [[Dota 2 Workshop Tools/Scripting/API/CEntityInstance.GetDebugName | GetDebugName]]
| 17
| <code>string GetDebugName()</code>
|  
| Get the entity name w/help if not defined (i.e. classname/etc)
|-
|-
| DOTA_LOADOUT_TYPE_SHAPESHIFT
| [[Dota 2 Workshop Tools/Scripting/API/CEntityInstance.GetEntityHandle | GetEntityHandle]]
| 18
| <code>ehandle GetEntityHandle()</code>
|  
| Get the entity as an EHANDLE
|-
|-
| DOTA_LOADOUT_TYPE_TAUNT
| [[Dota 2 Workshop Tools/Scripting/API/CEntityInstance.GetEntityIndex | GetEntityIndex]]
| 19
| <code>int GetEntityIndex()</code>
|  
|
|-
|-
| DOTA_LOADOUT_TYPE_AMBIENT_EFFECTS
| [[Dota 2 Workshop Tools/Scripting/API/CEntityInstance.GetIntAttr | GetIntAttr]]
| 20
| <code>int GetIntAttr(string string_1)</code>
|  
| Get Integer Attribute
|-
|-
| DOTA_LOADOUT_TYPE_ABILITY_ATTACK
| [[Dota 2 Workshop Tools/Scripting/API/CEntityInstance.GetName | GetName]]
| 21
| <code>string GetName()</code>
|  
|
|-
|-
| DOTA_LOADOUT_TYPE_ABILITY1
| [[Dota 2 Workshop Tools/Scripting/API/CEntityInstance.GetOrCreatePrivateScriptScope | GetOrCreatePrivateScriptScope]]
| 22
| <code>handle GetOrCreatePrivateScriptScope()</code>
|  
| Retrieve, creating if necessary, the private per-instance script-side data associated with an entity
|-
|-
| DOTA_LOADOUT_TYPE_ABILITY2
| [[Dota 2 Workshop Tools/Scripting/API/CEntityInstance.GetOrCreatePublicScriptScope | GetOrCreatePublicScriptScope]]
| 23
| <code>handle GetOrCreatePublicScriptScope()</code>
|  
| Retrieve, creating if necessary, the public script-side data associated with an entity
|-
|-
| DOTA_LOADOUT_TYPE_ABILITY3
| [[Dota 2 Workshop Tools/Scripting/API/CEntityInstance.GetPrivateScriptScope | GetPrivateScriptScope]]
| 24
| <code>handle GetPrivateScriptScope()</code>
|  
| Retrieve the private per-instance script-side data associated with an entity
|-
|-
| DOTA_LOADOUT_TYPE_ABILITY4
| [[Dota 2 Workshop Tools/Scripting/API/CEntityInstance.GetPublicScriptScope | GetPublicScriptScope]]
| 25
| <code>handle GetPublicScriptScope()</code>
|  
| Retrieve the public script-side data associated with an entity
|-
|-
| DOTA_LOADOUT_TYPE_ABILITY_ULTIMATE
| [[Dota 2 Workshop Tools/Scripting/API/CEntityInstance.RedirectOutput | RedirectOutput]]
| 26
| <code>void RedirectOutput(string string_1, string string_2, handle handle_3)</code>
|  
| Adds an I/O connection that will call the named function on the passed entity when the specified output fires.
|-
|-
| DOTA_LOADOUT_TYPE_VOICE
| [[Dota 2 Workshop Tools/Scripting/API/CEntityInstance.RemoveSelf | RemoveSelf]]
| 27
| <code>void RemoveSelf()</code>
|  
| Delete this entity
|-
|-
| DOTA_LOADOUT_TYPE_ACTION_ITEM
| [[Dota 2 Workshop Tools/Scripting/API/CEntityInstance.SetIntAttr | SetIntAttr]]
| 28
| <code>void SetIntAttr(string string_1, int int_2)</code>
|  
| Set Integer Attribute
|-
|-
| DOTA_PLAYER_LOADOUT_START
| [[Dota 2 Workshop Tools/Scripting/API/CEntityInstance.entindex | entindex]]
| 28
| <code>int entindex()</code>
|  
|}
 
==== CEntityScriptFramework ====
''No Description Set''
{| class="standard-table" style="width: 100%;"
! Function
! Signature
! Description
|}
 
==== CEnvEntityMaker ====
:::::extends [[#CBaseEntity|CBaseEntity]]
''No Description Set''
{| class="standard-table" style="width: 100%;"
! Function
! Signature
! Description
|-
|-
| DOTA_LOADOUT_TYPE_COURIER
| [[Dota 2 Workshop Tools/Scripting/API/CEnvEntityMaker.SpawnEntity | SpawnEntity]]
| 29
| <code>void SpawnEntity()</code>
|  
| Create an entity at the location of the maker
|-
|-
| DOTA_LOADOUT_TYPE_ANNOUNCER
| [[Dota 2 Workshop Tools/Scripting/API/CEnvEntityMaker.SpawnEntityAtEntityOrigin | SpawnEntityAtEntityOrigin]]
| 30
| <code>void SpawnEntityAtEntityOrigin(handle hEntity)</code>
|  
| Create an entity at the location of a specified entity instance
|-
|-
| DOTA_LOADOUT_TYPE_MEGA_KILLS
| [[Dota 2 Workshop Tools/Scripting/API/CEnvEntityMaker.SpawnEntityAtLocation | SpawnEntityAtLocation]]
| 31
| <code>void SpawnEntityAtLocation(Vector vecAlternateOrigin, Vector vecAlternateAngles)</code>
|  
| Create an entity at a specified location and orientaton, orientation is Euler angle in degrees (pitch, yaw, roll)
|-
|-
| DOTA_LOADOUT_TYPE_MUSIC
| [[Dota 2 Workshop Tools/Scripting/API/CEnvEntityMaker.SpawnEntityAtNamedEntityOrigin | SpawnEntityAtNamedEntityOrigin]]
| 32
| <code>void SpawnEntityAtNamedEntityOrigin(string pszName)</code>
|  
| Create an entity at the location of a named entity
|}
 
==== CEnvProjectedTexture ====
:::::extends [[#CBaseEntity|CBaseEntity]]
''No Description Set''
{| class="standard-table" style="width: 100%;"
! Function
! Signature
! Description
|-
|-
| DOTA_LOADOUT_TYPE_WARD
| [[Dota 2 Workshop Tools/Scripting/API/CEnvProjectedTexture.SetFarRange | SetFarRange]]
| 33
| <code>void SetFarRange(float flRange)</code>
|  
| Set light maximum range
|-
|-
| DOTA_LOADOUT_TYPE_HUD_SKIN
| [[Dota 2 Workshop Tools/Scripting/API/CEnvProjectedTexture.SetLinearAttenuation | SetLinearAttenuation]]
| 34
| <code>void SetLinearAttenuation(float flAtten)</code>
|  
| Set light linear attenuation value
|-
|-
| DOTA_LOADOUT_TYPE_LOADING_SCREEN
| [[Dota 2 Workshop Tools/Scripting/API/CEnvProjectedTexture.SetNearRange | SetNearRange]]
| 35
| <code>void SetNearRange(float flRange)</code>
|  
| Set light minimum range
|-
|-
| DOTA_LOADOUT_TYPE_WEATHER
| [[Dota 2 Workshop Tools/Scripting/API/CEnvProjectedTexture.SetQuadraticAttenuation | SetQuadraticAttenuation]]
| 36
| <code>void SetQuadraticAttenuation(float flAtten)</code>
|  
| Set light quadratic attenuation value
|-
|-
| DOTA_LOADOUT_TYPE_HEROIC_STATUE
| [[Dota 2 Workshop Tools/Scripting/API/CEnvProjectedTexture.SetVolumetrics | SetVolumetrics]]
| 37
| <code>void SetVolumetrics(bool bOn, float flIntensity, float flNoise, int nPlanes, float flPlaneOffset)</code>
|  
| Turn on/off light volumetrics: bool bOn, float flIntensity, float flNoise, int nPlanes, float flPlaneOffset
|}
 
==== CInfoData ====
:::::extends [[#CBaseEntity|CBaseEntity]]
''No Description Set''
{| class="standard-table" style="width: 100%;"
! Function
! Signature
! Description
|-
|-
| DOTA_LOADOUT_TYPE_MULTIKILL_BANNER
| [[Dota 2 Workshop Tools/Scripting/API/CInfoData.QueryColor | QueryColor]]
| 38
| <code>Vector QueryColor(utlstringtoken tok, Vector vDefault)</code>
|  
| Query color data for this key
|-
|-
| DOTA_LOADOUT_TYPE_CURSOR_PACK
| [[Dota 2 Workshop Tools/Scripting/API/CInfoData.QueryFloat | QueryFloat]]
| 39
| <code>float QueryFloat(utlstringtoken tok, float flDefault)</code>
|  
| Query float data for this key
|-
|-
| DOTA_LOADOUT_TYPE_TELEPORT_EFFECT
| [[Dota 2 Workshop Tools/Scripting/API/CInfoData.QueryInt | QueryInt]]
| 40
| <code>int QueryInt(utlstringtoken tok, int nDefault)</code>
|  
| Query int data for this key
|-
|-
| DOTA_LOADOUT_TYPE_BLINK_EFFECT
| [[Dota 2 Workshop Tools/Scripting/API/CInfoData.QueryNumber | QueryNumber]]
| 41
| <code>float QueryNumber(utlstringtoken tok, float flDefault)</code>
|  
| Query number data for this key
|-
|-
| DOTA_LOADOUT_TYPE_TEAM_SHOWCASE
| [[Dota 2 Workshop Tools/Scripting/API/CInfoData.QueryString | QueryString]]
| 42
| <code>string QueryString(utlstringtoken tok, string pDefault)</code>
|  
| Query string data for this key
|-
|-
| DOTA_PLAYER_LOADOUT_END
| [[Dota 2 Workshop Tools/Scripting/API/CInfoData.QueryVector | QueryVector]]
| 42
| <code>Vector QueryVector(utlstringtoken tok, Vector vDefault)</code>
|  
| Query vector data for this key
|}
 
==== CInfoWorldLayer ====
:::::extends [[#CBaseEntity|CBaseEntity]]
''No Description Set''
{| class="standard-table" style="width: 100%;"
! Function
! Signature
! Description
|-
|-
| DOTA_LOADOUT_TYPE_NONE
| [[Dota 2 Workshop Tools/Scripting/API/CInfoWorldLayer.HideWorldLayer | HideWorldLayer]]
| 43
| <code>void HideWorldLayer()</code>
|  
| Hides this layer
|-
|-
| DOTA_LOADOUT_TYPE_COUNT
| [[Dota 2 Workshop Tools/Scripting/API/CInfoWorldLayer.ShowWorldLayer | ShowWorldLayer]]
| 44
| <code>void ShowWorldLayer()</code>
|  
| Shows this layer
|}
 
==== CLogicScript ====
:::::extends [[#CBaseEntity|CBaseEntity]]
''No Description Set''
{| class="standard-table" style="width: 100%;"
! Function
! Signature
! Description
|}
|}


==== DOTASpeechType_t ====
==== CMarkupVolumeTagged ====
{| class="standard-table" style="width: 50%;"
:::::extends [[#CBaseEntity|CBaseEntity]]
! Name
''No Description Set''
! Value
{| class="standard-table" style="width: 100%;"
! Description
! Function
! Signature
! Description  
|-
|-
| DOTA_SPEECH_USER_INVALID
| [[Dota 2 Workshop Tools/Scripting/API/CMarkupVolumeTagged.HasTag | HasTag]]
| 0
| <code>bool HasTag(string pszTagName)</code>
|  
| Does this volume have the given tag.
|}
 
==== CNativeOutputs ====
''No Description Set''
{| class="standard-table" style="width: 100%;"
! Function
! Signature
! Description
|-
|-
| DOTA_SPEECH_USER_SINGLE
| [[Dota 2 Workshop Tools/Scripting/API/CNativeOutputs.AddOutput | AddOutput]]
| 1
| <code>void AddOutput(string string_1, string string_2)</code>
|  
| Add an output
|-
|-
| DOTA_SPEECH_USER_TEAM
| [[Dota 2 Workshop Tools/Scripting/API/CNativeOutputs.Init | Init]]
| 2
| <code>void Init(int int_1)</code>
|  
| Initialize with number of outputs
|}
 
==== CParticleSystem ====
:::::extends [[#CBaseModelEntity|CBaseModelEntity]]
''No Description Set''
{| class="standard-table" style="width: 100%;"
! Function
! Signature
! Description
|}
 
==== CPhysicsProp ====
:::::extends [[#CBaseAnimating|CBaseAnimating]]
''No Description Set''
{| class="standard-table" style="width: 100%;"
! Function
! Signature
! Description
|-
| [[Dota 2 Workshop Tools/Scripting/API/CPhysicsProp.DisableMotion | DisableMotion]]
| <code>void DisableMotion()</code>
| Disable motion for the prop
|-
|-
| DOTA_SPEECH_USER_TEAM_NEARBY
| [[Dota 2 Workshop Tools/Scripting/API/CPhysicsProp.EnableMotion | EnableMotion]]
| 3
| <code>void EnableMotion()</code>
|  
| Enable motion for the prop
|-
|-
| DOTA_SPEECH_USER_NEARBY
| [[Dota 2 Workshop Tools/Scripting/API/CPhysicsProp.SetDynamicVsDynamicContinuous | SetDynamicVsDynamicContinuous]]
| 4
| <code>void SetDynamicVsDynamicContinuous(bool bIsDynamicVsDynamicContinuousEnabled)</code>
|  
| Enable/disable dynamic vs dynamic continuous collision traces
|}
 
==== CPointClientUIWorldPanel ====
:::::extends [[#CBaseModelEntity|CBaseModelEntity]]
''No Description Set''
{| class="standard-table" style="width: 100%;"
! Function
! Signature
! Description
|-
|-
| DOTA_SPEECH_USER_ALL
| [[Dota 2 Workshop Tools/Scripting/API/CPointClientUIWorldPanel.AcceptUserInput | AcceptUserInput]]
| 5
| <code>void AcceptUserInput()</code>
|  
| Tells the panel to accept user input.
|-
|-
| DOTA_SPEECH_GOOD_TEAM
| [[Dota 2 Workshop Tools/Scripting/API/CPointClientUIWorldPanel.AddCSSClasses | AddCSSClasses]]
| 6
| <code>void AddCSSClasses(string pszClasses)</code>
|  
| Adds CSS class(es) to the panel
|-
|-
| DOTA_SPEECH_BAD_TEAM
| [[Dota 2 Workshop Tools/Scripting/API/CPointClientUIWorldPanel.IgnoreUserInput | IgnoreUserInput]]
| 7
| <code>void IgnoreUserInput()</code>
|  
| Tells the panel to ignore user input.
|-
|-
| DOTA_SPEECH_SPECTATOR
| [[Dota 2 Workshop Tools/Scripting/API/CPointClientUIWorldPanel.IsGrabbable | IsGrabbable]]
| 8
| <code>bool IsGrabbable()</code>
|  
| Returns whether this entity is grabbable.
|-
|-
| DOTA_SPEECH_RECIPIENT_TYPE_MAX
| [[Dota 2 Workshop Tools/Scripting/API/CPointClientUIWorldPanel.RemoveCSSClasses | RemoveCSSClasses]]
| 9
| <code>void RemoveCSSClasses(string pszClasses)</code>
|  
| Remove CSS class(es) from the panel
|}
|}


==== DOTATeam_t ====
==== CPointTemplate ====
{| class="standard-table" style="width: 50%;"
:::::extends [[#CBaseEntity|CBaseEntity]]
! Name
''No Description Set''
! Value
{| class="standard-table" style="width: 100%;"
! Description
! Function
! Signature
! Description  
|-
|-
| DOTA_TEAM_FIRST
| [[Dota 2 Workshop Tools/Scripting/API/CPointTemplate.DeleteCreatedSpawnGroups | DeleteCreatedSpawnGroups]]
| 2
| <code>void DeleteCreatedSpawnGroups()</code>
|  
| DeleteCreatedSpawnGroups() : Deletes any spawn groups that this point_template has spawned. Note: The point_template will not be deleted by this.
|-
| [[Dota 2 Workshop Tools/Scripting/API/CPointTemplate.ForceSpawn | ForceSpawn]]
| <code>void ForceSpawn()</code>
| ForceSpawn() : Spawns all of the entities the point_template is pointing at.
|-
|-
| DOTA_TEAM_GOODGUYS
| [[Dota 2 Workshop Tools/Scripting/API/CPointTemplate.GetSpawnedEntities | GetSpawnedEntities]]
| 2
| <code>handle GetSpawnedEntities()</code>
|  
| GetSpawnedEntities() : Get the list of the most recent spawned entities
|-
|-
| DOTA_TEAM_BADGUYS
| [[Dota 2 Workshop Tools/Scripting/API/CPointTemplate.SetSpawnCallback | SetSpawnCallback]]
| 3
| <code>void SetSpawnCallback(handle hCallbackFunc, handle hCallbackScope)</code>
|  
| SetSpawnCallback( hCallbackFunc, hCallbackScope, hCallbackData ) : Set a callback for when the template spawns entities. The spawned entities will be passed in as an array.
|}
 
==== CPointWorldText ====
:::::extends [[#CBaseModelEntity|CBaseModelEntity]]
''No Description Set''
{| class="standard-table" style="width: 100%;"
! Function
! Signature
! Description
|-
|-
| DOTA_TEAM_NEUTRALS
| [[Dota 2 Workshop Tools/Scripting/API/CPointWorldText.SetMessage | SetMessage]]
| 4
| <code>void SetMessage(string pMessage)</code>
|  
| Set the message on this entity.
|}
 
==== CPropHMDAvatar ====
:::::extends [[#CBaseAnimating|CBaseAnimating]]
''No Description Set''
{| class="standard-table" style="width: 100%;"
! Function
! Signature
! Description
|-
|-
| DOTA_TEAM_NOTEAM
| [[Dota 2 Workshop Tools/Scripting/API/CPropHMDAvatar.GetVRHand | GetVRHand]]
| 5
| <code>handle GetVRHand(int nHandID)</code>
|  
| Get VR hand by ID
|}
 
==== CPropVRHand ====
:::::extends [[#CBaseAnimating|CBaseAnimating]]
''No Description Set''
{| class="standard-table" style="width: 100%;"
! Function
! Signature
! Description
|-
|-
| DOTA_TEAM_CUSTOM_1
| [[Dota 2 Workshop Tools/Scripting/API/CPropVRHand.AddHandAttachment | AddHandAttachment]]
| 6
| <code>void AddHandAttachment(handle hAttachment)</code>
|  
| Add the attachment to this hand
|-
|-
| DOTA_TEAM_CUSTOM_MIN
| [[Dota 2 Workshop Tools/Scripting/API/CPropVRHand.AddHandModelOverride | AddHandModelOverride]]
| 6
| <code>handle AddHandModelOverride(string pModelName)</code>
|  
| Add a model override for this hand
|-
|-
| DOTA_TEAM_CUSTOM_2
| [[Dota 2 Workshop Tools/Scripting/API/CPropVRHand.FindHandModelOverride | FindHandModelOverride]]
| 7
| <code>handle FindHandModelOverride(string pModelName)</code>
|  
| Find a specific model override for this hand
|-
|-
| DOTA_TEAM_CUSTOM_3
| [[Dota 2 Workshop Tools/Scripting/API/CPropVRHand.FireHapticPulse | FireHapticPulse]]
| 8
| <code>void FireHapticPulse(int nStrength)</code>
|  
| Fire a haptic pulse on this hand. [0,2] for strength.
|-
|-
| DOTA_TEAM_CUSTOM_COUNT
| [[Dota 2 Workshop Tools/Scripting/API/CPropVRHand.FireHapticPulsePrecise | FireHapticPulsePrecise]]
| 8
| <code>void FireHapticPulsePrecise(int nPulseDuration)</code>
|  
| Fire a haptic pulse on this hand. Specify the duration in micro seconds.
|-
| [[Dota 2 Workshop Tools/Scripting/API/CPropVRHand.GetHandAttachment | GetHandAttachment]]
| <code>handle GetHandAttachment()</code>
| Get the attachment on this hand
|-
| [[Dota 2 Workshop Tools/Scripting/API/CPropVRHand.GetHandID | GetHandID]]
| <code>int GetHandID()</code>
| Get hand ID
|-
|-
| DOTA_TEAM_CUSTOM_4
| [[Dota 2 Workshop Tools/Scripting/API/CPropVRHand.GetLiteralHandType | GetLiteralHandType]]
| 9
| <code>int GetLiteralHandType()</code>
|  
| Get literal type for this hand
|-
|-
| DOTA_TEAM_CUSTOM_5
| [[Dota 2 Workshop Tools/Scripting/API/CPropVRHand.GetPlayer | GetPlayer]]
| 10
| <code>handle GetPlayer()</code>
|  
| Get the player for this hand
|-
|-
| DOTA_TEAM_CUSTOM_6
| [[Dota 2 Workshop Tools/Scripting/API/CPropVRHand.GetVelocity | GetVelocity]]
| 11
| <code>Vector GetVelocity()</code>
|  
| Get the filtered controller velocity.
|-
|-
| DOTA_TEAM_CUSTOM_7
| [[Dota 2 Workshop Tools/Scripting/API/CPropVRHand.RemoveAllHandModelOverrides | RemoveAllHandModelOverrides]]
| 12
| <code>void RemoveAllHandModelOverrides()</code>
|  
| Remove all model overrides for this hand
|-
|-
| DOTA_TEAM_CUSTOM_8
| [[Dota 2 Workshop Tools/Scripting/API/CPropVRHand.RemoveHandAttachmentByHandle | RemoveHandAttachmentByHandle]]
| 13
| <code>void RemoveHandAttachmentByHandle(handle hAttachment)</code>
|  
| Remove hand attachment by handle
|-
|-
| DOTA_TEAM_CUSTOM_MAX
| [[Dota 2 Workshop Tools/Scripting/API/CPropVRHand.RemoveHandModelOverride | RemoveHandModelOverride]]
| 13
| <code>void RemoveHandModelOverride(string pModelName)</code>
|  
| Remove a model override for this hand
|-
|-
| DOTA_TEAM_COUNT
| [[Dota 2 Workshop Tools/Scripting/API/CPropVRHand.SetHandAttachment | SetHandAttachment]]
| 14
| <code>void SetHandAttachment(handle hAttachment)</code>
|  
| Set the attachment for this hand
|}
|}


==== DOTAUnitAttackCapability_t ====
==== CSceneEntity ====
{| class="standard-table" style="width: 50%;"
:::::extends [[#CBaseEntity|CBaseEntity]]
! Name
''No Description Set''
! Value
{| class="standard-table" style="width: 100%;"
! Description
! Function
! Signature
! Description  
|-
| [[Dota 2 Workshop Tools/Scripting/API/CSceneEntity.AddBroadcastTeamTarget | AddBroadcastTeamTarget]]
| <code>void AddBroadcastTeamTarget(int int_1)</code>
| Adds a team (by index) to the broadcast list
|-
| [[Dota 2 Workshop Tools/Scripting/API/CSceneEntity.Cancel | Cancel]]
| <code>void Cancel()</code>
| Cancel scene playback
|-
| [[Dota 2 Workshop Tools/Scripting/API/CSceneEntity.EstimateLength | EstimateLength]]
| <code>float EstimateLength()</code>
| Returns length of this scene in seconds.
|-
| [[Dota 2 Workshop Tools/Scripting/API/CSceneEntity.FindCamera | FindCamera]]
| <code>handle FindCamera()</code>
| Get the camera
|-
|-
| DOTA_UNIT_CAP_NO_ATTACK
| [[Dota 2 Workshop Tools/Scripting/API/CSceneEntity.FindNamedEntity | FindNamedEntity]]
| 0
| <code>handle FindNamedEntity(string string_1)</code>
|  
| given an entity reference, such as !target, get actual entity from scene object
|-
|-
| DOTA_UNIT_CAP_MELEE_ATTACK
| [[Dota 2 Workshop Tools/Scripting/API/CSceneEntity.IsPaused | IsPaused]]
| 1
| <code>bool IsPaused()</code>
|  
| If this scene is currently paused.
|-
|-
| DOTA_UNIT_CAP_RANGED_ATTACK
| [[Dota 2 Workshop Tools/Scripting/API/CSceneEntity.IsPlayingBack | IsPlayingBack]]
| 2
| <code>bool IsPlayingBack()</code>
|  
| If this scene is currently playing.
|-
| [[Dota 2 Workshop Tools/Scripting/API/CSceneEntity.LoadSceneFromString | LoadSceneFromString]]
| <code>bool LoadSceneFromString(string string_1, string string_2)</code>
| given a dummy scene name and a vcd string, load the scene
|-
| [[Dota 2 Workshop Tools/Scripting/API/CSceneEntity.RemoveBroadcastTeamTarget | RemoveBroadcastTeamTarget]]
| <code>void RemoveBroadcastTeamTarget(int int_1)</code>
| Removes a team (by index) from the broadcast list
|-
| [[Dota 2 Workshop Tools/Scripting/API/CSceneEntity.Start | Start]]
| <code>void Start(handle handle_1)</code>
| Start scene playback, takes activatorEntity as param
|}
|}


==== DOTAUnitMoveCapability_t ====
==== CScriptHeroList ====
{| class="standard-table" style="width: 50%;"
''Global accessor variable: <code>HeroList</code>''
! Name
{| class="standard-table" style="width: 100%;"
! Value
! Function
! Description
! Signature
! Description  
|-
|-
| DOTA_UNIT_CAP_MOVE_NONE
| [[Dota 2 Workshop Tools/Scripting/API/CScriptHeroList.GetAllHeroes | GetAllHeroes]]
| 0
| <code>table GetAllHeroes()</code>
|  
| Returns all the heroes in the world
|-
|-
| DOTA_UNIT_CAP_MOVE_GROUND
| [[Dota 2 Workshop Tools/Scripting/API/CScriptHeroList.GetHero | GetHero]]
| 1
| <code>handle GetHero(int int_1)</code>
|  
| Get the Nth hero in the Hero List
|-
|-
| DOTA_UNIT_CAP_MOVE_FLY
| [[Dota 2 Workshop Tools/Scripting/API/CScriptHeroList.GetHeroCount | GetHeroCount]]
| 2
| <code>int GetHeroCount()</code>
|  
| Returns the number of heroes in the world
|}
|}


==== DOTA_ABILITY_BEHAVIOR ====
==== CScriptKeyValues ====
{| class="standard-table" style="width: 50%;"
''No Description Set''
! Name
{| class="standard-table" style="width: 100%;"
! Value
! Function
! Description
! Signature
! Description  
|-
|-
| DOTA_ABILITY_BEHAVIOR_NONE
| [[Dota 2 Workshop Tools/Scripting/API/CScriptKeyValues.GetValue | GetValue]]
| 0
| <code>table GetValue(string string_1)</code>
|  
| Reads a spawn key
|}
 
==== CScriptParticleManager ====
''Global accessor variable: <code>ParticleManager</code>''
{| class="standard-table" style="width: 100%;"
! Function
! Signature
! Description
|-
|-
| DOTA_ABILITY_BEHAVIOR_HIDDEN
| [[Dota 2 Workshop Tools/Scripting/API/CScriptParticleManager.CreateParticle | CreateParticle]]
| 1
| <code>int CreateParticle(string string_1, int int_2, handle handle_3)</code>
|  
| Creates a new particle effect
|-
|-
| DOTA_ABILITY_BEHAVIOR_PASSIVE
| [[Dota 2 Workshop Tools/Scripting/API/CScriptParticleManager.CreateParticleForPlayer | CreateParticleForPlayer]]
| 2
| <code>int CreateParticleForPlayer(string string_1, int int_2, handle handle_3, handle handle_4)</code>
|  
| Creates a new particle effect that only plays for the specified player
|-
|-
| DOTA_ABILITY_BEHAVIOR_NO_TARGET
| [[Dota 2 Workshop Tools/Scripting/API/CScriptParticleManager.CreateParticleForTeam | CreateParticleForTeam]]
| 4
| <code>int CreateParticleForTeam(string string_1, int int_2, handle handle_3, int int_4)</code>
|  
| Creates a new particle effect that only plays for the specified team
|-
|-
| DOTA_ABILITY_BEHAVIOR_UNIT_TARGET
| [[Dota 2 Workshop Tools/Scripting/API/CScriptParticleManager.DestroyParticle | DestroyParticle]]
| 8
| <code>void DestroyParticle(int int_1, bool bool_2)</code>
|  
| (int index, bool bDestroyImmediately) - Destroy a particle, if bDestroyImmediately destroy it without playing end caps.
|-
|-
| DOTA_ABILITY_BEHAVIOR_POINT
| [[Dota 2 Workshop Tools/Scripting/API/CScriptParticleManager.GetParticleReplacement | GetParticleReplacement]]
| 16
| <code>string GetParticleReplacement(string string_1, handle handle_2)</code>
|  
|
|-
|-
| DOTA_ABILITY_BEHAVIOR_AOE
| [[Dota 2 Workshop Tools/Scripting/API/CScriptParticleManager.ReleaseParticleIndex | ReleaseParticleIndex]]
| 32
| <code>void ReleaseParticleIndex(int int_1)</code>
|  
| Frees the specified particle index
|-
|-
| DOTA_ABILITY_BEHAVIOR_NOT_LEARNABLE
| [[Dota 2 Workshop Tools/Scripting/API/CScriptParticleManager.SetParticleAlwaysSimulate | SetParticleAlwaysSimulate]]
| 64
| <code>void SetParticleAlwaysSimulate(int int_1)</code>
|  
|
|-
|-
| DOTA_ABILITY_BEHAVIOR_CHANNELLED
| [[Dota 2 Workshop Tools/Scripting/API/CScriptParticleManager.SetParticleControl | SetParticleControl]]
| 128
| <code>void SetParticleControl(int int_1, int int_2, Vector Vector_3)</code>
|  
| Set the control point data for a control on a particle effect
|-
|-
| DOTA_ABILITY_BEHAVIOR_ITEM
| [[Dota 2 Workshop Tools/Scripting/API/CScriptParticleManager.SetParticleControlEnt | SetParticleControlEnt]]
| 256
| <code>void SetParticleControlEnt(int int_1, int int_2, handle handle_3, int int_4, string string_5, Vector Vector_6, bool bool_7)</code>
|  
|
|-
|-
| DOTA_ABILITY_BEHAVIOR_TOGGLE
| [[Dota 2 Workshop Tools/Scripting/API/CScriptParticleManager.SetParticleControlFallback | SetParticleControlFallback]]
| 512
| <code>void SetParticleControlFallback(int int_1, int int_2, Vector Vector_3)</code>
|  
| (int iIndex, int iPoint, Vector vecPosition)
|-
|-
| DOTA_ABILITY_BEHAVIOR_DIRECTIONAL
| [[Dota 2 Workshop Tools/Scripting/API/CScriptParticleManager.SetParticleControlForward | SetParticleControlForward]]
| 1024
| <code>void SetParticleControlForward(int int_1, int int_2, Vector Vector_3)</code>
|  
| (int nFXIndex, int nPoint, vForward)
|-
|-
| DOTA_ABILITY_BEHAVIOR_IMMEDIATE
| [[Dota 2 Workshop Tools/Scripting/API/CScriptParticleManager.SetParticleControlOrientation | SetParticleControlOrientation]]
| 2048
| <code>void SetParticleControlOrientation(int int_1, int int_2, Vector Vector_3, Vector Vector_4, Vector Vector_5)</code>
|  
| (int nFXIndex, int nPoint, vForward, vRight, vUp) - Set the orientation for a control on a particle effect (NOTE: This is left handed -- bad!!)
|-
|-
| DOTA_ABILITY_BEHAVIOR_AUTOCAST
| [[Dota 2 Workshop Tools/Scripting/API/CScriptParticleManager.SetParticleControlOrientationFLU | SetParticleControlOrientationFLU]]
| 4096
| <code>void SetParticleControlOrientationFLU(int int_1, int int_2, Vector Vector_3, Vector Vector_4, Vector Vector_5)</code>
|  
| (int nFXIndex, int nPoint, Vector vecForward, Vector vecLeft, Vector vecUp) - Set the orientation for a control on a particle effect
|-
|-
| DOTA_ABILITY_BEHAVIOR_OPTIONAL_UNIT_TARGET
| [[Dota 2 Workshop Tools/Scripting/API/CScriptParticleManager.SetParticleFoWProperties | SetParticleFoWProperties]]
| 8192
| <code>void SetParticleFoWProperties(int int_1, int int_2, int int_3, float float_4)</code>
|  
| int nfxindex, int nPoint, int nPoint2, float flRadius
|-
|-
| DOTA_ABILITY_BEHAVIOR_OPTIONAL_POINT
| [[Dota 2 Workshop Tools/Scripting/API/CScriptParticleManager.SetParticleShouldCheckFoW | SetParticleShouldCheckFoW]]
| 16384
| <code>bool SetParticleShouldCheckFoW(int int_1, bool bool_2)</code>
|  
| int nfxindex, bool bCheckFoW
|}
 
==== CScriptPrecacheContext ====
''No Description Set''
{| class="standard-table" style="width: 100%;"
! Function
! Signature
! Description
|-
|-
| DOTA_ABILITY_BEHAVIOR_OPTIONAL_NO_TARGET
| [[Dota 2 Workshop Tools/Scripting/API/CScriptPrecacheContext.AddResource | AddResource]]
| 32768
| <code>void AddResource(string string_1)</code>
|  
| Precaches a specific resource
|-
|-
| DOTA_ABILITY_BEHAVIOR_AURA
| [[Dota 2 Workshop Tools/Scripting/API/CScriptPrecacheContext.GetValue | GetValue]]
| 65536
| <code>table GetValue(string string_1)</code>
|  
| Reads a spawn key
|}
 
==== Convars ====
:::::extends [[#Convars|Convars]]
''Global accessor variable: <code>Convars</code>''
{| class="standard-table" style="width: 100%;"
! Function
! Signature
! Description
|-
|-
| DOTA_ABILITY_BEHAVIOR_ATTACK
| [[Dota 2 Workshop Tools/Scripting/API/Convars.GetBool | GetBool]]
| 131072
| <code>table GetBool(string string_1)</code>
|  
| GetBool(name) : returns the convar as a boolean flag.
|-
|-
| DOTA_ABILITY_BEHAVIOR_DONT_RESUME_MOVEMENT
| [[Dota 2 Workshop Tools/Scripting/API/Convars.GetCommandClient | GetCommandClient]]
| 262144
| <code>handle GetCommandClient()</code>
|  
| GetCommandClient() : returns the player who issued this console command.
|-
|-
| DOTA_ABILITY_BEHAVIOR_ROOT_DISABLES
| [[Dota 2 Workshop Tools/Scripting/API/Convars.GetDOTACommandClient | GetDOTACommandClient]]
| 524288
| <code>handle GetDOTACommandClient()</code>
|  
| GetDOTACommandClient() : returns the DOTA player who issued this console command.
|-
|-
| DOTA_ABILITY_BEHAVIOR_UNRESTRICTED
| [[Dota 2 Workshop Tools/Scripting/API/Convars.GetFloat | GetFloat]]
| 1048576
| <code>table GetFloat(string string_1)</code>
|  
| GetFloat(name) : returns the convar as a float. May return null if no such convar.
|-
|-
| DOTA_ABILITY_BEHAVIOR_IGNORE_PSEUDO_QUEUE
| [[Dota 2 Workshop Tools/Scripting/API/Convars.GetInt | GetInt]]
| 2097152
| <code>table GetInt(string string_1)</code>
|  
| GetInt(name) : returns the convar as an int. May return null if no such convar.
|-
|-
| DOTA_ABILITY_BEHAVIOR_IGNORE_CHANNEL
| [[Dota 2 Workshop Tools/Scripting/API/Convars.GetStr | GetStr]]
| 4194304
| <code>table GetStr(string string_1)</code>
|  
| GetStr(name) : returns the convar as a string. May return null if no such convar.
|-
|-
| DOTA_ABILITY_BEHAVIOR_DONT_CANCEL_MOVEMENT
| [[Dota 2 Workshop Tools/Scripting/API/Convars.RegisterCommand | RegisterCommand]]
| 8388608
| <code>void RegisterCommand(string string_1, handle handle_2, string string_3, int int_4)</code>
|  
| RegisterCommand(name, fn, helpString, flags) : register a console command.
|-
|-
| DOTA_ABILITY_BEHAVIOR_DONT_ALERT_TARGET
| [[Dota 2 Workshop Tools/Scripting/API/Convars.RegisterConvar | RegisterConvar]]
| 16777216
| <code>void RegisterConvar(string string_1, string string_2, string string_3, int int_4)</code>
|  
| RegisterConvar(name, defaultValue, helpString, flags): register a new console variable.
|-
|-
| DOTA_ABILITY_BEHAVIOR_DONT_RESUME_ATTACK
| [[Dota 2 Workshop Tools/Scripting/API/Convars.SetBool | SetBool]]
| 33554432
| <code>void SetBool(string string_1, bool bool_2)</code>
|  
| SetBool(name, val) : sets the value of the convar to the bool.
|-
|-
| DOTA_ABILITY_BEHAVIOR_NORMAL_WHEN_STOLEN
| [[Dota 2 Workshop Tools/Scripting/API/Convars.SetFloat | SetFloat]]
| 67108864
| <code>void SetFloat(string string_1, float float_2)</code>
|  
| SetFloat(name, val) : sets the value of the convar to the float.
|-
|-
| DOTA_ABILITY_BEHAVIOR_IGNORE_BACKSWING
| [[Dota 2 Workshop Tools/Scripting/API/Convars.SetInt | SetInt]]
| 134217728
| <code>void SetInt(string string_1, int int_2)</code>
|  
| SetInt(name, val) : sets the value of the convar to the int.
|-
|-
| DOTA_ABILITY_BEHAVIOR_RUNE_TARGET
| [[Dota 2 Workshop Tools/Scripting/API/Convars.SetStr | SetStr]]
| 268435456
| <code>void SetStr(string string_1, string string_2)</code>
|  
| SetStr(name, val) : sets the value of the convar to the string.
|}
 
==== GlobalSys ====
:::::extends [[#GlobalSys|GlobalSys]]
''No Description Set''
{| class="standard-table" style="width: 100%;"
! Function
! Signature
! Description
|-
|-
| DOTA_ABILITY_BEHAVIOR_DONT_CANCEL_CHANNEL
| [[Dota 2 Workshop Tools/Scripting/API/GlobalSys.CommandLineCheck | CommandLineCheck]]
| 536870912
| <code>table CommandLineCheck(string string_1)</code>
|  
| CommandLineCheck(name) : returns true if the command line param was used, otherwise false.
|-
| [[Dota 2 Workshop Tools/Scripting/API/GlobalSys.CommandLineFloat | CommandLineFloat]]
| <code>table CommandLineFloat(string string_1, float float_2)</code>
| CommandLineFloat(name) : returns the command line param as a float.
|-
| [[Dota 2 Workshop Tools/Scripting/API/GlobalSys.CommandLineInt | CommandLineInt]]
| <code>table CommandLineInt(string string_1, int int_2)</code>
| CommandLineInt(name) : returns the command line param as an int.
|-
|-
| DOTA_ABILITY_LAST_BEHAVIOR
| [[Dota 2 Workshop Tools/Scripting/API/GlobalSys.CommandLineStr | CommandLineStr]]
| 536870912
| <code>table CommandLineStr(string string_1, string string_2)</code>
|  
| CommandLineStr(name) : returns the command line param as a string.
|}
|}


==== DOTA_HeroPickState ====
==== GridNav ====
{| class="standard-table" style="width: 50%;"
:::::extends [[#GridNav|GridNav]]
! Name
''No Description Set''
! Value
{| class="standard-table" style="width: 100%;"
! Description
! Function
! Signature
! Description  
|-
| [[Dota 2 Workshop Tools/Scripting/API/GridNav.CanFindPath | CanFindPath]]
| <code>bool CanFindPath(Vector Vector_1, Vector Vector_2)</code>
| Determine if it is possible to reach the specified end point from the specified start point. bool (vStart, vEnd)
|-
|-
| DOTA_HEROPICK_STATE_NONE
| [[Dota 2 Workshop Tools/Scripting/API/GridNav.DestroyTreesAroundPoint | DestroyTreesAroundPoint]]
| 0
| <code>void DestroyTreesAroundPoint(Vector Vector_1, float float_2, bool bool_3)</code>
|  
| Destroy all trees in the area(vPosition, flRadius, bFullCollision
|-
|-
| DOTA_HEROPICK_STATE_AP_SELECT
| [[Dota 2 Workshop Tools/Scripting/API/GridNav.FindPathLength | FindPathLength]]
| 1
| <code>float FindPathLength(Vector Vector_1, Vector Vector_2)</code>
|  
| Find a path between the two points an return the length of the path. If there is not a path between the points the returned value will be -1. float (vStart, vEnd )
|-
|-
| DOTA_HEROPICK_STATE_SD_SELECT
| [[Dota 2 Workshop Tools/Scripting/API/GridNav.GetAllTreesAroundPoint | GetAllTreesAroundPoint]]
| 2
| <code>table GetAllTreesAroundPoint(Vector Vector_1, float float_2, bool bool_3)</code>
|  
| Returns a table full of tree HSCRIPTS (vPosition, flRadius, bFullCollision).
|-
|-
| DOTA_HEROPICK_STATE_INTRO_SELECT
| [[Dota 2 Workshop Tools/Scripting/API/GridNav.GridPosToWorldCenterX | GridPosToWorldCenterX]]
| 3
| <code>float GridPosToWorldCenterX(int int_1)</code>
|  
| Get the X position of the center of a given X index
|-
|-
| DOTA_HEROPICK_STATE_RD_SELECT
| [[Dota 2 Workshop Tools/Scripting/API/GridNav.GridPosToWorldCenterY | GridPosToWorldCenterY]]
| 4
| <code>float GridPosToWorldCenterY(int int_1)</code>
|  
| Get the Y position of the center of a given Y index
|-
|-
| DOTA_HEROPICK_STATE_CM_INTRO
| [[Dota 2 Workshop Tools/Scripting/API/GridNav.IsBlocked | IsBlocked]]
| 5
| <code>bool IsBlocked(Vector Vector_1)</code>
|  
| Checks whether the given position is blocked
|-
|-
| DOTA_HEROPICK_STATE_CM_CAPTAINPICK
| [[Dota 2 Workshop Tools/Scripting/API/GridNav.IsNearbyTree | IsNearbyTree]]
| 6
| <code>bool IsNearbyTree(Vector Vector_1, float float_2, bool bool_3)</code>
|  
| (position, radius, checkFullTreeRadius?) Checks whether there are any trees overlapping the given point
|-
|-
| DOTA_HEROPICK_STATE_CM_BAN1
| [[Dota 2 Workshop Tools/Scripting/API/GridNav.IsTraversable | IsTraversable]]
| 7
| <code>bool IsTraversable(Vector Vector_1)</code>
|  
| Checks whether the given position is traversable
|-
|-
| DOTA_HEROPICK_STATE_CM_BAN2
| [[Dota 2 Workshop Tools/Scripting/API/GridNav.RegrowAllTrees | RegrowAllTrees]]
| 8
| <code>void RegrowAllTrees()</code>
|  
| Causes all trees in the map to regrow
|-
|-
| DOTA_HEROPICK_STATE_CM_BAN3
| [[Dota 2 Workshop Tools/Scripting/API/GridNav.WorldToGridPosX | WorldToGridPosX]]
| 9
| <code>int WorldToGridPosX(float float_1)</code>
|  
| Get the X index of a given world X position
|-
|-
| DOTA_HEROPICK_STATE_CM_BAN4
| [[Dota 2 Workshop Tools/Scripting/API/GridNav.WorldToGridPosY | WorldToGridPosY]]
| 10
| <code>int WorldToGridPosY(float float_1)</code>
|  
| Get the Y index of a given world Y position
|}
 
==== ProjectileManager ====
:::::extends [[#ProjectileManager|ProjectileManager]]
''No Description Set''
{| class="standard-table" style="width: 100%;"
! Function
! Signature
! Description
|-
|-
| DOTA_HEROPICK_STATE_CM_BAN5
| [[Dota 2 Workshop Tools/Scripting/API/ProjectileManager.ChangeTrackingProjectileSpeed | ChangeTrackingProjectileSpeed]]
| 11
| <code>void ChangeTrackingProjectileSpeed(handle handle_1, int int_2)</code>
|  
| Update speed
|-
|-
| DOTA_HEROPICK_STATE_CM_BAN6
| [[Dota 2 Workshop Tools/Scripting/API/ProjectileManager.CreateLinearProjectile | CreateLinearProjectile]]
| 12
| <code>int CreateLinearProjectile(handle handle_1)</code>
|  
| Creates a linear projectile and returns the projectile ID
|-
|-
| DOTA_HEROPICK_STATE_CM_BAN7
| [[Dota 2 Workshop Tools/Scripting/API/ProjectileManager.CreateTrackingProjectile | CreateTrackingProjectile]]
| 13
| <code>void CreateTrackingProjectile(handle handle_1)</code>
|  
| Creates a tracking projectile
|-
|-
| DOTA_HEROPICK_STATE_CM_BAN8
| [[Dota 2 Workshop Tools/Scripting/API/ProjectileManager.DestroyLinearProjectile | DestroyLinearProjectile]]
| 14
| <code>void DestroyLinearProjectile(int int_1)</code>
|  
| Destroys the linear projectile matching the argument ID
|-
|-
| DOTA_HEROPICK_STATE_CM_BAN9
| [[Dota 2 Workshop Tools/Scripting/API/ProjectileManager.GetLinearProjectileLocation | GetLinearProjectileLocation]]
| 15
| <code>Vector GetLinearProjectileLocation(int int_1)</code>
|  
| Returns current location of projectile
|-
|-
| DOTA_HEROPICK_STATE_CM_BAN10
| [[Dota 2 Workshop Tools/Scripting/API/ProjectileManager.GetLinearProjectileRadius | GetLinearProjectileRadius]]
| 16
| <code>float GetLinearProjectileRadius(int int_1)</code>
|  
| Returns current radius of projectile
|-
|-
| DOTA_HEROPICK_STATE_CM_SELECT1
| [[Dota 2 Workshop Tools/Scripting/API/ProjectileManager.GetLinearProjectileVelocity | GetLinearProjectileVelocity]]
| 17
| <code>Vector GetLinearProjectileVelocity(int int_1)</code>
|  
| Returns a vector representing the current velocity of the projectile.
|-
|-
| DOTA_HEROPICK_STATE_CM_SELECT2
| [[Dota 2 Workshop Tools/Scripting/API/ProjectileManager.ProjectileDodge | ProjectileDodge]]
| 18
| <code>void ProjectileDodge(handle handle_1)</code>
|  
| Makes the specified unit dodge projectiles
|-
|-
| DOTA_HEROPICK_STATE_CM_SELECT3
| [[Dota 2 Workshop Tools/Scripting/API/ProjectileManager.UpdateLinearProjectileDirection | UpdateLinearProjectileDirection]]
| 19
| <code>void UpdateLinearProjectileDirection(int int_1, Vector Vector_2, float float_3)</code>
|  
| Update velocity
|}
 
==== SteamInfo ====
:::::extends [[#SteamInfo|SteamInfo]]
''No Description Set''
{| class="standard-table" style="width: 100%;"
! Function
! Signature
! Description
|-
|-
| DOTA_HEROPICK_STATE_CM_SELECT4
| [[Dota 2 Workshop Tools/Scripting/API/SteamInfo.IsPublicUniverse | IsPublicUniverse]]
| 20
| <code>bool IsPublicUniverse()</code>
| Is the script connected to the public Steam universe
|}
 
 
=== Constants ===
==== AbilityLearnResult_t ====
{| class="standard-table" style="width: 50%;"
! Name
! Value
! Description
|-
| ABILITY_CAN_BE_UPGRADED
| 0
|  
|  
|-
|-
| DOTA_HEROPICK_STATE_CM_SELECT5
| ABILITY_CANNOT_BE_UPGRADED_NOT_UPGRADABLE
| 21
| 1
|  
|  
|-
|-
| DOTA_HEROPICK_STATE_CM_SELECT6
| ABILITY_CANNOT_BE_UPGRADED_AT_MAX
| 22
| 2
|  
|  
|-
|-
| DOTA_HEROPICK_STATE_CM_SELECT7
| ABILITY_CANNOT_BE_UPGRADED_REQUIRES_LEVEL
| 23
| 3
|  
|  
|-
|-
| DOTA_HEROPICK_STATE_CM_SELECT8
| ABILITY_NOT_LEARNABLE
| 24
| 4
|  
|  
|}
==== AttributeDerivedStats ====
{| class="standard-table" style="width: 50%;"
! Name
! Value
! Description
|-
|-
| DOTA_HEROPICK_STATE_CM_SELECT9
| DOTA_ATTRIBUTE_STRENGTH_HP
| 25
| 1
|  
|  
|-
|-
| DOTA_HEROPICK_STATE_CM_SELECT10
| DOTA_ATTRIBUTE_STRENGTH_HP_REGEN
| 26
| 2
|  
|  
|-
|-
| DOTA_HEROPICK_STATE_CM_PICK
| DOTA_ATTRIBUTE_AGILITY_DAMAGE
| 27
| 3
|  
|  
|-
|-
| DOTA_HEROPICK_STATE_AR_SELECT
| DOTA_ATTRIBUTE_AGILITY_ARMOR
| 28
| 4
|  
|  
|-
|-
| DOTA_HEROPICK_STATE_MO_SELECT
| DOTA_ATTRIBUTE_AGILITY_ATTACK_SPEED
| 29
| 5
|  
|  
|-
|-
| DOTA_HEROPICK_STATE_FH_SELECT
| DOTA_ATTRIBUTE_INTELLIGENCE_DAMAGE
| 30
| 6
|  
|  
|-
|-
| DOTA_HEROPICK_STATE_CD_INTRO
| DOTA_ATTRIBUTE_INTELLIGENCE_MANA
| 31
| 7
|  
|  
|-
|-
| DOTA_HEROPICK_STATE_CD_CAPTAINPICK
| DOTA_ATTRIBUTE_INTELLIGENCE_MANA_REGEN
| 32
| 8
|  
|  
|}
==== Attributes ====
{| class="standard-table" style="width: 50%;"
! Name
! Value
! Description
|-
|-
| DOTA_HEROPICK_STATE_CD_BAN1
| DOTA_ATTRIBUTE_INVALID
| 33
| -1
|  
|  
|-
|-
| DOTA_HEROPICK_STATE_CD_BAN2
| DOTA_ATTRIBUTE_STRENGTH
| 34
| 0
|  
| Strength attribute.
|-
| DOTA_ATTRIBUTE_AGILITY
| 1
| Agility attribute.
|-
|-
| DOTA_HEROPICK_STATE_CD_BAN3
| DOTA_ATTRIBUTE_INTELLECT
| 35
| 2
|  
| Intelligence attribute.
|-
|-
| DOTA_HEROPICK_STATE_CD_BAN4
| DOTA_ATTRIBUTE_MAX
| 36
| 3
|  
|  
|}
==== DAMAGE_TYPES ====
{| class="standard-table" style="width: 50%;"
! Name
! Value
! Description
|-
|-
| DOTA_HEROPICK_STATE_CD_BAN5
| DAMAGE_TYPE_NONE
| 37
| 0
|  
|  
|-
|-
| DOTA_HEROPICK_STATE_CD_BAN6
| DAMAGE_TYPE_PHYSICAL
| 38
| 1
|  
| Physical, reduced by armor.
|-
| DAMAGE_TYPE_MAGICAL
| 2
| Magical, reduced by magic resistance.
|-
| DAMAGE_TYPE_PURE
| 4
| Pure, not reduced by anything.
|-
|-
| DOTA_HEROPICK_STATE_CD_SELECT1
| DAMAGE_TYPE_ALL
| 39
| 7
|  
|  
|-
|-
| DOTA_HEROPICK_STATE_CD_SELECT2
| DAMAGE_TYPE_HP_REMOVAL
| 40
| 8
|  
| Deprecated.
|}
 
==== DOTAAbilitySpeakTrigger_t ====
{| class="standard-table" style="width: 50%;"
! Name
! Value
! Description
|-
|-
| DOTA_HEROPICK_STATE_CD_SELECT3
| DOTA_ABILITY_SPEAK_START_ACTION_PHASE
| 41
| 0
|  
|  
|-
|-
| DOTA_HEROPICK_STATE_CD_SELECT4
| DOTA_ABILITY_SPEAK_CAST
| 42
| 1
|  
|  
|}
==== DOTADamageFlag_t ====
{| class="standard-table" style="width: 50%;"
! Name
! Value
! Description
|-
|-
| DOTA_HEROPICK_STATE_CD_SELECT5
| DOTA_DAMAGE_FLAG_NONE
| 43
| 0
|  
|  
|-
|-
| DOTA_HEROPICK_STATE_CD_SELECT6
| DOTA_DAMAGE_FLAG_IGNORES_MAGIC_ARMOR
| 44
| 1
|  
|  
|-
|-
| DOTA_HEROPICK_STATE_CD_SELECT7
| DOTA_DAMAGE_FLAG_IGNORES_PHYSICAL_ARMOR
| 45
| 2
|  
|  
|-
|-
| DOTA_HEROPICK_STATE_CD_SELECT8
| DOTA_DAMAGE_FLAG_BYPASSES_INVULNERABILITY
| 46
| 4
|  
|  
|-
|-
| DOTA_HEROPICK_STATE_CD_SELECT9
| DOTA_DAMAGE_FLAG_BYPASSES_BLOCK
| 47
| 8
|  
|  
|-
|-
| DOTA_HEROPICK_STATE_CD_SELECT10
| DOTA_DAMAGE_FLAG_REFLECTION
| 48
| 16
|  
|  
|-
|-
| DOTA_HEROPICK_STATE_CD_PICK
| DOTA_DAMAGE_FLAG_HPLOSS
| 49
| 32
|  
|  
|-
|-
| DOTA_HEROPICK_STATE_BD_SELECT
| DOTA_DAMAGE_FLAG_NO_DIRECTOR_EVENT
| 50
| 64
|  
|  
|-
|-
| DOTA_HERO_PICK_STATE_ABILITY_DRAFT_SELECT
| DOTA_DAMAGE_FLAG_NON_LETHAL
| 51
| 128
|  
|  
|-
|-
| DOTA_HERO_PICK_STATE_ARDM_SELECT
| DOTA_DAMAGE_FLAG_USE_COMBAT_PROFICIENCY
| 52
| 256
|  
|  
|-
|-
| DOTA_HEROPICK_STATE_ALL_DRAFT_SELECT
| DOTA_DAMAGE_FLAG_NO_DAMAGE_MULTIPLIERS
| 53
| 512
|
|-
| DOTA_HERO_PICK_STATE_CUSTOMGAME_SELECT
| 54
|
|-
| DOTA_HEROPICK_STATE_COUNT
| 55
|  
|  
|}
|}


==== DOTA_MOTION_CONTROLLER_PRIORITY ====
==== DOTAHUDVisibility_t ====
{| class="standard-table" style="width: 50%;"
{| class="standard-table" style="width: 50%;"
! Name
! Name
Line 7,707: Line 7,881:
! Description
! Description
|-
|-
| DOTA_MOTION_CONTROLLER_PRIORITY_LOWEST
| DOTA_HUD_VISIBILITY_TOP_TIMEOFDAY
| 0
| 0
|  
|  
|-
|-
| DOTA_MOTION_CONTROLLER_PRIORITY_LOW
| DOTA_HUD_VISIBILITY_TOP_HEROES
| 1
| 1
|  
|  
|-
|-
| DOTA_MOTION_CONTROLLER_PRIORITY_MEDIUM
| DOTA_HUD_VISIBILITY_TOP_SCOREBOARD
| 2
| 2
|  
|  
|-
|-
| DOTA_MOTION_CONTROLLER_PRIORITY_HIGH
| DOTA_HUD_VISIBILITY_ACTION_PANEL
| 3
| 3
|  
|  
|-
|-
| DOTA_MOTION_CONTROLLER_PRIORITY_HIGHEST
| DOTA_HUD_VISIBILITY_ACTION_MINIMAP
| 4
| 4
|  
|  
|}
==== DOTA_RUNES ====
{| class="standard-table" style="width: 50%;"
! Name
! Value
! Description
|-
|-
| DOTA_RUNE_INVALID
| DOTA_HUD_VISIBILITY_INVENTORY_PANEL
| -1
| 5
|  
|  
|-
|-
| DOTA_RUNE_DOUBLEDAMAGE
| DOTA_HUD_VISIBILITY_INVENTORY_SHOP
| 0
| 6
|  
|  
|-
|-
| DOTA_RUNE_HASTE
| DOTA_HUD_VISIBILITY_INVENTORY_ITEMS
| 1
| 7
|  
|  
|-
|-
| DOTA_RUNE_ILLUSION
| DOTA_HUD_VISIBILITY_INVENTORY_QUICKBUY
| 2
| 8
|  
|  
|-
|-
| DOTA_RUNE_INVISIBILITY
| DOTA_HUD_VISIBILITY_INVENTORY_COURIER
| 3
| 9
|  
|  
|-
|-
| DOTA_RUNE_REGENERATION
| DOTA_HUD_VISIBILITY_INVENTORY_PROTECT
| 4
| 10
|  
|  
|-
|-
| DOTA_RUNE_BOUNTY
| DOTA_HUD_VISIBILITY_INVENTORY_GOLD
| 5
| 11
|  
|  
|-
|-
| DOTA_RUNE_COUNT
| DOTA_HUD_VISIBILITY_SHOP_SUGGESTEDITEMS
| 6
| 12
|  
|  
|-
|-
| DOTA_RUNE_HAUNTED
| DOTA_HUD_VISIBILITY_COUNT
| 7
| 13
|
|}
 
==== DOTAInventoryFlags_t ====
{| class="standard-table" style="width: 50%;"
! Name
! Value
! Description
|-
| DOTA_INVENTORY_ALLOW_NONE
| 0
|
|-
| DOTA_INVENTORY_ALLOW_MAIN
| 1
|  
|  
|-
|-
| DOTA_RUNE_SPOOKY
| DOTA_INVENTORY_ALLOW_STASH
| 8
| 2
|  
|  
|-
|-
| DOTA_RUNE_RAPIER
| DOTA_INVENTORY_ALL_ACCESS
| 9
| 3
|  
|  
|-
|-
| DOTA_RUNE_TURBO
| DOTA_INVENTORY_ALLOW_DROP_ON_GROUND
| 10
| 4
|  
|  
|-
|-
| DOTA_RUNE_MYSTERY
| DOTA_INVENTORY_ALLOW_DROP_AT_FOUNTAIN
| 11
| 8
|  
|  
|-
|-
| DOTA_HALLOWEEN_RUNE_COUNT
| DOTA_INVENTORY_LIMIT_DROP_ON_GROUND
| 12
| 16
|  
|  
|}
|}


==== DOTA_UNIT_TARGET_FLAGS ====
==== DOTAMinimapEvent_t ====
{| class="standard-table" style="width: 50%;"
{| class="standard-table" style="width: 50%;"
! Name
! Name
Line 7,797: Line 7,979:
! Description
! Description
|-
|-
| DOTA_UNIT_TARGET_FLAG_NONE
| DOTA_MINIMAP_EVENT_ANCIENT_UNDER_ATTACK
| 0
|
|-
| DOTA_UNIT_TARGET_FLAG_RANGED_ONLY
| 2
| 2
|  
|  
|-
|-
| DOTA_UNIT_TARGET_FLAG_MELEE_ONLY
| DOTA_MINIMAP_EVENT_BASE_UNDER_ATTACK
| 4
| 4
|  
|  
|-
|-
| DOTA_UNIT_TARGET_FLAG_DEAD
| DOTA_MINIMAP_EVENT_BASE_GLYPHED
| 8
| 8
|  
|  
|-
|-
| DOTA_UNIT_TARGET_FLAG_MAGIC_IMMUNE_ENEMIES
| DOTA_MINIMAP_EVENT_TEAMMATE_UNDER_ATTACK
| 16
| 16
|  
|  
|-
|-
| DOTA_UNIT_TARGET_FLAG_NOT_MAGIC_IMMUNE_ALLIES
| DOTA_MINIMAP_EVENT_TEAMMATE_TELEPORTING
| 32
| 32
|  
|  
|-
|-
| DOTA_UNIT_TARGET_FLAG_INVULNERABLE
| DOTA_MINIMAP_EVENT_TEAMMATE_DIED
| 64
| 64
|  
|  
|-
|-
| DOTA_UNIT_TARGET_FLAG_FOW_VISIBLE
| DOTA_MINIMAP_EVENT_TUTORIAL_TASK_ACTIVE
| 128
| 128
|  
|  
|-
|-
| DOTA_UNIT_TARGET_FLAG_NO_INVIS
| DOTA_MINIMAP_EVENT_TUTORIAL_TASK_FINISHED
| 256
| 256
|  
|  
|-
|-
| DOTA_UNIT_TARGET_FLAG_NOT_ANCIENTS
| DOTA_MINIMAP_EVENT_HINT_LOCATION
| 512
| 512
|  
|  
|-
|-
| DOTA_UNIT_TARGET_FLAG_PLAYER_CONTROLLED
| DOTA_MINIMAP_EVENT_ENEMY_TELEPORTING
| 1024
| 1024
|  
|  
|-
|-
| DOTA_UNIT_TARGET_FLAG_NOT_DOMINATED
| DOTA_MINIMAP_EVENT_CANCEL_TELEPORTING
| 2048
| 2048
|
|-
| DOTA_UNIT_TARGET_FLAG_NOT_SUMMONED
| 4096
|
|-
| DOTA_UNIT_TARGET_FLAG_NOT_ILLUSIONS
| 8192
|
|-
| DOTA_UNIT_TARGET_FLAG_NOT_ATTACK_IMMUNE
| 16384
|
|-
| DOTA_UNIT_TARGET_FLAG_MANA_ONLY
| 32768
|
|-
| DOTA_UNIT_TARGET_FLAG_CHECK_DISABLE_HELP
| 65536
|
|-
| DOTA_UNIT_TARGET_FLAG_NOT_CREEP_HERO
| 131072
|
|-
| DOTA_UNIT_TARGET_FLAG_OUT_OF_WORLD
| 262144
|
|-
| DOTA_UNIT_TARGET_FLAG_NOT_NIGHTMARED
| 524288
|  
|  
|}
|}


==== DOTA_UNIT_TARGET_TEAM ====
==== DOTAModifierAttribute_t ====
{| class="standard-table" style="width: 50%;"
{| class="standard-table" style="width: 50%;"
! Name
! Name
Line 7,884: Line 8,030:
! Description
! Description
|-
|-
| DOTA_UNIT_TARGET_TEAM_NONE
| MODIFIER_ATTRIBUTE_NONE
| 0
| 0
|  
|  
|-
|-
| DOTA_UNIT_TARGET_TEAM_FRIENDLY
| MODIFIER_ATTRIBUTE_PERMANENT
| 1
| 1
|  
| Modifier passively remains until strictly removed.
|-
|-
| DOTA_UNIT_TARGET_TEAM_ENEMY
| MODIFIER_ATTRIBUTE_MULTIPLE
| 2
| 2
|  
| Allows modifier to stack with itself.
|-
|-
| DOTA_UNIT_TARGET_TEAM_BOTH
| MODIFIER_ATTRIBUTE_IGNORE_INVULNERABLE
| 3
|
|-
| DOTA_UNIT_TARGET_TEAM_CUSTOM
| 4
| 4
|  
| Allows modifier to be assigned to invulnerable entities.
|}
|}


==== DOTA_UNIT_TARGET_TYPE ====
==== DOTAMusicStatus_t ====
{| class="standard-table" style="width: 50%;"
{| class="standard-table" style="width: 50%;"
! Name
! Name
Line 7,911: Line 8,053:
! Description
! Description
|-
|-
| DOTA_UNIT_TARGET_NONE
| DOTA_MUSIC_STATUS_NONE
| 0
| 0
|  
|  
|-
|-
| DOTA_UNIT_TARGET_HERO
| DOTA_MUSIC_STATUS_EXPLORATION
| 1
| 1
|  
|  
|-
|-
| DOTA_UNIT_TARGET_CREEP
| DOTA_MUSIC_STATUS_BATTLE
| 2
| 2
|  
|  
|-
|-
| DOTA_UNIT_TARGET_BUILDING
| DOTA_MUSIC_STATUS_PRE_GAME_EXPLORATION
| 3
|
|-
| DOTA_MUSIC_STATUS_DEAD
| 4
| 4
|  
|  
|-
|-
| DOTA_UNIT_TARGET_MECHANICAL
| DOTA_MUSIC_STATUS_LAST
| 8
| 5
|  
|  
|}
==== DOTASlotType_t ====
{| class="standard-table" style="width: 50%;"
! Name
! Value
! Description
|-
|-
| DOTA_UNIT_TARGET_COURIER
| DOTA_LOADOUT_TYPE_INVALID
| 16
| -1
|  
|  
|-
|-
| DOTA_UNIT_TARGET_BASIC
| DOTA_LOADOUT_TYPE_WEAPON
| 18
| 0
|  
|  
|-
|-
| DOTA_UNIT_TARGET_OTHER
| DOTA_LOADOUT_TYPE_OFFHAND_WEAPON
| 32
|
|-
| DOTA_UNIT_TARGET_ALL
| 63
|
|-
| DOTA_UNIT_TARGET_TREE
| 64
|
|-
| DOTA_UNIT_TARGET_CUSTOM
| 128
|
|}
 
==== EDOTA_ModifyGold_Reason ====
{| class="standard-table" style="width: 50%;"
! Name
! Value
! Description
|-
| DOTA_ModifyGold_Unspecified
| 0
|
|-
| DOTA_ModifyGold_Death
| 1
| 1
|  
|  
|-
|-
| DOTA_ModifyGold_Buyback
| DOTA_LOADOUT_TYPE_WEAPON2
| 2
| 2
|  
|  
|-
|-
| DOTA_ModifyGold_PurchaseConsumable
| DOTA_LOADOUT_TYPE_OFFHAND_WEAPON2
| 3
| 3
|  
|  
|-
|-
| DOTA_ModifyGold_PurchaseItem
| DOTA_LOADOUT_TYPE_HEAD
| 4
| 4
|  
|  
|-
|-
| DOTA_ModifyGold_AbandonedRedistribute
| DOTA_LOADOUT_TYPE_SHOULDER
| 5
| 5
|  
|  
|-
|-
| DOTA_ModifyGold_SellItem
| DOTA_LOADOUT_TYPE_ARMS
| 6
| 6
|  
|  
|-
|-
| DOTA_ModifyGold_AbilityCost
| DOTA_LOADOUT_TYPE_ARMOR
| 7
| 7
|  
|  
|-
|-
| DOTA_ModifyGold_CheatCommand
| DOTA_LOADOUT_TYPE_BELT
| 8
| 8
|  
|  
|-
|-
| DOTA_ModifyGold_SelectionPenalty
| DOTA_LOADOUT_TYPE_NECK
| 9
| 9
|  
|  
|-
|-
| DOTA_ModifyGold_GameTick
| DOTA_LOADOUT_TYPE_BACK
| 10
| 10
|  
|  
|-
|-
| DOTA_ModifyGold_Building
| DOTA_LOADOUT_TYPE_LEGS
| 11
| 11
|  
|  
|-
|-
| DOTA_ModifyGold_HeroKill
| DOTA_LOADOUT_TYPE_GLOVES
| 12
| 12
|  
|  
|-
|-
| DOTA_ModifyGold_CreepKill
| DOTA_LOADOUT_TYPE_TAIL
| 13
| 13
|  
|  
|-
|-
| DOTA_ModifyGold_RoshanKill
| DOTA_LOADOUT_TYPE_MISC
| 14
| 14
|  
|  
|-
|-
| DOTA_ModifyGold_CourierKill
| DOTA_LOADOUT_TYPE_BODY_HEAD
| 15
| 15
|  
|  
|-
|-
| DOTA_ModifyGold_SharedGold
| DOTA_LOADOUT_TYPE_MOUNT
| 16
| 16
|  
|  
|}
==== EDOTA_ModifyXP_Reason ====
{| class="standard-table" style="width: 50%;"
! Name
! Value
! Description
|-
|-
| DOTA_ModifyXP_Unspecified
| DOTA_LOADOUT_TYPE_SUMMON
| 0
| 17
|  
|  
|-
|-
| DOTA_ModifyXP_HeroKill
| DOTA_LOADOUT_TYPE_SHAPESHIFT
| 1
| 18
|  
|  
|-
|-
| DOTA_ModifyXP_CreepKill
| DOTA_LOADOUT_TYPE_TAUNT
| 2
| 19
|  
|  
|-
|-
| DOTA_ModifyXP_RoshanKill
| DOTA_LOADOUT_TYPE_AMBIENT_EFFECTS
| 3
| 20
|  
|  
|}
==== EShareAbility ====
{| class="standard-table" style="width: 50%;"
! Name
! Value
! Description
|-
|-
| ITEM_FULLY_SHAREABLE
| DOTA_LOADOUT_TYPE_ABILITY_ATTACK
| 0
| 21
|  
|  
|-
|-
| ITEM_PARTIALLY_SHAREABLE
| DOTA_LOADOUT_TYPE_ABILITY1
| 1
| 22
|  
|  
|-
|-
| ITEM_NOT_SHAREABLE
| DOTA_LOADOUT_TYPE_ABILITY2
| 2
| 23
|  
|  
|}
==== LuaModifierType ====
{| class="standard-table" style="width: 50%;"
! Name
! Value
! Description
|-
|-
| LUA_MODIFIER_MOTION_NONE
| DOTA_LOADOUT_TYPE_ABILITY3
| 0
| 24
|  
|  
|-
|-
| LUA_MODIFIER_MOTION_HORIZONTAL
| DOTA_LOADOUT_TYPE_ABILITY4
| 1
| 25
|  
|  
|-
|-
| LUA_MODIFIER_MOTION_VERTICAL
| DOTA_LOADOUT_TYPE_ABILITY_ULTIMATE
| 2
| 26
|  
|  
|-
|-
| LUA_MODIFIER_MOTION_BOTH
| DOTA_LOADOUT_TYPE_VOICE
| 3
| 27
|  
|  
|-
|-
| LUA_MODIFIER_INVALID
| DOTA_LOADOUT_TYPE_ACTION_ITEM
| 4
| 28
|  
|  
|}
==== ParticleAttachment_t ====
{| class="standard-table" style="width: 50%;"
! Name
! Value
! Description
|-
|-
| PATTACH_INVALID
| DOTA_PLAYER_LOADOUT_START
| -1
| 28
|  
|  
|-
|-
| PATTACH_ABSORIGIN
| DOTA_LOADOUT_TYPE_COURIER
| 0
| 29
|  
|  
|-
|-
| PATTACH_ABSORIGIN_FOLLOW
| DOTA_LOADOUT_TYPE_ANNOUNCER
| 1
| 30
|  
|  
|-
|-
| PATTACH_CUSTOMORIGIN
| DOTA_LOADOUT_TYPE_MEGA_KILLS
| 2
| 31
|  
|  
|-
|-
| PATTACH_CUSTOMORIGIN_FOLLOW
| DOTA_LOADOUT_TYPE_MUSIC
| 3
| 32
|  
|  
|-
|-
| PATTACH_POINT
| DOTA_LOADOUT_TYPE_WARD
| 4
| 33
|  
|  
|-
|-
| PATTACH_POINT_FOLLOW
| DOTA_LOADOUT_TYPE_HUD_SKIN
| 5
| 34
|  
|  
|-
|-
| PATTACH_EYES_FOLLOW
| DOTA_LOADOUT_TYPE_LOADING_SCREEN
| 6
| 35
|  
|  
|-
|-
| PATTACH_OVERHEAD_FOLLOW
| DOTA_LOADOUT_TYPE_WEATHER
| 7
| 36
|  
|  
|-
|-
| PATTACH_WORLDORIGIN
| DOTA_LOADOUT_TYPE_HEROIC_STATUE
| 8
| 37
|  
|  
|-
|-
| PATTACH_ROOTBONE_FOLLOW
| DOTA_LOADOUT_TYPE_MULTIKILL_BANNER
| 9
| 38
|  
|  
|-
|-
| PATTACH_RENDERORIGIN_FOLLOW
| DOTA_LOADOUT_TYPE_CURSOR_PACK
| 10
| 39
|  
|  
|-
|-
| PATTACH_MAIN_VIEW
| DOTA_LOADOUT_TYPE_TELEPORT_EFFECT
| 11
| 40
|  
|  
|-
|-
| PATTACH_WATERWAKE
| DOTA_LOADOUT_TYPE_BLINK_EFFECT
| 12
| 41
|  
|  
|-
|-
| MAX_PATTACH_TYPES
| DOTA_LOADOUT_TYPE_TEAM_SHOWCASE
| 13
| 42
|  
|  
|}
|-
| DOTA_PLAYER_LOADOUT_END
| 42
|
|-
| DOTA_LOADOUT_TYPE_NONE
| 43
|
|-
| DOTA_LOADOUT_TYPE_COUNT
| 44
|
|}


==== UnitFilterResult ====
==== DOTASpeechType_t ====
{| class="standard-table" style="width: 50%;"
{| class="standard-table" style="width: 50%;"
! Name
! Name
Line 8,173: Line 8,283:
! Description
! Description
|-
|-
| UF_SUCCESS
| DOTA_SPEECH_USER_INVALID
| 0
| 0
|  
|  
|-
|-
| UF_FAIL_FRIENDLY
| DOTA_SPEECH_USER_SINGLE
| 1
| 1
|  
|  
|-
|-
| UF_FAIL_ENEMY
| DOTA_SPEECH_USER_TEAM
| 2
| 2
|  
|  
|-
|-
| UF_FAIL_HERO
| DOTA_SPEECH_USER_TEAM_NEARBY
| 3
| 3
|  
|  
|-
|-
| UF_FAIL_CONSIDERED_HERO
| DOTA_SPEECH_USER_NEARBY
| 4
| 4
|  
|  
|-
|-
| UF_FAIL_CREEP
| DOTA_SPEECH_USER_ALL
| 5
| 5
|  
|  
|-
|-
| UF_FAIL_BUILDING
| DOTA_SPEECH_GOOD_TEAM
| 6
| 6
|  
|  
|-
|-
| UF_FAIL_MECHANICAL
| DOTA_SPEECH_BAD_TEAM
| 7
| 7
|  
|  
|-
|-
| UF_FAIL_COURIER
| DOTA_SPEECH_SPECTATOR
| 8
| 8
|  
|  
|-
|-
| UF_FAIL_OTHER
| DOTA_SPEECH_RECIPIENT_TYPE_MAX
| 9
| 9
|  
|  
|}
==== DOTATeam_t ====
{| class="standard-table" style="width: 50%;"
! Name
! Value
! Description
|-
|-
| UF_FAIL_ANCIENT
| DOTA_TEAM_FIRST
| 10
| 2
|  
|  
|-
|-
| UF_FAIL_ILLUSION
| DOTA_TEAM_GOODGUYS
| 11
| 2
| Radiant team.
|-
| DOTA_TEAM_BADGUYS
| 3
| Dire team.
|-
| DOTA_TEAM_NEUTRALS
| 4
| Neutral.
|-
| DOTA_TEAM_NOTEAM
| 5
|  
|  
|-
|-
| UF_FAIL_SUMMONED
| DOTA_TEAM_CUSTOM_1
| 12
| 6
|  
|  
|-
|-
| UF_FAIL_DOMINATED
| DOTA_TEAM_CUSTOM_MIN
| 13
| 6
|  
|  
|-
|-
| UF_FAIL_MELEE
| DOTA_TEAM_CUSTOM_2
| 14
| 7
|  
|  
|-
|-
| UF_FAIL_RANGED
| DOTA_TEAM_CUSTOM_3
| 15
| 8
|  
|  
|-
|-
| UF_FAIL_DEAD
| DOTA_TEAM_CUSTOM_COUNT
| 16
| 8
|  
|  
|-
|-
| UF_FAIL_MAGIC_IMMUNE_ALLY
| DOTA_TEAM_CUSTOM_4
| 17
| 9
|  
|  
|-
|-
| UF_FAIL_MAGIC_IMMUNE_ENEMY
| DOTA_TEAM_CUSTOM_5
| 18
| 10
|  
|  
|-
|-
| UF_FAIL_INVULNERABLE
| DOTA_TEAM_CUSTOM_6
| 19
| 11
|  
|  
|-
|-
| UF_FAIL_IN_FOW
| DOTA_TEAM_CUSTOM_7
| 20
| 12
|  
|  
|-
|-
| UF_FAIL_INVISIBLE
| DOTA_TEAM_CUSTOM_8
| 21
| 13
|  
|  
|-
|-
| UF_FAIL_NOT_PLAYER_CONTROLLED
| DOTA_TEAM_CUSTOM_MAX
| 22
| 13
|  
|  
|-
|-
| UF_FAIL_ATTACK_IMMUNE
| DOTA_TEAM_COUNT
| 23
| 14
|  
|  
|}
==== DOTAUnitAttackCapability_t ====
{| class="standard-table" style="width: 50%;"
! Name
! Value
! Description
|-
|-
| UF_FAIL_CUSTOM
| DOTA_UNIT_CAP_NO_ATTACK
| 24
| 0
|  
| Unit is unable to attack in any way.
|-
|-
| UF_FAIL_INVALID_LOCATION
| DOTA_UNIT_CAP_MELEE_ATTACK
| 25
| 1
|  
| Unit attacks are classified as melee (no uphill miss chance, attacks on enemies that are 350 over the attack range automatically miss).
|-
|-
| UF_FAIL_DISABLE_HELP
| DOTA_UNIT_CAP_RANGED_ATTACK
| 26
| 2
|
| Unit attacks are classified as ranged (can miss on uphill, disjointable, has projectile).
|-
| UF_FAIL_OUT_OF_WORLD
| 27
|
|-
| UF_FAIL_NIGHTMARED
| 28
|  
|}
|}


==== modifierfunction ====
==== DOTAUnitMoveCapability_t ====
{| class="standard-table" style="width: 50%;"
{| class="standard-table" style="width: 50%;"
! Name
! Name
Line 8,296: Line 8,424:
! Description
! Description
|-
|-
| MODIFIER_PROPERTY_PREATTACK_BONUS_DAMAGE
| DOTA_UNIT_CAP_MOVE_NONE
| 0
| 0
| GetModifierPreAttack_BonusDamage
| Unit cannot move in any way.
|-
|-
| MODIFIER_PROPERTY_PREATTACK_BONUS_DAMAGE_POST_CRIT
| DOTA_UNIT_CAP_MOVE_GROUND
| 1
| 1
| GetModifierPreAttack_BonusDamagePostCrit
| Unit move while being obstructed by the terrain.
|-
|-
| MODIFIER_PROPERTY_BASEATTACK_BONUSDAMAGE
| DOTA_UNIT_CAP_MOVE_FLY
| 2
| 2
| GetModifierBaseAttack_BonusDamage
| Unit ignores terrain.
|}
 
==== DOTA_UNIT_ORDERS ====
{| class="standard-table" style="width: 50%;"
! Name
! Value
! Description
|-
| DOTA_UNIT_ORDER_NONE
| 0
|
|-
| DOTA_UNIT_ORDER_MOVE_TO_POSITION
| 1
|
|-
| DOTA_UNIT_ORDER_MOVE_TO_TARGET
| 2
|
|-
|-
| MODIFIER_PROPERTY_PROCATTACK_BONUS_DAMAGE_PHYSICAL
| DOTA_UNIT_ORDER_ATTACK_MOVE
| 3
| 3
| GetModifierProcAttack_BonusDamage_Physical
|  
|-
|-
| MODIFIER_PROPERTY_PROCATTACK_BONUS_DAMAGE_MAGICAL
| DOTA_UNIT_ORDER_ATTACK_TARGET
| 4
| 4
| GetModifierProcAttack_BonusDamage_Magical
|  
|-
|-
| MODIFIER_PROPERTY_PROCATTACK_BONUS_DAMAGE_PURE
| DOTA_UNIT_ORDER_CAST_POSITION
| 5
| 5
| GetModifierProcAttack_BonusDamage_Pure
|  
|-
|-
| MODIFIER_PROPERTY_PROCATTACK_FEEDBACK
| DOTA_UNIT_ORDER_CAST_TARGET
| 6
| 6
| GetModifierProcAttack_Feedback
|  
|-
|-
| MODIFIER_PROPERTY_PRE_ATTACK
| DOTA_UNIT_ORDER_CAST_TARGET_TREE
| 7
| 7
| GetModifierPreAttack
|  
|-
|-
| MODIFIER_PROPERTY_INVISIBILITY_LEVEL
| DOTA_UNIT_ORDER_CAST_NO_TARGET
| 8
| 8
| GetModifierInvisibilityLevel
|  
|-
|-
| MODIFIER_PROPERTY_PERSISTENT_INVISIBILITY
| DOTA_UNIT_ORDER_CAST_TOGGLE
| 9
| 9
| GetModifierPersistentInvisibility
|  
|-
|-
| MODIFIER_PROPERTY_MOVESPEED_BONUS_CONSTANT
| DOTA_UNIT_ORDER_HOLD_POSITION
| 10
| 10
| GetModifierMoveSpeedBonus_Constant
|  
|-
|-
| MODIFIER_PROPERTY_MOVESPEED_BASE_OVERRIDE
| DOTA_UNIT_ORDER_TRAIN_ABILITY
| 11
| 11
| GetModifierMoveSpeedOverride
|  
|-
|-
| MODIFIER_PROPERTY_MOVESPEED_BONUS_PERCENTAGE
| DOTA_UNIT_ORDER_DROP_ITEM
| 12
| 12
| GetModifierMoveSpeedBonus_Percentage
|  
|-
|-
| MODIFIER_PROPERTY_MOVESPEED_BONUS_PERCENTAGE_UNIQUE
| DOTA_UNIT_ORDER_GIVE_ITEM
| 13
| 13
| GetModifierMoveSpeedBonus_Percentage_Unique
|  
|-
|-
| MODIFIER_PROPERTY_MOVESPEED_BONUS_UNIQUE
| DOTA_UNIT_ORDER_PICKUP_ITEM
| 14
| 14
| GetModifierMoveSpeedBonus_Special_Boots
|  
|-
|-
| MODIFIER_PROPERTY_MOVESPEED_ABSOLUTE
| DOTA_UNIT_ORDER_PICKUP_RUNE
| 15
| 15
| GetModifierMoveSpeed_Absolute
|  
|-
|-
| MODIFIER_PROPERTY_MOVESPEED_ABSOLUTE_MIN
| DOTA_UNIT_ORDER_PURCHASE_ITEM
| 16
| 16
| GetModifierMoveSpeed_AbsoluteMin
|  
|-
|-
| MODIFIER_PROPERTY_MOVESPEED_LIMIT
| DOTA_UNIT_ORDER_SELL_ITEM
| 17
| 17
| GetModifierMoveSpeed_Limit
|  
|-
|-
| MODIFIER_PROPERTY_MOVESPEED_MAX
| DOTA_UNIT_ORDER_DISASSEMBLE_ITEM
| 18
| 18
| GetModifierMoveSpeed_Max
|  
|-
|-
| MODIFIER_PROPERTY_ATTACKSPEED_BONUS_CONSTANT
| DOTA_UNIT_ORDER_MOVE_ITEM
| 19
| 19
| GetModifierAttackSpeedBonus_Constant
|  
|-
|-
| MODIFIER_PROPERTY_ATTACKSPEED_BONUS_CONSTANT_POWER_TREADS
| DOTA_UNIT_ORDER_CAST_TOGGLE_AUTO
| 20
| 20
| GetModifierAttackSpeedBonus_Constant_PowerTreads
|  
|-
|-
| MODIFIER_PROPERTY_ATTACKSPEED_BONUS_CONSTANT_SECONDARY
| DOTA_UNIT_ORDER_STOP
| 21
| 21
| GetModifierAttackSpeedBonus_Constant_Secondary
|  
|-
|-
| MODIFIER_PROPERTY_COOLDOWN_REDUCTION_CONSTANT
| DOTA_UNIT_ORDER_TAUNT
| 22
| 22
| GetModifierCooldownReduction_Constant
|  
|-
|-
| MODIFIER_PROPERTY_BASE_ATTACK_TIME_CONSTANT
| DOTA_UNIT_ORDER_BUYBACK
| 23
| 23
| GetModifierBaseAttackTimeConstant
|  
|-
|-
| MODIFIER_PROPERTY_ATTACK_POINT_CONSTANT
| DOTA_UNIT_ORDER_GLYPH
| 24
| 24
| GetModifierAttackPointConstant
|  
|-
|-
| MODIFIER_PROPERTY_DAMAGEOUTGOING_PERCENTAGE
| DOTA_UNIT_ORDER_EJECT_ITEM_FROM_STASH
| 25
| 25
| GetModifierDamageOutgoing_Percentage
|  
|-
|-
| MODIFIER_PROPERTY_DAMAGEOUTGOING_PERCENTAGE_ILLUSION
| DOTA_UNIT_ORDER_CAST_RUNE
| 26
| 26
| GetModifierDamageOutgoing_Percentage_Illusion
|  
|}
 
==== DOTA_ABILITY_BEHAVIOR ====
{| class="standard-table" style="width: 50%;"
! Name
! Value
! Description
|-
|-
| MODIFIER_PROPERTY_TOTALDAMAGEOUTGOING_PERCENTAGE
| DOTA_ABILITY_BEHAVIOR_NONE
| 27
| 0
| GetModifierTotalDamageOutgoing_Percentage
|  
|-
|-
| MODIFIER_PROPERTY_BASEDAMAGEOUTGOING_PERCENTAGE
| DOTA_ABILITY_BEHAVIOR_HIDDEN
| 28
| 1
| GetModifierBaseDamageOutgoing_Percentage
| Ability doesn't appear on the HUD.
|-
| DOTA_ABILITY_BEHAVIOR_PASSIVE
| 2
| Ability is classified as passive, and cannot be pressed.
|-
|-
| MODIFIER_PROPERTY_BASEDAMAGEOUTGOING_PERCENTAGE_UNIQUE
| DOTA_ABILITY_BEHAVIOR_NO_TARGET
| 29
| 4
| GetModifierBaseDamageOutgoing_PercentageUnique
| Ability fires immediately when pressed.
|-
|-
| MODIFIER_PROPERTY_INCOMING_DAMAGE_PERCENTAGE
| DOTA_ABILITY_BEHAVIOR_UNIT_TARGET
| 30
| 8
| GetModifierIncomingDamage_Percentage
| Ability needs a unit target to be cast.
|-
|-
| MODIFIER_PROPERTY_INCOMING_PHYSICAL_DAMAGE_PERCENTAGE
| DOTA_ABILITY_BEHAVIOR_POINT
| 31
| 16
| GetModifierIncomingPhysicalDamage_Percentage
| Ability needs a target point to be cast.
|-
|-
| MODIFIER_PROPERTY_INCOMING_SPELL_DAMAGE_CONSTANT
| DOTA_ABILITY_BEHAVIOR_AOE
| 32
| 32
| GetModifierIncomingSpellDamageConstant
| Ability is considered an AoE ability, respecting "AOERadius" KV when drawing the AoE overlay.
|-
|-
| MODIFIER_PROPERTY_EVASION_CONSTANT
| DOTA_ABILITY_BEHAVIOR_NOT_LEARNABLE
| 33
| 64
| GetModifierEvasion_Constant
| Ability cannot be skilled.
|-
|-
| MODIFIER_PROPERTY_AVOID_DAMAGE
| DOTA_ABILITY_BEHAVIOR_CHANNELLED
| 34
| 128
| GetModifierAvoidDamage
| Ability is considered a channeling ability.
|-
|-
| MODIFIER_PROPERTY_AVOID_SPELL
| DOTA_ABILITY_BEHAVIOR_ITEM
| 35
| 256
| GetModifierAvoidSpell
|  
|-
|-
| MODIFIER_PROPERTY_MISS_PERCENTAGE
| DOTA_ABILITY_BEHAVIOR_TOGGLE
| 36
| 512
| GetModifierMiss_Percentage
| Ability can be toggled on and off.
|-
|-
| MODIFIER_PROPERTY_PHYSICAL_ARMOR_BONUS
| DOTA_ABILITY_BEHAVIOR_DIRECTIONAL
| 37
| 1024
| GetModifierPhysicalArmorBonus
|  
|-
|-
| MODIFIER_PROPERTY_PHYSICAL_ARMOR_BONUS_ILLUSIONS
| DOTA_ABILITY_BEHAVIOR_IMMEDIATE
| 38
| 2048
| GetModifierPhysicalArmorBonusIllusions
| Ability ignores cast points and is fired as soon as the skill is pressed.
|-
|-
| MODIFIER_PROPERTY_PHYSICAL_ARMOR_BONUS_UNIQUE
| DOTA_ABILITY_BEHAVIOR_AUTOCAST
| 39
| 4096
| GetModifierPhysicalArmorBonusUnique
| Ability can be set to auto cast.
|-
|-
| MODIFIER_PROPERTY_PHYSICAL_ARMOR_BONUS_UNIQUE_ACTIVE
| DOTA_ABILITY_BEHAVIOR_OPTIONAL_UNIT_TARGET
| 40
| 8192
| GetModifierPhysicalArmorBonusUniqueActive
|  
|-
|-
| MODIFIER_PROPERTY_MAGICAL_RESISTANCE_BONUS
| DOTA_ABILITY_BEHAVIOR_OPTIONAL_POINT
| 41
| 16384
| GetModifierMagicalResistanceBonus
|  
|-
|-
| MODIFIER_PROPERTY_MAGICAL_RESISTANCE_ITEM_UNIQUE
| DOTA_ABILITY_BEHAVIOR_OPTIONAL_NO_TARGET
| 42
| 32768
| GetModifierMagicalResistanceItemUnique
|  
|-
|-
| MODIFIER_PROPERTY_MAGICAL_RESISTANCE_DECREPIFY_UNIQUE
| DOTA_ABILITY_BEHAVIOR_AURA
| 43
| 65536
| GetModifierMagicalResistanceDecrepifyUnique
| Ability is considered an aura.
|-
|-
| MODIFIER_PROPERTY_BASE_MANA_REGEN
| DOTA_ABILITY_BEHAVIOR_ATTACK
| 44
| 131072
| GetModifierBaseRegen
|  
|-
|-
| MODIFIER_PROPERTY_MANA_REGEN_CONSTANT
| DOTA_ABILITY_BEHAVIOR_DONT_RESUME_MOVEMENT
| 45
| 262144
| GetModifierConstantManaRegen
| After casting that ability, the caster won't resume its last order.
|-
|-
| MODIFIER_PROPERTY_MANA_REGEN_CONSTANT_UNIQUE
| DOTA_ABILITY_BEHAVIOR_ROOT_DISABLES
| 46
| 524288
| GetModifierConstantManaRegenUnique
| Ability cannot be cast while rooted.
|-
|-
| MODIFIER_PROPERTY_MANA_REGEN_PERCENTAGE
| DOTA_ABILITY_BEHAVIOR_UNRESTRICTED
| 47
| 1048576
| GetModifierPercentageManaRegen
|  
|-
|-
| MODIFIER_PROPERTY_MANA_REGEN_TOTAL_PERCENTAGE
| DOTA_ABILITY_BEHAVIOR_IGNORE_PSEUDO_QUEUE
| 48
| 2097152
| GetModifierTotalPercentageManaRegen
|  
|-
|-
| MODIFIER_PROPERTY_HEALTH_REGEN_CONSTANT
| DOTA_ABILITY_BEHAVIOR_IGNORE_CHANNEL
| 49
| 4194304
| GetModifierConstantHealthRegen
|  
|-
|-
| MODIFIER_PROPERTY_HEALTH_REGEN_PERCENTAGE
| DOTA_ABILITY_BEHAVIOR_DONT_CANCEL_MOVEMENT
| 50
| 8388608
| GetModifierHealthRegenPercentage
| Ability doesn't stop the caster to be used.
|-
|-
| MODIFIER_PROPERTY_HEALTH_BONUS
| DOTA_ABILITY_BEHAVIOR_DONT_ALERT_TARGET
| 51
| 16777216
| GetModifierHealthBonus
|  
|-
|-
| MODIFIER_PROPERTY_MANA_BONUS
| DOTA_ABILITY_BEHAVIOR_DONT_RESUME_ATTACK
| 52
| 33554432
| GetModifierManaBonus
| After using ability, caster won't proceed to attack the nearby enemy (even if set otherwise in options)
|-
|-
| MODIFIER_PROPERTY_EXTRA_STRENGTH_BONUS
| DOTA_ABILITY_BEHAVIOR_NORMAL_WHEN_STOLEN
| 53
| 67108864
| GetModifierExtraStrengthBonus
|  
|-
|-
| MODIFIER_PROPERTY_EXTRA_HEALTH_BONUS
| DOTA_ABILITY_BEHAVIOR_IGNORE_BACKSWING
| 54
| 134217728
| GetModifierExtraHealthBonus
| Ability ignores backswing animation.
|-
|-
| MODIFIER_PROPERTY_EXTRA_MANA_BONUS
| DOTA_ABILITY_BEHAVIOR_RUNE_TARGET
| 55
| 268435456
| GetModifierExtraManaBonus
| Ability can target runes.
|-
|-
| MODIFIER_PROPERTY_EXTRA_HEALTH_PERCENTAGE
| DOTA_ABILITY_BEHAVIOR_DONT_CANCEL_CHANNEL
| 56
| 536870912
| GetModifierExtraHealthPercentage
| Ability can be used without cancelling the current channel.
|-
|-
| MODIFIER_PROPERTY_STATS_STRENGTH_BONUS
| DOTA_ABILITY_LAST_BEHAVIOR
| 57
| 536870912
| GetModifierBonusStats_Strength
|  
|}
 
==== DOTA_HeroPickState ====
{| class="standard-table" style="width: 50%;"
! Name
! Value
! Description
|-
|-
| MODIFIER_PROPERTY_STATS_AGILITY_BONUS
| DOTA_HEROPICK_STATE_NONE
| 58
| 0
| GetModifierBonusStats_Agility
|  
|-
|-
| MODIFIER_PROPERTY_STATS_INTELLECT_BONUS
| DOTA_HEROPICK_STATE_AP_SELECT
| 59
| 1
| GetModifierBonusStats_Intellect
|  
|-
|-
| MODIFIER_PROPERTY_ATTACK_RANGE_BONUS
| DOTA_HEROPICK_STATE_SD_SELECT
| 60
| 2
| GetModifierAttackRangeBonus
|  
|-
|-
| MODIFIER_PROPERTY_PROJECTILE_SPEED_BONUS
| DOTA_HEROPICK_STATE_INTRO_SELECT
| 61
| 3
| GetModifierProjectileSpeedBonus
|  
|-
|-
| MODIFIER_PROPERTY_REINCARNATION
| DOTA_HEROPICK_STATE_RD_SELECT
| 62
| 4
| ReincarnateTime
|  
|-
|-
| MODIFIER_PROPERTY_RESPAWNTIME
| DOTA_HEROPICK_STATE_CM_INTRO
| 63
| 5
| GetModifierConstantRespawnTime
|  
|-
|-
| MODIFIER_PROPERTY_RESPAWNTIME_PERCENTAGE
| DOTA_HEROPICK_STATE_CM_CAPTAINPICK
| 64
| 6
| GetModifierPercentageRespawnTime
|  
|-
|-
| MODIFIER_PROPERTY_RESPAWNTIME_STACKING
| DOTA_HEROPICK_STATE_CM_BAN1
| 65
| 7
| GetModifierStackingRespawnTime
|  
|-
|-
| MODIFIER_PROPERTY_COOLDOWN_PERCENTAGE
| DOTA_HEROPICK_STATE_CM_BAN2
| 66
| 8
| GetModifierPercentageCooldown
|  
|-
|-
| MODIFIER_PROPERTY_CASTTIME_PERCENTAGE
| DOTA_HEROPICK_STATE_CM_BAN3
| 67
| 9
| GetModifierPercentageCasttime
|  
|-
|-
| MODIFIER_PROPERTY_MANACOST_PERCENTAGE
| DOTA_HEROPICK_STATE_CM_BAN4
| 68
| 10
| GetModifierPercentageManacost
|  
|-
|-
| MODIFIER_PROPERTY_DEATHGOLDCOST
| DOTA_HEROPICK_STATE_CM_BAN5
| 69
| 11
| GetModifierConstantDeathGoldCost
|  
|-
|-
| MODIFIER_PROPERTY_PREATTACK_CRITICALSTRIKE
| DOTA_HEROPICK_STATE_CM_BAN6
| 70
| 12
| GetModifierPreAttack_CriticalStrike
|  
|-
|-
| MODIFIER_PROPERTY_PHYSICAL_CONSTANT_BLOCK
| DOTA_HEROPICK_STATE_CM_BAN7
| 71
| 13
| GetModifierPhysical_ConstantBlock
|  
|-
|-
| MODIFIER_PROPERTY_TOTAL_CONSTANT_BLOCK_UNAVOIDABLE_PRE_ARMOR
| DOTA_HEROPICK_STATE_CM_BAN8
| 72
| 14
| GetModifierPhysical_ConstantBlockUnavoidablePreArmor
|  
|-
|-
| MODIFIER_PROPERTY_TOTAL_CONSTANT_BLOCK
| DOTA_HEROPICK_STATE_CM_BAN9
| 73
| 15
| GetModifierTotal_ConstantBlock
|  
|-
|-
| MODIFIER_PROPERTY_OVERRIDE_ANIMATION
| DOTA_HEROPICK_STATE_CM_BAN10
| 74
| 16
| GetOverrideAnimation
|  
|-
|-
| MODIFIER_PROPERTY_OVERRIDE_ANIMATION_WEIGHT
| DOTA_HEROPICK_STATE_CM_SELECT1
| 75
| 17
| GetOverrideAnimationWeight
|  
|-
|-
| MODIFIER_PROPERTY_OVERRIDE_ANIMATION_RATE
| DOTA_HEROPICK_STATE_CM_SELECT2
| 76
| 18
| GetOverrideAnimationRate
|  
|-
|-
| MODIFIER_PROPERTY_ABSORB_SPELL
| DOTA_HEROPICK_STATE_CM_SELECT3
| 77
| 19
| GetAbsorbSpell
|  
|-
|-
| MODIFIER_PROPERTY_REFLECT_SPELL
| DOTA_HEROPICK_STATE_CM_SELECT4
| 78
| 20
| GetReflectSpell
|  
|-
|-
| MODIFIER_PROPERTY_DISABLE_AUTOATTACK
| DOTA_HEROPICK_STATE_CM_SELECT5
| 79
| 21
| GetDisableAutoAttack
|  
|-
|-
| MODIFIER_PROPERTY_BONUS_DAY_VISION
| DOTA_HEROPICK_STATE_CM_SELECT6
| 80
| 22
| GetBonusDayVision
|  
|-
|-
| MODIFIER_PROPERTY_BONUS_NIGHT_VISION
| DOTA_HEROPICK_STATE_CM_SELECT7
| 81
| 23
| GetBonusNightVision
|  
|-
|-
| MODIFIER_PROPERTY_BONUS_NIGHT_VISION_UNIQUE
| DOTA_HEROPICK_STATE_CM_SELECT8
| 82
| 24
| GetBonusNightVisionUnique
|  
|-
|-
| MODIFIER_PROPERTY_BONUS_VISION_PERCENTAGE
| DOTA_HEROPICK_STATE_CM_SELECT9
| 83
| 25
| GetBonusVisionPercentage
|  
|-
|-
| MODIFIER_PROPERTY_FIXED_DAY_VISION
| DOTA_HEROPICK_STATE_CM_SELECT10
| 84
| 26
| GetFixedDayVision
|  
|-
|-
| MODIFIER_PROPERTY_FIXED_NIGHT_VISION
| DOTA_HEROPICK_STATE_CM_PICK
| 85
| 27
| GetFixedNightVision
|  
|-
|-
| MODIFIER_PROPERTY_MIN_HEALTH
| DOTA_HEROPICK_STATE_AR_SELECT
| 86
| 28
| GetMinHealth
|  
|-
|-
| MODIFIER_PROPERTY_ABSOLUTE_NO_DAMAGE_PHYSICAL
| DOTA_HEROPICK_STATE_MO_SELECT
| 87
| 29
| GetAbsoluteNoDamagePhysical
|  
|-
|-
| MODIFIER_PROPERTY_ABSOLUTE_NO_DAMAGE_MAGICAL
| DOTA_HEROPICK_STATE_FH_SELECT
| 88
| 30
| GetAbsoluteNoDamageMagical
|  
|-
|-
| MODIFIER_PROPERTY_ABSOLUTE_NO_DAMAGE_PURE
| DOTA_HEROPICK_STATE_CD_INTRO
| 89
| 31
| GetAbsoluteNoDamagePure
|  
|-
|-
| MODIFIER_PROPERTY_IS_ILLUSION
| DOTA_HEROPICK_STATE_CD_CAPTAINPICK
| 90
| 32
| GetIsIllusion
|  
|-
|-
| MODIFIER_PROPERTY_ILLUSION_LABEL
| DOTA_HEROPICK_STATE_CD_BAN1
| 91
| 33
| GetModifierIllusionLabel
|  
|-
|-
| MODIFIER_PROPERTY_SUPER_ILLUSION
| DOTA_HEROPICK_STATE_CD_BAN2
| 92
| 34
| GetModifierSuperIllusion
|  
|-
|-
| MODIFIER_PROPERTY_TURN_RATE_PERCENTAGE
| DOTA_HEROPICK_STATE_CD_BAN3
| 93
| 35
| GetModifierTurnRate_Percentage
|  
|-
|-
| MODIFIER_PROPERTY_DISABLE_HEALING
| DOTA_HEROPICK_STATE_CD_BAN4
| 94
| 36
| GetDisableHealing
|  
|-
|-
| MODIFIER_PROPERTY_OVERRIDE_ATTACK_MAGICAL
| DOTA_HEROPICK_STATE_CD_BAN5
| 95
| 37
| GetOverrideAttackMagical
|  
|-
|-
| MODIFIER_PROPERTY_UNIT_STATS_NEEDS_REFRESH
| DOTA_HEROPICK_STATE_CD_BAN6
| 96
| 38
| GetModifierUnitStatsNeedsRefresh
|  
|-
|-
| MODIFIER_PROPERTY_BOUNTY_CREEP_MULTIPLIER
| DOTA_HEROPICK_STATE_CD_SELECT1
| 97
| 39
| GetModifierBountyCreepMultiplier
|  
|-
|-
| MODIFIER_PROPERTY_BOUNTY_OTHER_MULTIPLIER
| DOTA_HEROPICK_STATE_CD_SELECT2
| 98
| 40
| GetModifierBountyOtherMultiplier
|  
|-
|-
| MODIFIER_EVENT_ON_ATTACK_RECORD
| DOTA_HEROPICK_STATE_CD_SELECT3
| 99
| 41
| OnAttackRecord
|  
|-
|-
| MODIFIER_EVENT_ON_ATTACK_START
| DOTA_HEROPICK_STATE_CD_SELECT4
| 100
| 42
| OnAttackStart
|  
|-
|-
| MODIFIER_EVENT_ON_ATTACK
| DOTA_HEROPICK_STATE_CD_SELECT5
| 101
| 43
| OnAttack
|  
|-
|-
| MODIFIER_EVENT_ON_ATTACK_LANDED
| DOTA_HEROPICK_STATE_CD_SELECT6
| 102
| 44
| OnAttackLanded
|  
|-
|-
| MODIFIER_EVENT_ON_ATTACK_FAIL
| DOTA_HEROPICK_STATE_CD_SELECT7
| 103
| 45
| OnAttackFail
|  
|-
|-
| MODIFIER_EVENT_ON_ATTACK_ALLIED
| DOTA_HEROPICK_STATE_CD_SELECT8
| 104
| 46
| OnAttackAllied
|  
|-
|-
| MODIFIER_EVENT_ON_PROJECTILE_DODGE
| DOTA_HEROPICK_STATE_CD_SELECT9
| 105
| 47
| OnProjectileDodge
|  
|-
|-
| MODIFIER_EVENT_ON_ORDER
| DOTA_HEROPICK_STATE_CD_SELECT10
| 106
| 48
| OnOrder
|  
|-
|-
| MODIFIER_EVENT_ON_UNIT_MOVED
| DOTA_HEROPICK_STATE_CD_PICK
| 107
| 49
| OnUnitMoved
|  
|-
|-
| MODIFIER_EVENT_ON_ABILITY_START
| DOTA_HEROPICK_STATE_BD_SELECT
| 108
| 50
| OnAbilityStart
|  
|-
|-
| MODIFIER_EVENT_ON_ABILITY_EXECUTED
| DOTA_HERO_PICK_STATE_ABILITY_DRAFT_SELECT
| 109
| 51
| OnAbilityExecuted
|  
|-
|-
| MODIFIER_EVENT_ON_ABILITY_FULLY_CAST
| DOTA_HERO_PICK_STATE_ARDM_SELECT
| 110
| 52
| OnAbilityFullyCast
|  
|-
|-
| MODIFIER_EVENT_ON_BREAK_INVISIBILITY
| DOTA_HEROPICK_STATE_ALL_DRAFT_SELECT
| 111
| 53
| OnBreakInvisibility
|  
|-
|-
| MODIFIER_EVENT_ON_ABILITY_END_CHANNEL
| DOTA_HERO_PICK_STATE_CUSTOMGAME_SELECT
| 112
| 54
| OnAbilityEndChannel
|  
|-
|-
| MODIFIER_EVENT_ON_PROCESS_UPGRADE
| DOTA_HEROPICK_STATE_COUNT
| 113
| 55
|  
|  
|}
==== DOTA_MOTION_CONTROLLER_PRIORITY ====
{| class="standard-table" style="width: 50%;"
! Name
! Value
! Description
|-
|-
| MODIFIER_EVENT_ON_REFRESH
| DOTA_MOTION_CONTROLLER_PRIORITY_LOWEST
| 114
| 0
|  
|  
|-
|-
| MODIFIER_EVENT_ON_TAKEDAMAGE
| DOTA_MOTION_CONTROLLER_PRIORITY_LOW
| 115
| 1
| OnTakeDamage
|  
|-
|-
| MODIFIER_EVENT_ON_STATE_CHANGED
| DOTA_MOTION_CONTROLLER_PRIORITY_MEDIUM
| 116
| 2
| OnStateChanged
|  
|-
|-
| MODIFIER_EVENT_ON_ORB_EFFECT
| DOTA_MOTION_CONTROLLER_PRIORITY_HIGH
| 117
| 3
|  
|  
|-
|-
| MODIFIER_EVENT_ON_ATTACKED
| DOTA_MOTION_CONTROLLER_PRIORITY_HIGHEST
| 118
| 4
| OnAttacked
|  
|}
 
==== DOTA_RUNES ====
{| class="standard-table" style="width: 50%;"
! Name
! Value
! Description
|-
|-
| MODIFIER_EVENT_ON_DEATH
| DOTA_RUNE_INVALID
| 119
| -1
| OnDeath
|  
|-
|-
| MODIFIER_EVENT_ON_RESPAWN
| DOTA_RUNE_DOUBLEDAMAGE
| 120
| 0
| OnRespawn
|  
|-
|-
| MODIFIER_EVENT_ON_SPENT_MANA
| DOTA_RUNE_HASTE
| 121
| 1
| OnSpentMana
|  
|-
|-
| MODIFIER_EVENT_ON_TELEPORTING
| DOTA_RUNE_ILLUSION
| 122
| 2
| OnTeleporting
|  
|-
|-
| MODIFIER_EVENT_ON_TELEPORTED
| DOTA_RUNE_INVISIBILITY
| 123
| 3
| OnTeleported
|  
|-
|-
| MODIFIER_EVENT_ON_SET_LOCATION
| DOTA_RUNE_REGENERATION
| 124
| 4
| OnSetLocation
|  
|-
|-
| MODIFIER_EVENT_ON_HEALTH_GAINED
| DOTA_RUNE_BOUNTY
| 125
| 5
| OnHealthGained
|  
|-
|-
| MODIFIER_EVENT_ON_MANA_GAINED
| DOTA_RUNE_COUNT
| 126
| 6
| OnManaGained
|  
|-
|-
| MODIFIER_EVENT_ON_TAKEDAMAGE_KILLCREDIT
| DOTA_RUNE_HAUNTED
| 127
| 7
| OnTakeDamageKillCredit
|  
|-
|-
| MODIFIER_EVENT_ON_HERO_KILLED
| DOTA_RUNE_SPOOKY
| 128
| 8
| OnHeroKilled
|  
|-
|-
| MODIFIER_EVENT_ON_HEAL_RECEIVED
| DOTA_RUNE_RAPIER
| 129
| 9
| OnHealReceived
|  
|-
|-
| MODIFIER_EVENT_ON_BUILDING_KILLED
| DOTA_RUNE_TURBO
| 130
| 10
| OnBuildingKilled
|  
|-
|-
| MODIFIER_EVENT_ON_MODEL_CHANGED
| DOTA_RUNE_MYSTERY
| 131
| 11
| OnModelChanged
|  
|-
|-
| MODIFIER_PROPERTY_TOOLTIP
| DOTA_HALLOWEEN_RUNE_COUNT
| 132
| 12
| OnTooltip
|  
|}
 
==== DOTA_UNIT_TARGET_FLAGS ====
{| class="standard-table" style="width: 50%;"
! Name
! Value
! Description
|-
|-
| MODIFIER_PROPERTY_MODEL_CHANGE
| DOTA_UNIT_TARGET_FLAG_NONE
| 133
| 0
| GetModifierModelChange
| No special flag rules.
|-
|-
| MODIFIER_PROPERTY_MODEL_SCALE
| DOTA_UNIT_TARGET_FLAG_RANGED_ONLY
| 134
| 2
| GetModifierModelScale
| Targets only ranged units and heroes.
|-
|-
| MODIFIER_PROPERTY_IS_SCEPTER
| DOTA_UNIT_TARGET_FLAG_MELEE_ONLY
| 135
| 4
| GetModifierScepter
| Targets only melee units and heroes.
|-
|-
| MODIFIER_PROPERTY_TRANSLATE_ACTIVITY_MODIFIERS
| DOTA_UNIT_TARGET_FLAG_DEAD
| 136
| 8
| GetActivityTranslationModifiers
| Targets dead units and heroes as well.
|-
|-
| MODIFIER_PROPERTY_TRANSLATE_ATTACK_SOUND
| DOTA_UNIT_TARGET_FLAG_MAGIC_IMMUNE_ENEMIES
| 137
| 16
| GetAttackSound
| Targets magic immune enemies as well.
|-
|-
| MODIFIER_PROPERTY_LIFETIME_FRACTION
| DOTA_UNIT_TARGET_FLAG_NOT_MAGIC_IMMUNE_ALLIES
| 138
| 32
| GetUnitLifetimeFraction
| Targets non-magic immune allies as well.
|-
|-
| MODIFIER_PROPERTY_PROVIDES_FOW_POSITION
| DOTA_UNIT_TARGET_FLAG_INVULNERABLE
| 139
| 64
| GetModifierProvidesFOWVision
| Targets invulnerable units/heroes as well.
|-
|-
| MODIFIER_PROPERTY_SPELLS_REQUIRE_HP
| DOTA_UNIT_TARGET_FLAG_FOW_VISIBLE
| 140
| 128
| GetModifierSpellsRequireHP
| Targets only those that are visible through the fog of war.
|-
|-
| MODIFIER_PROPERTY_FORCE_DRAW_MINIMAP
| DOTA_UNIT_TARGET_FLAG_NO_INVIS
| 141
| 256
| GetForceDrawOnMinimap
| Targets only those that are not invisible.
|-
|-
| MODIFIER_PROPERTY_DISABLE_TURNING
| DOTA_UNIT_TARGET_FLAG_NOT_ANCIENTS
| 142
| 512
| GetModifierDisableTurning
| Targets only those that are not considered ancients.
|-
|-
| MODIFIER_PROPERTY_IGNORE_CAST_ANGLE
| DOTA_UNIT_TARGET_FLAG_PLAYER_CONTROLLED
| 143
| 1024
| GetModifierIgnoreCastAngle
| Targets player controlled units (ignores the rest of basic units).
|-
|-
| MODIFIER_PROPERTY_CHANGE_ABILITY_VALUE
| DOTA_UNIT_TARGET_FLAG_NOT_DOMINATED
| 144
| 2048
| GetModifierChangeAbilityValue
| Targets only those that are not being dominated.
|-
| DOTA_UNIT_TARGET_FLAG_NOT_SUMMONED
| 4096
| Targets only those that are not summoned creatures.
|-
| DOTA_UNIT_TARGET_FLAG_NOT_ILLUSIONS
| 8192
| Targets only those that are not illusions.
|-
|-
| MODIFIER_PROPERTY_ABILITY_LAYOUT
| DOTA_UNIT_TARGET_FLAG_NOT_ATTACK_IMMUNE
| 145
| 16384
| GetModifierAbilityLayout
| Targets only those that are not immune to attacks.
|-
|-
| MODIFIER_EVENT_ON_DOMINATED
| DOTA_UNIT_TARGET_FLAG_MANA_ONLY
| 146
| 32768
| OnDominated
| Targets only those that has a mana bar.
|-
|-
| MODIFIER_FUNCTION_LAST
| DOTA_UNIT_TARGET_FLAG_CHECK_DISABLE_HELP
| 147
| 65536
|  
|  
|-
|-
| MODIFIER_FUNCTION_INVALID
| DOTA_UNIT_TARGET_FLAG_NOT_CREEP_HERO
| 255
| 131072
|  
| Targets only those that are not considered creep heroes.
|-
| DOTA_UNIT_TARGET_FLAG_OUT_OF_WORLD
| 262144
| Targets units/heroes that are hidden as well.
|-
| DOTA_UNIT_TARGET_FLAG_NOT_NIGHTMARED
| 524288
| Targets only those that are not nightmared.
|}
|}


==== modifierstate ====
==== DOTA_UNIT_TARGET_TEAM ====
{| class="standard-table" style="width: 50%;"
{| class="standard-table" style="width: 50%;"
! Name
! Name
Line 8,899: Line 9,101:
! Description
! Description
|-
|-
| MODIFIER_STATE_ROOTED
| DOTA_UNIT_TARGET_TEAM_NONE
| 0
| 0
|  
|  
|-
|-
| MODIFIER_STATE_DISARMED
| DOTA_UNIT_TARGET_TEAM_FRIENDLY
| 1
| 1
|  
| Targets all those that are in the same team as the team that was declared the source.
|-
|-
| MODIFIER_STATE_ATTACK_IMMUNE
| DOTA_UNIT_TARGET_TEAM_ENEMY
| 2
| 2
|  
| Targets all those that are not in the same team as the team that was declared the source.
|-
|-
| MODIFIER_STATE_SILENCED
| DOTA_UNIT_TARGET_TEAM_BOTH
| 3
| 3
|  
| Targets all entities from every team.
|-
|-
| MODIFIER_STATE_MUTED
| DOTA_UNIT_TARGET_TEAM_CUSTOM
| 4
| 4
|  
|  
|}
==== DOTA_UNIT_TARGET_TYPE ====
{| class="standard-table" style="width: 50%;"
! Name
! Value
! Description
|-
|-
| MODIFIER_STATE_STUNNED
| DOTA_UNIT_TARGET_NONE
| 5
| 0
|  
|  
|-
|-
| MODIFIER_STATE_HEXED
| DOTA_UNIT_TARGET_HERO
| 6
| 1
|  
| Targets heroes.
|-
| DOTA_UNIT_TARGET_CREEP
| 2
| Targets creeps.
|-
|-
| MODIFIER_STATE_INVISIBLE
| DOTA_UNIT_TARGET_BUILDING
| 7
| 4
|  
| Targets buildings.
|-
|-
| MODIFIER_STATE_INVULNERABLE
| DOTA_UNIT_TARGET_MECHANICAL
| 8
| 8
|  
| Deprecated.
|-
|-
| MODIFIER_STATE_MAGIC_IMMUNE
| DOTA_UNIT_TARGET_COURIER
| 9
| 16
|  
| Targets couriers.
|-
|-
| MODIFIER_STATE_PROVIDES_VISION
| DOTA_UNIT_TARGET_BASIC
| 10
| 18
|  
| Targets units. (not necessarily creeps)
|-
|-
| MODIFIER_STATE_NIGHTMARED
| DOTA_UNIT_TARGET_OTHER
| 11
| 32
|  
|  
|-
|-
| MODIFIER_STATE_BLOCK_DISABLED
| DOTA_UNIT_TARGET_ALL
| 12
| 63
|  
| Targets everything (including buildings, couriers, Shrines etc)
|-
|-
| MODIFIER_STATE_EVADE_DISABLED
| DOTA_UNIT_TARGET_TREE
| 13
| 64
|  
| Targets trees.
|-
|-
| MODIFIER_STATE_UNSELECTABLE
| DOTA_UNIT_TARGET_CUSTOM
| 14
| 128
|  
|  
|}
==== EDOTA_ModifyGold_Reason ====
{| class="standard-table" style="width: 50%;"
! Name
! Value
! Description
|-
|-
| MODIFIER_STATE_CANNOT_MISS
| DOTA_ModifyGold_Unspecified
| 15
| 0
|  
|  
|-
|-
| MODIFIER_STATE_SPECIALLY_DENIABLE
| DOTA_ModifyGold_Death
| 16
| 1
|  
|  
|-
|-
| MODIFIER_STATE_FROZEN
| DOTA_ModifyGold_Buyback
| 17
| 2
|  
|  
|-
|-
| MODIFIER_STATE_COMMAND_RESTRICTED
| DOTA_ModifyGold_PurchaseConsumable
| 18
| 3
|  
|  
|-
|-
| MODIFIER_STATE_NOT_ON_MINIMAP
| DOTA_ModifyGold_PurchaseItem
| 19
| 4
|  
|  
|-
|-
| MODIFIER_STATE_NOT_ON_MINIMAP_FOR_ENEMIES
| DOTA_ModifyGold_AbandonedRedistribute
| 20
| 5
|  
|  
|-
|-
| MODIFIER_STATE_LOW_ATTACK_PRIORITY
| DOTA_ModifyGold_SellItem
| 21
| 6
|  
|  
|-
|-
| MODIFIER_STATE_NO_HEALTH_BAR
| DOTA_ModifyGold_AbilityCost
| 22
| 7
|  
|  
|-
|-
| MODIFIER_STATE_FLYING
| DOTA_ModifyGold_CheatCommand
| 23
| 8
|  
|  
|-
|-
| MODIFIER_STATE_NO_UNIT_COLLISION
| DOTA_ModifyGold_SelectionPenalty
| 24
| 9
|  
|  
|-
|-
| MODIFIER_STATE_NO_TEAM_MOVE_TO
| DOTA_ModifyGold_GameTick
| 25
| 10
|  
|  
|-
|-
| MODIFIER_STATE_NO_TEAM_SELECT
| DOTA_ModifyGold_Building
| 26
| 11
|  
|  
|-
|-
| MODIFIER_STATE_PASSIVES_DISABLED
| DOTA_ModifyGold_HeroKill
| 27
| 12
|  
|  
|-
|-
| MODIFIER_STATE_DOMINATED
| DOTA_ModifyGold_CreepKill
| 28
| 13
|  
|  
|-
|-
| MODIFIER_STATE_BLIND
| DOTA_ModifyGold_RoshanKill
| 29
| 14
|  
|  
|-
|-
| MODIFIER_STATE_OUT_OF_GAME
| DOTA_ModifyGold_CourierKill
| 30
| 15
|  
|  
|-
|-
| MODIFIER_STATE_FAKE_ALLY
| DOTA_ModifyGold_SharedGold
| 31
| 16
|
|-
| MODIFIER_STATE_FLYING_FOR_PATHING_PURPOSES_ONLY
| 32
|
|-
| MODIFIER_STATE_TRUESIGHT_IMMUNE
| 33
|
|-
| MODIFIER_STATE_LAST
| 34
|  
|  
|}
|}


==== quest_text_replace_values_t ====
==== EDOTA_ModifyXP_Reason ====
{| class="standard-table" style="width: 50%;"
{| class="standard-table" style="width: 50%;"
! Name
! Name
Line 9,046: Line 9,254:
! Description
! Description
|-
|-
| QUEST_TEXT_REPLACE_VALUE_CURRENT_VALUE
| DOTA_ModifyXP_Unspecified
| 0
| 0
|  
|  
|-
|-
| QUEST_TEXT_REPLACE_VALUE_TARGET_VALUE
| DOTA_ModifyXP_HeroKill
| 1
| 1
|  
|  
|-
|-
| QUEST_TEXT_REPLACE_VALUE_ROUND
| DOTA_ModifyXP_CreepKill
| 2
| 2
|  
|  
|-
|-
| QUEST_TEXT_REPLACE_VALUE_REWARD
| DOTA_ModifyXP_RoshanKill
| 3
| 3
|
|-
| QUEST_NUM_TEXT_REPLACE_VALUES
| 4
|  
|  
|}
|}


==== Find Types ====
==== EShareAbility ====
{| class="standard-table" style="width: 50%;"
{| class="standard-table" style="width: 50%;"
! Name
! Name
Line 9,073: Line 9,277:
! Description
! Description
|-
|-
| FIND_UNITS_EVERYWHERE
| ITEM_FULLY_SHAREABLE
| -1
|
|-
| FIND_ANY_ORDER
| 0
| 0
|  
|  
|-
|-
| FIND_CLOSEST
| ITEM_PARTIALLY_SHAREABLE
| 1
| 1
|  
|  
|-
|-
| FIND_FARTHEST
| ITEM_NOT_SHAREABLE
| 2
| 2
|  
|  
|}
|}


==== subquest_text_replace_values_t ====
==== LuaModifierType ====
{| class="standard-table" style="width: 50%;"
{| class="standard-table" style="width: 50%;"
! Name
! Name
Line 9,096: Line 9,296:
! Description
! Description
|-
|-
| SUBQUEST_TEXT_REPLACE_VALUE_CURRENT_VALUE
| LUA_MODIFIER_MOTION_NONE
| 0
| 0
|  
|  
|-
|-
| SUBQUEST_TEXT_REPLACE_VALUE_TARGET_VALUE
| LUA_MODIFIER_MOTION_HORIZONTAL
| 1
| 1
|  
|  
|-
|-
| SUBQUEST_NUM_TEXT_REPLACE_VALUES
| LUA_MODIFIER_MOTION_VERTICAL
| 2
| 2
|
|-
| LUA_MODIFIER_MOTION_BOTH
| 3
|
|-
| LUA_MODIFIER_INVALID
| 4
|  
|  
|}
|}


==== DOTAScriptInventorySlot_t ====
==== ModifierPriority ====
{| class="standard-table" style="width: 50%;"
{| class="standard-table" style="width: 50%;"
! Name
! Name
Line 9,115: Line 9,323:
! Description
! Description
|-
|-
| DOTA_ITEM_SLOT_1
| MODIFIER_PRIORITY_LOW
| 0
| 0
|  
|  
|-
|-
| DOTA_ITEM_SLOT_2
| MODIFIER_PRIORITY_NORMAL
| 1
| 1
|  
|  
|-
|-
| DOTA_ITEM_SLOT_3
| MODIFIER_PRIORITY_HIGH
| 2
| 2
|  
|
|-
|-
| DOTA_ITEM_SLOT_4
| MODIFIER_PRIORITY_ULTRA
| 3
| 3
|  
|  
|-
|-
| DOTA_ITEM_SLOT_5
| MODIFIER_PRIORITY_SUPER_ULTRA
| 4
| 4
|  
|  
|-
|}
| DOTA_ITEM_SLOT_6
 
| 5
==== ParticleAttachment_t ====
|
|-
| DOTA_STASH_SLOT_1
| 6
|
|-
| DOTA_STASH_SLOT_2
| 7
|
|-
| DOTA_STASH_SLOT_3
| 8
|
|-
| DOTA_STASH_SLOT_4
| 9
|
|-
| DOTA_STASH_SLOT_5
| 10
|
|-
| DOTA_STASH_SLOT_6
| 11
|
|}
 
==== DOTA_GameState ====
{| class="standard-table" style="width: 50%;"
{| class="standard-table" style="width: 50%;"
! Name
! Name
Line 9,170: Line 9,350:
! Description
! Description
|-
|-
| DOTA_GAMERULES_STATE_INIT
| PATTACH_INVALID
| -1
|
|-
| PATTACH_ABSORIGIN
| 0
| 0
|  
| Attaches the particle to the an origin.
|-
|-
| DOTA_GAMERULES_STATE_WAIT_FOR_PLAYERS_TO_LOAD
| PATTACH_ABSORIGIN_FOLLOW
| 1
| 1
|  
| Attaches the particle to an origin, and causes it to follow the unit that is considered the source of the particle.
|-
|-
| DOTA_GAMERULES_STATE_CUSTOM_GAME_SETUP
| PATTACH_CUSTOMORIGIN
| 2
| 2
|  
| Attaches the particle to a custom origin. (Requires passing a vector to the Control points)
|-
|-
| DOTA_GAMERULES_STATE_HERO_SELECTION
| PATTACH_CUSTOMORIGIN_FOLLOW
| 3
| 3
|  
|  
|-
|-
| DOTA_GAMERULES_STATE_STRATEGY_TIME
| PATTACH_POINT
| 4
| 4
|  
|  
|-
|-
| DOTA_GAMERULES_STATE_TEAM_SHOWCASE
| PATTACH_POINT_FOLLOW
| 5
| 5
|  
|  
|-
|-
| DOTA_GAMERULES_STATE_PRE_GAME
| PATTACH_EYES_FOLLOW
| 6
| 6
| Attaches the particle to the "eyes" of the entity.
|-
| PATTACH_OVERHEAD_FOLLOW
| 7
| Attaches the particle to be set above the head of the entity.
|-
| PATTACH_WORLDORIGIN
| 8
| Attaches the particle to the ground.
|-
| PATTACH_ROOTBONE_FOLLOW
| 9
|
|-
| PATTACH_RENDERORIGIN_FOLLOW
| 10
|  
|  
|-
|-
| DOTA_GAMERULES_STATE_GAME_IN_PROGRESS
| PATTACH_MAIN_VIEW
| 7
| 11
|  
|  
|-
|-
| DOTA_GAMERULES_STATE_POST_GAME
| PATTACH_WATERWAKE
| 8
| 12
|  
|  
|-
|-
| DOTA_GAMERULES_STATE_DISCONNECT
| MAX_PATTACH_TYPES
| 9
| 13
|  
|  
|}
|}


==== DOTALimits_t ====
==== UnitFilterResult ====
{| class="standard-table" style="width: 50%;"
{| class="standard-table" style="width: 50%;"
! Name
! Name
Line 9,217: Line 9,417:
! Description
! Description
|-
|-
| DOTA_DEFAULT_MAX_TEAM
| UF_SUCCESS
| 5
| 0
| Default number of players per team.
|  
|-
|-
| DOTA_DEFAULT_MAX_TEAM_PLAYERS
| UF_FAIL_FRIENDLY
| 10
| 1
| Default number of non-spectator players supported.
|  
|-
|-
| DOTA_MAX_PLAYER_TEAMS
| UF_FAIL_ENEMY
| 10
| 2
| Max number of player teams supported.
|  
|-
|-
| DOTA_MAX_TEAM
| UF_FAIL_HERO
| 24
| 3
| Max number of players per team.
|  
|-
|-
| DOTA_MAX_TEAM_PLAYERS
| UF_FAIL_CONSIDERED_HERO
| 24
| 4
| Max number of non-spectator players supported.
|  
|-
|-
| DOTA_MAX_SPECTATOR_TEAM_SIZE
| UF_FAIL_CREEP
| 40
| 5
| How many spectators can watch.
|  
|-
|-
| DOTA_MAX_PLAYERS
| UF_FAIL_BUILDING
| 64
| 6
| Max number of players connected to the server including spectators.
|}
 
==== GameActivity_t ====
{| class="standard-table" style="width: 50%;"
! Name
! Value
! Description
|-
| ACT_DOTA_IDLE
| 1500
|  
|  
|-
|-
| ACT_DOTA_IDLE_RARE
| UF_FAIL_MECHANICAL
| 1501
| 7
|  
|  
|-
|-
| ACT_DOTA_RUN
| UF_FAIL_COURIER
| 1502
| 8
|  
|  
|-
|-
| ACT_DOTA_ATTACK
| UF_FAIL_OTHER
| 1503
| 9
|  
|  
|-
|-
| ACT_DOTA_ATTACK2
| UF_FAIL_ANCIENT
| 1504
| 10
|  
|  
|-
|-
| ACT_DOTA_ATTACK_EVENT
| UF_FAIL_ILLUSION
| 1505
| 11
|  
|  
|-
|-
| ACT_DOTA_DIE
| UF_FAIL_SUMMONED
| 1506
| 12
|  
|  
|-
|-
| ACT_DOTA_FLINCH
| UF_FAIL_DOMINATED
| 1507
| 13
|  
|  
|-
|-
| ACT_DOTA_FLAIL
| UF_FAIL_MELEE
| 1508
| 14
|  
|  
|-
|-
| ACT_DOTA_DISABLED
| UF_FAIL_RANGED
| 1509
| 15
|  
|  
|-
|-
| ACT_DOTA_CAST_ABILITY_1
| UF_FAIL_DEAD
| 1510
| 16
|  
|  
|-
|-
| ACT_DOTA_CAST_ABILITY_2
| UF_FAIL_MAGIC_IMMUNE_ALLY
| 1511
| 17
|  
|  
|-
|-
| ACT_DOTA_CAST_ABILITY_3
| UF_FAIL_MAGIC_IMMUNE_ENEMY
| 1512
| 18
|  
|  
|-
|-
| ACT_DOTA_CAST_ABILITY_4
| UF_FAIL_INVULNERABLE
| 1513
| 19
|  
|  
|-
|-
| ACT_DOTA_CAST_ABILITY_5
| UF_FAIL_IN_FOW
| 1514
| 20
|  
|  
|-
|-
| ACT_DOTA_CAST_ABILITY_6
| UF_FAIL_INVISIBLE
| 1515
| 21
|  
|  
|-
|-
| ACT_DOTA_OVERRIDE_ABILITY_1
| UF_FAIL_NOT_PLAYER_CONTROLLED
| 1516
| 22
|  
|  
|-
|-
| ACT_DOTA_OVERRIDE_ABILITY_2
| UF_FAIL_ATTACK_IMMUNE
| 1517
| 23
|  
|  
|-
|-
| ACT_DOTA_OVERRIDE_ABILITY_3
| UF_FAIL_CUSTOM
| 1518
| 24
|  
|  
|-
|-
| ACT_DOTA_OVERRIDE_ABILITY_4
| UF_FAIL_INVALID_LOCATION
| 1519
| 25
|  
|  
|-
|-
| ACT_DOTA_CHANNEL_ABILITY_1
| UF_FAIL_DISABLE_HELP
| 1520
| 26
|  
|  
|-
|-
| ACT_DOTA_CHANNEL_ABILITY_2
| UF_FAIL_OUT_OF_WORLD
| 1521
| 27
|  
|  
|-
|-
| ACT_DOTA_CHANNEL_ABILITY_3
| UF_FAIL_NIGHTMARED
| 1522
| 28
|  
|  
|}
==== modifierstate ====
{| class="standard-table" style="width: 50%;"
! Name
! Value
! Description
|-
|-
| ACT_DOTA_CHANNEL_ABILITY_4
| MODIFIER_STATE_ROOTED
| 1523
| 0
|  
| Set to true to cause the parent to become rooted.
|-
|-
| ACT_DOTA_CHANNEL_ABILITY_5
| MODIFIER_STATE_DISARMED
| 1524
| 1
|  
| Set to true to cause the parent to become disarmed.
|-
|-
| ACT_DOTA_CHANNEL_ABILITY_6
| MODIFIER_STATE_ATTACK_IMMUNE
| 1525
| 2
|  
| Set to true to cause the parent to become attack immune.
|-
|-
| ACT_DOTA_CHANNEL_END_ABILITY_1
| MODIFIER_STATE_SILENCED
| 1526
| 3
|  
| Set to true to cause the parent to become silenced.
|-
|-
| ACT_DOTA_CHANNEL_END_ABILITY_2
| MODIFIER_STATE_MUTED
| 1527
| 4
|  
| Set to true to cause the parent to become muted.
|-
|-
| ACT_DOTA_CHANNEL_END_ABILITY_3
| MODIFIER_STATE_STUNNED
| 1528
| 5
|  
| Set to true to cause the parent to become stunned.
|-
|-
| ACT_DOTA_CHANNEL_END_ABILITY_4
| MODIFIER_STATE_HEXED
| 1529
| 6
|  
| Set to true to cause the parent to become hexed.
|-
|-
| ACT_DOTA_CHANNEL_END_ABILITY_5
| MODIFIER_STATE_INVISIBLE
| 1530
| 7
|  
| Set to true to cause the parent to become invisible.
|-
|-
| ACT_DOTA_CHANNEL_END_ABILITY_6
| MODIFIER_STATE_INVULNERABLE
| 1531
| 8
|  
| Set to true to cause the parent to become invulnerable.
|-
|-
| ACT_DOTA_CONSTANT_LAYER
| MODIFIER_STATE_MAGIC_IMMUNE
| 1532
| 9
|  
| Set to true to cause the parent to become immune to magic.
|-
|-
| ACT_DOTA_CAPTURE
| MODIFIER_STATE_PROVIDES_VISION
| 1533
| 10
|  
| Set to true to cause the parent to share its vision with the source of the modifier.
|-
|-
| ACT_DOTA_SPAWN
| MODIFIER_STATE_NIGHTMARED
| 1534
| 11
|  
| Set to true to cause the parent to become nightmared.
|-
|-
| ACT_DOTA_KILLTAUNT
| MODIFIER_STATE_BLOCK_DISABLED
| 1535
| 12
|  
| Set to true to cause the parent to become unable to block attacks.
|-
|-
| ACT_DOTA_TAUNT
| MODIFIER_STATE_EVADE_DISABLED
| 1536
| 13
|  
| Set to true to cause the parent to become unable to evade attacks.
|-
|-
| ACT_DOTA_THIRST
| MODIFIER_STATE_UNSELECTABLE
| 1537
| 14
|  
| Set to true to cause the parent to make it unselectable.
|-
|-
| ACT_DOTA_CAST_DRAGONBREATH
| MODIFIER_STATE_CANNOT_MISS
| 1538
| 15
|  
| Set to true to cause the parent to always hit its target.
|-
|-
| ACT_DOTA_ECHO_SLAM
| MODIFIER_STATE_SPECIALLY_DENIABLE
| 1539
| 16
|  
| Set to true to cause allies to be able to deny the parent.
|-
|-
| ACT_DOTA_CAST_ABILITY_1_END
| MODIFIER_STATE_FROZEN
| 1540
| 17
|  
| Set to true to cause the parent to become frozen.
|-
|-
| ACT_DOTA_CAST_ABILITY_2_END
| MODIFIER_STATE_COMMAND_RESTRICTED
| 1541
| 18
|  
| Set to true to cause the parent to become unable to issue orders.
|-
|-
| ACT_DOTA_CAST_ABILITY_3_END
| MODIFIER_STATE_NOT_ON_MINIMAP
| 1542
| 19
|  
| Set to true to cause the parent to become invisible on the minimap.
|-
|-
| ACT_DOTA_CAST_ABILITY_4_END
| MODIFIER_STATE_NOT_ON_MINIMAP_FOR_ENEMIES
| 1543
| 20
|  
| Set to true to cause the parent to become invisible on the minimap for enemies.
|-
|-
| ACT_MIRANA_LEAP_END
| MODIFIER_STATE_LOW_ATTACK_PRIORITY
| 1544
| 21
|  
| Set to true to cause the parent to become low attack priority, causing it to be the last to be hit when attack moving.
|-
|-
| ACT_WAVEFORM_START
| MODIFIER_STATE_NO_HEALTH_BAR
| 1545
| 22
|  
| Set to true to cause the parent to have its health bar disabled (invisible).
|-
|-
| ACT_WAVEFORM_END
| MODIFIER_STATE_FLYING
| 1546
| 23
|  
| Set to true to cause the parent to fly, ignoring terrains and increasing its offset from the ground.
|-
|-
| ACT_DOTA_CAST_ABILITY_ROT
| MODIFIER_STATE_NO_UNIT_COLLISION
| 1547
| 24
|  
| Set to true to cause the parent to become phased.
|-
|-
| ACT_DOTA_DIE_SPECIAL
| MODIFIER_STATE_NO_TEAM_MOVE_TO
| 1548
| 25
|  
|  
|-
|-
| ACT_DOTA_RATTLETRAP_BATTERYASSAULT
| MODIFIER_STATE_NO_TEAM_SELECT
| 1549
| 26
|  
|  
|-
|-
| ACT_DOTA_RATTLETRAP_POWERCOGS
| MODIFIER_STATE_PASSIVES_DISABLED
| 1550
| 27
|  
| Set to true to cause the parent to have its passives disabled.
|-
|-
| ACT_DOTA_RATTLETRAP_HOOKSHOT_START
| MODIFIER_STATE_DOMINATED
| 1551
| 28
|  
| Set to true to cause the parent to become dominated.
|-
|-
| ACT_DOTA_RATTLETRAP_HOOKSHOT_LOOP
| MODIFIER_STATE_BLIND
| 1552
| 29
|  
| Set to true to cause the parent to become blind.
|-
|-
| ACT_DOTA_RATTLETRAP_HOOKSHOT_END
| MODIFIER_STATE_OUT_OF_GAME
| 1553
| 30
|  
|  
|-
|-
| ACT_STORM_SPIRIT_OVERLOAD_RUN_OVERRIDE
| MODIFIER_STATE_FAKE_ALLY
| 1554
| 31
|  
|  
|-
|-
| ACT_DOTA_TINKER_REARM1
| MODIFIER_STATE_FLYING_FOR_PATHING_PURPOSES_ONLY
| 1555
| 32
|  
| Set to true to cause the parent to stay on the ground, but be considered flying when moving.
|-
|-
| ACT_DOTA_TINKER_REARM2
| MODIFIER_STATE_TRUESIGHT_IMMUNE
| 1556
| 33
|  
| Set to true to cause the parent to become immune to truesight.
|-
|-
| ACT_DOTA_TINKER_REARM3
| MODIFIER_STATE_LAST
| 1557
| 34
|  
|  
|}
==== quest_text_replace_values_t ====
{| class="standard-table" style="width: 50%;"
! Name
! Value
! Description
|-
|-
| ACT_TINY_AVALANCHE
| QUEST_TEXT_REPLACE_VALUE_CURRENT_VALUE
| 1558
| 0
|  
|  
|-
|-
| ACT_TINY_TOSS
| QUEST_TEXT_REPLACE_VALUE_TARGET_VALUE
| 1559
| 1
|  
|  
|-
|-
| ACT_TINY_GROWL
| QUEST_TEXT_REPLACE_VALUE_ROUND
| 1560
| 2
|  
|  
|-
|-
| ACT_DOTA_WEAVERBUG_ATTACH
| QUEST_TEXT_REPLACE_VALUE_REWARD
| 1561
| 3
|  
|  
|-
|-
| ACT_DOTA_CAST_WILD_AXES_END
| QUEST_NUM_TEXT_REPLACE_VALUES
| 1562
| 4
|  
|  
|}
==== Find Types ====
{| class="standard-table" style="width: 50%;"
! Name
! Value
! Description
|-
|-
| ACT_DOTA_CAST_LIFE_BREAK_START
| FIND_UNITS_EVERYWHERE
| 1563
| -1
|  
| Find units in the whole map.
|-
|-
| ACT_DOTA_CAST_LIFE_BREAK_END
| FIND_ANY_ORDER
| 1564
| 0
|  
| Random the order units are found.
|-
|-
| ACT_DOTA_NIGHTSTALKER_TRANSITION
| FIND_CLOSEST
| 1565
| 1
|  
| Find units from the closest to the source to the farthest.
|-
|-
| ACT_DOTA_LIFESTEALER_RAGE
| FIND_FARTHEST
| 1566
| 2
| Find units from the farthest to the source to the farthest.
|}
 
==== subquest_text_replace_values_t ====
{| class="standard-table" style="width: 50%;"
! Name
! Value
! Description
|-
| SUBQUEST_TEXT_REPLACE_VALUE_CURRENT_VALUE
| 0
|  
|  
|-
|-
| ACT_DOTA_LIFESTEALER_OPEN_WOUNDS
| SUBQUEST_TEXT_REPLACE_VALUE_TARGET_VALUE
| 1567
| 1
|  
|  
|-
|-
| ACT_DOTA_SAND_KING_BURROW_IN
| SUBQUEST_NUM_TEXT_REPLACE_VALUES
| 1568
| 2
|  
|  
|}
==== DOTAScriptInventorySlot_t ====
{| class="standard-table" style="width: 50%;"
! Name
! Value
! Description
|-
|-
| ACT_DOTA_SAND_KING_BURROW_OUT
| DOTA_ITEM_SLOT_1
| 1569
| 0
|  
|  
|-
|-
| ACT_DOTA_EARTHSHAKER_TOTEM_ATTACK
| DOTA_ITEM_SLOT_2
| 1570
| 1
|  
|  
|-
|-
| ACT_DOTA_WHEEL_LAYER
| DOTA_ITEM_SLOT_3
| 1571
| 2
|  
|  
|-
|-
| ACT_DOTA_ALCHEMIST_CHEMICAL_RAGE_START
| DOTA_ITEM_SLOT_4
| 1572
| 3
|  
|  
|-
|-
| ACT_DOTA_ALCHEMIST_CONCOCTION
| DOTA_ITEM_SLOT_5
| 1573
| 4
|  
|  
|-
|-
| ACT_DOTA_JAKIRO_LIQUIDFIRE_START
| DOTA_ITEM_SLOT_6
| 1574
| 5
|  
|  
|-
|-
| ACT_DOTA_JAKIRO_LIQUIDFIRE_LOOP
| DOTA_ITEM_SLOT_7
| 1575
| 6
|  
| Backpack slot 1
|-
| DOTA_ITEM_SLOT_8
| 7
| Backpack slot 2
|-
| DOTA_ITEM_SLOT_9
| 8
| Backpack slot 3
|-
|-
| ACT_DOTA_LIFESTEALER_INFEST
| DOTA_STASH_SLOT_1
| 1576
| 9
|  
|  
|-
|-
| ACT_DOTA_LIFESTEALER_INFEST_END
| DOTA_STASH_SLOT_2
| 1577
| 10
|  
|  
|-
|-
| ACT_DOTA_LASSO_LOOP
| DOTA_STASH_SLOT_3
| 1578
| 11
|  
|  
|-
|-
| ACT_DOTA_ALCHEMIST_CONCOCTION_THROW
| DOTA_STASH_SLOT_4
| 1579
| 12
|  
|  
|-
|-
| ACT_DOTA_ALCHEMIST_CHEMICAL_RAGE_END
| DOTA_STASH_SLOT_5
| 1580
| 13
|  
|  
|-
|-
| ACT_DOTA_CAST_COLD_SNAP
| DOTA_STASH_SLOT_6
| 1581
| 14
|  
|  
|-
|-
| ACT_DOTA_CAST_GHOST_WALK
| DOTA_ITEM_TP_SCROLL
| 1582
| 15
|  
|  
|-
|-
| ACT_DOTA_CAST_TORNADO
| DOTA_ITEM_NEUTRAL_SLOT
| 1583
| 16
|  
|  
|-
|-
| ACT_DOTA_CAST_EMP
| DOTA_ITEM_TRANSIENT_ITEM
| 1584
| 17
|  
|  
|-
|-
| ACT_DOTA_CAST_ALACRITY
| DOTA_ITEM_TRANSIENT_RECIPE
| 1585
| 18
|  
|  
|-
|-
| ACT_DOTA_CAST_CHAOS_METEOR
| DOTA_ITEM_TRANSIENT_CAST_ITEM
| 1586
| 20
|  
|  
|}
==== DOTA_GameState ====
{| class="standard-table" style="width: 50%;"
! Name
! Value
! Description
|-
|-
| ACT_DOTA_CAST_SUN_STRIKE
| DOTA_GAMERULES_STATE_INIT
| 1587
| 0
|  
|  
|-
|-
| ACT_DOTA_CAST_FORGE_SPIRIT
| DOTA_GAMERULES_STATE_WAIT_FOR_PLAYERS_TO_LOAD
| 1588
| 1
|  
|  
|-
|-
| ACT_DOTA_CAST_ICE_WALL
| DOTA_GAMERULES_STATE_CUSTOM_GAME_SETUP
| 1589
| 2
|  
|  
|-
|-
| ACT_DOTA_CAST_DEAFENING_BLAST
| DOTA_GAMERULES_STATE_HERO_SELECTION
| 1590
| 3
|  
|  
|-
|-
| ACT_DOTA_VICTORY
| DOTA_GAMERULES_STATE_STRATEGY_TIME
| 1591
| 4
|  
|  
|-
|-
| ACT_DOTA_DEFEAT
| DOTA_GAMERULES_STATE_TEAM_SHOWCASE
| 1592
| 5
|  
|  
|-
|-
| ACT_DOTA_SPIRIT_BREAKER_CHARGE_POSE
| DOTA_GAMERULES_STATE_PRE_GAME
| 1593
| 6
|  
|  
|-
|-
| ACT_DOTA_SPIRIT_BREAKER_CHARGE_END
| DOTA_GAMERULES_STATE_GAME_IN_PROGRESS
| 1594
| 7
|  
|  
|-
|-
| ACT_DOTA_TELEPORT
| DOTA_GAMERULES_STATE_POST_GAME
| 1595
| 8
|  
|  
|-
|-
| ACT_DOTA_TELEPORT_END
| DOTA_GAMERULES_STATE_DISCONNECT
| 1596
| 9
|  
|  
|}
==== DOTALimits_t ====
{| class="standard-table" style="width: 50%;"
! Name
! Value
! Description
|-
|-
| ACT_DOTA_CAST_REFRACTION
| DOTA_DEFAULT_MAX_TEAM
| 1597
| 5
|  
| Default number of players per team.
|-
|-
| ACT_DOTA_CAST_ABILITY_7
| DOTA_DEFAULT_MAX_TEAM_PLAYERS
| 1598
| 10
|  
| Default number of non-spectator players supported.
|-
|-
| ACT_DOTA_CANCEL_SIREN_SONG
| DOTA_MAX_PLAYER_TEAMS
| 1599
| 10
|  
| Max number of player teams supported.
|-
|-
| ACT_DOTA_CHANNEL_ABILITY_7
| DOTA_MAX_TEAM
| 1600
| 24
|  
| Max number of players per team.
|-
|-
| ACT_DOTA_LOADOUT
| DOTA_MAX_TEAM_PLAYERS
| 1601
| 24
|  
| Max number of non-spectator players supported.
|-
|-
| ACT_DOTA_FORCESTAFF_END
| DOTA_MAX_SPECTATOR_TEAM_SIZE
| 1602
| 40
|  
| How many spectators can watch.
|-
|-
| ACT_DOTA_POOF_END
| DOTA_MAX_PLAYERS
| 1603
| 64
|  
| Max number of players connected to the server including spectators.
|}
 
==== GameActivity_t ====
{| class="standard-table" style="width: 50%;"
! Name
! Value
! Description
|-
|-
| ACT_DOTA_SLARK_POUNCE
| ACT_DOTA_IDLE
| 1604
| 1500
|  
|  
|-
|-
| ACT_DOTA_MAGNUS_SKEWER_START
| ACT_DOTA_IDLE_RARE
| 1605
| 1501
|  
|  
|-
|-
| ACT_DOTA_MAGNUS_SKEWER_END
| ACT_DOTA_RUN
| 1606
| 1502
|  
|  
|-
|-
| ACT_DOTA_MEDUSA_STONE_GAZE
| ACT_DOTA_ATTACK
| 1607
| 1503
|  
|  
|-
|-
| ACT_DOTA_RELAX_START
| ACT_DOTA_ATTACK2
| 1608
| 1504
|  
|  
|-
|-
| ACT_DOTA_RELAX_LOOP
| ACT_DOTA_ATTACK_EVENT
| 1609
| 1505
|  
|  
|-
|-
| ACT_DOTA_RELAX_END
| ACT_DOTA_DIE
| 1610
| 1506
|  
|  
|-
|-
| ACT_DOTA_CENTAUR_STAMPEDE
| ACT_DOTA_FLINCH
| 1611
| 1507
|  
|  
|-
|-
| ACT_DOTA_BELLYACHE_START
| ACT_DOTA_FLAIL
| 1612
| 1508
|  
|  
|-
|-
| ACT_DOTA_BELLYACHE_LOOP
| ACT_DOTA_DISABLED
| 1613
| 1509
|  
|  
|-
|-
| ACT_DOTA_BELLYACHE_END
| ACT_DOTA_CAST_ABILITY_1
| 1614
| 1510
|  
|  
|-
|-
| ACT_DOTA_ROQUELAIRE_LAND
| ACT_DOTA_CAST_ABILITY_2
| 1615
| 1511
|  
|  
|-
|-
| ACT_DOTA_ROQUELAIRE_LAND_IDLE
| ACT_DOTA_CAST_ABILITY_3
| 1616
| 1512
|  
|  
|-
|-
| ACT_DOTA_GREEVIL_CAST
| ACT_DOTA_CAST_ABILITY_4
| 1617
| 1513
|  
|  
|-
|-
| ACT_DOTA_GREEVIL_OVERRIDE_ABILITY
| ACT_DOTA_CAST_ABILITY_5
| 1618
| 1514
|  
|  
|-
|-
| ACT_DOTA_GREEVIL_HOOK_START
| ACT_DOTA_CAST_ABILITY_6
| 1619
| 1515
|  
|  
|-
|-
| ACT_DOTA_GREEVIL_HOOK_END
| ACT_DOTA_OVERRIDE_ABILITY_1
| 1620
| 1516
|  
|  
|-
|-
| ACT_DOTA_GREEVIL_BLINK_BONE
| ACT_DOTA_OVERRIDE_ABILITY_2
| 1621
| 1517
|  
|  
|-
|-
| ACT_DOTA_IDLE_SLEEPING
| ACT_DOTA_OVERRIDE_ABILITY_3
| 1622
| 1518
|  
|  
|-
|-
| ACT_DOTA_INTRO
| ACT_DOTA_OVERRIDE_ABILITY_4
| 1623
| 1519
|  
|  
|-
|-
| ACT_DOTA_GESTURE_POINT
| ACT_DOTA_CHANNEL_ABILITY_1
| 1624
| 1520
|  
|  
|-
|-
| ACT_DOTA_GESTURE_ACCENT
| ACT_DOTA_CHANNEL_ABILITY_2
| 1625
| 1521
|  
|  
|-
|-
| ACT_DOTA_SLEEPING_END
| ACT_DOTA_CHANNEL_ABILITY_3
| 1626
| 1522
|  
|  
|-
|-
| ACT_DOTA_AMBUSH
| ACT_DOTA_CHANNEL_ABILITY_4
| 1627
| 1523
|  
|  
|-
|-
| ACT_DOTA_ITEM_LOOK
| ACT_DOTA_CHANNEL_ABILITY_5
| 1628
| 1524
|  
|  
|-
|-
| ACT_DOTA_STARTLE
| ACT_DOTA_CHANNEL_ABILITY_6
| 1629
| 1525
|  
|  
|-
|-
| ACT_DOTA_FRUSTRATION
| ACT_DOTA_CHANNEL_END_ABILITY_1
| 1630
| 1526
|  
|  
|-
|-
| ACT_DOTA_TELEPORT_REACT
| ACT_DOTA_CHANNEL_END_ABILITY_2
| 1631
| 1527
|  
|  
|-
|-
| ACT_DOTA_TELEPORT_END_REACT
| ACT_DOTA_CHANNEL_END_ABILITY_3
| 1632
| 1528
|  
|  
|-
|-
| ACT_DOTA_SHRUG
| ACT_DOTA_CHANNEL_END_ABILITY_4
| 1633
| 1529
|  
|  
|-
|-
| ACT_DOTA_RELAX_LOOP_END
| ACT_DOTA_CHANNEL_END_ABILITY_5
| 1634
| 1530
|  
|  
|-
|-
| ACT_DOTA_PRESENT_ITEM
| ACT_DOTA_CHANNEL_END_ABILITY_6
| 1635
| 1531
|  
|  
|-
|-
| ACT_DOTA_IDLE_IMPATIENT
| ACT_DOTA_CONSTANT_LAYER
| 1636
| 1532
|  
|  
|-
|-
| ACT_DOTA_SHARPEN_WEAPON
| ACT_DOTA_CAPTURE
| 1637
| 1533
|  
|  
|-
|-
| ACT_DOTA_SHARPEN_WEAPON_OUT
| ACT_DOTA_SPAWN
| 1638
| 1534
|  
|  
|-
|-
| ACT_DOTA_IDLE_SLEEPING_END
| ACT_DOTA_KILLTAUNT
| 1639
| 1535
|  
|  
|-
|-
| ACT_DOTA_BRIDGE_DESTROY
| ACT_DOTA_TAUNT
| 1640
| 1536
|  
|  
|-
|-
| ACT_DOTA_TAUNT_SNIPER
| ACT_DOTA_THIRST
| 1641
| 1537
|  
|  
|-
|-
| ACT_DOTA_DEATH_BY_SNIPER
| ACT_DOTA_CAST_DRAGONBREATH
| 1642
| 1538
|  
|  
|-
|-
| ACT_DOTA_LOOK_AROUND
| ACT_DOTA_ECHO_SLAM
| 1643
| 1539
|  
|  
|-
|-
| ACT_DOTA_CAGED_CREEP_RAGE
| ACT_DOTA_CAST_ABILITY_1_END
| 1644
| 1540
|  
|  
|-
|-
| ACT_DOTA_CAGED_CREEP_RAGE_OUT
| ACT_DOTA_CAST_ABILITY_2_END
| 1645
| 1541
|  
|  
|-
|-
| ACT_DOTA_CAGED_CREEP_SMASH
| ACT_DOTA_CAST_ABILITY_3_END
| 1646
| 1542
|  
|  
|-
|-
| ACT_DOTA_CAGED_CREEP_SMASH_OUT
| ACT_DOTA_CAST_ABILITY_4_END
| 1647
| 1543
|  
|  
|-
|-
| ACT_DOTA_IDLE_IMPATIENT_SWORD_TAP
| ACT_MIRANA_LEAP_END
| 1648
| 1544
|  
|  
|-
|-
| ACT_DOTA_INTRO_LOOP
| ACT_WAVEFORM_START
| 1649
| 1545
|  
|  
|-
|-
| ACT_DOTA_BRIDGE_THREAT
| ACT_WAVEFORM_END
| 1650
| 1546
|  
|  
|-
|-
| ACT_DOTA_DAGON
| ACT_DOTA_CAST_ABILITY_ROT
| 1651
| 1547
|  
|  
|-
|-
| ACT_DOTA_CAST_ABILITY_2_ES_ROLL_START
| ACT_DOTA_DIE_SPECIAL
| 1652
| 1548
|  
|  
|-
|-
| ACT_DOTA_CAST_ABILITY_2_ES_ROLL
| ACT_DOTA_RATTLETRAP_BATTERYASSAULT
| 1653
| 1549
|  
|  
|-
|-
| ACT_DOTA_CAST_ABILITY_2_ES_ROLL_END
| ACT_DOTA_RATTLETRAP_POWERCOGS
| 1654
| 1550
|  
|  
|-
|-
| ACT_DOTA_NIAN_PIN_START
| ACT_DOTA_RATTLETRAP_HOOKSHOT_START
| 1655
| 1551
|  
|  
|-
|-
| ACT_DOTA_NIAN_PIN_LOOP
| ACT_DOTA_RATTLETRAP_HOOKSHOT_LOOP
| 1656
| 1552
|  
|  
|-
|-
| ACT_DOTA_NIAN_PIN_END
| ACT_DOTA_RATTLETRAP_HOOKSHOT_END
| 1657
| 1553
|  
|  
|-
|-
| ACT_DOTA_LEAP_STUN
| ACT_STORM_SPIRIT_OVERLOAD_RUN_OVERRIDE
| 1658
| 1554
|  
|  
|-
|-
| ACT_DOTA_LEAP_SWIPE
| ACT_DOTA_TINKER_REARM1
| 1659
| 1555
|  
|  
|-
|-
| ACT_DOTA_NIAN_INTRO_LEAP
| ACT_DOTA_TINKER_REARM2
| 1660
| 1556
|  
|  
|-
|-
| ACT_DOTA_AREA_DENY
| ACT_DOTA_TINKER_REARM3
| 1661
| 1557
|  
|  
|-
|-
| ACT_DOTA_NIAN_PIN_TO_STUN
| ACT_TINY_AVALANCHE
| 1662
| 1558
|  
|  
|-
|-
| ACT_DOTA_RAZE_1
| ACT_TINY_TOSS
| 1663
| 1559
|  
|  
|-
|-
| ACT_DOTA_RAZE_2
| ACT_TINY_GROWL
| 1664
| 1560
|  
|  
|-
|-
| ACT_DOTA_RAZE_3
| ACT_DOTA_WEAVERBUG_ATTACH
| 1665
| 1561
|  
|  
|-
|-
| ACT_DOTA_UNDYING_DECAY
| ACT_DOTA_CAST_WILD_AXES_END
| 1666
| 1562
|  
|  
|-
|-
| ACT_DOTA_UNDYING_SOUL_RIP
| ACT_DOTA_CAST_LIFE_BREAK_START
| 1667
| 1563
|  
|  
|-
|-
| ACT_DOTA_UNDYING_TOMBSTONE
| ACT_DOTA_CAST_LIFE_BREAK_END
| 1668
| 1564
|  
|  
|-
|-
| ACT_DOTA_WHIRLING_AXES_RANGED
| ACT_DOTA_NIGHTSTALKER_TRANSITION
| 1669
| 1565
|  
|  
|-
|-
| ACT_DOTA_SHALLOW_GRAVE
| ACT_DOTA_LIFESTEALER_RAGE
| 1670
| 1566
|  
|  
|-
|-
| ACT_DOTA_COLD_FEET
| ACT_DOTA_LIFESTEALER_OPEN_WOUNDS
| 1671
| 1567
|  
|  
|-
|-
| ACT_DOTA_ICE_VORTEX
| ACT_DOTA_SAND_KING_BURROW_IN
| 1672
| 1568
|  
|  
|-
|-
| ACT_DOTA_CHILLING_TOUCH
| ACT_DOTA_SAND_KING_BURROW_OUT
| 1673
| 1569
|  
|  
|-
|-
| ACT_DOTA_ENFEEBLE
| ACT_DOTA_EARTHSHAKER_TOTEM_ATTACK
| 1674
| 1570
|  
|  
|-
|-
| ACT_DOTA_FATAL_BONDS
| ACT_DOTA_WHEEL_LAYER
| 1675
| 1571
|  
|  
|-
|-
| ACT_DOTA_MIDNIGHT_PULSE
| ACT_DOTA_ALCHEMIST_CHEMICAL_RAGE_START
| 1676
| 1572
|  
|  
|-
|-
| ACT_DOTA_ANCESTRAL_SPIRIT
| ACT_DOTA_ALCHEMIST_CONCOCTION
| 1677
| 1573
|  
|  
|-
|-
| ACT_DOTA_THUNDER_STRIKE
| ACT_DOTA_JAKIRO_LIQUIDFIRE_START
| 1678
| 1574
|  
|  
|-
|-
| ACT_DOTA_KINETIC_FIELD
| ACT_DOTA_JAKIRO_LIQUIDFIRE_LOOP
| 1679
| 1575
|  
|  
|-
|-
| ACT_DOTA_STATIC_STORM
| ACT_DOTA_LIFESTEALER_INFEST
| 1680
| 1576
|  
|  
|-
|-
| ACT_DOTA_MINI_TAUNT
| ACT_DOTA_LIFESTEALER_INFEST_END
| 1681
| 1577
|  
|  
|-
|-
| ACT_DOTA_ARCTIC_BURN_END
| ACT_DOTA_LASSO_LOOP
| 1682
| 1578
|  
|  
|-
|-
| ACT_DOTA_LOADOUT_RARE
| ACT_DOTA_ALCHEMIST_CONCOCTION_THROW
| 1683
| 1579
|  
|  
|-
|-
| ACT_DOTA_SWIM
| ACT_DOTA_ALCHEMIST_CHEMICAL_RAGE_END
| 1684
| 1580
|  
|  
|-
|-
| ACT_DOTA_FLEE
| ACT_DOTA_CAST_COLD_SNAP
| 1685
| 1581
|  
|  
|-
|-
| ACT_DOTA_TROT
| ACT_DOTA_CAST_GHOST_WALK
| 1686
| 1582
|  
|  
|-
|-
| ACT_DOTA_SHAKE
| ACT_DOTA_CAST_TORNADO
| 1687
| 1583
|  
|  
|-
|-
| ACT_DOTA_SWIM_IDLE
| ACT_DOTA_CAST_EMP
| 1688
| 1584
|  
|  
|-
|-
| ACT_DOTA_WAIT_IDLE
| ACT_DOTA_CAST_ALACRITY
| 1689
| 1585
|  
|  
|-
|-
| ACT_DOTA_GREET
| ACT_DOTA_CAST_CHAOS_METEOR
| 1690
| 1586
|  
|  
|-
|-
| ACT_DOTA_TELEPORT_COOP_START
| ACT_DOTA_CAST_SUN_STRIKE
| 1691
| 1587
|  
|  
|-
|-
| ACT_DOTA_TELEPORT_COOP_WAIT
| ACT_DOTA_CAST_FORGE_SPIRIT
| 1692
| 1588
|  
|  
|-
|-
| ACT_DOTA_TELEPORT_COOP_END
| ACT_DOTA_CAST_ICE_WALL
| 1693
| 1589
|  
|  
|-
|-
| ACT_DOTA_TELEPORT_COOP_EXIT
| ACT_DOTA_CAST_DEAFENING_BLAST
| 1694
| 1590
|  
|  
|-
|-
| ACT_DOTA_SHOPKEEPER_PET_INTERACT
| ACT_DOTA_VICTORY
| 1695
| 1591
|  
|  
|-
|-
| ACT_DOTA_ITEM_PICKUP
| ACT_DOTA_DEFEAT
| 1696
| 1592
|  
|  
|-
|-
| ACT_DOTA_ITEM_DROP
| ACT_DOTA_SPIRIT_BREAKER_CHARGE_POSE
| 1697
| 1593
|  
|  
|-
|-
| ACT_DOTA_CAPTURE_PET
| ACT_DOTA_SPIRIT_BREAKER_CHARGE_END
| 1698
| 1594
|  
|  
|-
|-
| ACT_DOTA_PET_WARD_OBSERVER
| ACT_DOTA_TELEPORT
| 1699
| 1595
|  
|  
|-
|-
| ACT_DOTA_PET_WARD_SENTRY
| ACT_DOTA_TELEPORT_END
| 1700
| 1596
|
|-
| ACT_DOTA_CAST_REFRACTION
| 1597
|
|-
| ACT_DOTA_CAST_ABILITY_7
| 1598
|
|-
| ACT_DOTA_CANCEL_SIREN_SONG
| 1599
|
|-
| ACT_DOTA_CHANNEL_ABILITY_7
| 1600
|
|-
| ACT_DOTA_LOADOUT
| 1601
|  
|  
|-
|-
| ACT_DOTA_PET_LEVEL
| ACT_DOTA_FORCESTAFF_END
| 1701
| 1602
|  
|  
|-
|-
| ACT_DOTA_CAST_BURROW_END
| ACT_DOTA_POOF_END
| 1702
| 1603
|  
|  
|-
|-
| ACT_DOTA_LIFESTEALER_ASSIMILATE
| ACT_DOTA_SLARK_POUNCE
| 1703
| 1604
|  
|  
|-
|-
| ACT_DOTA_LIFESTEALER_EJECT
| ACT_DOTA_MAGNUS_SKEWER_START
| 1704
| 1605
|  
|  
|-
|-
| ACT_DOTA_ATTACK_EVENT_BASH
| ACT_DOTA_MAGNUS_SKEWER_END
| 1705
| 1606
|  
|  
|-
|-
| ACT_DOTA_CAPTURE_RARE
| ACT_DOTA_MEDUSA_STONE_GAZE
| 1706
| 1607
|
|-
| ACT_DOTA_RELAX_START
| 1608
|
|-
| ACT_DOTA_RELAX_LOOP
| 1609
|
|-
| ACT_DOTA_RELAX_END
| 1610
|
|-
| ACT_DOTA_CENTAUR_STAMPEDE
| 1611
|
|-
| ACT_DOTA_BELLYACHE_START
| 1612
|
|-
| ACT_DOTA_BELLYACHE_LOOP
| 1613
|
|-
| ACT_DOTA_BELLYACHE_END
| 1614
|
|-
| ACT_DOTA_ROQUELAIRE_LAND
| 1615
|
|-
| ACT_DOTA_ROQUELAIRE_LAND_IDLE
| 1616
|
|-
| ACT_DOTA_GREEVIL_CAST
| 1617
|
|-
| ACT_DOTA_GREEVIL_OVERRIDE_ABILITY
| 1618
|
|-
| ACT_DOTA_GREEVIL_HOOK_START
| 1619
|
|-
| ACT_DOTA_GREEVIL_HOOK_END
| 1620
|
|-
| ACT_DOTA_GREEVIL_BLINK_BONE
| 1621
|
|-
| ACT_DOTA_IDLE_SLEEPING
| 1622
|
|-
| ACT_DOTA_INTRO
| 1623
|
|-
| ACT_DOTA_GESTURE_POINT
| 1624
|
|-
| ACT_DOTA_GESTURE_ACCENT
| 1625
|
|-
| ACT_DOTA_SLEEPING_END
| 1626
|
|-
| ACT_DOTA_AMBUSH
| 1627
|
|-
| ACT_DOTA_ITEM_LOOK
| 1628
|
|-
| ACT_DOTA_STARTLE
| 1629
|
|-
| ACT_DOTA_FRUSTRATION
| 1630
|
|-
| ACT_DOTA_TELEPORT_REACT
| 1631
|
|-
| ACT_DOTA_TELEPORT_END_REACT
| 1632
|
|-
| ACT_DOTA_SHRUG
| 1633
|
|-
| ACT_DOTA_RELAX_LOOP_END
| 1634
|
|-
| ACT_DOTA_PRESENT_ITEM
| 1635
|
|-
| ACT_DOTA_IDLE_IMPATIENT
| 1636
|
|-
| ACT_DOTA_SHARPEN_WEAPON
| 1637
|
|-
| ACT_DOTA_SHARPEN_WEAPON_OUT
| 1638
|
|-
| ACT_DOTA_IDLE_SLEEPING_END
| 1639
|
|-
| ACT_DOTA_BRIDGE_DESTROY
| 1640
|
|-
| ACT_DOTA_TAUNT_SNIPER
| 1641
|
|-
| ACT_DOTA_DEATH_BY_SNIPER
| 1642
|
|-
| ACT_DOTA_LOOK_AROUND
| 1643
|
|-
| ACT_DOTA_CAGED_CREEP_RAGE
| 1644
|
|-
| ACT_DOTA_CAGED_CREEP_RAGE_OUT
| 1645
|
|-
| ACT_DOTA_CAGED_CREEP_SMASH
| 1646
|
|-
| ACT_DOTA_CAGED_CREEP_SMASH_OUT
| 1647
|
|-
| ACT_DOTA_IDLE_IMPATIENT_SWORD_TAP
| 1648
|
|-
| ACT_DOTA_INTRO_LOOP
| 1649
|
|-
| ACT_DOTA_BRIDGE_THREAT
| 1650
|
|-
| ACT_DOTA_DAGON
| 1651
|
|-
| ACT_DOTA_CAST_ABILITY_2_ES_ROLL_START
| 1652
|
|-
| ACT_DOTA_CAST_ABILITY_2_ES_ROLL
| 1653
|
|-
| ACT_DOTA_CAST_ABILITY_2_ES_ROLL_END
| 1654
|
|-
| ACT_DOTA_NIAN_PIN_START
| 1655
|
|-
| ACT_DOTA_NIAN_PIN_LOOP
| 1656
|
|-
| ACT_DOTA_NIAN_PIN_END
| 1657
|
|-
| ACT_DOTA_LEAP_STUN
| 1658
|
|-
| ACT_DOTA_LEAP_SWIPE
| 1659
|
|-
| ACT_DOTA_NIAN_INTRO_LEAP
| 1660
|
|-
| ACT_DOTA_AREA_DENY
| 1661
|
|-
| ACT_DOTA_NIAN_PIN_TO_STUN
| 1662
|
|-
| ACT_DOTA_RAZE_1
| 1663
|
|-
| ACT_DOTA_RAZE_2
| 1664
|
|-
| ACT_DOTA_RAZE_3
| 1665
|
|-
| ACT_DOTA_UNDYING_DECAY
| 1666
|
|-
| ACT_DOTA_UNDYING_SOUL_RIP
| 1667
|
|-
| ACT_DOTA_UNDYING_TOMBSTONE
| 1668
|
|-
| ACT_DOTA_WHIRLING_AXES_RANGED
| 1669
|
|-
| ACT_DOTA_SHALLOW_GRAVE
| 1670
|
|-
| ACT_DOTA_COLD_FEET
| 1671
|
|-
| ACT_DOTA_ICE_VORTEX
| 1672
|
|-
| ACT_DOTA_CHILLING_TOUCH
| 1673
|
|-
| ACT_DOTA_ENFEEBLE
| 1674
|
|-
| ACT_DOTA_FATAL_BONDS
| 1675
|
|-
| ACT_DOTA_MIDNIGHT_PULSE
| 1676
|
|-
| ACT_DOTA_ANCESTRAL_SPIRIT
| 1677
|
|-
| ACT_DOTA_THUNDER_STRIKE
| 1678
|
|-
| ACT_DOTA_KINETIC_FIELD
| 1679
|
|-
| ACT_DOTA_STATIC_STORM
| 1680
|
|-
| ACT_DOTA_MINI_TAUNT
| 1681
|
|-
| ACT_DOTA_ARCTIC_BURN_END
| 1682
|
|-
| ACT_DOTA_LOADOUT_RARE
| 1683
|
|-
| ACT_DOTA_SWIM
| 1684
|
|-
| ACT_DOTA_FLEE
| 1685
|
|-
| ACT_DOTA_TROT
| 1686
|
|-
| ACT_DOTA_SHAKE
| 1687
|
|-
| ACT_DOTA_SWIM_IDLE
| 1688
|
|-
| ACT_DOTA_WAIT_IDLE
| 1689
|
|-
| ACT_DOTA_GREET
| 1690
|
|-
| ACT_DOTA_TELEPORT_COOP_START
| 1691
|
|-
| ACT_DOTA_TELEPORT_COOP_WAIT
| 1692
|
|-
| ACT_DOTA_TELEPORT_COOP_END
| 1693
|
|-
| ACT_DOTA_TELEPORT_COOP_EXIT
| 1694
|
|-
| ACT_DOTA_SHOPKEEPER_PET_INTERACT
| 1695
|
|-
| ACT_DOTA_ITEM_PICKUP
| 1696
|
|-
| ACT_DOTA_ITEM_DROP
| 1697
|
|-
| ACT_DOTA_CAPTURE_PET
| 1698
|
|-
| ACT_DOTA_PET_WARD_OBSERVER
| 1699
|
|-
| ACT_DOTA_PET_WARD_SENTRY
| 1700
|
|-
| ACT_DOTA_PET_LEVEL
| 1701
|
|-
| ACT_DOTA_CAST_BURROW_END
| 1702
|
|-
| ACT_DOTA_LIFESTEALER_ASSIMILATE
| 1703
|
|-
| ACT_DOTA_LIFESTEALER_EJECT
| 1704
|
|-
| ACT_DOTA_ATTACK_EVENT_BASH
| 1705
|
|-
| ACT_DOTA_CAPTURE_RARE
| 1706
|
|-
| ACT_DOTA_AW_MAGNETIC_FIELD
| 1707
|
|-
| ACT_DOTA_CAST_GHOST_SHIP
| 1708
|  
|  
|}
|}
==== modifierfunction ====
{| class="standard-table" style="width: 100%;"
! Name
! Value
! Lua function
! Description
|-
| MODIFIER_PROPERTY_PREATTACK_BONUS_DAMAGE
| 0
| GetModifierPreAttack_BonusDamage
|
|-
| MODIFIER_PROPERTY_PREATTACK_BONUS_DAMAGE_PROC
| 1
| GetModifierPreAttack_BonusDamage_Proc
|
|-
| MODIFIER_PROPERTY_PREATTACK_BONUS_DAMAGE_POST_CRIT
| 2
| GetModifierPreAttack_BonusDamagePostCrit
|
|-
| MODIFIER_PROPERTY_BASEATTACK_BONUSDAMAGE
| 3
| GetModifierBaseAttack_BonusDamage
|
|-
| MODIFIER_PROPERTY_PROCATTACK_BONUS_DAMAGE_PHYSICAL
| 4
| GetModifierProcAttack_BonusDamage_Physical
|
|-
| MODIFIER_PROPERTY_PROCATTACK_BONUS_DAMAGE_MAGICAL
| 5
| GetModifierProcAttack_BonusDamage_Magical
|
|-
| MODIFIER_PROPERTY_PROCATTACK_BONUS_DAMAGE_PURE
| 6
| GetModifierProcAttack_BonusDamage_Pure
|
|-
| MODIFIER_PROPERTY_PROCATTACK_FEEDBACK
| 7
| GetModifierProcAttack_Feedback
|
|-
| MODIFIER_PROPERTY_PRE_ATTACK
| 8
| GetModifierPreAttack
|
|-
| MODIFIER_PROPERTY_INVISIBILITY_LEVEL
| 9
| GetModifierInvisibilityLevel
| Generates a level of opacity on the parent.
|-
| MODIFIER_PROPERTY_PERSISTENT_INVISIBILITY
| 10
| GetModifierPersistentInvisibility
|
|-
| MODIFIER_PROPERTY_MOVESPEED_BONUS_CONSTANT
| 11
| GetModifierMoveSpeedBonus_Constant
| Increases the move speed of the parent by a constant returned to it. Can get negative values.
|-
| MODIFIER_PROPERTY_MOVESPEED_BASE_OVERRIDE
| 12
| GetModifierMoveSpeedOverride
| changes the base move speed of the parent by a value returned to it. Minimum of 100 move speed.
|-
| MODIFIER_PROPERTY_MOVESPEED_BONUS_PERCENTAGE
| 13
| GetModifierMoveSpeedBonus_Percentage
| Increases the move speed of the parent by a percentage returned to it. Can get negative values.
|-
| MODIFIER_PROPERTY_MOVESPEED_BONUS_PERCENTAGE_UNIQUE
| 14
| GetModifierMoveSpeedBonus_Percentage_Unique
|
|-
| MODIFIER_PROPERTY_MOVESPEED_BONUS_PERCENTAGE_UNIQUE_2
| 15
| GetModifierMoveSpeedBonus_Percentage_Unique_2
|
|-
| MODIFIER_PROPERTY_MOVESPEED_BONUS_UNIQUE
| 16
| GetModifierMoveSpeedBonus_Special_Boots
|
|-
| MODIFIER_PROPERTY_MOVESPEED_BONUS_UNIQUE_2
| 17
| GetModifierMoveSpeedBonus_Special_Boots_2
|
|-
| MODIFIER_PROPERTY_MOVESPEED_ABSOLUTE
| 18
| GetModifierMoveSpeed_Absolute
| Sets the move speed of the parent to a value. Nothing can increase or decrease move speed.
|-
| MODIFIER_PROPERTY_MOVESPEED_ABSOLUTE_MIN
| 19
| GetModifierMoveSpeed_AbsoluteMin
| Sets the move speed of the parent to a minimum value. Nothing can decrease move speed below the chosen value.
|-
| MODIFIER_PROPERTY_MOVESPEED_LIMIT
| 20
| GetModifierMoveSpeed_Limit
| Sets the move speed limit of the parent.
|-
| MODIFIER_PROPERTY_MOVESPEED_MAX
| 21
| GetModifierMoveSpeed_Max
|
|-
| MODIFIER_PROPERTY_ATTACKSPEED_BASE_OVERRIDE
| 22
| GetModifierAttackSpeedBaseOverride
|
|-
| MODIFIER_PROPERTY_FIXED_ATTACK_RATE
| 23
| GetModifierAttackSpeedBaseOverride
|
|-
| MODIFIER_PROPERTY_ATTACKSPEED_BONUS_CONSTANT
| 24
| GetModifierAttackSpeedBonus_Constant
| Increases the attack speed of the parent by a constant returned to it. Can return negative values.
|-
| MODIFIER_PROPERTY_COOLDOWN_REDUCTION_CONSTANT
| 25
| GetModifierCooldownReduction_Constant
| Reduces the cooldown of all skills and items of the parent by a constant returned to it. Can get negative values to increase cooldowns instead.
|-
| MODIFIER_PROPERTY_BASE_ATTACK_TIME_CONSTANT
| 26
| GetModifierBaseAttackTimeConstant
| Decreases the base attack time of the parent by a constant returned to it. Can return negative values.
|-
| MODIFIER_PROPERTY_ATTACK_POINT_CONSTANT
| 27
| GetModifierAttackPointConstant
|
|-
| MODIFIER_PROPERTY_DAMAGEOUTGOING_PERCENTAGE
| 28
| GetModifierDamageOutgoing_Percentage
| Increases the raw damage that the parent deals by a percentage returned to it. Can return negative values.
|-
| MODIFIER_PROPERTY_DAMAGEOUTGOING_PERCENTAGE_ILLUSION
| 29
| GetModifierDamageOutgoing_Percentage_Illusion
|
|-
| MODIFIER_PROPERTY_TOTALDAMAGEOUTGOING_PERCENTAGE
| 30
| GetModifierTotalDamageOutgoing_Percentage
| Increases the damage of all sources that the parent deals by a percentage returned to it. Can return negative values.
|-
| MODIFIER_PROPERTY_SPELL_AMPLIFY_PERCENTAGE
| 31
| GetModifierSpellAmplify_Percentage
|
|-
| MODIFIER_PROPERTY_HP_REGEN_AMPLIFY_PERCENTAGE
| 32
| GetModifierHPRegenAmplify_Percentage
| Increases health regen and heal gained by parent by a percentage returned to it. Can return negative values.
|-
| MODIFIER_PROPERTY_MAGICDAMAGEOUTGOING_PERCENTAGE
| 33
| GetModifierMagicDamageOutgoing_Percentage
| Increases the magic damage that the parent deals by a percentage returned to it. Can return negative values.
|-
| MODIFIER_PROPERTY_BASEDAMAGEOUTGOING_PERCENTAGE
| 34
| GetModifierBaseDamageOutgoing_Percentage
| Increases the base damage of that the parent deals by a percentage returned to it. Can return negative values.
|-
| MODIFIER_PROPERTY_BASEDAMAGEOUTGOING_PERCENTAGE_UNIQUE
| 35
| GetModifierBaseDamageOutgoing_PercentageUnique
|
|-
| MODIFIER_PROPERTY_INCOMING_DAMAGE_PERCENTAGE
| 36
| GetModifierIncomingDamage_Percentage
| Increases the damage of all sources that the parent takes by a percentage returned to it. Can return negative values.
|-
| MODIFIER_PROPERTY_INCOMING_PHYSICAL_DAMAGE_PERCENTAGE
| 37
| GetModifierIncomingPhysicalDamage_Percentage
| Increases the damage of physical sources that the parent takes by a percentage returned to it. Can return negative values.
|-
| MODIFIER_PROPERTY_INCOMING_PHYSICAL_DAMAGE_CONSTANT
| 38
| GetModifierIncomingPhysicalDamageConstant
|
|-
| MODIFIER_PROPERTY_INCOMING_SPELL_DAMAGE_CONSTANT
| 39
| GetModifierIncomingSpellDamageConstant
| Increases the damage of magical sources that the parent takes by a percentage returned to it. Can return negative values.
|-
| MODIFIER_PROPERTY_EVASION_CONSTANT
| 40
| GetModifierEvasion_Constant
| Increases the evasion of the parent by a constant returned to it. Can return negative values.
|-
| MODIFIER_PROPERTY_NEGATIVE_EVASION_CONSTANT
| 41
| GetModifierNegativeEvasion_Constant
|
|-
| MODIFIER_PROPERTY_AVOID_DAMAGE
| 42
| GetModifierAvoidDamage
|
|-
| MODIFIER_PROPERTY_AVOID_SPELL
| 43
| GetModifierAvoidSpell
|
|-
| MODIFIER_PROPERTY_MISS_PERCENTAGE
| 44
| GetModifierMiss_Percentage
| Increases the chance of the parent to miss by a percentage returned to it. Can return negative values.
|-
| MODIFIER_PROPERTY_PHYSICAL_ARMOR_BONUS
| 45
| GetModifierPhysicalArmorBonus
| Increases the armor of the parent by a constant returned to it. Can return negative values.
|-
| MODIFIER_PROPERTY_PHYSICAL_ARMOR_BONUS_UNIQUE
| 46
| GetModifierPhysicalArmorBonusUnique
|
|-
| MODIFIER_PROPERTY_PHYSICAL_ARMOR_BONUS_UNIQUE_ACTIVE
| 47
| GetModifierPhysicalArmorBonusUniqueActive
|
|-
| MODIFIER_PROPERTY_IGNORE_PHYSICAL_ARMOR
| 48
| GetModifierIgnorePhysicalArmor
|
|-
| MODIFIER_PROPERTY_MAGICAL_RESISTANCE_DIRECT_MODIFICATION
| 49
| GetModifierMagicalResistanceDirectModification
|
|-
| MODIFIER_PROPERTY_MAGICAL_RESISTANCE_BONUS
| 50
| GetModifierMagicalResistanceBonus
| Increases the magical resistance of the parent by a constant returned to it. Can return negative values.
|-
| MODIFIER_PROPERTY_MAGICAL_RESISTANCE_DECREPIFY_UNIQUE
| 51
| GetModifierMagicalResistanceDecrepifyUnique
|
|-
| MODIFIER_PROPERTY_BASE_MANA_REGEN
| 52
| GetModifierBaseManaRegen
| Set the base mana regeneration of the parent by a constant returned to it. Can return negative values.
|-
| MODIFIER_PROPERTY_MANA_REGEN_CONSTANT
| 53
| GetModifierConstantManaRegen
| Increases the mana regeneration of the parent by a constant returned to it. Can return negative values.
|-
| MODIFIER_PROPERTY_MANA_REGEN_CONSTANT_UNIQUE
| 54
| GetModifierConstantManaRegenUnique
|
|-
| MODIFIER_PROPERTY_MANA_REGEN_PERCENTAGE
| 55
| GetModifierPercentageManaRegen
| Increases the mana regeneration of the parent by a percentage returned to it. Can return negative values.
|-
| MODIFIER_PROPERTY_MANA_REGEN_TOTAL_PERCENTAGE
| 56
| GetModifierTotalPercentageManaRegen
| Increases the total mana regeneration of the parent by a percentage returned to it. Can return negative values.
|-
| MODIFIER_PROPERTY_HEALTH_REGEN_CONSTANT
| 57
| GetModifierConstantHealthRegen
| Increases the health regeneration of the parent by a constant returned to it. Can return negative values.
|-
| MODIFIER_PROPERTY_HEALTH_REGEN_PERCENTAGE
| 58
| GetModifierHealthRegenPercentage
| Increases the evasion of the parent by a percentage returned to it. Can return negative values.
|-
| MODIFIER_PROPERTY_HEALTH_BONUS
| 59
| GetModifierHealthBonus
| Increases the maximum health of the parent by a constant returned to it. Can return negative values. Health is scaled to the same percentage as before the increase.
|-
| MODIFIER_PROPERTY_MANA_BONUS
| 60
| GetModifierManaBonus
| Increases the maximum mana of the parent by a constant returned to it. Can return negative values. Mana is scaled to the same percentage as before the increase.
|-
| MODIFIER_PROPERTY_EXTRA_STRENGTH_BONUS
| 61
| GetModifierExtraStrengthBonus
|
|-
| MODIFIER_PROPERTY_EXTRA_HEALTH_BONUS
| 62
| GetModifierExtraHealthBonus
| Increases the maximum health of the parent by a constant returned to it. Can return negative values. Ignores current health.
|-
| MODIFIER_PROPERTY_EXTRA_MANA_BONUS
| 63
| GetModifierExtraManaBonus
| Increases the maximum mana of the parent by a constant returned to it. Can return negative values. Ignores current mana.
|-
| MODIFIER_PROPERTY_EXTRA_HEALTH_PERCENTAGE
| 64
| GetModifierExtraHealthPercentage
| Increases the maximum health of the parent by a percentage returned to it. Can return negative values. Ignores current health.
|-
| MODIFIER_PROPERTY_STATS_STRENGTH_BONUS
| 65
| GetModifierBonusStats_Strength
| Increases the strength stat of the parent by a constant returned to it. Can return negative values.
|-
| MODIFIER_PROPERTY_STATS_AGILITY_BONUS
| 66
| GetModifierBonusStats_Agility
| Increases the agility stat of the parent by a constant returned to it. Can return negative values.
|-
| MODIFIER_PROPERTY_STATS_INTELLECT_BONUS
| 67
| GetModifierBonusStats_Intellect
| Increases the intelligence stat of the parent by a constant returned to it. Can return negative values.
|-
| MODIFIER_PROPERTY_CAST_RANGE_BONUS
| 68
| GetModifierCastRangeBonus
| Increases the cast range of the parent by a constant returned to it. Can return negative values.
|-
| MODIFIER_PROPERTY_CAST_RANGE_BONUS_STACKING
| 69
| GetModifierCastRangeBonusStacking
|
|-
| MODIFIER_PROPERTY_ATTACK_RANGE_BONUS
| 70
| GetModifierAttackRangeBonus
| Increases the attack range of the parent by a constant returned to it. Can return negative values.
|-
| MODIFIER_PROPERTY_ATTACK_RANGE_BONUS_UNIQUE
| 71
| GetModifierAttackRangeBonusUnique
|
|-
| MODIFIER_PROPERTY_MAX_ATTACK_RANGE
| 72
| GetModifierMaxAttackRange
|
|-
| MODIFIER_PROPERTY_PROJECTILE_SPEED_BONUS
| 73
| GetModifierProjectileSpeedBonus
| Increases the projectile speed of attacks sourced by the parent by a constant returned to it. Can return negative values.
|-
| MODIFIER_PROPERTY_REINCARNATION
| 74
| ReincarnateTime
|
|-
| MODIFIER_PROPERTY_RESPAWNTIME
| 75
| GetModifierConstantRespawnTime
| Increases the respawn time of the parent by a constant returned to it. Can return negative values.
|-
| MODIFIER_PROPERTY_RESPAWNTIME_PERCENTAGE
| 76
| GetModifierPercentageRespawnTime
| Increases the respawn time of the parent by a percentage returned to it. Can return negative values.
|-
| MODIFIER_PROPERTY_RESPAWNTIME_STACKING
| 77
| GetModifierStackingRespawnTime
| Increases the respawn time of the parent by a constant returned to it. Can return negative values. Stacks with other modifiers.
|-
| MODIFIER_PROPERTY_COOLDOWN_PERCENTAGE
| 78
| GetModifierPercentageCooldown
| Increases the cooldown of the parent by a percentage returned to it. Can return negative values.
|-
| MODIFIER_PROPERTY_COOLDOWN_PERCENTAGE_STACKING
| 79
| GetModifierPercentageCooldownStacking
|
|-
| MODIFIER_PROPERTY_CASTTIME_PERCENTAGE
| 80
| GetModifierPercentageCasttime
| Decreases the cast time of the parent's abilities by a percentage returned to it. Can return negative values.
|-
| MODIFIER_PROPERTY_MANACOST_PERCENTAGE
| 81
| GetModifierPercentageManacost
| Increases the mana cost of the parent's abilities by a percentage returned to it. Can return negative values.
|-
| MODIFIER_PROPERTY_DEATHGOLDCOST
| 82
| GetModifierConstantDeathGoldCost
|
|-
| MODIFIER_PROPERTY_EXP_RATE_BOOST
| 83
| GetModifierPercentageExpRateBoost
|
|-
| MODIFIER_PROPERTY_PREATTACK_CRITICALSTRIKE
| 84
| GetModifierPreAttack_CriticalStrike
| Procs a critical strike dealing the extra damage returned to it.
|-
| MODIFIER_PROPERTY_PREATTACK_TARGET_CRITICALSTRIKE
| 85
| GetModifierPreAttack_Target_CriticalStrike
|
|-
| MODIFIER_PROPERTY_MAGICAL_CONSTANT_BLOCK
| 86
| GetModifierMagical_ConstantBlock
|
|-
| MODIFIER_PROPERTY_PHYSICAL_CONSTANT_BLOCK
| 87
| GetModifierPhysical_ConstantBlock
| Blocks damage the parent takes by a constant returned to it. Can return negative values.
|-
| MODIFIER_PROPERTY_PHYSICAL_CONSTANT_BLOCK_SPECIAL
| 88
| GetModifierPhysical_ConstantBlockSpecial
|
|-
| MODIFIER_PROPERTY_TOTAL_CONSTANT_BLOCK_UNAVOIDABLE_PRE_ARMOR
| 89
| GetModifierPhysical_ConstantBlockUnavoidablePreArmor
|
|-
| MODIFIER_PROPERTY_TOTAL_CONSTANT_BLOCK
| 90
| GetModifierTotal_ConstantBlock
|
|-
| MODIFIER_PROPERTY_OVERRIDE_ANIMATION
| 91
| GetOverrideAnimation
| Forces the parent to play a specific animation.
|-
| MODIFIER_PROPERTY_OVERRIDE_ANIMATION_WEIGHT
| 92
| GetOverrideAnimationWeight
|
|-
| MODIFIER_PROPERTY_OVERRIDE_ANIMATION_RATE
| 93
| GetOverrideAnimationRate
|
|-
| MODIFIER_PROPERTY_ABSORB_SPELL
| 94
| GetAbsorbSpell
| Allows the parent to ignore targeted abilities. (Similar to linken's sphere)
|-
| MODIFIER_PROPERTY_REFLECT_SPELL
| 95
| GetReflectSpell
| Allows the parent to reflect targeted abilities. (Similar to Lotus Orb)
|-
| MODIFIER_PROPERTY_DISABLE_AUTOATTACK
| 96
| GetDisableAutoAttack
|
|-
| MODIFIER_PROPERTY_BONUS_DAY_VISION
| 97
| GetBonusDayVision
| Increases the vision of the parent during the day by a constant returned to it. Can return negative values.
|-
| MODIFIER_PROPERTY_BONUS_NIGHT_VISION
| 98
| GetBonusNightVision
| Increases the vision of the parent during the night by a constant returned to it. Can return negative values.
|-
| MODIFIER_PROPERTY_BONUS_NIGHT_VISION_UNIQUE
| 99
| GetBonusNightVisionUnique
|
|-
| MODIFIER_PROPERTY_BONUS_VISION_PERCENTAGE
| 100
| GetBonusVisionPercentage
| Increases the vision of the parent by a percentage returned to it. Can return negative values.
|-
| MODIFIER_PROPERTY_FIXED_DAY_VISION
| 101
| GetFixedDayVision
| Sets the vision of the parent during the day to a fixed value returned to it. Cannot be changed by any means.
|-
| MODIFIER_PROPERTY_FIXED_NIGHT_VISION
| 102
| GetFixedNightVision
| Sets the vision of the parent during the night to a fixed value returned to it. Cannot be changed by any means.
|-
| MODIFIER_PROPERTY_MIN_HEALTH
| 103
| GetMinHealth
|
|-
| MODIFIER_PROPERTY_ABSOLUTE_NO_DAMAGE_PHYSICAL
| 104
| GetAbsoluteNoDamagePhysical
|
|-
| MODIFIER_PROPERTY_ABSOLUTE_NO_DAMAGE_MAGICAL
| 105
| GetAbsoluteNoDamageMagical
|
|-
| MODIFIER_PROPERTY_ABSOLUTE_NO_DAMAGE_PURE
| 106
| GetAbsoluteNoDamagePure
|
|-
| MODIFIER_PROPERTY_IS_ILLUSION
| 107
| GetIsIllusion
|
|-
| MODIFIER_PROPERTY_ILLUSION_LABEL
| 108
| GetModifierIllusionLabel
|
|-
| MODIFIER_PROPERTY_SUPER_ILLUSION
| 109
| GetModifierSuperIllusion
|
|-
| MODIFIER_PROPERTY_SUPER_ILLUSION_WITH_ULTIMATE
| 110
| GetModifierSuperIllusionWithUltimate
|
|-
| MODIFIER_PROPERTY_TURN_RATE_PERCENTAGE
| 111
| GetModifierTurnRate_Percentage
| Increases the turn rate of the parent by a percentage returned to it. Can return negative values.
|-
| MODIFIER_PROPERTY_DISABLE_HEALING
| 112
| GetDisableHealing
| Negates healing applied to the parent.
|-
| MODIFIER_PROPERTY_ALWAYS_ALLOW_ATTACK
| 113
| GetAlwaysAllowAttack
|
|-
| MODIFIER_PROPERTY_OVERRIDE_ATTACK_MAGICAL
| 114
| GetOverrideAttackMagical
|
|-
| MODIFIER_PROPERTY_UNIT_STATS_NEEDS_REFRESH
| 115
| GetModifierUnitStatsNeedsRefresh
|
|-
| MODIFIER_PROPERTY_BOUNTY_CREEP_MULTIPLIER
| 116
| GetModifierBountyCreepMultiplier
|
|-
| MODIFIER_PROPERTY_BOUNTY_OTHER_MULTIPLIER
| 117
| GetModifierBountyOtherMultiplier
|
|-
| MODIFIER_EVENT_ON_SPELL_TARGET_READY
| 118
| OnSpellTargetReady
|
|-
| MODIFIER_EVENT_ON_ATTACK_RECORD
| 119
| OnAttackRecord
|
|-
| MODIFIER_EVENT_ON_ATTACK_START
| 120
| OnAttackStart
| Event that fires when an attack starts.
|-
| MODIFIER_EVENT_ON_ATTACK
| 121
| OnAttack
| Event that fires when an attack was completed, regardless of the result of it.
|-
| MODIFIER_EVENT_ON_ATTACK_LANDED
| 122
| OnAttackLanded
| Event that fires when an attack landed on its target successfully.
|-
| MODIFIER_EVENT_ON_ATTACK_FAIL
| 123
| OnAttackFail
| Event that fires when an attack failed to land on its target.
|-
| MODIFIER_EVENT_ON_ATTACK_ALLIED
| 124
| OnAttackAllied
| Event that fires when attacking allies.
|-
| MODIFIER_EVENT_ON_PROJECTILE_DODGE
| 125
| OnProjectileDodge
| Event that fires when dodging a projectile. (Disjointing it)
|-
| MODIFIER_EVENT_ON_ORDER
| 126
| OnOrder
| Event that fires when an order is given to the parent.
|-
| MODIFIER_EVENT_ON_UNIT_MOVED
| 127
| OnUnitMoved
| Event that fires when a unit moved.
|-
| MODIFIER_EVENT_ON_ABILITY_START
| 128
| OnAbilityStart
| Event that fires when starting to use an ability.
|-
| MODIFIER_EVENT_ON_ABILITY_EXECUTED
| 129
| OnAbilityExecuted
| Event that fires when finishing the ability phase stage of the ability.
|-
| MODIFIER_EVENT_ON_ABILITY_FULLY_CAST
| 130
| OnAbilityFullyCast
| Event that fires when the ability has completely activated.
|-
| MODIFIER_EVENT_ON_BREAK_INVISIBILITY
| 131
| OnBreakInvisibility
| Event that fires when breaking invisibility.
|-
| MODIFIER_EVENT_ON_ABILITY_END_CHANNEL
| 132
| OnAbilityEndChannel
| Event that fires when finishing a channel.
|-
| MODIFIER_EVENT_ON_PROCESS_UPGRADE
| 133
|
|
|-
| MODIFIER_EVENT_ON_REFRESH
| 134
|
|
|-
| MODIFIER_EVENT_ON_TAKEDAMAGE
| 135
| OnTakeDamage
| Event that fires when taking damage.
|-
| MODIFIER_EVENT_ON_STATE_CHANGED
| 136
| OnStateChanged
| Event that fires when a state is changed.
|-
| MODIFIER_EVENT_ON_ORB_EFFECT
| 137
|
|
|-
| MODIFIER_EVENT_ON_ATTACKED
| 138
| OnAttacked
| Event that fires when being attacked.
|-
| MODIFIER_EVENT_ON_DEATH
| 139
| OnDeath
| Event that fires when dying.
|-
| MODIFIER_EVENT_ON_RESPAWN
| 140
| OnRespawn
| Event that fires when respawning.
|-
| MODIFIER_EVENT_ON_SPENT_MANA
| 141
| OnSpentMana
| Event that fires when spending mana on items or abilities.
|-
| MODIFIER_EVENT_ON_TELEPORTING
| 142
| OnTeleporting
| Event that fires when starting to teleporting.
|-
| MODIFIER_EVENT_ON_TELEPORTED
| 143
| OnTeleported
| Event that fires when completing a teleport.
|-
| MODIFIER_EVENT_ON_SET_LOCATION
| 144
| OnSetLocation
|
|-
| MODIFIER_EVENT_ON_HEALTH_GAINED
| 145
| OnHealthGained
|
|-
| MODIFIER_EVENT_ON_MANA_GAINED
| 146
| OnManaGained
|
|-
| MODIFIER_EVENT_ON_TAKEDAMAGE_KILLCREDIT
| 147
| OnTakeDamageKillCredit
|
|-
| MODIFIER_EVENT_ON_HERO_KILLED
| 148
| OnHeroKilled
| Event that fires when a hero is killed.
|-
| MODIFIER_EVENT_ON_HEAL_RECEIVED
| 149
| OnHealReceived
| Event that fires when being healed.
|-
| MODIFIER_EVENT_ON_BUILDING_KILLED
| 150
| OnBuildingKilled
| Event that fires when a building is destroyed.
|-
| MODIFIER_EVENT_ON_MODEL_CHANGED
| 151
| OnModelChanged
| Event that fires when the model changes.
|-
| MODIFIER_EVENT_ON_MODIFIER_ADDED
| 152
| OnModifierAdded
|
|-
| MODIFIER_PROPERTY_TOOLTIP
| 153
| OnTooltip
|
|-
| MODIFIER_PROPERTY_MODEL_CHANGE
| 154
| GetModifierModelChange
| Changes the parent's model.
|-
| MODIFIER_PROPERTY_MODEL_SCALE
| 155
| GetModifierModelScale
| Changes the parent's model scale.
|-
| MODIFIER_PROPERTY_IS_SCEPTER
| 156
| GetModifierScepter
|
|-
| MODIFIER_PROPERTY_TRANSLATE_ACTIVITY_MODIFIERS
| 157
| GetActivityTranslationModifiers
|
|-
| MODIFIER_PROPERTY_TRANSLATE_ATTACK_SOUND
| 158
| GetAttackSound
|
|-
| MODIFIER_PROPERTY_LIFETIME_FRACTION
| 159
| GetUnitLifetimeFraction
|
|-
| MODIFIER_PROPERTY_PROVIDES_FOW_POSITION
| 160
| GetModifierProvidesFOWVision
| Return 1 if parent's model would show to his enemies.
|-
| MODIFIER_PROPERTY_SPELLS_REQUIRE_HP
| 161
| GetModifierSpellsRequireHP
|
|-
| MODIFIER_PROPERTY_FORCE_DRAW_MINIMAP
| 162
| GetForceDrawOnMinimap
|
|-
| MODIFIER_PROPERTY_DISABLE_TURNING
| 163
| GetModifierDisableTurning
|
|-
| MODIFIER_PROPERTY_IGNORE_CAST_ANGLE
| 164
| GetModifierIgnoreCastAngle
|
|-
| MODIFIER_PROPERTY_CHANGE_ABILITY_VALUE
| 165
| GetModifierChangeAbilityValue
|
|-
| MODIFIER_PROPERTY_ABILITY_LAYOUT
| 166
| GetModifierAbilityLayout
| Changes the ability layout.
|-
| MODIFIER_EVENT_ON_DOMINATED
| 167
| OnDominated
| An event that fires when a unit is being dominated.
|-
| MODIFIER_PROPERTY_TEMPEST_DOUBLE
| 168
| GetModifierTempestDouble
|
|-
| MODIFIER_PROPERTY_PRESERVE_PARTICLES_ON_MODEL_CHANGE
| 169
| PreserveParticlesOnModelChanged
|
|-
| MODIFIER_EVENT_ON_ATTACK_FINISHED
| 170
| OnAttackFinished
|
|-
| MODIFIER_PROPERTY_IGNORE_COOLDOWN
| 171
| GetModifierIgnoreCooldown
|
|-
| MODIFIER_PROPERTY_CAN_ATTACK_TREES
| 172
| GetModifierCanAttackTrees
|
|-
| MODIFIER_PROPERTY_VISUAL_Z_DELTA
| 173
| GetVisualZDelta
|
|-
| MODIFIER_PROPERTY_INCOMING_DAMAGE_ILLUSION
| 174
|
|
|-
| MODIFIER_FUNCTION_LAST
| 175
|
|
|-
| MODIFIER_FUNCTION_INVALID
| 255
|
|
|}
==== DOTA_CONNECTION_STATE ====
{| class="standard-table" style="width: 50%;"
! Name
! Value
! Description
|-
| DOTA_CONNECTION_STATE_UNKNOWN
| 0
|
|-
| DOTA_CONNECTION_STATE_NOT_YET_CONNECTED
| 1
|
|-
| DOTA_CONNECTION_STATE_CONNECTED
| 2
|
|-
| DOTA_CONNECTION_STATE_DISCONNECTED
| 3
|
|-
| DOTA_CONNECTION_STATE_ABANDONED
| 4
|
|-
| DOTA_CONNECTION_STATE_LOADING
| 5
|
|-
| DOTA_CONNECTION_STATE_FAILED
| 6
|
|}
{{shortpagetitle}}
[[Category: Dota 2/Legacy]] <!-- Page originally created for Source 1 version. But it may also partially applies to Source 2 even through it was outdated. -->

Latest revision as of 00:11, 7 March 2025

English (en)Русский (ru)中文 (zh)Translate (Translate)
Broom icon.png
This article or section needs to be cleaned up to conform to a higher standard of quality because:
1500 subpages most of them useless
For help, see the VDC Editing Help and Wikipedia cleanup process. Also, remember to check for any notes left by the tagger at this article's talk page.

Note.pngNote: This page is automatically generated. Changes can be submitted on Jochnickels github page: https://github.com/Jochnickel/dota_wiki_dumper


This page outdated, use moddota.com/api instead

Accessing the DOTA 2 Scripting API from Lua

While Lua is dynamically typed, the DOTA 2 engine is written primarily in C++, which is statically typed. Thus, you'll need to be conscious of your data types when calling the API. (If you try to pass the wrong type to an API function, you'll get an error message in Vconsole telling you what you passed and what it was expecting.)

Functions

Global

Global functions. These can be called without any class.

Function Signature Description
AddFOWViewer void AddFOWViewer(int int_1, Vector Vector_2, float float_3, float float_4, bool bool_5) Add temporary vision for a given team ( nTeamID, vLocation, flRadius, flDuration, bObstructedVision)
AngleDiff float AngleDiff(float float_1, float float_2) Returns the number of degrees difference between two yaw angles
AppendToLogFile void AppendToLogFile(string string_1, string string_2) AppendToLogFile is deprecated. Print to the console for logging instead.
ApplyDamage float ApplyDamage(handle handle_1) ApplyDamage({victim = {}, attacker = {}, damage = 0, damage_type = DAMAGE_TYPE_MAGICAL, damage_flags = DOTA_DAMAGE_FLAG_IGNORES_MAGIC_ARMOR, ability = {}})
AxisAngleToQuaternion Quaternion AxisAngleToQuaternion(Vector Vector_1, float float_2) (vector,float) constructs a quaternion representing a rotation by angle around the specified vector axis
CalcClosestPointOnEntityOBB Vector CalcClosestPointOnEntityOBB(handle handle_1, Vector Vector_2) Compute the closest point on the OBB of an entity.
CalcDistanceBetweenEntityOBB float CalcDistanceBetweenEntityOBB(handle handle_1, handle handle_2) Compute the distance between two entity OBB. A negative return value indicates an input error. A return value of zero indicates that the OBBs are overlapping.
CalcDistanceToLineSegment2D float CalcDistanceToLineSegment2D(Vector Vector_1, Vector Vector_2, Vector Vector_3)
CancelEntityIOEvents void CancelEntityIOEvents(ehandle ehandle_1) Create all I/O events for a particular entity
ClearTeamCustomHealthbarColor void ClearTeamCustomHealthbarColor(int int_1) ( teamNumber )
CreateDamageInfo handle CreateDamageInfo(handle handle_1, handle handle_2, Vector Vector_3, Vector Vector_4, float float_5, int int_6) (hInflictor, hAttacker, flDamage) - Allocate a damageinfo object, used as an argument to TakeDamage(). Call DestroyDamageInfo( hInfo ) to free the object.
CreateEffect bool CreateEffect(handle handle_1) Pass table - Inputs: entity, effect
CreateHTTPRequest handle CreateHTTPRequest(string string_1, string string_2) Create an HTTP request.
CreateHTTPRequestScriptVM handle CreateHTTPRequestScriptVM(string string_1, string string_2) Create an HTTP request.
CreateHeroForPlayer handle CreateHeroForPlayer(string string_1, handle handle_2) Creates a DOTA hero by its dota_npc_units.txt name and sets it as the given player's controlled hero
CreateIllusions table CreateIllusions(handle handle_1, handle handle_2, handle handle_3, int int_4, int int_5, bool bool_6, bool bool_7) Create illusions of the passed hero that belong to passed unit using passed modifier data. ( hOwner, hHeroToCopy, hModiiferKeys, nNumIllusions, nPadding, bScramblePosition, bFindClearSpace )

Supported keys: outgoing_damage incoming_damage bounty_base bounty_growth outgoing_damage_structure outgoing_damage_roshan

CreateItem handle CreateItem(string string_1, handle handle_2, handle handle_3) Create a DOTA item
CreateItemOnPositionForLaunch handle CreateItemOnPositionForLaunch(Vector Vector_1, handle handle_2) Create a physical item at a given location, can start in air (but doesn't clear a space)
CreateItemOnPositionSync handle CreateItemOnPositionSync(Vector Vector_1, handle handle_2) Create a physical item at a given location
CreateModifierThinker handle CreateModifierThinker(handle handle_1, handle handle_2, string string_3, handle handle_4, Vector Vector_5, int int_6, bool bool_7) Create a modifier not associated with an NPC. ( hCaster, hAbility, modifierName, paramTable, vOrigin, nTeamNumber, bPhantomBlocker )
CreateSceneEntity handle CreateSceneEntity(string string_1) Create a scene entity to play the specified scene.
CreateTempTree handle CreateTempTree(Vector Vector_1, float float_2) Create a temporary tree, uses a default tree model. (vLocation, flDuration).
CreateTempTreeWithModel handle CreateTempTreeWithModel(Vector Vector_1, float float_2, string string_3) Create a temporary tree, specifying the tree model name. (vLocation, flDuration, szModelName).
CreateTrigger handle CreateTrigger(Vector Vector_1, Vector Vector_2, Vector Vector_3) CreateTrigger( vecMin, vecMax ) : Creates and returns an AABB trigger
CreateTriggerRadiusApproximate handle CreateTriggerRadiusApproximate(Vector Vector_1, float float_2) CreateTriggerRadiusApproximate( vecOrigin, flRadius ) : Creates and returns an AABB trigger thats bigger than the radius provided
CreateUnitByName handle CreateUnitByName(string string_1, Vector Vector_2, bool bool_3, handle handle_4, handle handle_5, int int_6) Creates a DOTA unit by its dota_npc_units.txt name
CreateUnitByNameAsync int CreateUnitByNameAsync(string string_1, Vector Vector_2, bool bool_3, handle handle_4, handle handle_5, int int_6, handle handle_7) Creates a DOTA unit by its dota_npc_units.txt name
CreateUnitFromTable handle CreateUnitFromTable(handle handle_1, Vector Vector_2) Creates a DOTA unit by its dota_npc_units.txt name from a table of entity key values and a position to spawn at.
CrossVectors Vector CrossVectors(Vector Vector_1, Vector Vector_2) (vector,vector) cross product between two vectors
DebugBreak void DebugBreak() Breaks in the debugger
DebugDrawBox void DebugDrawBox(Vector Vector_1, Vector Vector_2, Vector Vector_3, int int_4, int int_5, int int_6, int int_7, float float_8) Draw a debug overlay box (origin, mins, maxs, forward, r, g, b, a, duration )
DebugDrawBoxDirection void DebugDrawBoxDirection(Vector Vector_1, Vector Vector_2, Vector Vector_3, Vector Vector_4, Vector Vector_5, float float_6, float float_7) Draw a debug forward box (cent, min, max, forward, vRgb, a, duration)
DebugDrawCircle void DebugDrawCircle(Vector Vector_1, Vector Vector_2, float float_3, float float_4, bool bool_5, float float_6) Draw a debug circle (center, vRgb, a, rad, ztest, duration)
DebugDrawClear void DebugDrawClear() Try to clear all the debug overlay info
DebugDrawLine void DebugDrawLine(Vector Vector_1, Vector Vector_2, int int_3, int int_4, int int_5, bool bool_6, float float_7) Draw a debug overlay line (origin, target, r, g, b, ztest, duration)
DebugDrawLine_vCol void DebugDrawLine_vCol(Vector Vector_1, Vector Vector_2, Vector Vector_3, bool bool_4, float float_5) Draw a debug line using color vec (start, end, vRgb, a, ztest, duration)
DebugDrawScreenTextLine void DebugDrawScreenTextLine(float float_1, float float_2, int int_3, string string_4, int int_5, int int_6, int int_7, int int_8, float float_9) Draw text with a line offset (x, y, lineOffset, text, r, g, b, a, duration)
DebugDrawSphere void DebugDrawSphere(Vector Vector_1, Vector Vector_2, float float_3, float float_4, bool bool_5, float float_6) Draw a debug sphere (center, vRgb, a, rad, ztest, duration)
DebugDrawText void DebugDrawText(Vector Vector_1, string string_2, bool bool_3, float float_4) Draw text in 3d (origin, text, bViewCheck, duration)
DebugScreenTextPretty void DebugScreenTextPretty(float float_1, float float_2, int int_3, string string_4, int int_5, int int_6, int int_7, int int_8, float float_9, string string_10, int int_11, bool bool_12) Draw pretty debug text (x, y, lineOffset, text, r, g, b, a, duration, font, size, bBold)
DestroyDamageInfo void DestroyDamageInfo(handle handle_1) Free a damageinfo object that was created with CreateDamageInfo().
DoCleaveAttack int DoCleaveAttack(handle handle_1, handle handle_2, handle handle_3, float float_4, float float_5, float float_6, float float_7, string string_8) (hAttacker, hTarget, hAbility, fDamage, fRadius, effectName)
DoEntFire void DoEntFire(string string_1, string string_2, string string_3, float float_4, handle handle_5, handle handle_6) #EntFire:Generate and entity i/o event
DoEntFireByInstanceHandle void DoEntFireByInstanceHandle(handle handle_1, string string_2, string string_3, float float_4, handle handle_5, handle handle_6) #EntFireByHandle:Generate and entity i/o event
DoIncludeScript bool DoIncludeScript(string string_1, handle handle_2) Execute a script (internal)
DoScriptAssert void DoScriptAssert(bool bool_1, string string_2) #ScriptAssert:Asserts the passed in value. Prints out a message and brings up the assert dialog.
DoUniqueString string DoUniqueString(string string_1) #UniqueString:Generate a string guaranteed to be unique across the life of the script VM, with an optional root string. Useful for adding data to tables when not sure what keys are already in use in that table.
DotProduct float DotProduct(Vector Vector_1, Vector Vector_2)
EmitAnnouncerSound void EmitAnnouncerSound(string string_1) Emit an announcer sound for all players.
EmitAnnouncerSoundForPlayer void EmitAnnouncerSoundForPlayer(string string_1, int int_2) Emit an announcer sound for a player.
EmitAnnouncerSoundForTeam void EmitAnnouncerSoundForTeam(string string_1, int int_2) Emit an announcer sound for a team.
EmitAnnouncerSoundForTeamOnLocation void EmitAnnouncerSoundForTeamOnLocation(string string_1, int int_2, Vector Vector_3) Emit an announcer sound for a team at a specific location.
EmitGlobalSound void EmitGlobalSound(string string_1) Play named sound for all players
EmitSoundOn void EmitSoundOn(string string_1, handle handle_2) Play named sound on Entity
EmitSoundOnClient void EmitSoundOnClient(string string_1, handle handle_2) Play named sound only on the client for the passed in player
EmitSoundOnLocationForAllies void EmitSoundOnLocationForAllies(Vector Vector_1, string string_2, handle handle_3) Emit a sound on a location from a unit, only for players allied with that unit (vLocation, soundName, hCaster
EmitSoundOnLocationWithCaster void EmitSoundOnLocationWithCaster(Vector Vector_1, string string_2, handle handle_3) Emit a sound on a location from a unit. (vLocation, soundName, hCaster).
EntIndexToHScript handle EntIndexToHScript(int int_1) Turn an entity index integer to an HScript representing that entity's script instance.
ExecuteOrderFromTable void ExecuteOrderFromTable(handle handle_1) Issue an order from a script table
ExponentialDecay float ExponentialDecay(float float_1, float float_2, float float_3) Smooth curve decreasing slower as it approaches zero
FindClearRandomPositionAroundUnit bool FindClearRandomPositionAroundUnit(handle handle_1, handle handle_2, int int_3) Finds a clear random position around a given target unit, using the target unit's padded collision radius.
FindClearSpaceForUnit bool FindClearSpaceForUnit(handle handle_1, Vector Vector_2, bool bool_3) Place a unit somewhere not already occupied.
FindUnitsInLine table FindUnitsInLine(int int_1, Vector Vector_2, Vector Vector_3, handle handle_4, float float_5, int int_6, int int_7, int int_8) Find units that intersect the given line with the given flags.
FindUnitsInRadius table FindUnitsInRadius(int int_1, Vector Vector_2, handle handle_3, float float_4, int int_5, int int_6, int int_7, int int_8, bool bool_9) Finds the units in a given radius with the given flags.
FireEntityIOInputNameOnly void FireEntityIOInputNameOnly(ehandle ehandle_1, string string_2) Fire Entity's Action Input w/no data
FireEntityIOInputString void FireEntityIOInputString(ehandle ehandle_1, string string_2, string string_3) Fire Entity's Action Input with passed String - you own the memory
FireEntityIOInputVec void FireEntityIOInputVec(ehandle ehandle_1, string string_2, Vector Vector_3) Fire Entity's Action Input with passed Vector - you own the memory
FireGameEvent void FireGameEvent(string string_1, handle handle_2) Fire a game event.
FireGameEventLocal void FireGameEventLocal(string string_1, handle handle_2) Fire a game event without broadcasting to the client.
FrameTime float FrameTime() Get the time spent on the server in the last frame
GetDedicatedServerKey string GetDedicatedServerKey(string string_1) ( version )
GetDedicatedServerKeyV2 string GetDedicatedServerKeyV2(string string_1) used in https://github.com/dota2unofficial/12v12/blob/master/game/scripts/vscripts/common/webapi.lua
GetEntityIndexForTreeId <unknown> GetEntityIndexForTreeId(unsigned unsigned_1) Get the enity index for a tree id specified as the entindex_target of a DOTA_UNIT_ORDER_CAST_TARGET_TREE.
GetFrameCount int GetFrameCount() Returns the engines current frame count
GetGroundHeight float GetGroundHeight(Vector Vector_1, handle handle_2)
GetGroundPosition Vector GetGroundPosition(Vector Vector_1, handle handle_2) Returns the supplied position moved to the ground. Second parameter is an NPC for measuring movement collision hull offset.
GetItemCost int GetItemCost(string string_1) Get the cost of an item by name.
GetItemDefOwnedCount int GetItemDefOwnedCount(int int_1, int int_2)
GetItemDefQuantity int GetItemDefQuantity(int int_1, int int_2)
GetListenServerHost handle GetListenServerHost() Get the local player on a listen server.
GetLobbyEventGameDetails table GetLobbyEventGameDetails() ( )
GetMapName string GetMapName() Get the name of the map.
GetMaxOutputDelay float GetMaxOutputDelay(ehandle ehandle_1, string string_2) Get the longest delay for all events attached to an output
GetPhysAngularVelocity Vector GetPhysAngularVelocity(handle handle_1) Get Angular Velocity for VPHYS or normal object. Returns a vector of the axis of rotation, multiplied by the degrees of rotation per second.
GetPhysVelocity Vector GetPhysVelocity(handle handle_1) Get Velocity for VPHYS or normal object
GetSystemDate string GetSystemDate() Get the current real world date
GetSystemTime string GetSystemTime() Get the current real world time
GetTargetAOELocation Vector GetTargetAOELocation(int int_1, int int_2, int int_3, Vector Vector_4, int int_5, int int_6, int int_7)
GetTargetLinearLocation Vector GetTargetLinearLocation(int int_1, int int_2, int int_3, Vector Vector_4, int int_5, int int_6, int int_7)
GetTeamHeroKills int GetTeamHeroKills(int int_1) ( int teamID )
GetTeamName string GetTeamName(int int_1) ( int teamID )
GetTreeIdForEntityIndex int GetTreeIdForEntityIndex(int int_1) Given and entity index of a tree, get the tree id for use for use with with unit orders.
GetWorldMaxX float GetWorldMaxX() Gets the world's maximum X position.
GetWorldMaxY float GetWorldMaxY() Gets the world's maximum Y position.
GetWorldMinX float GetWorldMinX() Gets the world's minimum X position.
GetWorldMinY float GetWorldMinY() Gets the world's minimum Y position.
InitLogFile void InitLogFile(string string_1, string string_2) InitLogFile is deprecated. Print to the console for logging instead.
IsClient bool IsClient() Returns true if this is lua running from the client.dll.
IsDedicatedServer bool IsDedicatedServer() Returns true if this server is a dedicated server.
IsInToolsMode bool IsInToolsMode() Returns true if this is lua running within tools mode.
IsLocationVisible bool IsLocationVisible(int int_1, Vector Vector_2) Ask fog of war if a location is visible to a certain team (nTeamNumber, vLocation).
IsMarkedForDeletion bool IsMarkedForDeletion(handle handle_1) Returns true if the entity is valid and marked for deletion.
IsServer bool IsServer() Returns true if this is lua running from the server.dll.
IsValidEntity bool IsValidEntity(handle handle_1) Checks to see if the given hScript is a valid entity
LerpVectors Vector LerpVectors(Vector Vector_1, Vector Vector_2, float float_3) (vector,vector,float) lerp between two vectors by a float factor returning new vector
LimitPathingSearchDepth void LimitPathingSearchDepth(float float_1) Set the limit on the pathfinding search space.
LinkLuaModifier void LinkLuaModifier(string string_1, string string_2, int int_3) Link a lua-defined modifier with the associated class ( className, fileName, LuaModifierType).
ListenToGameEvent int ListenToGameEvent(string string_1, handle handle_2, handle handle_3) Register as a listener for a game event from script.
LoadKeyValues table LoadKeyValues(string string_1) Creates a table from the specified keyvalues text file
LoadKeyValuesFromString table LoadKeyValuesFromString(string string_1) Creates a table from the specified keyvalues string
LocalTime table LocalTime() Get the current local time
MakeStringToken int MakeStringToken(string string_1) Checks to see if the given hScript is a valid entity
MinimapEvent void MinimapEvent(int int_1, handle handle_2, int int_3, int int_4, int int_5, int int_6) Start a minimap event. (nTeamID, hEntity, nXCoord, nYCoord, nEventType, nEventDuration).
Msg void Msg(string string_1) Print a message
PauseGame void PauseGame(bool bool_1) Pause or unpause the game.
PlayerInstanceFromIndex handle PlayerInstanceFromIndex(int int_1) Get a script instance of a player by index.
PrecacheEntityFromTable void PrecacheEntityFromTable(string string_1, handle handle_2, handle handle_3) Precache an entity from KeyValues in table
PrecacheEntityListFromTable void PrecacheEntityListFromTable(handle handle_1, handle handle_2) Precache a list of entity KeyValues tables
PrecacheItemByNameAsync void PrecacheItemByNameAsync(string string_1, handle handle_2) Asynchronously precaches a DOTA item by its dota_npc_items.txt name, provides a callback when it's finished.
PrecacheItemByNameSync void PrecacheItemByNameSync(string string_1, handle handle_2) Precaches a DOTA item by its dota_npc_items.txt name
PrecacheModel void PrecacheModel(string string_1, handle handle_2) ( modelName, context ) - Manually precache a single model
PrecacheResource void PrecacheResource(string string_1, string string_2, handle handle_3) Manually precache a single resource
PrecacheUnitByNameAsync void PrecacheUnitByNameAsync(string string_1, handle handle_2, int int_3) Asynchronously precaches a DOTA unit by its dota_npc_units.txt name, provides a callback when it's finished.
PrecacheUnitByNameSync void PrecacheUnitByNameSync(string string_1, handle handle_2, int int_3) Precaches a DOTA unit by its dota_npc_units.txt name
PrecacheUnitFromTableAsync void PrecacheUnitFromTableAsync(handle handle_1, handle handle_2) Precaches a DOTA unit from a table of entity key values.
PrecacheUnitFromTableSync void PrecacheUnitFromTableSync(handle handle_1, handle handle_2) Precaches a DOTA unit from a table of entity key values.
PrintLinkedConsoleMessage void PrintLinkedConsoleMessage(string string_1, string string_2) Print a console message with a linked console command
RandomFloat float RandomFloat(float float_1, float float_2) Get a random float within a range
RandomInt int RandomInt(int int_1, int int_2) Get a random int within a range
RandomVector Vector RandomVector(float float_1) Get a random 2D vector of the given length.
RegisterCustomAnimationScriptForModel void RegisterCustomAnimationScriptForModel(string string_1, string string_2) Register a custom animation script to run when a model loads
RegisterSpawnGroupFilterProxy void RegisterSpawnGroupFilterProxy(string string_1) Create a C proxy for a script-based spawn group filter
ReloadMOTD void ReloadMOTD() Reloads the MotD file
RemoveSpawnGroupFilterProxy void RemoveSpawnGroupFilterProxy(string string_1) Remove the C proxy for a script-based spawn group filter
ResolveNPCPositions void ResolveNPCPositions(Vector Vector_1, float float_2) Check and fix units that have been assigned a position inside collision radius of other NPCs.
RollPercentage bool RollPercentage(int int_1) (int nPct)
RotateOrientation QAngle RotateOrientation(QAngle QAngle_1, QAngle QAngle_2) Rotate a QAngle by another QAngle.
RotatePosition Vector RotatePosition(Vector Vector_1, QAngle QAngle_2, Vector Vector_3) Rotate a Vector around a point.
RotateQuaternionByAxisAngle Quaternion RotateQuaternionByAxisAngle(Quaternion Quaternion_1, Vector Vector_2, float float_3) (quaternion,vector,float) rotates a quaternion by the specified angle around the specified vector axis
RotationDelta QAngle RotationDelta(QAngle QAngle_1, QAngle QAngle_2) Find the delta between two QAngles.
RotationDeltaAsAngularVelocity Vector RotationDeltaAsAngularVelocity(QAngle QAngle_1, QAngle QAngle_2) converts delta QAngle to an angular velocity Vector
Say void Say(handle handle_1, string string_2, bool bool_3) Have Entity say string, and teamOnly or not
ScreenShake void ScreenShake(Vector Vector_1, float float_2, float float_3, float float_4, float float_5, int int_6, bool bool_7) Start a screenshake with the following parameters. vecCenter, flAmplitude, flFrequency, flDuration, flRadius, eCommand( SHAKE_START = 0, SHAKE_STOP = 1 ), bAirShake
SendOverheadEventMessage void SendOverheadEventMessage(handle handle_1, int int_2, handle handle_3, int int_4, handle handle_5) ( DOTAPlayer sendToPlayer, int iMessageType, Entity targetEntity, int iValue, DOTAPlayer sourcePlayer ) - sendToPlayer and sourcePlayer can be nil - iMessageType is one of OVERHEAD_ALERT_*
SendToConsole void SendToConsole(string string_1) Send a string to the console as a client command
SendToServerConsole void SendToServerConsole(string string_1) Send a string to the console as a server command
SetOpvarFloatAll void SetOpvarFloatAll(string string_1, string string_2, string string_3, float float_4) Sets an opvar value for all players
SetOpvarFloatPlayer void SetOpvarFloatPlayer(string string_1, string string_2, string string_3, float float_4, handle handle_5) Sets an opvar value for a single player
SetPhysAngularVelocity void SetPhysAngularVelocity(handle handle_1, Vector Vector_2) Set Angular Velocity for VPHYS or normal object, from a vector of the axis of rotation, multiplied by the degrees of rotation per second.
SetQuestName void SetQuestName(string string_1) Set the current quest name.
SetQuestPhase void SetQuestPhase(int int_1) Set the current quest phase.
SetRenderingEnabled void SetRenderingEnabled(ehandle ehandle_1, bool bool_2) Set rendering on/off for an ehandle
SetTeamCustomHealthbarColor void SetTeamCustomHealthbarColor(int int_1, int int_2, int int_3, int int_4) ( teamNumber, r, g, b )
ShowCustomHeaderMessage void ShowCustomHeaderMessage(string string_1, int int_2, int int_3, float float_4) ( const char *pszMessage, int nPlayerID, int nValue, float flTime ) - Supports localized strings - %s1 = PlayerName, %s2 = Value, %s3 = TeamName
ShowGenericPopup void ShowGenericPopup(string string_1, string string_2, string string_3, string string_4, int int_5) Show a generic popup dialog for all players.
ShowGenericPopupToPlayer void ShowGenericPopupToPlayer(handle handle_1, string string_2, string string_3, string string_4, string string_5, int int_6) Show a generic popup dialog to a specific player.
ShowMessage void ShowMessage(string string_1) Print a hud message on all clients
SpawnDOTAShopTriggerRadiusApproximate handle SpawnDOTAShopTriggerRadiusApproximate(Vector Vector_1, float float_2) (Vector vOrigin, float flRadius )
SpawnEntityFromTableSynchronous handle SpawnEntityFromTableSynchronous(string string_1, handle handle_2) Synchronously spawns a single entity from a table
SpawnEntityGroupFromTable bool SpawnEntityGroupFromTable(handle handle_1, bool bool_2, handle handle_3) Hierarchically spawn an entity group from a set of spawn tables.
SpawnEntityListFromTableAsynchronous int SpawnEntityListFromTableAsynchronous(handle handle_1, handle handle_2) Asynchronously spawn an entity group from a list of spawn tables. A callback will be triggered when the spawning is complete
SpawnEntityListFromTableSynchronous handle SpawnEntityListFromTableSynchronous(handle handle_1) Synchronously spawn an entity group from a list of spawn tables.
SplineQuaternions Quaternion SplineQuaternions(Quaternion Quaternion_1, Quaternion Quaternion_2, float float_3) (quaternion,quaternion,float) very basic interpolation of v0 to v1 over t on [0,1]
SplineVectors Vector SplineVectors(Vector Vector_1, Vector Vector_2, float float_3) (vector,vector,float) very basic interpolation of v0 to v1 over t on [0,1]
StartSoundEvent void StartSoundEvent(string string_1, handle handle_2) Start a sound event
StartSoundEventFromPosition void StartSoundEventFromPosition(string string_1, Vector Vector_2) Start a sound event from position
StartSoundEventFromPositionReliable void StartSoundEventFromPositionReliable(string string_1, Vector Vector_2) Start a sound event from position with reliable delivery
StartSoundEventFromPositionUnreliable void StartSoundEventFromPositionUnreliable(string string_1, Vector Vector_2) Start a sound event from position with optional delivery
StartSoundEventReliable void StartSoundEventReliable(string string_1, handle handle_2) Start a sound event with reliable delivery
StartSoundEventUnreliable void StartSoundEventUnreliable(string string_1, handle handle_2) Start a sound event with optional delivery
StopEffect void StopEffect(handle handle_1, string string_2) Pass entity and effect name
StopGlobalSound void StopGlobalSound(string string_1) Stop named sound for all players
StopListeningToAllGameEvents void StopListeningToAllGameEvents(handle handle_1) Stop listening to all game events within a specific context.
StopListeningToGameEvent bool StopListeningToGameEvent(int int_1) Stop listening to a particular game event.
StopSoundEvent void StopSoundEvent(string string_1, handle handle_2) Stops a sound event with optional delivery
StopSoundOn void StopSoundOn(string string_1, handle handle_2) Stop named sound on Entity
Time float Time() Get the current server time
TraceCollideable bool TraceCollideable(handle handle_1) Pass table - Inputs: start, end, ent, (optional mins, maxs) -- outputs: pos, fraction, hit, startsolid, normal
TraceHull bool TraceHull(handle handle_1) Pass table - Inputs: start, end, min, max, mask, ignore -- outputs: pos, fraction, hit, enthit, startsolid
TraceLine bool TraceLine(handle handle_1) Pass table - Inputs: startpos, endpos, mask, ignore -- outputs: pos, fraction, hit, enthit, startsolid
UTIL_AngleDiff float UTIL_AngleDiff(float float_1, float float_2) Returns the number of degrees difference between two yaw angles
UTIL_MessageText void UTIL_MessageText(int int_1, string string_2, int int_3, int int_4, int int_5, int int_6) Sends colored text to one client.
UTIL_MessageTextAll void UTIL_MessageTextAll(string string_1, int int_2, int int_3, int int_4, int int_5) Sends colored text to all clients.
UTIL_MessageTextAll_WithContext void UTIL_MessageTextAll_WithContext(string string_1, int int_2, int int_3, int int_4, int int_5, handle handle_6) Sends colored text to all clients. (Valid context keys: player_id, value, team_id)
UTIL_MessageText_WithContext void UTIL_MessageText_WithContext(int int_1, string string_2, int int_3, int int_4, int int_5, int int_6, handle handle_7) Sends colored text to one client. (Valid context keys: player_id, value, team_id)
UTIL_Remove void UTIL_Remove(handle handle_1) Removes the specified entity
UTIL_RemoveImmediate void UTIL_RemoveImmediate(handle handle_1) Immediately removes the specified entity
UTIL_ResetMessageText void UTIL_ResetMessageText(int int_1) Clear all message text on one client.
UTIL_ResetMessageTextAll void UTIL_ResetMessageTextAll() Clear all message text from all clients.
UnitFilter int UnitFilter(handle handle_1, int int_2, int int_3, int int_4, int int_5) Check if a unit passes a set of filters. (hNPC, nTargetTeam, nTargetType, nTargetFlags, nTeam
UnloadSpawnGroup void UnloadSpawnGroup(string string_1) Unload a spawn group by name
UnloadSpawnGroupByHandle void UnloadSpawnGroupByHandle(int int_1) Unload a spawn group by handle
UpdateEventPoints void UpdateEventPoints(handle handle_1) ( hEventPointData )
VectorAngles QAngle VectorAngles(Vector Vector_1)
VectorToAngles QAngle VectorToAngles(Vector Vector_1) Get Qangles (with no roll) for a Vector.
Warning void Warning(string string_1) Print a warning
cvar_getf float cvar_getf(string string_1) Gets the value of the given cvar, as a float.
cvar_setf bool cvar_setf(string string_1, float float_2) Sets the value of the given cvar, as a float.
rr_AddDecisionRule bool rr_AddDecisionRule(handle handle_1) Add a rule to the decision database.
rr_CommitAIResponse bool rr_CommitAIResponse(handle handle_1, handle handle_2) Commit the result of QueryBestResponse back to the given entity to play. Call with params (entity, airesponse)
rr_GetResponseTargets handle rr_GetResponseTargets() Retrieve a table of all available expresser targets, in the form { name : handle, name: handle }.
rr_QueryBestResponse bool rr_QueryBestResponse(handle handle_1, handle handle_2, handle handle_3) Params: (entity, query) : tests 'query' against entity's response system and returns the best response found (or null if none found).

CBaseAnimating

extends CBaseModelEntity

No Description Set

Function Signature Description
ActiveSequenceDuration float ActiveSequenceDuration() Returns the duration in seconds of the active sequence.
GetAttachmentAngles Vector GetAttachmentAngles(int iAttachment) Get the attachment id's angles as a p,y,r vector.
GetAttachmentForward Vector GetAttachmentForward(int iAttachment) Get the attachment id's forward vector.
GetAttachmentOrigin Vector GetAttachmentOrigin(int iAttachment) Get the attachment id's origin vector.
GetCycle float GetCycle() Get the cycle of the animation.
GetGraphParameter table GetGraphParameter(string pszParam) Get the value of the given animGraph parameter
GetModelScale float GetModelScale() Get scale of entity's model.
GetSequence string GetSequence() Returns the name of the active sequence.
IsSequenceFinished bool IsSequenceFinished() Ask whether the main sequence is done playing.
ResetSequence void ResetSequence(string pSequenceName) Sets the active sequence by name, resetting the current cycle.
ScriptLookupAttachment int ScriptLookupAttachment(string pAttachmentName) Get the named attachment id.
SequenceDuration float SequenceDuration(string pSequenceName) Returns the duration in seconds of the given sequence name.
SetGraphLookTarget void SetGraphLookTarget(Vector vValue) Pass the desired look target in world space to the graph
SetGraphParameter void SetGraphParameter(string pszParam, table svArg) Set the specific param value, type is inferred from the type in script
SetGraphParameterBool void SetGraphParameterBool(string szName, bool bValue) Set the specific param on or off
SetGraphParameterEnum void SetGraphParameterEnum(string szName, int nValue) Pass the enum (int) value to the specified param
SetGraphParameterFloat void SetGraphParameterFloat(string szName, float flValue) Pass the float value to the specified param
SetGraphParameterInt void SetGraphParameterInt(string szName, int nValue) Pass the int value to the specified param
SetGraphParameterVector void SetGraphParameterVector(string szName, Vector vValue) Pass the vector value to the specified param in the graph
SetModelScale void SetModelScale(float flScale) Set scale of entity's model.
SetPoseParameter float SetPoseParameter(string szName, float fValue) Set the specified pose parameter to the specified value.
SetSequence void SetSequence(string pSequenceName) Sets the active sequence by name, keeping the current cycle.
StopAnimation void StopAnimation() Stop the current animation by setting playback rate to 0.0.

CBaseCombatCharacter

extends CBaseFlex

No Description Set

Function Signature Description
GetEquippedWeapons table GetEquippedWeapons() GetEquippedWeapons() : Returns an array of all the equipped weapons
GetFaction int GetFaction() Get the combat character faction.
GetWeaponCount int GetWeaponCount() GetWeaponCount() : Gets the number of weapons currently equipped
ShootPosition Vector ShootPosition(int nHand, int nMuzzle) Returns the shoot position eyes (or hand in VR).

CBaseEntity

extends CEntityInstance

The base class for stuff

Function Signature Description
AddEffects void AddEffects(int nFlags) AddEffects( int ): Adds the render effect flag.
ApplyAbsVelocityImpulse void ApplyAbsVelocityImpulse(Vector vecImpulse) Apply a Velocity Impulse
ApplyLocalAngularVelocityImpulse void ApplyLocalAngularVelocityImpulse(Vector angImpulse) Apply an Ang Velocity Impulse
Attribute_GetFloatValue float Attribute_GetFloatValue(string pName, float flDefault) Get float value for an entity attribute.
Attribute_GetIntValue int Attribute_GetIntValue(string pName, int nDefault) Get int value for an entity attribute.
Attribute_SetFloatValue void Attribute_SetFloatValue(string pName, float flValue) Set float value for an entity attribute.
Attribute_SetIntValue void Attribute_SetIntValue(string pName, int nValue) Set int value for an entity attribute.
DeleteAttribute void DeleteAttribute(string pName) Delete an entity attribute.
EmitSound void EmitSound(string soundname) Plays a sound from this entity.
EmitSoundParams void EmitSoundParams(string soundname, int nPitch, float flVolume, float flDelay) Plays/modifies a sound from this entity. changes sound if nPitch and/or flVol or flSoundTime is > 0.
EyeAngles QAngle EyeAngles() Get the qangles that this entity is looking at.
EyePosition Vector EyePosition() Get vector to eye position - absolute coords.
FirstMoveChild handle FirstMoveChild()
FollowEntity void FollowEntity(handle hEnt, bool bBoneMerge) hEntity to follow, bool bBoneMerge
GatherCriteria void GatherCriteria(handle hResult) Returns a table containing the criteria that would be used for response queries on this entity. This is the same as the table that is passed to response rule script function callbacks.
GetAbsOrigin Vector GetAbsOrigin() Returns the position of the entity on the map. Very Useful!
GetAbsScale float GetAbsScale()
GetAngles QAngle GetAngles()
GetAnglesAsVector Vector GetAnglesAsVector() Get entity pitch, yaw, roll as a vector.
GetAngularVelocity Vector GetAngularVelocity() Get the local angular velocity - returns a vector of pitch,yaw,roll
GetBaseVelocity Vector GetBaseVelocity() Get Base? velocity.
GetBoundingMaxs Vector GetBoundingMaxs() Get a vector containing max bounds, centered on object.
GetBoundingMins Vector GetBoundingMins() Get a vector containing min bounds, centered on object.
GetBounds table GetBounds() Get a table containing the 'Mins' & 'Maxs' vector bounds, centered on object.
GetCenter Vector GetCenter() Get vector to center of object - absolute coords
GetChildren handle GetChildren() Get the entities parented to this entity.
GetContext table GetContext(string name) GetContext( name ): looks up a context and returns it if available. May return string, float, or null (if the context isn't found).
GetForwardVector Vector GetForwardVector() Get the forward vector of the entity.
GetHealth int GetHealth() Get the health of this entity.
GetLocalAngles QAngle GetLocalAngles() Get entity local pitch, yaw, roll as a QAngle
GetLocalAngularVelocity QAngle GetLocalAngularVelocity() Maybe local angvel
GetLocalOrigin Vector GetLocalOrigin() Get entity local origin as a Vector
GetLocalScale float GetLocalScale()
GetLocalVelocity Vector GetLocalVelocity() Get Entity relative velocity.
GetMass float GetMass() Get the mass of an entity. (returns 0 if it doesn't have a physics object)
GetMaxHealth int GetMaxHealth() Get the maximum health of this entity.
GetModelName string GetModelName() Returns the name of the model.
GetMoveParent handle GetMoveParent() If in hierarchy, retrieves the entity's parent.
GetOrigin Vector GetOrigin()
GetOwner handle GetOwner() Gets this entity's owner
GetOwnerEntity handle GetOwnerEntity() Get the owner entity, if there is one
GetRightVector Vector GetRightVector() Get the right vector of the entity.
GetRootMoveParent handle GetRootMoveParent() If in hierarchy, walks up the hierarchy to find the root parent.
GetSoundDuration float GetSoundDuration(string soundname, string actormodel) Returns float duration of the sound. Takes soundname and optional actormodelname.
GetTeam int GetTeam() Get the team number of this entity.
GetTeamNumber int GetTeamNumber() Get the team number of this entity.
GetUpVector Vector GetUpVector() Get the up vector of the entity.
GetVelocity Vector GetVelocity()
HasAttribute bool HasAttribute(string pName) See if an entity has a particular attribute.
IsAlive bool IsAlive() Is this entity alive?
IsNPC bool IsNPC() Is this entity an CAI_BaseNPC?
IsPlayer bool IsPlayer() Is this entity a player?
Kill void Kill()
NextMovePeer handle NextMovePeer()
OverrideFriction void OverrideFriction(float duration, float friction) Takes duration, value for a temporary override.
PrecacheScriptSound void PrecacheScriptSound(string soundname) Precache a sound for later playing.
RemoveEffects void RemoveEffects(int nFlags) RemoveEffects( int ): Removes the render effect flag.
SetAbsAngles void SetAbsAngles(float fPitch, float fYaw, float fRoll) Set entity pitch, yaw, roll by component.
SetAbsOrigin void SetAbsOrigin(Vector origin)
SetAbsScale void SetAbsScale(float flScale)
SetAngles void SetAngles(float fPitch, float fYaw, float fRoll) Set entity pitch, yaw, roll by component.
SetAngularVelocity void SetAngularVelocity(float pitchVel, float yawVel, float rollVel) Set the local angular velocity - takes float pitch,yaw,roll velocities
SetConstraint void SetConstraint(Vector vPos) Set the position of the constraint.
SetContext void SetContext(string pName, string pValue, float duration) SetContext( name , value, duration ): store any key/value pair in this entity's dialog contexts. Value must be a string. Will last for duration (set 0 to mean 'forever').
SetContextNum void SetContextNum(string pName, float fValue, float duration) SetContextNum( name , value, duration ): store any key/value pair in this entity's dialog contexts. Value must be a number (int or float). Will last for duration (set 0 to mean 'forever').
SetContextThink void SetContextThink(string pszContextName, handle hThinkFunc, float flInterval) Set a think function on this entity.
SetEntityName void SetEntityName(string pName) Set the name of an entity.
SetForwardVector void SetForwardVector(Vector v) Set the orientation of the entity to have this forward vector.
SetFriction void SetFriction(float flFriction) Set PLAYER friction, ignored for objects.
SetGravity void SetGravity(float flGravity) Set PLAYER gravity, ignored for objects.
SetHealth void SetHealth(int nHealth) Set the health of this entity.
SetLocalAngles void SetLocalAngles(float fPitch, float fYaw, float fRoll) Set entity local pitch, yaw, roll by component
SetLocalOrigin void SetLocalOrigin(Vector origin) Set entity local origin from a Vector
SetLocalScale void SetLocalScale(float flScale)
SetMass void SetMass(float flMass) Set the mass of an entity. (does nothing if it doesn't have a physics object)
SetMaxHealth void SetMaxHealth(int amt) Set the maximum health of this entity.
SetOrigin void SetOrigin(Vector v) Sets the location of this entity
SetOwner void SetOwner(handle pOwner) Sets this entity's owner
SetParent void SetParent(handle hParent, string pAttachmentname) Set the parent for this entity.
SetTeam void SetTeam(int iTeamNum)
SetVelocity void SetVelocity(Vector vecVelocity)
StopSound void StopSound(string soundname) Stops a named sound playing from this entity.
TakeDamage int TakeDamage(handle hInfo) Apply damage to this entity. Use CreateDamageInfo() to create a damageinfo object.
TransformPointEntityToWorld Vector TransformPointEntityToWorld(Vector vPoint) Returns the input Vector transformed from entity to world space
TransformPointWorldToEntity Vector TransformPointWorldToEntity(Vector vPoint) Returns the input Vector transformed from world to entity space
Trigger void Trigger() Fires off this entity's OnTrigger responses.
ValidatePrivateScriptScope void ValidatePrivateScriptScope() Validates the private script scope and creates it if one doesn't exist.

CBaseFlex

extends CBaseAnimating

No Description Set

Function Signature Description
GetCurrentScene handle GetCurrentScene() Returns the instance of the oldest active scene entity (if any).
GetSceneByIndex handle GetSceneByIndex(int index) Returns the instance of the scene entity at the specified index.
ScriptPlayScene float ScriptPlayScene(string pszScene, float flDelay) ( vcd file, delay ) - play specified vcd file

CBaseModelEntity

extends CBaseEntity

No Description Set

Function Signature Description
GetMaterialGroupHash unsigned GetMaterialGroupHash() GetMaterialGroupHash(): Get the material group hash of this entity.
GetMaterialGroupMask uint64 GetMaterialGroupMask() GetMaterialGroupMask(): Get the mesh group mask of this entity.
GetRenderAlpha int GetRenderAlpha() GetRenderAlpha(): Get the alpha modulation of this entity.
GetRenderColor Vector GetRenderColor() GetRenderColor(): Get the render color of the entity.
SetBodygroup void SetBodygroup(int iGroup, int iValue) Sets a bodygroup.
SetBodygroupByName void SetBodygroupByName(string pName, int iValue) Sets a bodygroup by name.
SetLightGroup void SetLightGroup(string pLightGroup) SetLightGroup( string ): Sets the light group of the entity.
SetMaterialGroup void SetMaterialGroup(string pMaterialGroup) SetMaterialGroup( string ): Set the material group of this entity.
SetMaterialGroupHash void SetMaterialGroupHash(unsigned nHash) SetMaterialGroupHash( uint32 ): Set the material group hash of this entity.
SetMaterialGroupMask void SetMaterialGroupMask(uint64 nMeshGroupMask) SetMaterialGroupMask( uint64 ): Set the mesh group mask of this entity.
SetModel void SetModel(string pModelName)
SetRenderAlpha void SetRenderAlpha(int nAlpha) SetRenderAlpha( int ): Set the alpha modulation of this entity.
SetRenderColor void SetRenderColor(int r, int g, int b) SetRenderColor( r, g, b ): Sets the render color of the entity.
SetRenderMode void SetRenderMode(int nMode) SetRenderMode( int ): Sets the render mode of the entity.
SetSingleMeshGroup void SetSingleMeshGroup(string pMeshGroupName) SetSingleMeshGroup( string ): Set a single mesh group for this entity.
SetSize void SetSize(Vector mins, Vector maxs)
SetSkin void SetSkin(int iSkin) Set skin (int).

CBasePlayer

extends CBaseCombatCharacter

No Description Set

Function Signature Description
AreChaperoneBoundsVisible bool AreChaperoneBoundsVisible() Returns whether this player's chaperone bounds are visible.
GetHMDAnchor handle GetHMDAnchor() Returns the HMD anchor entity for this player if it exists.
GetHMDAvatar handle GetHMDAvatar() Returns the HMD Avatar entity for this player if it exists.
GetPlayArea Vector GetPlayArea(int nPoint) Returns the Vector position of the point you ask for. Pass 0-3 to get the four points.
GetUserID int GetUserID() Returns the player's user id.
GetVRControllerType <unknown> GetVRControllerType() Returns the type of controller being used while in VR.
IsNoclipping bool IsNoclipping() Returns true if the player is in noclip mode.
IsUsePressed bool IsUsePressed() Returns true if the use key is pressed.
IsVRControllerButtonPressed bool IsVRControllerButtonPressed(int nButton) Returns true if the controller button is pressed.
IsVRDashboardShowing bool IsVRDashboardShowing() Returns true if the SteamVR dashboard is showing for this player.

CBaseTrigger

extends CBaseEntity

No Description Set

Function Signature Description
Disable void Disable() Disable's the trigger
Enable void Enable() Enable the trigger
IsTouching bool IsTouching(handle hEnt) Checks whether the passed entity is touching the trigger.

CBodyComponent

No Description Set

Function Signature Description
AddImpulseAtPosition void AddImpulseAtPosition(Vector Vector_1, Vector Vector_2) Apply an impulse at a worldspace position to the physics
AddVelocity void AddVelocity(Vector Vector_1, Vector Vector_2) Add linear and angular velocity to the physics object
DetachFromParent void DetachFromParent() Detach from its parent
GetSequence <unknown> GetSequence() Returns the active sequence
IsAttachedToParent bool IsAttachedToParent() Is attached to parent
LookupSequence <unknown> LookupSequence(string string_1) Returns a sequence id given a name
SequenceDuration float SequenceDuration(string string_1) Returns the duration in seconds of the specified sequence
SetAngularVelocity void SetAngularVelocity(Vector Vector_1)
SetAnimation void SetAnimation(string string_1) Pass string for the animation to play on this model
SetMaterialGroup void SetMaterialGroup(utlstringtoken utlstringtoken_1)
SetVelocity void SetVelocity(Vector Vector_1)

CCustomGameEventManager

Global accessor variable: CustomGameEventManager

Function Signature Description
RegisterListener int RegisterListener(string string_1, handle handle_2) ( string EventName, func CallbackFunction ) - Register a callback to be called when a particular custom event arrives. Returns a listener ID that can be used to unregister later.
Send_ServerToAllClients void Send_ServerToAllClients(string string_1, handle handle_2) ( string EventName, table EventData )
Send_ServerToPlayer void Send_ServerToPlayer(handle handle_1, string string_2, handle handle_3) ( Entity Player, string EventName, table EventData )
Send_ServerToTeam void Send_ServerToTeam(int int_1, string string_2, handle handle_3) ( int TeamNumber, string EventName, table EventData )
UnregisterListener void UnregisterListener(int int_1) ( int ListnerID ) - Unregister a specific listener

CCustomNetTableManager

Global accessor variable: CustomNetTables

Function Signature Description
GetTableValue table GetTableValue(string string_1, string string_2) ( string TableName, string KeyName )
SetTableValue bool SetTableValue(string string_1, string string_2, handle handle_3) ( string TableName, string KeyName, script_table Value )

CDOTABaseAbility

extends CBaseEntity

No Description Set

Function Signature Description
CanAbilityBeUpgraded <unknown> CanAbilityBeUpgraded()
CastAbility bool CastAbility() You are probably looking for OnSpellStart()
ContinueCasting bool ContinueCasting()
CreateVisibilityNode void CreateVisibilityNode(Vector vLocation, float fRadius, float fDuration)
DecrementModifierRefCount void DecrementModifierRefCount()
EndChannel void EndChannel(bool bInterrupted)
EndCooldown void EndCooldown() Clear the cooldown remaining on this ability.
GetAOERadius int GetAOERadius()
GetAbilityDamage int GetAbilityDamage()
GetAbilityDamageType int GetAbilityDamageType()
GetAbilityIndex int GetAbilityIndex()
GetAbilityKeyValues table GetAbilityKeyValues() Gets the key values definition for this ability.
GetAbilityName string GetAbilityName() Returns the name of this ability.
GetAbilityTargetFlags int GetAbilityTargetFlags()
GetAbilityTargetTeam int GetAbilityTargetTeam()
GetAbilityTargetType int GetAbilityTargetType()
GetAbilityType int GetAbilityType()
GetAnimationIgnoresModelScale bool GetAnimationIgnoresModelScale()
GetAssociatedPrimaryAbilities string GetAssociatedPrimaryAbilities()
GetAssociatedSecondaryAbilities string GetAssociatedSecondaryAbilities()
GetAutoCastState bool GetAutoCastState()
GetBackswingTime float GetBackswingTime()
GetBehavior int GetBehavior()
GetCastPoint float GetCastPoint()
GetCastRange int GetCastRange(Vector vLocation, handle hTarget) Gets the cast range of the ability.
GetCaster handle GetCaster()
GetChannelStartTime float GetChannelStartTime()
GetChannelTime float GetChannelTime()
GetChannelledManaCostPerSecond int GetChannelledManaCostPerSecond(int iLevel)
GetCloneSource handle GetCloneSource()
GetConceptRecipientType int GetConceptRecipientType()
GetCooldown float GetCooldown(int iLevel) Get the cooldown duration for this ability at a given level, not the amount of cooldown actually left.
GetCooldownTime float GetCooldownTime()
GetCooldownTimeRemaining float GetCooldownTimeRemaining()
GetCursorPosition Vector GetCursorPosition()
GetCursorTarget handle GetCursorTarget()
GetCursorTargetingNothing bool GetCursorTargetingNothing()
GetDuration float GetDuration()
GetEffectiveCooldown float GetEffectiveCooldown(int iLevel)
GetGoldCost int GetGoldCost(int iLevel)
GetGoldCostForUpgrade int GetGoldCostForUpgrade(int iLevel)
GetHeroLevelRequiredToUpgrade int GetHeroLevelRequiredToUpgrade()
GetIntrinsicModifierName string GetIntrinsicModifierName()
GetLevel int GetLevel() Get the current level of the ability.
GetLevelSpecialValueFor table GetLevelSpecialValueFor(string szName, int nLevel)
GetManaCost int GetManaCost(int iLevel)
GetMaxLevel int GetMaxLevel()
GetModifierValue float GetModifierValue()
GetModifierValueBonus float GetModifierValueBonus()
GetPlaybackRateOverride float GetPlaybackRateOverride()
GetSharedCooldownName string GetSharedCooldownName()
GetSpecialValueFor table GetSpecialValueFor(string szName) Gets a value from this ability's special value block for its current level.
GetStolenActivityModifier string GetStolenActivityModifier()
GetToggleState bool GetToggleState()
GetUpgradeRecommended bool GetUpgradeRecommended()
HeroXPChange bool HeroXPChange(float flXP)
IncrementModifierRefCount void IncrementModifierRefCount()
IsActivated bool IsActivated()
IsAttributeBonus bool IsAttributeBonus()
IsChanneling bool IsChanneling() Returns whether the ability is currently channeling.
IsCooldownReady bool IsCooldownReady()
IsCosmetic bool IsCosmetic(handle hEntity)
IsFullyCastable bool IsFullyCastable() Returns whether the ability can be cast.
IsHidden bool IsHidden()
IsHiddenAsSecondaryAbility bool IsHiddenAsSecondaryAbility()
IsHiddenWhenStolen bool IsHiddenWhenStolen()
IsInAbilityPhase bool IsInAbilityPhase() Returns whether the ability is currently casting.
IsItem bool IsItem()
IsOwnersGoldEnough bool IsOwnersGoldEnough(int nIssuerPlayerID)
IsOwnersGoldEnoughForUpgrade bool IsOwnersGoldEnoughForUpgrade()
IsOwnersManaEnough bool IsOwnersManaEnough()
IsPassive bool IsPassive()
IsRefreshable bool IsRefreshable()
IsSharedWithTeammates bool IsSharedWithTeammates()
IsStealable bool IsStealable()
IsStolen bool IsStolen()
IsToggle bool IsToggle()
IsTrained bool IsTrained()
MarkAbilityButtonDirty void MarkAbilityButtonDirty() Mark the ability button for this ability as needing a refresh.
NumModifiersUsingAbility int NumModifiersUsingAbility()
OnAbilityPhaseInterrupted void OnAbilityPhaseInterrupted()
OnAbilityPhaseStart bool OnAbilityPhaseStart()
OnAbilityPinged void OnAbilityPinged(int nPlayerID, bool bCtrlHeld)
OnChannelFinish void OnChannelFinish(bool bInterrupted)
OnChannelThink void OnChannelThink(float flInterval)
OnHeroCalculateStatBonus void OnHeroCalculateStatBonus()
OnHeroLevelUp void OnHeroLevelUp()
OnOwnerDied void OnOwnerDied()
OnOwnerSpawned void OnOwnerSpawned()
OnSpellStart void OnSpellStart()
OnToggle void OnToggle()
OnUpgrade void OnUpgrade()
PayGoldCost void PayGoldCost()
PayGoldCostForUpgrade void PayGoldCostForUpgrade()
PayManaCost void PayManaCost()
PlaysDefaultAnimWhenStolen bool PlaysDefaultAnimWhenStolen()
ProcsMagicStick bool ProcsMagicStick()
RefCountsModifiers bool RefCountsModifiers()
RefreshCharges void RefreshCharges()
RefundManaCost void RefundManaCost()
ResetToggleOnRespawn bool ResetToggleOnRespawn()
SetAbilityIndex void SetAbilityIndex(int iIndex)
SetActivated void SetActivated(bool bActivated)
SetChanneling void SetChanneling(bool bChanneling)
SetFrozenCooldown void SetFrozenCooldown(bool bFrozenCooldown)
SetHidden void SetHidden(bool bHidden)
SetInAbilityPhase void SetInAbilityPhase(bool bInAbilityPhase)
SetLevel void SetLevel(int iLevel) Sets the level of this ability.
SetOverrideCastPoint void SetOverrideCastPoint(float flCastPoint)
SetRefCountsModifiers void SetRefCountsModifiers(bool bRefCounts)
SetStealable void SetStealable(bool bStealable)
SetStolen void SetStolen(bool bStolen)
SetUpgradeRecommended void SetUpgradeRecommended(bool bUpgradeRecommended)
ShouldUseResources bool ShouldUseResources()
SpeakAbilityConcept void SpeakAbilityConcept(int iConcept)
SpeakTrigger <unknown> SpeakTrigger()
StartCooldown void StartCooldown(float flCooldown)
ToggleAbility void ToggleAbility()
ToggleAutoCast void ToggleAutoCast()
UpgradeAbility void UpgradeAbility(bool bSupressSpeech)
UseResources void UseResources(bool bMana, bool bGold, bool bCooldown)

CDOTABaseGameMode

extends CBaseEntity

No Description Set

Function Signature Description
AddRealTimeCombatAnalyzerQuery int AddRealTimeCombatAnalyzerQuery(handle hQueryTable, handle hPlayer, string pszQueryName) Begin tracking a sequence of events using the real time combat analyzer.
AreWeatherEffectsDisabled bool AreWeatherEffectsDisabled() Get if weather effects are disabled on the client.
ClearBountyRunePickupFilter void ClearBountyRunePickupFilter() Clear the script filter that controls bounty rune pickup behavior.
ClearDamageFilter void ClearDamageFilter() Clear the script filter that controls how a unit takes damage.
ClearExecuteOrderFilter void ClearExecuteOrderFilter() Clear the script filter that controls when a unit picks up an item.
ClearHealingFilter void ClearHealingFilter() Clear the script filter that controls how a unit heals.
ClearItemAddedToInventoryFilter void ClearItemAddedToInventoryFilter() Clear the script filter that controls the item added to inventory filter.
ClearModifierGainedFilter void ClearModifierGainedFilter() Clear the script filter that controls the modifier filter.
ClearModifyExperienceFilter void ClearModifyExperienceFilter() Clear the script filter that controls how hero experience is modified.
ClearModifyGoldFilter void ClearModifyGoldFilter() Clear the script filter that controls how hero gold is modified.
ClearRuneSpawnFilter void ClearRuneSpawnFilter() Clear the script filter that controls what rune spawns.
ClearTrackingProjectileFilter void ClearTrackingProjectileFilter() Clear the script filter that controls when tracking projectiles are launched.
DisableHudFlip void DisableHudFlip(bool bDisable) Use to disable hud flip for this mod
GetAlwaysShowPlayerInventory bool GetAlwaysShowPlayerInventory() Show the player hero's inventory in the HUD, regardless of what unit is selected.
GetAlwaysShowPlayerNames bool GetAlwaysShowPlayerNames() Get whether player names are always shown, regardless of client setting.
GetAnnouncerDisabled bool GetAnnouncerDisabled() Are in-game announcers disabled?
GetCameraDistanceOverride float GetCameraDistanceOverride() Set a different camera distance; dota default is 1134.
GetCustomAttributeDerivedStatValue float GetCustomAttributeDerivedStatValue(int nDerivedStatType, handle hHero) Get current derived stat value constant.
GetCustomBackpackCooldownPercent float GetCustomBackpackCooldownPercent() Get the current rate cooldown ticks down for items in the backpack.
GetCustomBackpackSwapCooldown float GetCustomBackpackSwapCooldown() Get the current custom backpack swap cooldown.
GetCustomBuybackCooldownEnabled bool GetCustomBuybackCooldownEnabled() Turns on capability to define custom buyback cooldowns.
GetCustomBuybackCostEnabled bool GetCustomBuybackCostEnabled() Turns on capability to define custom buyback costs.
GetCustomGlyphCooldown float GetCustomGlyphCooldown() Get the current custom glyph cooldown.
GetCustomHeroMaxLevel int GetCustomHeroMaxLevel() Allows definition of the max level heroes can achieve (default is 25).
GetCustomScanCooldown float GetCustomScanCooldown() Get the current custom scan cooldown.
GetFixedRespawnTime float GetFixedRespawnTime() Gets the fixed respawn time.
GetFogOfWarDisabled bool GetFogOfWarDisabled() Turn the fog of war on or off.
GetGoldSoundDisabled bool GetGoldSoundDisabled() Turn the sound when gold is acquired off/on.
GetHUDVisible bool GetHUDVisible(int iElement) Returns the HUD element visibility.
GetMaximumAttackSpeed int GetMaximumAttackSpeed() Get the maximum attack speed for units.
GetMinimumAttackSpeed int GetMinimumAttackSpeed() Get the minimum attack speed for units.
GetRecommendedItemsDisabled bool GetRecommendedItemsDisabled() Turn the panel for showing recommended items at the shop off/on.
GetRespawnTimeScale float GetRespawnTimeScale() Returns the scale applied to non-fixed respawn times.
GetStashPurchasingDisabled bool GetStashPurchasingDisabled() Turn purchasing items to the stash off/on. If purchasing to the stash is off the player must be at a shop to purchase items.
GetStickyItemDisabled bool GetStickyItemDisabled() Hide the sticky item in the quickbuy.
GetTopBarTeamValuesOverride bool GetTopBarTeamValuesOverride() Override the values of the team values on the top game bar.
GetTopBarTeamValuesVisible bool GetTopBarTeamValuesVisible() Turning on/off the team values on the top game bar.
GetTowerBackdoorProtectionEnabled bool GetTowerBackdoorProtectionEnabled() Gets whether tower backdoor protection is enabled or not.
GetUseCustomHeroLevels bool GetUseCustomHeroLevels() Are custom-defined XP values for hero level ups in use?
IsBuybackEnabled bool IsBuybackEnabled() Enables or disables buyback completely.
IsDaynightCycleDisabled bool IsDaynightCycleDisabled() Is the day/night cycle disabled?
ListenForQueryFailed void ListenForQueryFailed(handle hFunction, handle hContext) Set function and context for real time combat analyzer query failed.
ListenForQueryProgressChanged void ListenForQueryProgressChanged(handle hFunction, handle hContext) Set function and context for real time combat analyzer query progress changed.
ListenForQuerySucceeded void ListenForQuerySucceeded(handle hFunction, handle hContext) Set function and context for real time combat analyzer query succeeded.
RemoveRealTimeCombatAnalyzerQuery void RemoveRealTimeCombatAnalyzerQuery(int nQueryID) Stop tracking a combat analyzer query.
SetAbilityTuningValueFilter void SetAbilityTuningValueFilter(handle hFunction, handle hContext) Set a filter function to control the tuning values that abilities use. (Modify the table and Return true to use new values, return false to use the old values)
SetAlwaysShowPlayerInventory void SetAlwaysShowPlayerInventory(bool bAlwaysShow) Show the player hero's inventory in the HUD, regardless of what unit is selected.
SetAlwaysShowPlayerNames void SetAlwaysShowPlayerNames(bool bEnabled) Set whether player names are always shown, regardless of client setting.
SetAnnouncerDisabled void SetAnnouncerDisabled(bool bDisabled) Mutes the in-game announcer.
SetBotThinkingEnabled void SetBotThinkingEnabled(bool bEnabled) Enables/Disables bots in custom games. Note: this will only work with default heroes in the dota map.
SetBotsAlwaysPushWithHuman void SetBotsAlwaysPushWithHuman(bool bAlwaysPush) Set if the bots should try their best to push with a human player.
SetBotsInLateGame void SetBotsInLateGame(bool bLateGame) Set if bots should enable their late game behavior.
SetBotsMaxPushTier void SetBotsMaxPushTier(int nMaxTier) Set the max tier of tower that bots want to push. (-1 to disable)
SetBountyRunePickupFilter void SetBountyRunePickupFilter(handle hFunction, handle hContext) Set a filter function to control the behavior when a bounty rune is picked up. (Modify the table and Return true to use new values, return false to cancel the event)
SetBountyRuneSpawnInterval void SetBountyRuneSpawnInterval(float flInterval) Set bounty rune spawn rate
SetBuybackEnabled void SetBuybackEnabled(bool bEnabled) Enables or disables buyback completely.
SetCameraDistanceOverride void SetCameraDistanceOverride(float flCameraDistanceOverride) Set a different camera distance; dota default is 1134.
SetCameraSmoothCountOverride void SetCameraSmoothCountOverride(int nSmoothCount) Set a different camera smooth count; dota default is 8.
SetCustomAttributeDerivedStatValue void SetCustomAttributeDerivedStatValue(int nStatType, float flNewValue) Modify derived stat value constants. ( AttributeDerivedStat eStatType, float flNewValue.
SetCustomBackpackCooldownPercent void SetCustomBackpackCooldownPercent(float flPercent) Set the rate cooldown ticks down for items in the backpack.
SetCustomBackpackSwapCooldown void SetCustomBackpackSwapCooldown(float flCooldown) Set a custom cooldown for swapping items into the backpack.
SetCustomBuybackCooldownEnabled void SetCustomBuybackCooldownEnabled(bool bEnabled) Turns on capability to define custom buyback cooldowns.
SetCustomBuybackCostEnabled void SetCustomBuybackCostEnabled(bool bEnabled) Turns on capability to define custom buyback costs.
SetCustomGameForceHero void SetCustomGameForceHero(string pHeroName) Force all players to use the specified hero and disable the normal hero selection process. Must be used before hero selection.
SetCustomGlyphCooldown void SetCustomGlyphCooldown(float flCooldown) Set a custom cooldown for team Glyph ability.
SetCustomHeroMaxLevel void SetCustomHeroMaxLevel(int int_1) Allows definition of the max level heroes can achieve (default is 25).
SetCustomScanCooldown void SetCustomScanCooldown(float flCooldown) Set a custom cooldown for team Scan ability.
SetCustomTerrainWeatherEffect void SetCustomTerrainWeatherEffect(string pszEffectName) Set the effect used as a custom weather effect, when units are on non-default terrain, in this mode.
SetCustomXPRequiredToReachNextLevel void SetCustomXPRequiredToReachNextLevel(handle hTable) Allows definition of a table of hero XP values.
SetDamageFilter void SetDamageFilter(handle hFunction, handle hContext) Set a filter function to control the behavior when a unit takes damage. (Modify the table and Return true to use new values, return false to cancel the event)
SetDaynightCycleDisabled void SetDaynightCycleDisabled(bool bDisable) Enable or disable the day/night cycle.
SetDeathOverlayDisabled void SetDeathOverlayDisabled(bool bDisabled) Specify whether the full screen death overlay effect plays when the selected hero dies.
SetDraftingBanningTimeOverride void SetDraftingBanningTimeOverride(float flValue) Set drafting hero banning time
SetDraftingHeroPickSelectTimeOverride void SetDraftingHeroPickSelectTimeOverride(float flValue) Set drafting hero pick time
SetExecuteOrderFilter void SetExecuteOrderFilter(handle hFunction, handle hContext) Set a filter function to control the behavior when a unit picks up an item. (Modify the table and Return true to use new values, return false to cancel the event)
SetFixedRespawnTime void SetFixedRespawnTime(float flFixedRespawnTime) Set a fixed delay for all players to respawn after.
SetFogOfWarDisabled void SetFogOfWarDisabled(bool bDisabled) Turn the fog of war on or off.
SetFountainConstantManaRegen void SetFountainConstantManaRegen(float flConstantManaRegen) Set the constant rate that the fountain will regen mana. (-1 for default)
SetFountainPercentageHealthRegen void SetFountainPercentageHealthRegen(float flPercentageHealthRegen) Set the percentage rate that the fountain will regen health. (-1 for default)
SetFountainPercentageManaRegen void SetFountainPercentageManaRegen(float flPercentageManaRegen) Set the percentage rate that the fountain will regen mana. (-1 for default)
SetFreeCourierModeEnabled void SetFreeCourierModeEnabled(bool bEnabled) If set to true, enable 7.23 free courier mode.
SetFriendlyBuildingMoveToEnabled void SetFriendlyBuildingMoveToEnabled(bool bEnabled) Allows clicks on friendly buildings to be handled normally.
SetGoldSoundDisabled void SetGoldSoundDisabled(bool bDisabled) Turn the sound when gold is acquired off/on.
SetHUDVisible void SetHUDVisible(int iHUDElement, bool bVisible) Set the HUD element visibility.
SetHealingFilter void SetHealingFilter(handle hFunction, handle hContext) Set a filter function to control the behavior when a unit heals. (Modify the table and Return true to use new values, return false to cancel the event)
SetHudCombatEventsDisabled void SetHudCombatEventsDisabled(bool bDisabled) Specify whether the default combat events will show in the HUD.
SetItemAddedToInventoryFilter void SetItemAddedToInventoryFilter(handle hFunction, handle hContext) Set a filter function to control what happens to items that are added to an inventory, return false to cancel the event
SetKillableTombstones void SetKillableTombstones(bool bEnabled) Set whether tombstones can be channeled to be removed by enemy heroes.
SetKillingSpreeAnnouncerDisabled void SetKillingSpreeAnnouncerDisabled(bool bDisabled) Mutes the in-game killing spree announcer.
SetLoseGoldOnDeath void SetLoseGoldOnDeath(bool bEnabled) Use to disable gold loss on death.
SetMaximumAttackSpeed void SetMaximumAttackSpeed(int nMaxSpeed) Set the maximum attack speed for units.
SetMinimumAttackSpeed void SetMinimumAttackSpeed(int nMinSpeed) Set the minimum attack speed for units.
SetModifierGainedFilter void SetModifierGainedFilter(handle hFunction, handle hContext) Set a filter function to control modifiers that are gained, return false to destroy modifier.
SetModifyExperienceFilter void SetModifyExperienceFilter(handle hFunction, handle hContext) Set a filter function to control the behavior when a hero's experience is modified. (Modify the table and Return true to use new values, return false to cancel the event)
SetModifyGoldFilter void SetModifyGoldFilter(handle hFunction, handle hContext) Set a filter function to control the behavior when a hero's gold is modified. (Modify the table and Return true to use new values, return false to cancel the event)
SetOverrideSelectionEntity void SetOverrideSelectionEntity(handle hOverrideEntity) Set an override for the default selection entity, instead of each player's hero.
SetPauseEnabled void SetPauseEnabled(bool bEnabled) Set pausing enabled/disabled
SetPowerRuneSpawnInterval void SetPowerRuneSpawnInterval(float flInterval) Set power rune spawn rate
SetRecommendedItemsDisabled void SetRecommendedItemsDisabled(bool bDisabled) Turn the panel for showing recommended items at the shop off/on.
SetRemoveIllusionsOnDeath void SetRemoveIllusionsOnDeath(bool bRemove) Make it so illusions are immediately removed upon death, rather than sticking around for a few seconds.
SetRespawnTimeScale void SetRespawnTimeScale(float flValue) Sets the scale applied to non-fixed respawn times. 1 = default DOTA respawn calculations.
SetRuneEnabled void SetRuneEnabled(int nRune, bool bEnabled) Set if a given type of rune is enabled.
SetRuneSpawnFilter void SetRuneSpawnFilter(handle hFunction, handle hContext) Set a filter function to control what rune spawns. (Modify the table and Return true to use new values, return false to cancel the event)
SetSelectionGoldPenaltyEnabled void SetSelectionGoldPenaltyEnabled(bool bEnabled) Enable/disable gold penalty for late picking.
SetStashPurchasingDisabled void SetStashPurchasingDisabled(bool bDisabled) Turn purchasing items to the stash off/on. If purchasing to the stash is off the player must be at a shop to purchase items.
SetStickyItemDisabled void SetStickyItemDisabled(bool bDisabled) Hide the sticky item in the quickbuy.
SetTopBarTeamValue void SetTopBarTeamValue(int iTeam, int nValue) Set the team values on the top game bar.
SetTopBarTeamValuesOverride void SetTopBarTeamValuesOverride(bool bOverride) Override the values of the team values on the top game bar.
SetTopBarTeamValuesVisible void SetTopBarTeamValuesVisible(bool bVisible) Turning on/off the team values on the top game bar.
SetTowerBackdoorProtectionEnabled void SetTowerBackdoorProtectionEnabled(bool bEnabled) Enables/Disables tower backdoor protection.
SetTrackingProjectileFilter void SetTrackingProjectileFilter(handle hFunction, handle hContext) Set a filter function to control when tracking projectiles are launched. (Modify the table and Return true to use new values, return false to cancel the event)
SetUnseenFogOfWarEnabled void SetUnseenFogOfWarEnabled(bool bEnabled) Enable or disable unseen fog of war. When enabled parts of the map the player has never seen will be completely hidden by fog of war.
SetUseCustomHeroLevels void SetUseCustomHeroLevels(bool bEnabled) Turn on custom-defined XP values for hero level ups. The table should be defined before switching this on.
SetUseDefaultDOTARuneSpawnLogic void SetUseDefaultDOTARuneSpawnLogic(bool bEnabled) If set to true, use current rune spawn rules. Either setting respects custom spawn intervals.
SetWeatherEffectsDisabled void SetWeatherEffectsDisabled(bool bDisable) Set if weather effects are disabled.

CDOTAGameManager

No Description Set

Function Signature Description
GetHeroDataByName_Script table GetHeroDataByName_Script(string string_1) Get the hero unit
GetHeroIDByName int GetHeroIDByName(string string_1) Get the hero ID given the hero name.
GetHeroNameByID string GetHeroNameByID(int int_1) Get the hero name given a hero ID.
GetHeroNameForUnitName string GetHeroNameForUnitName(string string_1) Get the hero name given a unit name.
GetHeroUnitNameByID string GetHeroUnitNameByID(int int_1) Get the hero unit name given the hero ID.

CDOTAGamerules

Global accessor variable: GameRules

Function Signature Description
AddBotPlayerWithEntityScript handle AddBotPlayerWithEntityScript(string string_1, string string_2, int int_3, string string_4) Spawn a bot player of the passed hero name, player name, and team.
AddEventMetadataLeaderboardEntry bool AddEventMetadataLeaderboardEntry(string string_1, unsigned unsigned_2, unsigned unsigned_3, unsigned unsigned_4, unsigned unsigned_5, unsigned unsigned_6, unsigned unsigned_7, unsigned unsigned_8, unsigned unsigned_9) Event-only ( string szNameSuffix, int nStars, int nMaxStars, int nExtraData1, int nExtraData2 )
AddItemToWhiteList void AddItemToWhiteList(string string_1) Add an item to the whitelist
AddMinimapDebugPoint void AddMinimapDebugPoint(int int_1, Vector Vector_2, int int_3, int int_4, int int_5, int int_6, float float_7) Add a point on the minimap.
AddMinimapDebugPointForTeam void AddMinimapDebugPointForTeam(int int_1, Vector Vector_2, int int_3, int int_4, int int_5, int int_6, float float_7, int int_8) Add a point on the minimap for a specific team.
BeginNightstalkerNight void BeginNightstalkerNight(float float_1) Begin night stalker night.
BeginTemporaryNight void BeginTemporaryNight(float float_1) Begin temporary night.
BotPopulate void BotPopulate() Fills all the teams with bots if cheat mode is enabled.
Defeated void Defeated() Kills the ancient, etc.
DidMatchSignoutTimeOut bool DidMatchSignoutTimeOut() true when we have waited some time after end of the game and not received signout
EnableCustomGameSetupAutoLaunch void EnableCustomGameSetupAutoLaunch(bool bool_1) Enabled (true) or disable (false) auto launch for custom game setup.
FinishCustomGameSetup void FinishCustomGameSetup() Indicate that the custom game setup phase is complete, and advance to the game.
ForceCreepSpawn void ForceCreepSpawn() Spawn the next wave of creeps.
ForceGameStart void ForceGameStart() Transition game state to DOTA_GAMERULES_STATE_GAME_IN_PROGRESS
GetCustomGameDifficulty int GetCustomGameDifficulty() Returns the difficulty level of the custom game mode
GetCustomGameTeamMaxPlayers int GetCustomGameTeamMaxPlayers(int int_1) Get whether a team is selectable during game setup
GetDOTATime float GetDOTATime(bool bool_1, bool bool_2) (b IncludePregameTime b IncludeNegativeTime) Returns the actual DOTA in-game clock time.
GetDifficulty int GetDifficulty() Returns difficulty level of the custom game mode
GetDroppedItem handle GetDroppedItem(int int_1) Gets the Xth dropped item
GetGameFrameTime float GetGameFrameTime() Returns the number of seconds elapsed since the last frame was renderered. This time doesn't count up when the game is paused
GetGameModeEntity handle GetGameModeEntity() Get the game mode entity
GetGameSessionConfigValue string GetGameSessionConfigValue(string string_1, string string_2) Get a string value from the game session config (map options)
GetGameTime float GetGameTime() Returns the number of seconds elapsed since map start. This time doesn't count up when the game is paused
GetMatchID uint64 GetMatchID() Get the MatchID for this game.
GetMatchSignoutComplete bool GetMatchSignoutComplete() Have we received the post match signout message that includes reward information
GetNianTotalDamageTaken int GetNianTotalDamageTaken() For New Bloom, get total damage taken by the Nian / Year Beast
GetPlayerCustomGameAccountRecord table GetPlayerCustomGameAccountRecord(int int_1) (Preview/Unreleased) Gets the player's custom game account record, as it looked at the start of this session
GetStateTransitionTime float GetStateTransitionTime() Get time remaining between state changes.
GetTimeOfDay float GetTimeOfDay() Get the time of day
GetWeatherWindDirection Vector GetWeatherWindDirection() Get Weather Wind Direction Vector
IsCheatMode bool IsCheatMode() Are cheats enabled on the server
IsDaytime bool IsDaytime() Is it day time?
IsGamePaused bool IsGamePaused() Returns whether the game is paused.
IsHeroRespawnEnabled bool IsHeroRespawnEnabled() Returns whether hero respawn is enabled.
IsInBanPhase bool IsInBanPhase() Are we in the ban phase of hero pick?
IsItemInWhiteList bool IsItemInWhiteList(string string_1) Query an item in the whitelist
IsNightstalkerNight bool IsNightstalkerNight() Is it night stalker night-time?
IsTemporaryNight bool IsTemporaryNight() Is it temporarily night-time?
LockCustomGameSetupTeamAssignment void LockCustomGameSetupTeamAssignment(bool bool_1) Lock (true) or unlock (false) team assignemnt. If team assignment is locked players cannot change teams.
MakeTeamLose void MakeTeamLose(int int_1) Makes the specified team lose
NumDroppedItems int NumDroppedItems() Returns the number of items currently dropped on the ground
PlayerHasCustomGameHostPrivileges bool PlayerHasCustomGameHostPrivileges(handle handle_1) Whether a player has custom game host privileges (shuffle teams, etc.)
Playtesting_UpdateAddOnKeyValues void Playtesting_UpdateAddOnKeyValues() Updates custom hero, unit and ability KeyValues in memory with the latest values from disk
PrepareSpawners void PrepareSpawners(float float_1) Prepare Dota lane style spawners with a given interval
RemoveItemFromWhiteList void RemoveItemFromWhiteList(string string_1) Remove an item from the whitelist
ResetDefeated void ResetDefeated() Restart after killing the ancient, etc.
ResetGameTime void ResetGameTime() Restart gametime from 0
ResetToCustomGameSetup void ResetToCustomGameSetup() Restart at custom game setup.
ResetToHeroSelection void ResetToHeroSelection() Restart the game at hero selection
SendCustomMessage void SendCustomMessage(string string_1, int int_2, int int_3) Sends a message on behalf of a player.
SendCustomMessageToTeam void SendCustomMessageToTeam(string string_1, int int_2, int int_3, int int_4) Sends a message on behalf of a player to the specified team.
SetCreepMinimapIconScale void SetCreepMinimapIconScale(float float_1) (flMinimapCreepIconScale) - Scale the creep icons on the minimap.
SetCreepSpawningEnabled void SetCreepSpawningEnabled(bool bool_1) Sets whether the regular Dota creeps spawn.
SetCustomGameAccountRecordSaveFunction void SetCustomGameAccountRecordSaveFunction(handle handle_1, handle handle_2) (Preview/Unreleased) Sets a callback to handle saving custom game account records (callback is passed a Player ID and should return a flat simple table)
SetCustomGameAllowBattleMusic void SetCustomGameAllowBattleMusic(bool bool_1) Sets a flag to enable/disable the default music handling code for custom games
SetCustomGameAllowHeroPickMusic void SetCustomGameAllowHeroPickMusic(bool bool_1) Sets a flag to enable/disable the default music handling code for custom games
SetCustomGameAllowMusicAtGameStart void SetCustomGameAllowMusicAtGameStart(bool bool_1) Sets a flag to enable/disable the default music handling code for custom games
SetCustomGameDifficulty void SetCustomGameDifficulty(int int_1) Set the difficulty level of the custom game mode
SetCustomGameEndDelay void SetCustomGameEndDelay(float float_1) Sets the game end delay.
SetCustomGameSetupAutoLaunchDelay void SetCustomGameSetupAutoLaunchDelay(float float_1) Set the amount of time to wait for auto launch.
SetCustomGameSetupRemainingTime void SetCustomGameSetupRemainingTime(float float_1) Set the amount of remaining time, in seconds, for custom game setup. 0 = finish immediately, -1 = wait forever
SetCustomGameSetupTimeout void SetCustomGameSetupTimeout(float float_1) Setup (pre-gameplay) phase timeout. 0 = instant, -1 = forever (until FinishCustomGameSetup is called)
SetCustomGameTeamMaxPlayers void SetCustomGameTeamMaxPlayers(int int_1, int int_2) Set whether a team is selectable during game setup
SetCustomVictoryMessage void SetCustomVictoryMessage(string string_1) Sets the victory message.
SetCustomVictoryMessageDuration void SetCustomVictoryMessageDuration(float float_1) Sets the victory message duration.
SetEventMetadataCustomTable bool SetEventMetadataCustomTable(handle handle_1) Event-only ( table hMetadataTable )
SetEventSignoutCustomTable bool SetEventSignoutCustomTable(handle handle_1) Event-only ( table hMetadataTable )
SetFirstBloodActive void SetFirstBloodActive(bool bool_1) Sets whether First Blood has been triggered.
SetGameWinner void SetGameWinner(int int_1) Makes the specified team win
SetGoldPerTick void SetGoldPerTick(int int_1) Set the auto gold increase per timed interval.
SetGoldTickTime void SetGoldTickTime(float float_1) Set the time interval between auto gold increases.
SetHeroMinimapIconScale void SetHeroMinimapIconScale(float float_1) (flMinimapHeroIconScale) - Scale the hero minimap icons on the minimap.
SetHeroRespawnEnabled void SetHeroRespawnEnabled(bool bool_1) Control if the normal DOTA hero respawn rules apply.
SetHeroSelectPenaltyTime void SetHeroSelectPenaltyTime(float float_1) Sets amount of penalty time before randoming a hero
SetHeroSelectionTime void SetHeroSelectionTime(float float_1) Sets the amount of time players have to pick their hero.
SetHideKillMessageHeaders void SetHideKillMessageHeaders(bool bool_1) Sets whether the multikill, streak, and first-blood banners appear at the top of the screen.
SetOverlayHealthBarUnit void SetOverlayHealthBarUnit(handle handle_1, int int_2) Show this unit's health on the overlay health bar
SetPostGameTime void SetPostGameTime(float float_1) Sets the amount of time players have between the game ending and the server disconnecting them.
SetPreGameTime void SetPreGameTime(float float_1) Sets the amount of time players have between picking their hero and game start.
SetRuneMinimapIconScale void SetRuneMinimapIconScale(float float_1) (flMinimapRuneIconScale) - Scale the rune icons on the minimap.
SetRuneSpawnTime void SetRuneSpawnTime(float float_1) Sets the amount of time between rune spawns.
SetSafeToLeave void SetSafeToLeave(bool bool_1) (bSafeToLeave) - Mark this game as safe to leave.
SetSameHeroSelectionEnabled void SetSameHeroSelectionEnabled(bool bool_1) When true, players can repeatedly pick the same hero.
SetShowcaseTime void SetShowcaseTime(float float_1) Sets the amount of time players have between the strategy phase and entering the pre-game phase.
SetStartingGold void SetStartingGold(int int_1) Set the starting gold amount.
SetStrategyTime void SetStrategyTime(float float_1) Sets the amount of time players have between the hero selection and entering the showcase phase.
SetTimeOfDay void SetTimeOfDay(float float_1) Set the time of day.
SetTreeRegrowTime void SetTreeRegrowTime(float float_1) Sets the tree regrow time in seconds.
SetUseBaseGoldBountyOnHeroes void SetUseBaseGoldBountyOnHeroes(bool bool_1) Heroes will use the basic NPC functionality for determining their bounty, rather than DOTA specific formulas.
SetUseCustomHeroXPValues void SetUseCustomHeroXPValues(bool bool_1) Allows heroes in the map to give a specific amount of XP (this value must be set).
SetUseUniversalShopMode void SetUseUniversalShopMode(bool bool_1) When true, all items are available at as long as any shop is in range.
SetWeatherWindDirection void SetWeatherWindDirection(Vector Vector_1) Set Weather Wind Direction Vector
SetWhiteListEnabled void SetWhiteListEnabled(bool bool_1) Item whitelist functionality enable/disable
SpawnAndReleaseCreeps void SpawnAndReleaseCreeps() Spawn and release the next creep wave from Dota lane style spawners.
State_Get int State_Get() Get the current Gamerules state

CDOTAPlayer

extends CBaseAnimating

No Description Set

Function Signature Description
CheckForCourierSpawning void CheckForCourierSpawning(handle hHero) Attempt to spawn the appropriate couriers for this mode.
GetAssignedHero handle GetAssignedHero() Get the player's hero.
GetPlayerID int GetPlayerID() Get the player's official PlayerID; notably is -1 when the player isn't yet on a team.
MakeRandomHeroSelection void MakeRandomHeroSelection() Randoms this player's hero.
SetAssignedHeroEntity void SetAssignedHeroEntity(handle hHero) Sets this player's hero .
SetKillCamUnit void SetKillCamUnit(handle hEntity) Set the kill cam unit for this hero.
SetMusicStatus void SetMusicStatus(int nMusicStatus, float flIntensity) (nMusicStatus, flIntensity) - Set the music status for this player, note this will only really apply if dota_music_battle_enable is off.
SetSelectedHero void SetSelectedHero(string pszHeroName) Sets this player's hero selection.

CDOTATutorial

Global accessor variable: Tutorial

Function Signature Description
AddBot bool AddBot(string string_1, string string_2, string string_3, bool bool_4) Add a computer controlled bot.
AddQuest void AddQuest(string string_1, int int_2, string string_3, string string_4) Add a quest to the quest log
AddShopWhitelistItem void AddShopWhitelistItem(string string_1) Add an item to the shop whitelist.
CompleteQuest void CompleteQuest(string string_1) Complete a quest,
CreateLocationTask void CreateLocationTask(Vector Vector_1) Add a task to move to a specific location
EnableCreepAggroViz void EnableCreepAggroViz(bool bool_1) Alert the player when a creep becomes agro to their hero.
EnablePlayerOffscreenTip void EnablePlayerOffscreenTip(bool bool_1) Enable the tip to alert players how to find their hero.
EnableTowerAggroViz void EnableTowerAggroViz(bool bool_1) Alert the player when a tower becomes agro to their hero.
FinishTutorial void FinishTutorial() End the tutorial.
ForceGameStart void ForceGameStart() Force the start of the game.
GetTimeFrozen bool GetTimeFrozen() Is our time frozen?
IsItemInWhiteList bool IsItemInWhiteList(string string_1) Is this item currently in the white list.
RemoveShopWhitelistItem void RemoveShopWhitelistItem(string string_1) Remove an item from the shop whitelist.
SelectHero void SelectHero(string string_1) Select a hero for the local player
SelectPlayerTeam void SelectPlayerTeam(string string_1) Select the team for the local player
SetItemGuide void SetItemGuide(string string_1) Set the current item guide.
SetOrModifyPlayerGold void SetOrModifyPlayerGold(int int_1, bool bool_2) Set gold amount for the tutorial player. (int) GoldAmount, (bool) true=Set, false=Modify
SetQuickBuy void SetQuickBuy(string string_1) Set players quick buy item.
SetShopOpen void SetShopOpen(bool bool_1) Set the shop open or closed.
SetTimeFrozen void SetTimeFrozen(bool bool_1) Set if we should freeze time or not.
SetTutorialConvar void SetTutorialConvar(string string_1, string string_2) Set a tutorial convar
SetTutorialUI void SetTutorialUI(int int_1) Set the UI to use a reduced version to focus attention to specific elements.
SetWhiteListEnabled void SetWhiteListEnabled(bool bool_1) Set if we should whitelist shop items.
StartTutorialMode void StartTutorialMode() Initialize Tutorial Mode
UpgradePlayerAbility void UpgradePlayerAbility(string string_1) Upgrade a specific ability for the local hero

CDOTAVoteSystem

No Description Set

Function Signature Description
StartVote void StartVote(handle handle_1) Starts a vote, based upon a table of parameters

CDOTA_Ability_Animation_Attack

extends CDOTABaseAbility

No Description Set

Function Signature Description
SetPlaybackRate void SetPlaybackRate(float flRate) Override playbackrate

CDOTA_Ability_Animation_TailSpin

extends CDOTABaseAbility

No Description Set

Function Signature Description
SetPlaybackRate void SetPlaybackRate(float flRate) Override playbackrate

CDOTA_Ability_DataDriven

extends CDOTABaseAbility

No Description Set

Function Signature Description
ApplyDataDrivenModifier handle ApplyDataDrivenModifier(handle hCaster, handle hTarget, string pszModifierName, handle hModifierTable) Applies a data driven modifier to the target
ApplyDataDrivenThinker handle ApplyDataDrivenThinker(handle hCaster, Vector vLocation, string pszModifierName, handle hModifierTable) Applies a data driven thinker at the location

CDOTA_Ability_Lua

extends CDOTABaseAbility

No Description Set

Function Signature Description
CastFilterResult int CastFilterResult() Determine whether an issued command with no target is valid.
CastFilterResultLocation int CastFilterResultLocation(Vector vLocation) (Vector vLocation) Determine whether an issued command on a location is valid.
CastFilterResultTarget int CastFilterResultTarget(handle hTarget) (HSCRIPT hTarget) Determine whether an issued command on a target is valid.
GetAOERadius float GetAOERadius() Controls the size of the AOE casting cursor.
GetAssociatedPrimaryAbilities string GetAssociatedPrimaryAbilities() Returns abilities that are stolen simultaneously, or otherwise related in functionality.
GetAssociatedSecondaryAbilities string GetAssociatedSecondaryAbilities() Returns other abilities that are stolen simultaneously, or otherwise related in functionality. Generally hidden abilities.
GetBehavior int GetBehavior() Return cast behavior type of this ability.
GetCastAnimation int GetCastAnimation() Return casting animation of this ability.
GetCastPoint float GetCastPoint() Return cast point of this ability.
GetCastRange int GetCastRange(Vector vLocation, handle hTarget) Return cast range of this ability.
GetChannelAnimation int GetChannelAnimation() Return channel animation of this ability.
GetChannelTime float GetChannelTime() Return the channel time of this ability.
GetChannelledManaCostPerSecond int GetChannelledManaCostPerSecond(int iLevel) Return mana cost at the given level per second while channeling (-1 is current).
GetConceptRecipientType int GetConceptRecipientType() Return who hears speech when this spell is cast.
GetCooldown float GetCooldown(int iLevel) Return cooldown of this ability.
GetCustomCastError string GetCustomCastError() Return the error string of a failed command with no target.
GetCustomCastErrorLocation string GetCustomCastErrorLocation(Vector vLocation) (Vector vLocation) Return the error string of a failed command on a location.
GetCustomCastErrorTarget string GetCustomCastErrorTarget(handle hTarget) (HSCRIPT hTarget) Return the error string of a failed command on a target.
GetGoldCost int GetGoldCost(int iLevel) Return gold cost at the given level (-1 is current).
GetIntrinsicModifierName string GetIntrinsicModifierName() Returns the name of the modifier applied passively by this ability.
GetManaCost int GetManaCost(int iLevel) Return mana cost at the given level (-1 is current).
GetPlaybackRateOverride float GetPlaybackRateOverride() Return the animation rate of the cast animation.
IsHiddenAbilityCastable bool IsHiddenAbilityCastable() Returns true if this ability can be used when not on the action panel.
IsHiddenWhenStolen bool IsHiddenWhenStolen() Returns true if this ability is hidden when stolen by Spell Steal.
IsRefreshable bool IsRefreshable() Returns true if this ability is refreshed by Refresher Orb.
IsStealable bool IsStealable() Returns true if this ability can be stolen by Spell Steal.
OnAbilityPhaseInterrupted void OnAbilityPhaseInterrupted() Cast time did not complete successfully.
OnAbilityPhaseStart bool OnAbilityPhaseStart() Cast time begins (return true for successful cast).
OnAbilityPinged void OnAbilityPinged(int nPlayerID, bool bCtrlHeld) The ability was pinged (nPlayerID, bCtrlHeld).
OnChannelFinish void OnChannelFinish(bool bInterrupted) (bool bInterrupted) Channel finished.
OnChannelThink void OnChannelThink(float flInterval) (float flInterval) Channeling is taking place.
OnHeroCalculateStatBonus void OnHeroCalculateStatBonus() Caster (hero only) gained a level, skilled an ability, or received a new stat bonus.
OnHeroDiedNearby void OnHeroDiedNearby(handle unit, handle attacker, handle table) A hero has died in the vicinity (ie Urn), takes table of params.
OnHeroLevelUp void OnHeroLevelUp() Caster gained a level.
OnInventoryContentsChanged void OnInventoryContentsChanged() Caster inventory changed.
OnItemEquipped void OnItemEquipped(handle hItem) ( HSCRIPT hItem ) Caster equipped item.
OnOwnerDied void OnOwnerDied() Caster died.
OnOwnerSpawned void OnOwnerSpawned() Caster respawned or spawned for the first time.
OnProjectileHit bool OnProjectileHit(handle hTarget, Vector vLocation) (HSCRIPT hTarget, Vector vLocation) Projectile has collided with a given target or reached its destination (target is invalid).
OnProjectileHitHandle bool OnProjectileHitHandle(handle hTarget, Vector vLocation, int iProjectileHandle) (HSCRIPT hTarget, Vector vLocation, int nHandle) Projectile has collided with a given target or reached its destination (target is invalid).
OnProjectileHit_ExtraData bool OnProjectileHit_ExtraData(handle hTarget, Vector vLocation, handle table) (HSCRIPT hTarget, Vector vLocation, table kv) Projectile has collided with a given target or reached its destination (target is invalid).
OnProjectileThink void OnProjectileThink(Vector vLocation) (Vector vLocation) Projectile is actively moving.
OnProjectileThinkHandle void OnProjectileThinkHandle(int iProjectileHandle) (int nProjectileHandle) Projectile is actively moving.
OnProjectileThink_ExtraData void OnProjectileThink_ExtraData(Vector vLocation, handle table) (Vector vLocation, table kv ) Projectile is actively moving.
OnSpellStart void OnSpellStart() Cast time finished, spell effects begin.
OnStolen void OnStolen(handle hSourceAbility) ( HSCRIPT hAbility ) Special behavior when stolen by Spell Steal.
OnToggle void OnToggle() Ability is toggled on/off.
OnUnStolen void OnUnStolen() Special behavior when lost by Spell Steal.
OnUpgrade void OnUpgrade() Ability gained a level.
ProcsMagicStick bool ProcsMagicStick() Returns true if this ability will generate magic stick charges for nearby enemies.
ResetToggleOnRespawn bool ResetToggleOnRespawn() Returns true if this ability should return to the default toggle state when its parent respawns.
SpeakTrigger int SpeakTrigger() Return the type of speech used.

CDOTA_Ability_Nian_Dive

extends CDOTABaseAbility

No Description Set

Function Signature Description
SetPlaybackRate void SetPlaybackRate(float flRate) Override playbackrate

CDOTA_Ability_Nian_Leap

extends CDOTABaseAbility

No Description Set

Function Signature Description
SetPlaybackRate void SetPlaybackRate(float flRate) Override playbackrate

CDOTA_Ability_Nian_Roar

extends CDOTABaseAbility

No Description Set

Function Signature Description
GetCastCount int GetCastCount() Number of times Nian has used the roar

CDOTA_BaseNPC

extends CBaseFlex

No Description Set

Function Signature Description
AddAbility handle AddAbility(string pszAbilityName) Add an ability to this unit by name.
AddActivityModifier void AddActivityModifier(string szName) Add an activity modifier that affects future StartGesture calls
AddItem handle AddItem(handle hItem) Add an item to this unit's inventory.
AddItemByName handle AddItemByName(string pszItemName) Add an item to this unit's inventory.
AddNewModifier handle AddNewModifier(handle hCaster, handle hAbility, string pszScriptName, handle hModifierTable) Add a modifier to this unit.
AddNoDraw void AddNoDraw() Adds the no draw flag.
AddSpeechBubble void AddSpeechBubble(int iBubble, string pszSpeech, float flDuration, unsigned unOffsetX, unsigned unOffsetY) Add a speech bubble(1-4 live at a time) to this NPC.
AlertNearbyUnits void AlertNearbyUnits(handle hAttacker, handle hAbility)
AngerNearbyUnits void AngerNearbyUnits()
AttackNoEarlierThan void AttackNoEarlierThan(float flTime)
AttackReady bool AttackReady()
BoundingRadius2D float BoundingRadius2D()
CanEntityBeSeenByMyTeam bool CanEntityBeSeenByMyTeam(handle hEntity) Check FoW to see if an entity is visible.
CanSellItems bool CanSellItems() Query if this unit can sell items.
CastAbilityImmediately void CastAbilityImmediately(handle hAbility, int iPlayerIndex) Cast an ability immediately.
CastAbilityNoTarget void CastAbilityNoTarget(handle hAbility, int iPlayerIndex) Cast an ability with no target.
CastAbilityOnPosition void CastAbilityOnPosition(Vector vPosition, handle hAbility, int iPlayerIndex) Cast an ability on a position.
CastAbilityOnTarget void CastAbilityOnTarget(handle hTarget, handle hAbility, int iPlayerIndex) Cast an ability on a target entity.
CastAbilityToggle void CastAbilityToggle(handle hAbility, int iPlayerIndex) Toggle an ability.
ClearActivityModifiers void ClearActivityModifiers() Clear Activity modifiers
DestroyAllSpeechBubbles void DestroyAllSpeechBubbles()
DisassembleItem void DisassembleItem(handle hItem) Disassemble the passed item in this unit's inventory.
DropItemAtPosition void DropItemAtPosition(Vector vDest, handle hItem) Drop an item at a given point.
DropItemAtPositionImmediate void DropItemAtPositionImmediate(handle hItem, Vector vPosition) Immediately drop a carried item at a given position.
EjectItemFromStash void EjectItemFromStash(handle hItem) Drops the selected item out of this unit's stash.
FaceTowards void FaceTowards(Vector vTarget) This unit will be set to face the target point.
FadeGesture void FadeGesture(int nActivity) Fade and remove the given gesture activity.
FindAbilityByName handle FindAbilityByName(string pAbilityName) Retrieve an ability by name from the unit.
FindAllModifiers table FindAllModifiers() Returns a table of all of the modifiers on the NPC.
FindAllModifiersByName table FindAllModifiersByName(string pszScriptName) Returns a table of all of the modifiers on the NPC with the passed name (modifierName)
FindItemInInventory handle FindItemInInventory(string pszItemName) Get handle to first item in inventory, else nil.
FindModifierByName handle FindModifierByName(string pszScriptName) Return a handle to the modifier of the given name if found, else nil (string Name )
FindModifierByNameAndCaster handle FindModifierByNameAndCaster(string pszScriptName, handle hCaster) Return a handle to the modifier of the given name from the passed caster if found, else nil ( string Name, hCaster )
ForceKill void ForceKill(bool bReincarnate) Kill this unit immediately.
ForcePlayActivityOnce void ForcePlayActivityOnce(int nActivity) Play an activity once, and then go back to idle.
GetAbilityByIndex handle GetAbilityByIndex(int iIndex) Retrieve an ability by index from the unit.
GetAbilityCount int GetAbilityCount()
GetAcquisitionRange float GetAcquisitionRange() Gets the range at which this unit will auto-acquire.
GetAdditionalBattleMusicWeight float GetAdditionalBattleMusicWeight() Combat involving this creature will have this weight added to the music calcuations.
GetAggroTarget handle GetAggroTarget() Returns this unit's aggro target.
GetAttackAnimationPoint float GetAttackAnimationPoint()
GetAttackCapability int GetAttackCapability()
GetAttackDamage int GetAttackDamage() Returns a random integer between the minimum and maximum base damage of the unit.
GetAttackRangeBuffer float GetAttackRangeBuffer() Gets the attack range buffer.
GetAttackSpeed float GetAttackSpeed()
GetAttackTarget handle GetAttackTarget()
GetAttacksPerSecond float GetAttacksPerSecond()
GetAverageTrueAttackDamage int GetAverageTrueAttackDamage(handle hTarget) Returns the average value of the minimum and maximum damage values.
GetBaseAttackRange int GetBaseAttackRange()
GetBaseAttackTime float GetBaseAttackTime()
GetBaseDamageMax int GetBaseDamageMax() Get the maximum attack damage of this unit.
GetBaseDamageMin int GetBaseDamageMin() Get the minimum attack damage of this unit.
GetBaseDayTimeVisionRange int GetBaseDayTimeVisionRange() Returns the vision range before modifiers.
GetBaseHealthRegen float GetBaseHealthRegen()
GetBaseMagicalResistanceValue float GetBaseMagicalResistanceValue() Returns base magical armor value.
GetBaseMaxHealth float GetBaseMaxHealth() Gets the base max health value.
GetBaseMoveSpeed float GetBaseMoveSpeed()
GetBaseNightTimeVisionRange int GetBaseNightTimeVisionRange() Returns the vision range after modifiers.
GetBonusManaRegen float GetBonusManaRegen() This Mana regen is derived from constant bonuses like Basilius.
GetCastPoint float GetCastPoint(bool bAttack)
GetCastRangeBonus float GetCastRangeBonus()
GetCloneSource handle GetCloneSource() Get clone source (Meepo Prime, if this is a Meepo)
GetCollisionPadding float GetCollisionPadding() Returns the size of the collision padding around the hull.
GetCooldownReduction float GetCooldownReduction()
GetCreationTime float GetCreationTime()
GetCurrentActiveAbility handle GetCurrentActiveAbility() Get the ability this unit is currently casting.
GetCurrentVisionRange int GetCurrentVisionRange() Gets the current vision range.
GetCursorCastTarget handle GetCursorCastTarget()
GetCursorPosition Vector GetCursorPosition()
GetCursorTargetingNothing bool GetCursorTargetingNothing()
GetDayTimeVisionRange int GetDayTimeVisionRange() Returns the vision range after modifiers.
GetDeathXP int GetDeathXP() Get the XP bounty on this unit.
GetDisplayAttackSpeed float GetDisplayAttackSpeed() Attack speed expressed as constant value
GetEvasion float GetEvasion()
GetForceAttackTarget handle GetForceAttackTarget()
GetGoldBounty int GetGoldBounty() Get the gold bounty on this unit.
GetHasteFactor float GetHasteFactor()
GetHealthDeficit int GetHealthDeficit() Returns integer amount of health missing from max.
GetHealthPercent int GetHealthPercent() Get the current health percent of the unit.
GetHealthRegen float GetHealthRegen()
GetHullRadius float GetHullRadius() Get the collision hull radius of this NPC.
GetIdealSpeed float GetIdealSpeed() Returns speed after all modifiers.
GetIdealSpeedNoSlows float GetIdealSpeedNoSlows() Returns speed after all modifiers, but excluding those that reduce speed.
GetIncreasedAttackSpeed float GetIncreasedAttackSpeed()
GetInitialGoalEntity handle GetInitialGoalEntity() Returns the initial waypoint goal for this NPC.
GetInitialGoalPosition Vector GetInitialGoalPosition() Get waypoint position for this NPC.
GetItemInSlot handle GetItemInSlot(int i) Returns nth item in inventory slot (index is zero based).
GetLastAttackTime float GetLastAttackTime()
GetLastDamageTime float GetLastDamageTime() Get the last time this NPC took damage
GetLastIdleChangeTime float GetLastIdleChangeTime() Get the last game time that this unit switched to/from idle state.
GetLevel int GetLevel() Returns the level of this unit.
GetMagicalArmorValue float GetMagicalArmorValue() Returns current magical armor value.
GetMainControllingPlayer int GetMainControllingPlayer() Returns the player ID of the controlling player.
GetMana float GetMana() Get the mana on this unit.
GetManaPercent int GetManaPercent() Get the percent of mana remaining.
GetManaRegen float GetManaRegen()
GetMaxMana float GetMaxMana() Get the maximum mana of this unit.
GetMaximumGoldBounty int GetMaximumGoldBounty() Get the maximum gold bounty for this unit.
GetMinimumGoldBounty int GetMinimumGoldBounty() Get the minimum gold bounty for this unit.
GetModelRadius float GetModelRadius()
GetModifierCount int GetModifierCount() How many modifiers does this unit have?
GetModifierNameByIndex string GetModifierNameByIndex(int nIndex) Get a modifier name by index.
GetModifierStackCount int GetModifierStackCount(string pszScriptName, handle hCaster) Gets the stack count of a given modifier.
GetMoveSpeedModifier float GetMoveSpeedModifier(float flBaseSpeed, bool bReturnUnslowed)
GetMustReachEachGoalEntity bool GetMustReachEachGoalEntity() Set whether this NPC is required to reach each goal entity, rather than being allowed to unkink their path.
GetNeverMoveToClearSpace bool GetNeverMoveToClearSpace() If set to true, we will never attempt to move this unit to clear space, even when it unphases.
GetNightTimeVisionRange int GetNightTimeVisionRange() Returns the vision range after modifiers.
GetOpposingTeamNumber int GetOpposingTeamNumber()
GetPaddedCollisionRadius float GetPaddedCollisionRadius() Get the collision hull radius (including padding) of this NPC.
GetPhysicalArmorBaseValue float GetPhysicalArmorBaseValue() Returns base physical armor value.
GetPhysicalArmorValue float GetPhysicalArmorValue(bool bIgnoreBase) Returns current physical armor value.
GetPlayerOwner handle GetPlayerOwner() Returns the player that owns this unit.
GetPlayerOwnerID int GetPlayerOwnerID() Get the owner player ID for this unit.
GetProjectileSpeed int GetProjectileSpeed()
GetRangeToUnit float GetRangeToUnit(handle hNPC)
GetRangedProjectileName string GetRangedProjectileName()
GetSecondsPerAttack float GetSecondsPerAttack()
GetSpellAmplification float GetSpellAmplification(bool bBaseOnly)
GetStatusResistance float GetStatusResistance()
GetTotalPurchasedUpgradeGoldCost int GetTotalPurchasedUpgradeGoldCost() Get how much gold has been spent on ability upgrades.
GetUnitLabel string GetUnitLabel()
GetUnitName string GetUnitName() Get the name of this unit.
GiveMana void GiveMana(float flMana) Give mana to this unit, this can be used for mana gained by abilities or item usage.
HasAbility bool HasAbility(string pszAbilityName) See whether this unit has an ability by name.
HasAnyActiveAbilities bool HasAnyActiveAbilities()
HasAttackCapability bool HasAttackCapability()
HasFlyMovementCapability bool HasFlyMovementCapability()
HasFlyingVision bool HasFlyingVision()
HasGroundMovementCapability bool HasGroundMovementCapability()
HasInventory bool HasInventory() Does this unit have an inventory.
HasItemInInventory bool HasItemInInventory(string pItemName) See whether this unit has an item by name.
HasModifier bool HasModifier(string pszScriptName) Sees if this unit has a given modifier.
HasMovementCapability bool HasMovementCapability()
HasScepter bool HasScepter()
Heal void Heal(float flAmount, handle hInflictor) Heal this unit.
Hold void Hold() Hold position.
Interrupt void Interrupt()
InterruptChannel void InterruptChannel()
InterruptMotionControllers void InterruptMotionControllers(bool bFindClearSpace)
IsAlive bool IsAlive() Is this unit alive?
IsAncient bool IsAncient() Is this unit an Ancient?
IsAttackImmune bool IsAttackImmune()
IsAttacking bool IsAttacking()
IsAttackingEntity bool IsAttackingEntity(handle hEntity)
IsBarracks bool IsBarracks() Is this unit a Barracks?
IsBlind bool IsBlind()
IsBlockDisabled bool IsBlockDisabled()
IsBoss bool IsBoss() Is this unit a boss?
IsBuilding bool IsBuilding() Is this unit a building?
IsChanneling bool IsChanneling() Is this unit currently channeling a spell?
IsClone bool IsClone() Is this unit a clone? (Meepo)
IsCommandRestricted bool IsCommandRestricted()
IsConsideredHero bool IsConsideredHero() Is this unit a considered a hero for targeting purposes?
IsControllableByAnyPlayer bool IsControllableByAnyPlayer() Is this unit controlled by any non-bot player?
IsCourier bool IsCourier() Is this unit a courier?
IsCreature bool IsCreature() Is this a Creature type NPC?
IsCreep bool IsCreep() Is this unit a creep?
IsDeniable bool IsDeniable()
IsDisarmed bool IsDisarmed()
IsDominated bool IsDominated()
IsEvadeDisabled bool IsEvadeDisabled()
IsFort bool IsFort() Is this unit an Ancient?
IsFrozen bool IsFrozen()
IsHero bool IsHero() Is this a hero or hero illusion?
IsHexed bool IsHexed()
IsIdle bool IsIdle() Is this creature currently idle?
IsIllusion bool IsIllusion()
IsInRangeOfShop bool IsInRangeOfShop(int nShopType, bool bPhysical) Ask whether this unit is in range of the specified shop ( DOTA_SHOP_TYPE shop, bool bMustBePhysicallyNear
IsInvisible bool IsInvisible()
IsInvulnerable bool IsInvulnerable()
IsLowAttackPriority bool IsLowAttackPriority()
IsMagicImmune bool IsMagicImmune()
IsMovementImpaired bool IsMovementImpaired()
IsMoving bool IsMoving() Is this unit moving?
IsMuted bool IsMuted()
IsNeutralUnitType bool IsNeutralUnitType() Is this a neutral?
IsNightmared bool IsNightmared()
IsOpposingTeam bool IsOpposingTeam(int nTeam)
IsOther bool IsOther() Is this unit a ward-type unit?
IsOutOfGame bool IsOutOfGame()
IsOwnedByAnyPlayer bool IsOwnedByAnyPlayer() Is this unit owned by any non-bot player?
IsPhantom bool IsPhantom() Is this a phantom unit?
IsPhantomBlocker bool IsPhantomBlocker()
IsPhased bool IsPhased()
IsPositionInRange bool IsPositionInRange(Vector vPosition, float flRange)
IsRangedAttacker bool IsRangedAttacker() Is this unit a ranged attacker?
IsRealHero bool IsRealHero() Is this a real hero?
IsRooted bool IsRooted()
IsShrine bool IsShrine() Is this a shrine?
IsSilenced bool IsSilenced()
IsSpeciallyDeniable bool IsSpeciallyDeniable()
IsStunned bool IsStunned()
IsSummoned bool IsSummoned() Is this unit summoned?
IsTempestDouble bool IsTempestDouble()
IsTower bool IsTower() Is this a tower?
IsUnableToMiss bool IsUnableToMiss()
IsUnselectable bool IsUnselectable()
IsUntargetable bool IsUntargetable()
Kill void Kill(handle hAbility, handle hAttacker) Kills this NPC, with the params Ability and Attacker.
MakeIllusion void MakeIllusion()
MakePhantomBlocker void MakePhantomBlocker()
MakeVisibleDueToAttack void MakeVisibleDueToAttack(int iTeam, float flRadius)
MakeVisibleToTeam void MakeVisibleToTeam(int iTeam, float flDuration)
ManageModelChanges void ManageModelChanges()
ModifyHealth void ModifyHealth(int iDesiredHealthValue, handle hAbility, bool bLethal, int iAdditionalFlags) Sets the health to a specific value, with optional flags or inflictors.
MoveToNPC void MoveToNPC(handle hNPC) Move to follow a unit.
MoveToNPCToGiveItem void MoveToNPCToGiveItem(handle hNPC, handle hItem) Give an item to another unit.
MoveToPosition void MoveToPosition(Vector vDest) Issue a Move-To command.
MoveToPositionAggressive void MoveToPositionAggressive(Vector vDest) Issue an Attack-Move-To command.
MoveToTargetToAttack void MoveToTargetToAttack(handle hTarget) Move to a target to attack.
NoHealthBar bool NoHealthBar()
NoTeamMoveTo bool NoTeamMoveTo()
NoTeamSelect bool NoTeamSelect()
NoUnitCollision bool NoUnitCollision()
NotOnMinimap bool NotOnMinimap()
NotOnMinimapForEnemies bool NotOnMinimapForEnemies()
NotifyWearablesOfModelChange void NotifyWearablesOfModelChange(bool bOriginalModel)
PassivesDisabled bool PassivesDisabled()
PatrolToPosition void PatrolToPosition(Vector vDest) Issue a Patrol-To command.
PerformAttack void PerformAttack(handle hTarget, bool bUseCastAttackOrb, bool bProcessProcs, bool bSkipCooldown, bool bIgnoreInvis, bool bUseProjectile, bool bFakeAttack, bool bNeverMiss) Performs an attack on a target.
PickupDroppedItem void PickupDroppedItem(handle hItem) Pick up a dropped item.
PickupRune void PickupRune(handle hItem) Pick up a rune.
PlayVCD void PlayVCD(string pVCD) Play a VCD on the NPC.
ProvidesVision bool ProvidesVision()
Purge void Purge(bool bRemovePositiveBuffs, bool bRemoveDebuffs, bool bFrameOnly, bool bRemoveStuns, bool bRemoveExceptions) (bool RemovePositiveBuffs, bool RemoveDebuffs, bool BuffsCreatedThisFrameOnly, bool RemoveStuns, bool RemoveExceptions
ReduceMana void ReduceMana(float flAmount) Remove mana from this unit, this can be used for involuntary mana loss, not for mana that is spent.
RemoveAbility void RemoveAbility(string pszAbilityName) Remove an ability from this unit by name.
RemoveAbilityByHandle void RemoveAbilityByHandle(handle hAbility) Remove the passed ability from this unit.
RemoveGesture void RemoveGesture(int nActivity) Remove the given gesture activity.
RemoveHorizontalMotionController void RemoveHorizontalMotionController(handle hBuff)
RemoveItem void RemoveItem(handle hItem) Removes the passed item from this unit's inventory and deletes it.
RemoveModifierByName void RemoveModifierByName(string pszScriptName) Removes a modifier.
RemoveModifierByNameAndCaster void RemoveModifierByNameAndCaster(string pszScriptName, handle hCaster) Removes a modifier that was cast by the given caster.
RemoveNoDraw void RemoveNoDraw() Remove the no draw flag.
RemoveVerticalMotionController void RemoveVerticalMotionController(handle hBuff)
RespawnUnit void RespawnUnit() Respawns the target unit if it can be respawned.
Script_GetAttackRange float Script_GetAttackRange() Gets this unit's attack range after all modifiers.
SellItem void SellItem(handle hItem) Sells the passed item in this unit's inventory.
SetAbilityByIndex void SetAbilityByIndex(handle hAbility, int iIndex) Set the ability by index.
SetAcquisitionRange void SetAcquisitionRange(int nRange)
SetAdditionalBattleMusicWeight void SetAdditionalBattleMusicWeight(float flWeight) Combat involving this creature will have this weight added to the music calcuations.
SetAggroTarget void SetAggroTarget(handle hAggroTarget) Set this unit's aggro target to a specified unit.
SetAttackCapability void SetAttackCapability(int iAttackCapabilities)
SetAttacking void SetAttacking(handle hAttackTarget)
SetBaseAttackTime void SetBaseAttackTime(float flBaseAttackTime)
SetBaseDamageMax void SetBaseDamageMax(int nMax) Sets the maximum base damage.
SetBaseDamageMin void SetBaseDamageMin(int nMin) Sets the minimum base damage.
SetBaseHealthRegen void SetBaseHealthRegen(float flHealthRegen)
SetBaseMagicalResistanceValue void SetBaseMagicalResistanceValue(float flMagicalResistanceValue) Sets base magical armor value.
SetBaseManaRegen void SetBaseManaRegen(float flManaRegen)
SetBaseMaxHealth void SetBaseMaxHealth(float flBaseMaxHealth) Set a new base max health value.
SetBaseMoveSpeed void SetBaseMoveSpeed(int iMoveSpeed)
SetCanSellItems void SetCanSellItems(bool bCanSell) Set whether or not this unit is allowed to sell items (bCanSellItems)
SetControllableByPlayer void SetControllableByPlayer(int iIndex, bool bSkipAdjustingPosition) Set this unit controllable by the player with the passed ID.
SetCursorCastTarget void SetCursorCastTarget(handle hEntity)
SetCursorPosition void SetCursorPosition(Vector vLocation)
SetCursorTargetingNothing void SetCursorTargetingNothing(bool bTargetingNothing)
SetCustomHealthLabel void SetCustomHealthLabel(string pLabel, int r, int g, int b)
SetDayTimeVisionRange void SetDayTimeVisionRange(int iRange) Set the base vision range.
SetDeathXP void SetDeathXP(int iXPBounty) Set the XP bounty on this unit.
SetForceAttackTarget void SetForceAttackTarget(handle hNPC)
SetForceAttackTargetAlly void SetForceAttackTargetAlly(handle hNPC)
SetHasInventory void SetHasInventory(bool bHasInventory) Set if this unit has an inventory.
SetHullRadius void SetHullRadius(float flHullRadius) Set the collision hull radius of this NPC.
SetIdleAcquire void SetIdleAcquire(bool bIdleAcquire)
SetInitialGoalEntity void SetInitialGoalEntity(handle hGoal) Sets the initial waypoint goal for this NPC.
SetInitialGoalPosition void SetInitialGoalPosition(Vector vPosition) Set waypoint position for this NPC.
SetMana void SetMana(float flMana) Set the mana on this unit.
SetMaxMana void SetMaxMana(float flMaxMana) Set the maximum mana of this unit.
SetMaximumGoldBounty void SetMaximumGoldBounty(int iGoldBountyMax) Set the maximum gold bounty for this unit.
SetMinimumGoldBounty void SetMinimumGoldBounty(int iGoldBountyMin) Set the minimum gold bounty for this unit.
SetModifierStackCount void SetModifierStackCount(string pszScriptName, handle hCaster, int nStackCount) Sets the stack count of a given modifier.
SetMoveCapability void SetMoveCapability(int iMoveCapabilities)
SetMustReachEachGoalEntity void SetMustReachEachGoalEntity(bool must) Set whether this NPC is required to reach each goal entity, rather than being allowed to unkink their path.
SetNeverMoveToClearSpace void SetNeverMoveToClearSpace(bool neverMoveToClearSpace) If set to true, we will never attempt to move this unit to clear space, even when it unphases.
SetNightTimeVisionRange void SetNightTimeVisionRange(int iRange) Returns the vision range after modifiers.
SetOrigin void SetOrigin(Vector vLocation) Set the unit's origin.
SetOriginalModel void SetOriginalModel(string pszModelName) Sets the original model of this entity, which it will tend to fall back to anytime its state changes.
SetPhysicalArmorBaseValue void SetPhysicalArmorBaseValue(float flPhysicalArmorValue) Sets base physical armor value.
SetRangedProjectileName void SetRangedProjectileName(string pProjectileName)
SetRevealRadius void SetRevealRadius(float revealRadius) sets the client side map reveal radius for this unit
SetShouldDoFlyHeightVisual void SetShouldDoFlyHeightVisual(bool bShouldVisuallyFly)
SetStolenScepter void SetStolenScepter(bool bStolenScepter)
SetUnitCanRespawn void SetUnitCanRespawn(bool bCanRespawn)
SetUnitName void SetUnitName(string pName)
ShouldIdleAcquire bool ShouldIdleAcquire()
SpendMana void SpendMana(float flManaSpent, handle hAbility) Spend mana from this unit, this can be used for spending mana from abilities or item usage.
StartGesture void StartGesture(int nActivity) Add the given gesture activity.
StartGestureWithPlaybackRate void StartGestureWithPlaybackRate(int nActivity, float flRate) Add the given gesture activity with a playback rate override.
Stop void Stop() Stop the current order.
StopFacing void StopFacing()
SwapAbilities void SwapAbilities(string pAbilityName1, string pAbilityName2, bool bEnable1, bool bEnable2) Swaps the slots of the two passed abilities and sets them enabled/disabled.
SwapItems void SwapItems(int nSlot1, int nSlot2) Swap the contents of two item slots (slot1, slot2)
TakeItem handle TakeItem(handle hItem) Removed the passed item from this unit's inventory.
TimeUntilNextAttack float TimeUntilNextAttack()
TriggerModifierDodge bool TriggerModifierDodge()
TriggerSpellAbsorb bool TriggerSpellAbsorb(handle hAbility)
TriggerSpellReflect void TriggerSpellReflect(handle hAbility) Trigger the Lotus Orb-like effect.(hAbility)
UnHideAbilityToSlot void UnHideAbilityToSlot(string pszAbilityName, string pszReplacedAbilityName) Makes the first ability unhidden, and puts it where second ability currently is. Will do nothing if the first ability is already unhidden and in a valid slot.
UnitCanRespawn bool UnitCanRespawn()

CDOTA_BaseNPC_Building

extends CDOTA_BaseNPC

No Description Set

Function Signature Description
GetInvulnCount int GetInvulnCount() Get the invulnerability count for a building.
SetInvulnCount void SetInvulnCount(int nInvulnCount) Set the invulnerability counter of this building.

CDOTA_BaseNPC_Creature

extends CDOTA_BaseNPC

No Description Set

Function Signature Description
AddItemDrop void AddItemDrop(handle hDropData) Add the specified item drop to this creature.
CreatureLevelUp void CreatureLevelUp(int iLevels) Level the creature up by the specified number of levels
IsChampion bool IsChampion() Is this unit a champion?
RemoveAllItemDrops void RemoveAllItemDrops() Remove all item drops from this creature.
SetArmorGain void SetArmorGain(float flArmorGain) Set the armor gained per level on this creature.
SetAttackTimeGain void SetAttackTimeGain(float flAttackTimeGain) Set the attack time gained per level on this creature.
SetBountyGain void SetBountyGain(int nBountyGain) Set the bounty gold gained per level on this creature.
SetChampion void SetChampion(bool bIsChampion) Flag this unit as a champion creature.
SetDamageGain void SetDamageGain(int nDamageGain) Set the damage gained per level on this creature.
SetDisableResistanceGain void SetDisableResistanceGain(float flDisableResistanceGain) Set the disable resistance gained per level on this creature.
SetHPGain void SetHPGain(int nHPGain) Set the hit points gained per level on this creature.
SetHPRegenGain void SetHPRegenGain(float flHPRegenGain) Set the hit points regen gained per level on this creature.
SetMagicResistanceGain void SetMagicResistanceGain(float flMagicResistanceGain) Set the magic resistance gained per level on this creature.
SetManaGain void SetManaGain(int nManaGain) Set the mana points gained per level on this creature.
SetManaRegenGain void SetManaRegenGain(float flManaRegenGain) Set the mana points regen gained per level on this creature.
SetMoveSpeedGain void SetMoveSpeedGain(int nMoveSpeedGain) Set the move speed gained per level on this creature.
SetRequiresReachingEndPath void SetRequiresReachingEndPath(bool bRequiresReachingEndPath) Set whether creatures require reaching their end path before becoming idle
SetXPGain void SetXPGain(int nXPGain) Set the XP gained per level on this creature.

CDOTA_BaseNPC_Hero

extends CDOTA_BaseNPC

No Description Set

Function Signature Description
AddExperience bool AddExperience(float flXP, int nReason, bool bApplyBotDifficultyScaling, bool bIncrementTotal) Params: Float XP, Bool applyBotDifficultyScaling
Buyback void Buyback() Spend the gold and buyback with this hero.
CalculateStatBonus void CalculateStatBonus() Recalculate all stats after the hero gains stats.
CanEarnGold bool CanEarnGold() Returns boolean value result of buyback gold limit time less than game time.
ClearLastHitMultikill void ClearLastHitMultikill() Value is stored in PlayerResource.
ClearLastHitStreak void ClearLastHitStreak() Value is stored in PlayerResource.
ClearStreak void ClearStreak() Value is stored in PlayerResource.
GetAbilityPoints int GetAbilityPoints() Gets the current unspent ability points.
GetAdditionalOwnedUnits table GetAdditionalOwnedUnits()
GetAgility float GetAgility()
GetAgilityGain float GetAgilityGain()
GetAssists int GetAssists() Value is stored in PlayerResource.
GetAttacker int GetAttacker(int nIndex)
GetBaseAgility float GetBaseAgility()
GetBaseDamageMax int GetBaseDamageMax() Hero damage is also affected by attributes.
GetBaseDamageMin int GetBaseDamageMin() Hero damage is also affected by attributes.
GetBaseIntellect float GetBaseIntellect()
GetBaseManaRegen float GetBaseManaRegen() Returns the base mana regen.
GetBaseStrength float GetBaseStrength()
GetBonusDamageFromPrimaryStat int GetBonusDamageFromPrimaryStat()
GetBuybackCooldownTime float GetBuybackCooldownTime() Return float value for the amount of time left on cooldown for this hero's buyback.
GetBuybackCost int GetBuybackCost(bool bReturnOldValues) Return integer value for the gold cost of a buyback.
GetBuybackGoldLimitTime float GetBuybackGoldLimitTime() Returns the amount of time gold gain is limited after buying back.
GetCurrentXP int GetCurrentXP() Returns the amount of XP
GetDeathGoldCost int GetDeathGoldCost()
GetDeaths int GetDeaths() Value is stored in PlayerResource.
GetDenies int GetDenies() Value is stored in PlayerResource.
GetGold int GetGold() Returns gold amount for the player owning this hero
GetGoldBounty int GetGoldBounty()
GetIncreasedAttackSpeed float GetIncreasedAttackSpeed() Hero attack speed is also affected by agility.
GetIntellect float GetIntellect()
GetIntellectGain float GetIntellectGain()
GetKills int GetKills() Value is stored in PlayerResource.
GetLastHits int GetLastHits() Value is stored in PlayerResource.
GetMostRecentDamageTime float GetMostRecentDamageTime()
GetMultipleKillCount int GetMultipleKillCount()
GetNumAttackers int GetNumAttackers()
GetNumItemsInInventory int GetNumItemsInInventory()
GetNumItemsInStash int GetNumItemsInStash()
GetPhysicalArmorBaseValue float GetPhysicalArmorBaseValue() Hero armor is affected by attributes.
GetPlayerID int GetPlayerID() Returns player ID of the player owning this hero
GetPrimaryAttribute int GetPrimaryAttribute() 0 = strength, 1 = agility, 2 = intelligence.
GetPrimaryStatValue float GetPrimaryStatValue()
GetRespawnTime float GetRespawnTime()
GetRespawnsDisabled bool GetRespawnsDisabled() Is this hero prevented from respawning?
GetStreak int GetStreak() Value is stored in PlayerResource.
GetStrength float GetStrength()
GetStrengthGain float GetStrengthGain()
GetTimeUntilRespawn float GetTimeUntilRespawn()
GetTogglableWearable handle GetTogglableWearable(int nSlotType) Get wearable entity in slot (slot)
HasAnyAvailableInventorySpace bool HasAnyAvailableInventorySpace()
HasFlyingVision bool HasFlyingVision()
HasOwnerAbandoned bool HasOwnerAbandoned()
HasRoomForItem int HasRoomForItem(string pItemName, bool bIncludeStashCombines, bool bAllowSelling) Args: const char* pItemName, bool bIncludeStashCombines, bool bAllowSelling
HeroLevelUp void HeroLevelUp(bool bPlayEffects) Levels up the hero, true or false to play effects.
IncrementAssists void IncrementAssists(int iKillerID) Value is stored in PlayerResource.
IncrementDeaths void IncrementDeaths(int iKillerID) Value is stored in PlayerResource.
IncrementDenies void IncrementDenies() Value is stored in PlayerResource.
IncrementKills void IncrementKills(int iVictimID) Passed ID is for the victim, killer ID is ID of the current hero. Value is stored in PlayerResource.
IncrementLastHitMultikill void IncrementLastHitMultikill() Value is stored in PlayerResource.
IncrementLastHitStreak void IncrementLastHitStreak() Value is stored in PlayerResource.
IncrementLastHits void IncrementLastHits() Value is stored in PlayerResource.
IncrementNearbyCreepDeaths void IncrementNearbyCreepDeaths() Value is stored in PlayerResource.
IncrementStreak void IncrementStreak() Value is stored in PlayerResource.
IsBuybackDisabledByReapersScythe bool IsBuybackDisabledByReapersScythe()
IsReincarnating bool IsReincarnating()
IsStashEnabled bool IsStashEnabled()
KilledHero void KilledHero(handle hHero, handle hInflictor) Args: Hero, Inflictor
ModifyAgility void ModifyAgility(float flNewAgility) Adds passed value to base attribute value, then calls CalculateStatBonus.
ModifyGold int ModifyGold(int iGoldChange, bool bReliable, int iReason) Gives this hero some gold. Args: int nGoldChange, bool bReliable, int reason
ModifyIntellect void ModifyIntellect(float flNewIntellect) Adds passed value to base attribute value, then calls CalculateStatBonus.
ModifyStrength void ModifyStrength(float flNewStrength) Adds passed value to base attribute value, then calls CalculateStatBonus.
PerformTaunt void PerformTaunt()
RecordLastHit void RecordLastHit()
RespawnHero void RespawnHero(bool bBuyBack, bool bRespawnPenalty) Respawn this hero.
SetAbilityPoints void SetAbilityPoints(int iPoints) Sets the current unspent ability points.
SetBaseAgility void SetBaseAgility(float flAgility)
SetBaseIntellect void SetBaseIntellect(float flIntellect)
SetBaseStrength void SetBaseStrength(float flStrength)
SetBotDifficulty void SetBotDifficulty(int nDifficulty)
SetBuyBackDisabledByReapersScythe void SetBuyBackDisabledByReapersScythe(bool bBuybackDisabled)
SetBuybackCooldownTime void SetBuybackCooldownTime(float flTime) Sets the buyback cooldown time.
SetBuybackGoldLimitTime void SetBuybackGoldLimitTime(float flTime) Set the amount of time gold gain is limited after buying back.
SetCustomDeathXP void SetCustomDeathXP(int iValue) Sets a custom experience value for this hero. Note, GameRules boolean must be set for this to work!
SetGold void SetGold(int iGold, bool bReliable) Sets the gold amount for the player owning this hero
SetPlayerID void SetPlayerID(int iPlayerID)
SetPrimaryAttribute void SetPrimaryAttribute(int nPrimaryAttribute) Set this hero's primary attribute value.
SetRespawnPosition void SetRespawnPosition(Vector vOrigin)
SetRespawnsDisabled void SetRespawnsDisabled(bool bDisableRespawns) Prevent this hero from respawning.
SetStashEnabled void SetStashEnabled(bool bEnabled)
SetTimeUntilRespawn void SetTimeUntilRespawn(float time)
ShouldDoFlyHeightVisual bool ShouldDoFlyHeightVisual()
SpendGold void SpendGold(int iCost, int iReason) Args: int nGold, int nReason
UnitCanRespawn bool UnitCanRespawn()
UpgradeAbility void UpgradeAbility(handle hAbility) This upgrades the passed ability if it exists and the hero has enough ability points.
WillReincarnate bool WillReincarnate()

CDOTA_BaseNPC_RotatableBuilding

extends CDOTA_BaseNPC

No Description Set

Function Signature Description

CDOTA_BaseNPC_Shop

extends CDOTA_BaseNPC_Building

No Description Set

Function Signature Description
GetShopType int GetShopType() Get the DOTA_SHOP_TYPE
SetShopType void SetShopType(int eShopType) Set the DOTA_SHOP_TYPE.

CDOTA_BaseNPC_Trap_Ward

extends CDOTA_BaseNPC_Creature

No Description Set

Function Signature Description
GetTrapTarget Vector GetTrapTarget() Get the trap target for this entity.
SetAnimation void SetAnimation(string pAnimation) Set the animation sequence for this entity.

CDOTA_Buff

No Description Set

Function Signature Description
AddParticle void AddParticle(int i, bool bDestroyImmediately, bool bStatusEffect, int iPriority, bool bHeroEffect, bool bOverheadEffect) (index, bDestroyImmediately, bStatusEffect, priority, bHeroEffect, bOverheadEffect
DecrementStackCount void DecrementStackCount() Decrease this modifier's stack count by 1.
Destroy void Destroy() Run all associated destroy functions, then remove the modifier.
ForceRefresh void ForceRefresh() Run all associated refresh functions on this modifier as if it was re-applied.
GetAbility handle GetAbility() Get the ability that generated the modifier.
GetAuraDuration float GetAuraDuration() Returns aura stickiness (default 0.5)
GetAuraOwner handle GetAuraOwner()
GetCaster handle GetCaster() Get the owner of the ability responsible for the modifier.
GetClass string GetClass()
GetCreationTime float GetCreationTime()
GetDieTime float GetDieTime()
GetDuration float GetDuration()
GetElapsedTime float GetElapsedTime()
GetLastAppliedTime float GetLastAppliedTime()
GetName string GetName()
GetParent handle GetParent() Get the unit the modifier is parented to.
GetRemainingTime float GetRemainingTime()
GetSerialNumber int GetSerialNumber()
GetStackCount int GetStackCount()
HasFunction bool HasFunction(int iFunction)
IncrementStackCount void IncrementStackCount() Increase this modifier's stack count by 1.
IsDebuff bool IsDebuff()
IsHexDebuff bool IsHexDebuff()
IsStunDebuff bool IsStunDebuff()
SetDuration void SetDuration(float flDuration, bool bInformClient) (flTime, bInformClients)
SetStackCount void SetStackCount(int iCount)
StartIntervalThink void StartIntervalThink(float flInterval) Start this modifier's think function (OnIntervalThink) with the given interval (float). To stop, call with -1.

CDOTA_CustomUIManager

Global accessor variable: CustomUI

Function Signature Description
DynamicHud_Create void DynamicHud_Create(int int_1, string string_2, string string_3, handle handle_4) Create a new custom UI HUD element for the specified player(s). ( int PlayerID /*-1 means everyone*/, string ElementID /* should be unique */, string LayoutFileName, table DialogVariables /* can be nil */ )
DynamicHud_Destroy void DynamicHud_Destroy(int int_1, string string_2) Destroy a custom hud element ( int PlayerID /*-1 means everyone*/, string ElementID )
DynamicHud_SetDialogVariables void DynamicHud_SetDialogVariables(int int_1, string string_2, handle handle_3) Add or modify dialog variables for an existing custom hud element ( int PlayerID /*-1 means everyone*/, string ElementID, table DialogVariables )
DynamicHud_SetVisible void DynamicHud_SetVisible(int int_1, string string_2, bool bool_3) Toggle the visibility of an existing custom hud element ( int PlayerID /*-1 means everyone*/, string ElementID, bool Visible )

CDOTA_Item

extends CDOTABaseAbility

No Description Set

Function Signature Description
CanBeUsedOutOfInventory bool CanBeUsedOutOfInventory()
GetContainer handle GetContainer() Get the container for this item.
GetCost int GetCost()
GetCurrentCharges int GetCurrentCharges() Get the number of charges this item currently has.
GetInitialCharges int GetInitialCharges() Get the initial number of charges this item has.
GetItemSlot int GetItemSlot()
GetItemState int GetItemState() Gets whether item is unequipped or ready.
GetParent handle GetParent() Get the parent for this item.
GetPurchaseTime float GetPurchaseTime() Get the purchase time of this item
GetPurchaser handle GetPurchaser() Get the purchaser for this item.
GetSecondaryCharges int GetSecondaryCharges() Get the number of secondary charges this item currently has.
GetShareability int GetShareability()
IsAlertableItem bool IsAlertableItem()
IsCastOnPickup bool IsCastOnPickup()
IsCombinable bool IsCombinable()
IsDisassemblable bool IsDisassemblable()
IsDroppable bool IsDroppable()
IsInBackpack bool IsInBackpack()
IsItem bool IsItem()
IsKillable bool IsKillable()
IsMuted bool IsMuted()
IsPermanent bool IsPermanent()
IsPurchasable bool IsPurchasable()
IsRecipe bool IsRecipe()
IsRecipeGenerated bool IsRecipeGenerated()
IsSellable bool IsSellable()
IsStackable bool IsStackable()
LaunchLoot void LaunchLoot(bool bAutoUse, float flHeight, float flDuration, Vector vEndPoint)
LaunchLootInitialHeight void LaunchLootInitialHeight(bool bAutoUse, float flInitialHeight, float flLaunchHeight, float flDuration, Vector vEndPoint)
OnEquip void OnEquip()
OnUnequip void OnUnequip()
RequiresCharges bool RequiresCharges()
SetCanBeUsedOutOfInventory void SetCanBeUsedOutOfInventory(bool bValue)
SetCastOnPickup void SetCastOnPickup(bool bCastOnPickUp)
SetCurrentCharges void SetCurrentCharges(int iCharges) Set the number of charges on this item
SetDroppable void SetDroppable(bool bDroppable)
SetItemState void SetItemState(int iState) Sets whether item is unequipped or ready.
SetPurchaseTime void SetPurchaseTime(float flTime) Set the purchase time of this item
SetPurchaser void SetPurchaser(handle hPurchaser) Set the purchaser of record for this item.
SetSecondaryCharges void SetSecondaryCharges(int iCharges) Set the number of secondary charges on this item
SetSellable void SetSellable(bool bSellable)
SetShareability void SetShareability(int iShareability)
SetStacksWithOtherOwners void SetStacksWithOtherOwners(bool bStacksWithOtherOwners)
SpendCharge void SpendCharge()
StacksWithOtherOwners bool StacksWithOtherOwners()
Think void Think() Think this item

CDOTA_ItemSpawner

extends CBaseEntity

No Description Set

Function Signature Description
GetItemName string GetItemName() Returns the item name

CDOTA_Item_DataDriven

extends CDOTA_Item

No Description Set

Function Signature Description
ApplyDataDrivenModifier void ApplyDataDrivenModifier(handle hCaster, handle hTarget, string pszModifierName, handle hModifierTable) Applies a data driven modifier to the target
ApplyDataDrivenThinker handle ApplyDataDrivenThinker(handle hCaster, Vector vLocation, string pszModifierName, handle hModifierTable) Applies a data driven thinker at the location

CDOTA_Item_Lua

extends CDOTA_Item

No Description Set

Function Signature Description
CanUnitPickUp bool CanUnitPickUp(handle hUnit) Returns true if this item can be picked up by the target unit.
CastFilterResult int CastFilterResult() Determine whether an issued command with no target is valid.
CastFilterResultLocation int CastFilterResultLocation(Vector vLocation) (Vector vLocation) Determine whether an issued command on a location is valid.
CastFilterResultTarget int CastFilterResultTarget(handle hTarget) (HSCRIPT hTarget) Determine whether an issued command on a target is valid.
GetAssociatedPrimaryAbilities string GetAssociatedPrimaryAbilities() Returns abilities that are stolen simultaneously, or otherwise related in functionality.
GetAssociatedSecondaryAbilities string GetAssociatedSecondaryAbilities() Returns other abilities that are stolen simultaneously, or otherwise related in functionality. Generally hidden abilities.
GetBehavior int GetBehavior() Return cast behavior type of this ability.
GetCastRange int GetCastRange(Vector vLocation, handle hTarget) Return cast range of this ability.
GetChannelTime float GetChannelTime() Return the channel time of this ability.
GetChannelledManaCostPerSecond int GetChannelledManaCostPerSecond(int iLevel) Return mana cost at the given level per second while channeling (-1 is current).
GetConceptRecipientType int GetConceptRecipientType() Return who hears speech when this spell is cast.
GetCooldown float GetCooldown(int iLevel) Return cooldown of this ability.
GetCustomCastError string GetCustomCastError() Return the error string of a failed command with no target.
GetCustomCastErrorLocation string GetCustomCastErrorLocation(Vector vLocation) (Vector vLocation) Return the error string of a failed command on a location.
GetCustomCastErrorTarget string GetCustomCastErrorTarget(handle hTarget) (HSCRIPT hTarget) Return the error string of a failed command on a target.
GetGoldCost int GetGoldCost(int iLevel) Return gold cost at the given level (-1 is current).
GetIntrinsicModifierName string GetIntrinsicModifierName() Returns the name of the modifier applied passively by this ability.
GetManaCost int GetManaCost(int iLevel) Return mana cost at the given level (-1 is current).
GetPlaybackRateOverride float GetPlaybackRateOverride() Return the animation rate of the cast animation.
IsHiddenAbilityCastable bool IsHiddenAbilityCastable() Returns true if this ability can be used when not on the action panel.
IsHiddenWhenStolen bool IsHiddenWhenStolen() Returns true if this ability is hidden when stolen by Spell Steal.
IsMuted bool IsMuted() Returns whether this item is muted or not.
IsRefreshable bool IsRefreshable() Returns true if this ability is refreshed by Refresher Orb.
IsStealable bool IsStealable() Returns true if this ability can be stolen by Spell Steal.
OnAbilityPhaseInterrupted void OnAbilityPhaseInterrupted() Cast time did not complete successfully.
OnAbilityPhaseStart bool OnAbilityPhaseStart() Cast time begins (return true for successful cast).
OnChannelFinish void OnChannelFinish(bool bInterrupted) (bool bInterrupted) Channel finished.
OnChannelThink void OnChannelThink(float flInterval) (float flInterval) Channeling is taking place.
OnHeroCalculateStatBonus void OnHeroCalculateStatBonus() Caster (hero only) gained a level, skilled an ability, or received a new stat bonus.
OnHeroDiedNearby void OnHeroDiedNearby(handle unit, handle attacker, handle table) A hero has died in the vicinity (ie Urn), takes table of params.
OnHeroLevelUp void OnHeroLevelUp() Caster gained a level.
OnInventoryContentsChanged void OnInventoryContentsChanged() Caster inventory changed.
OnItemEquipped void OnItemEquipped(handle hItem) ( HSCRIPT hItem ) Caster equipped item.
OnOwnerDied void OnOwnerDied() Caster died.
OnOwnerSpawned void OnOwnerSpawned() Caster respawned or spawned for the first time.
OnProjectileHit bool OnProjectileHit(handle hTarget, Vector vLocation) (HSCRIPT hTarget, Vector vLocation) Projectile has collided with a given target or reached its destination (target is invalid).
OnProjectileThink void OnProjectileThink(Vector vLocation) (Vector vLocation) Projectile is actively moving.
OnSpellStart void OnSpellStart() Cast time finished, spell effects begin.
OnStolen void OnStolen(handle hSourceAbility) ( HSCRIPT hAbility ) Special behavior when stolen by Spell Steal.
OnToggle void OnToggle() Ability is toggled on/off.
OnUnStolen void OnUnStolen() Special behavior when lost by Spell Steal.
OnUpgrade void OnUpgrade() Ability gained a level.
ProcsMagicStick bool ProcsMagicStick() Returns true if this ability will generate magic stick charges for nearby enemies.
SpeakTrigger int SpeakTrigger() Return the type of speech used.

CDOTA_Item_Physical

extends CBaseAnimating

No Description Set

Function Signature Description
GetContainedItem handle GetContainedItem() Returned the contained item.
GetCreationTime float GetCreationTime() Returns the game time when this item was created in the world
SetContainedItem void SetContainedItem(handle hItem) Set the contained item.

CDOTA_MapTree

extends CBaseEntity

No Description Set

Function Signature Description
CutDown void CutDown(int nTeamNumberKnownTo) Cuts down this tree. Parameters: int nTeamNumberKnownTo (-1 = invalid team)
CutDownRegrowAfter void CutDownRegrowAfter(float flRegrowAfter, int nTeamNumberKnownTo) Cuts down this tree. Parameters: float flRegrowAfter (-1 = never regrow), int nTeamNumberKnownTo (-1 = invalid team)
GrowBack void GrowBack() Grows back the tree if it was cut down.
IsStanding bool IsStanding() Returns true if the tree is standing, false if it has been cut down

CDOTA_Modifier_Lua

extends CDOTA_Buff

No Description Set

Function Signature Description
AllowIllusionDuplicate bool AllowIllusionDuplicate() True/false if this modifier is active on illusions.
CanParentBeAutoAttacked bool CanParentBeAutoAttacked()
DestroyOnExpire bool DestroyOnExpire() True/false if this buff is removed when the duration expires.
GetAttributes int GetAttributes() Return the types of attributes applied to this modifier (enum value from DOTAModifierAttribute_t
GetAuraDuration float GetAuraDuration() Returns aura stickiness
GetAuraEntityReject bool GetAuraEntityReject(handle hEntity) Return true/false if this entity should receive the aura under specific conditions
GetAuraRadius int GetAuraRadius() Return the range around the parent this aura tries to apply its buff.
GetAuraSearchFlags int GetAuraSearchFlags() Return the unit flags this aura respects when placing buffs.
GetAuraSearchTeam int GetAuraSearchTeam() Return the teams this aura applies its buff to.
GetAuraSearchType int GetAuraSearchType() Return the unit classifications this aura applies its buff to.
GetEffectAttachType int GetEffectAttachType() Return the attach type of the particle system from GetEffectName.
GetEffectName string GetEffectName() Return the name of the particle system that is created while this modifier is active.
GetHeroEffectName string GetHeroEffectName() Return the name of the hero effect particle system that is created while this modifier is active.
GetModifierAura string GetModifierAura() The name of the secondary modifier that will be applied by this modifier (if it is an aura).
GetPriority int GetPriority() Return the priority order this modifier will be applied over others.
GetStatusEffectName string GetStatusEffectName() Return the name of the status effect particle system that is created while this modifier is active.
GetTexture string GetTexture() Return the name of the buff icon to be shown for this modifier.
HeroEffectPriority int HeroEffectPriority() Relationship of this hero effect with those from other buffs (higher is more likely to be shown).
IsAura bool IsAura() True/false if this modifier is an aura.
IsAuraActiveOnDeath bool IsAuraActiveOnDeath() True/false if this aura provides buffs when the parent is dead.
IsDebuff bool IsDebuff() True/false if this modifier should be displayed as a debuff.
IsHidden bool IsHidden() True/false if this modifier should be displayed on the buff bar.
IsPermanent bool IsPermanent()
IsPurgable bool IsPurgable() True/false if this modifier can be purged.
IsPurgeException bool IsPurgeException() True/false if this modifier can be purged by strong dispels.
IsStunDebuff bool IsStunDebuff() True/false if this modifier is considered a stun for purge reasons.
OnCreated void OnCreated(handle table) Runs when the modifier is created.
OnDestroy void OnDestroy() Runs when the modifier is destroyed (after unit loses modifier).
OnIntervalThink void OnIntervalThink() Runs when the think interval occurs.
OnRefresh void OnRefresh(handle table) Runs when the modifier is refreshed.
OnRemoved void OnRemoved() Runs when the modifier is destroyed (before unit loses modifier).
OnStackCountChanged void OnStackCountChanged(int iStackCount) Runs when stack count changes (param is old count).
RemoveOnDeath bool RemoveOnDeath() True/false if this modifier is removed when the parent dies.
ShouldUseOverheadOffset bool ShouldUseOverheadOffset() Apply the overhead offset to the attached effect.
StatusEffectPriority int StatusEffectPriority() Relationship of this status effect with those from other buffs (higher is more likely to be shown).

CDOTA_Modifier_Lua_Horizontal_Motion

extends CDOTA_Modifier_Lua

No Description Set

Function Signature Description
ApplyHorizontalMotionController bool ApplyHorizontalMotionController() Starts the horizontal motion controller effects for this buff. Returns true if successful.
GetPriority int GetPriority() Get the priority
OnHorizontalMotionInterrupted void OnHorizontalMotionInterrupted() Called when the motion gets interrupted.
SetPriority void SetPriority(int nMotionPriority) Set the priority
UpdateHorizontalMotion void UpdateHorizontalMotion(handle me, float dt) Perform any motion from the given interval on the NPC.

CDOTA_Modifier_Lua_Motion_Both

extends CDOTA_Modifier_Lua

No Description Set

Function Signature Description
ApplyHorizontalMotionController bool ApplyHorizontalMotionController() Starts the horizontal motion controller effects for this buff. Returns true if successful.
ApplyVerticalMotionController bool ApplyVerticalMotionController() Starts the vertical motion controller effects for this buff. Returns true if successful.
GetPriority int GetPriority() Get the priority
OnHorizontalMotionInterrupted void OnHorizontalMotionInterrupted() Called when the motion gets interrupted.
OnVerticalMotionInterrupted void OnVerticalMotionInterrupted() Called when the motion gets interrupted.
SetPriority void SetPriority(int nMotionPriority) Set the priority
UpdateHorizontalMotion void UpdateHorizontalMotion(handle me, float dt) Perform any motion from the given interval on the NPC.
UpdateVerticalMotion void UpdateVerticalMotion(handle me, float dt) Perform any motion from the given interval on the NPC.

CDOTA_Modifier_Lua_Vertical_Motion

extends CDOTA_Modifier_Lua

No Description Set

Function Signature Description
ApplyVerticalMotionController bool ApplyVerticalMotionController() Starts the vertical motion controller effects for this buff. Returns true if successful.
GetMotionPriority int GetMotionPriority() Get the priority
OnVerticalMotionInterrupted void OnVerticalMotionInterrupted() Called when the motion gets interrupted.
SetMotionPriority void SetMotionPriority(int nMotionPriority) Set the priority
UpdateVerticalMotion void UpdateVerticalMotion(handle me, float dt) Perform any motion from the given interval on the NPC.

CDOTA_PlayerResource

extends CBaseEntity

Global accessor variable: PlayerResource

Function Signature Description
AddAegisPickup void AddAegisPickup(int iPlayerID)
AddClaimedFarm void AddClaimedFarm(int iPlayerID, float flFarmValue, bool bEarnedValue)
AddGoldSpentOnSupport void AddGoldSpentOnSupport(int iPlayerID, int iCost)
AddRunePickup void AddRunePickup(int iPlayerID)
AreUnitsSharedWithPlayerID bool AreUnitsSharedWithPlayerID(int nUnitOwnerPlayerID, int nOtherPlayerID)
CanRepick bool CanRepick(int iPlayerID)
ClearKillsMatrix void ClearKillsMatrix(int iPlayerID)
ClearLastHitMultikill void ClearLastHitMultikill(int iPlayerID)
ClearLastHitStreak void ClearLastHitStreak(int iPlayerID)
ClearRawPlayerDamageMatrix void ClearRawPlayerDamageMatrix(int iPlayerID)
ClearStreak void ClearStreak(int iPlayerID)
GetAegisPickups int GetAegisPickups(int iPlayerID)
GetAssists int GetAssists(int iPlayerID)
GetBroadcasterChannel unsigned GetBroadcasterChannel(int iPlayerID)
GetBroadcasterChannelSlot unsigned GetBroadcasterChannelSlot(int iPlayerID)
GetClaimedDenies int GetClaimedDenies(int iPlayerID)
GetClaimedFarm float GetClaimedFarm(int iPlayerID, bool bOnlyEarned)
GetClaimedMisses int GetClaimedMisses(int iPlayerID)
GetConnectionState <unknown> GetConnectionState(int iPlayerID)
GetCreepDamageTaken int GetCreepDamageTaken(int iPlayerID, bool bTotal)
GetCustomBuybackCooldown float GetCustomBuybackCooldown(int iPlayerID)
GetCustomBuybackCost int GetCustomBuybackCost(int iPlayerID)
GetCustomTeamAssignment int GetCustomTeamAssignment(int iPlayerID) Get the current custom team assignment for this player.
GetDamageDoneToHero int GetDamageDoneToHero(int iPlayerID, int iVictimID)
GetDeaths int GetDeaths(int iPlayerID)
GetDenies int GetDenies(int iPlayerID)
GetEventPointsForPlayerID unsigned GetEventPointsForPlayerID(int nPlayerID)
GetEventPremiumPoints unsigned GetEventPremiumPoints(int nPlayerID)
GetEventRanks <unknown> GetEventRanks(int nPlayerID)
GetGold int GetGold(int iPlayerID)
GetGoldLostToDeath int GetGoldLostToDeath(int iPlayerID)
GetGoldPerMin float GetGoldPerMin(int iPlayerID)
GetGoldSpentOnBuybacks int GetGoldSpentOnBuybacks(int iPlayerID)
GetGoldSpentOnConsumables int GetGoldSpentOnConsumables(int iPlayerID)
GetGoldSpentOnItems int GetGoldSpentOnItems(int iPlayerID)
GetGoldSpentOnSupport int GetGoldSpentOnSupport(int iPlayerID)
GetHealing float GetHealing(int iPlayerID)
GetHeroDamageTaken int GetHeroDamageTaken(int iPlayerID, bool bTotal)
GetKills int GetKills(int iPlayerID)
GetKillsDoneToHero int GetKillsDoneToHero(int iPlayerID, int iVictimID)
GetLastHitMultikill int GetLastHitMultikill(int iPlayerID)
GetLastHitStreak int GetLastHitStreak(int iPlayerID)
GetLastHits int GetLastHits(int iPlayerID)
GetLevel int GetLevel(int iPlayerID)
GetMisses int GetMisses(int iPlayerID)
GetNearbyCreepDeaths int GetNearbyCreepDeaths(int iPlayerID)
GetNetWorth int GetNetWorth(int iPlayerID)
GetNthCourierForTeam handle GetNthCourierForTeam(int nCourierIndex, int nTeamNumber)
GetNthPlayerIDOnTeam int GetNthPlayerIDOnTeam(int iTeamNumber, int iNthPlayer)
GetNumConsumablesPurchased int GetNumConsumablesPurchased(int iPlayerID)
GetNumCouriersForTeam int GetNumCouriersForTeam(int nTeamNumber)
GetNumItemsPurchased int GetNumItemsPurchased(int iPlayerID)
GetPartyID uint64 GetPartyID(int iPlayerID)
GetPlayer handle GetPlayer(int iPlayerID)
GetPlayerCount int GetPlayerCount() Includes spectators and players not assigned to a team
GetPlayerCountForTeam int GetPlayerCountForTeam(int iTeam)
GetPlayerLoadedCompletely bool GetPlayerLoadedCompletely(int iPlayerID)
GetPlayerName string GetPlayerName(int iPlayerID)
GetRawPlayerDamage int GetRawPlayerDamage(int iPlayerID)
GetReliableGold int GetReliableGold(int iPlayerID)
GetRespawnSeconds int GetRespawnSeconds(int iPlayerID)
GetRoshanKills int GetRoshanKills(int iPlayerID)
GetRunePickups int GetRunePickups(int iPlayerID)
GetSelectedHeroEntity handle GetSelectedHeroEntity(int iPlayerID)
GetSelectedHeroID int GetSelectedHeroID(int iPlayerID)
GetSelectedHeroName string GetSelectedHeroName(int iPlayerID)
GetSteamAccountID unsigned GetSteamAccountID(int iPlayerID)
GetSteamID uint64 GetSteamID(int iPlayerID) Get the 64 bit steam ID for a given player.
GetStreak int GetStreak(int iPlayerID)
GetStuns float GetStuns(int iPlayerID)
GetTeam int GetTeam(int iPlayerID)
GetTeamKills int GetTeamKills(int iTeam)
GetTeamPlayerCount int GetTeamPlayerCount() Players on a valid team (radiant, dire, or custom*) who haven't abandoned the game
GetTimeOfLastConsumablePurchase float GetTimeOfLastConsumablePurchase(int iPlayerID)
GetTimeOfLastDeath float GetTimeOfLastDeath(int iPlayerID)
GetTimeOfLastItemPurchase float GetTimeOfLastItemPurchase(int iPlayerID)
GetTotalEarnedGold int GetTotalEarnedGold(int iPlayerID)
GetTotalEarnedXP int GetTotalEarnedXP(int iPlayerID)
GetTotalGoldSpent int GetTotalGoldSpent(int iPlayerID)
GetTowerDamageTaken int GetTowerDamageTaken(int iPlayerID, bool bTotal)
GetTowerKills int GetTowerKills(int iPlayerID)
GetUnitShareMaskForPlayer int GetUnitShareMaskForPlayer(int nPlayerID, int nOtherPlayerID)
GetUnreliableGold int GetUnreliableGold(int iPlayerID)
GetXPPerMin float GetXPPerMin(int iPlayerID)
HasCustomGameTicketForPlayerID bool HasCustomGameTicketForPlayerID(int iPlayerID) Does this player have a custom game ticket for this game?
HasRandomed bool HasRandomed(int iPlayerID)
HasSelectedHero bool HasSelectedHero(int iPlayerID)
HaveAllPlayersJoined bool HaveAllPlayersJoined()
IncrementAssists void IncrementAssists(int iPlayerID, int iVictimID)
IncrementClaimedDenies void IncrementClaimedDenies(int iPlayerID)
IncrementClaimedMisses void IncrementClaimedMisses(int iPlayerID)
IncrementDeaths void IncrementDeaths(int iPlayerID, int iKillerID)
IncrementDenies void IncrementDenies(int iPlayerID)
IncrementKills void IncrementKills(int iPlayerID, int iVictimID)
IncrementLastHitMultikill void IncrementLastHitMultikill(int iPlayerID)
IncrementLastHitStreak void IncrementLastHitStreak(int iPlayerID)
IncrementLastHits void IncrementLastHits(int iPlayerID)
IncrementMisses void IncrementMisses(int iPlayerID)
IncrementNearbyCreepDeaths void IncrementNearbyCreepDeaths(int iPlayerID)
IncrementStreak void IncrementStreak(int iPlayerID)
IncrementTotalEarnedXP void IncrementTotalEarnedXP(int iPlayerID, int iXP, int nReason)
IsBroadcaster bool IsBroadcaster(int iPlayerID)
IsDisableHelpSetForPlayerID bool IsDisableHelpSetForPlayerID(int nPlayerID, int nOtherPlayerID)
IsFakeClient bool IsFakeClient(int iPlayerID)
IsHeroSelected bool IsHeroSelected(string pHeroname)
IsHeroSharedWithPlayerID bool IsHeroSharedWithPlayerID(int nUnitOwnerPlayerID, int nOtherPlayerID)
IsValidPlayer bool IsValidPlayer(int iPlayerID)
IsValidPlayerID bool IsValidPlayerID(int iPlayerID)
IsValidTeamPlayer bool IsValidTeamPlayer(int iPlayerID)
IsValidTeamPlayerID bool IsValidTeamPlayerID(int iPlayerID)
ModifyGold int ModifyGold(int iPlayerID, int iGoldChange, bool bReliable, int nReason)
NumPlayers int NumPlayers()
NumTeamPlayers int NumTeamPlayers()
RecordConsumableAbilityChargeChange void RecordConsumableAbilityChargeChange(int iPlayerID, int item_definition_index, int nChargeIncrementOrDecrement) Increment or decrement consumable charges (nPlayerID, item_definition_index, nChargeIncrementOrDecrement)
ReplaceHeroWith handle ReplaceHeroWith(int iPlayerID, string pszHeroClass, int nGold, int nXP) (playerID, heroClassName, gold, XP) - replaces the player's hero with a new one of the specified class, gold and XP
ResetBuybackCostTime void ResetBuybackCostTime(int nPlayerID)
ResetTotalEarnedGold void ResetTotalEarnedGold(int iPlayerID)
SetBuybackCooldownTime void SetBuybackCooldownTime(int nPlayerID, float flBuybackCooldown)
SetBuybackGoldLimitTime void SetBuybackGoldLimitTime(int nPlayerID, float flBuybackCooldown)
SetCameraTarget void SetCameraTarget(int nPlayerID, handle hTarget) (playerID, entity) - force the given player's camera to follow the given entity
SetCanRepick void SetCanRepick(int iPlayerID, bool bCanRepick)
SetCustomBuybackCooldown void SetCustomBuybackCooldown(int iPlayerID, float flCooldownTime) Set the buyback cooldown for this player.
SetCustomBuybackCost void SetCustomBuybackCost(int iPlayerID, int iGoldCost) Set the buyback cost for this player.
SetCustomPlayerColor void SetCustomPlayerColor(int iPlayerID, int r, int g, int b) Set custom color for player (minimap, scoreboard, etc)
SetCustomTeamAssignment void SetCustomTeamAssignment(int iPlayerID, int iTeamAssignment) Set custom team assignment for this player.
SetGold void SetGold(int iPlayerID, int iGold, bool bReliable)
SetHasRandomed void SetHasRandomed(int iPlayerID)
SetLastBuybackTime void SetLastBuybackTime(int iPlayerID, int iLastBuybackTime)
SetOverrideSelectionEntity void SetOverrideSelectionEntity(int nPlayerID, handle hEntity) Set the forced selection entity for a player.
SetUnitShareMaskForPlayer void SetUnitShareMaskForPlayer(int nPlayerID, int nOtherPlayerID, int nFlag, bool bState)
SpendGold void SpendGold(int iPlayerID, int iCost, int iReason)
UpdateTeamSlot void UpdateTeamSlot(int iPlayerID, int iTeamNumber, int desiredSlot)
WhoSelectedHero int WhoSelectedHero(string pHeroFilename)

CDOTA_ShopTrigger

extends CBaseTrigger

No Description Set

Function Signature Description
GetShopType int GetShopType() Get the DOTA_SHOP_TYPE
SetShopType void SetShopType(int eShopType) Set the DOTA_SHOP_TYPE.

CDOTA_SimpleObstruction

extends CBaseEntity

No Description Set

Function Signature Description
IsEnabled bool IsEnabled() Returns whether the obstruction is currently active
SetEnabled void SetEnabled(bool bEnabled, bool bForce) Enable or disable the obstruction

CDOTA_Unit_Courier

extends CDOTA_BaseNPC

No Description Set

Function Signature Description

CDOTA_Unit_Nian

extends CDOTA_BaseNPC_Creature

No Description Set

Function Signature Description
GetHorn handle GetHorn() Is the Nian horn?
GetTail handle GetTail() Is the Nian's tail broken?
IsHornAlive bool IsHornAlive() Is the Nian's horn broken?
IsTailAlive bool IsTailAlive() Is the Nian's tail broken?

CDebugOverlayScriptHelper

No Description Set

Function Signature Description
Axis void Axis(Vector Vector_1, Quaternion Quaternion_2, float float_3, bool bool_4, float float_5) Draws an axis. Specify origin + orientation in world space.
Box void Box(Vector Vector_1, Vector Vector_2, int int_3, int int_4, int int_5, int int_6, bool bool_7, float float_8) Draws a world-space axis-aligned box. Specify bounds in world space.
BoxAngles void BoxAngles(Vector Vector_1, Vector Vector_2, Vector Vector_3, Quaternion Quaternion_4, int int_5, int int_6, int int_7, int int_8, bool bool_9, float float_10) Draws an oriented box at the origin. Specify bounds in local space.
Capsule void Capsule(Vector Vector_1, Quaternion Quaternion_2, float float_3, float float_4, int int_5, int int_6, int int_7, int int_8, bool bool_9, float float_10) Draws a capsule. Specify base in world space.
Circle void Circle(Vector Vector_1, Quaternion Quaternion_2, float float_3, int int_4, int int_5, int int_6, int int_7, bool bool_8, float float_9) Draws a circle. Specify center in world space.
CircleScreenOriented void CircleScreenOriented(Vector Vector_1, float float_2, int int_3, int int_4, int int_5, int int_6, bool bool_7, float float_8) Draws a circle oriented to the screen. Specify center in world space.
Cone void Cone(Vector Vector_1, Vector Vector_2, float float_3, float float_4, int int_5, int int_6, int int_7, int int_8, bool bool_9, float float_10) Draws a wireframe cone. Specify endpoint and direction in world space.
Cross void Cross(Vector Vector_1, float float_2, int int_3, int int_4, int int_5, int int_6, bool bool_7, float float_8) Draws a screen-aligned cross. Specify origin in world space.
Cross3D void Cross3D(Vector Vector_1, float float_2, int int_3, int int_4, int int_5, int int_6, bool bool_7, float float_8) Draws a world-aligned cross. Specify origin in world space.
Cross3DOriented void Cross3DOriented(Vector Vector_1, Quaternion Quaternion_2, float float_3, int int_4, int int_5, int int_6, int int_7, bool bool_8, float float_9) Draws an oriented cross. Specify origin in world space.
DrawTickMarkedLine void DrawTickMarkedLine(Vector Vector_1, Vector Vector_2, float float_3, int int_4, int int_5, int int_6, int int_7, int int_8, bool bool_9, float float_10) Draws a dashed line. Specify endpoints in world space.
EntityAttachments void EntityAttachments(ehandle ehandle_1, float float_2, float float_3) Draws the attachments of the entity
EntityAxis void EntityAxis(ehandle ehandle_1, float float_2, bool bool_3, float float_4) Draws the axis of the entity origin
EntityBounds void EntityBounds(ehandle ehandle_1, int int_2, int int_3, int int_4, int int_5, bool bool_6, float float_7) Draws bounds of an entity
EntitySkeleton void EntitySkeleton(ehandle ehandle_1, float float_2) Draws the skeleton of the entity
EntityText void EntityText(ehandle ehandle_1, int int_2, string string_3, int int_4, int int_5, int int_6, int int_7, float float_8) Draws text on an entity
FilledRect2D void FilledRect2D(Vector2D Vector2D_1, Vector2D Vector2D_2, int int_3, int int_4, int int_5, int int_6, float float_7) Draws a screen-space filled 2D rectangle. Coordinates are in pixels.
HorzArrow void HorzArrow(Vector Vector_1, Vector Vector_2, float float_3, int int_4, int int_5, int int_6, int int_7, bool bool_8, float float_9) Draws a horizontal arrow. Specify endpoints in world space.
Line void Line(Vector Vector_1, Vector Vector_2, int int_3, int int_4, int int_5, int int_6, bool bool_7, float float_8) Draws a line between two points
Line2D void Line2D(Vector2D Vector2D_1, Vector2D Vector2D_2, int int_3, int int_4, int int_5, int int_6, float float_7) Draws a line between two points in screenspace
PopDebugOverlayScope void PopDebugOverlayScope() Pops the identifier used to group overlays. Overlays marked with this identifier can be deleted in a big batch.
PushAndClearDebugOverlayScope void PushAndClearDebugOverlayScope(utlstringtoken utlstringtoken_1) Pushes an identifier used to group overlays. Deletes all existing overlays using this overlay id.
PushDebugOverlayScope void PushDebugOverlayScope(utlstringtoken utlstringtoken_1) Pushes an identifier used to group overlays. Overlays marked with this identifier can be deleted in a big batch.
RemoveAllInScope void RemoveAllInScope(utlstringtoken utlstringtoken_1) Removes all overlays marked with a specific identifier, regardless of their lifetime.
SolidCone void SolidCone(Vector Vector_1, Vector Vector_2, float float_3, float float_4, int int_5, int int_6, int int_7, int int_8, bool bool_9, float float_10) Draws a solid cone. Specify endpoint and direction in world space.
Sphere void Sphere(Vector Vector_1, float float_2, int int_3, int int_4, int int_5, int int_6, bool bool_7, float float_8) Draws a wireframe sphere. Specify center in world space.
SweptBox void SweptBox(Vector Vector_1, Vector Vector_2, Vector Vector_3, Vector Vector_4, Quaternion Quaternion_5, int int_6, int int_7, int int_8, int int_9, float float_10) Draws a swept box. Specify endpoints in world space and the bounds in local space.
Text void Text(Vector Vector_1, int int_2, string string_3, float float_4, int int_5, int int_6, int int_7, int int_8, float float_9) Draws 2D text. Specify origin in world space.
Texture void Texture(string string_1, Vector2D Vector2D_2, Vector2D Vector2D_3, int int_4, int int_5, int int_6, int int_7, Vector2D Vector2D_8, Vector2D Vector2D_9, float float_10) Draws a screen-space texture. Coordinates are in pixels.
Triangle void Triangle(Vector Vector_1, Vector Vector_2, Vector Vector_3, int int_4, int int_5, int int_6, int int_7, bool bool_8, float float_9) Draws a filled triangle. Specify vertices in world space.
UnitTestCycleOverlayRenderType void UnitTestCycleOverlayRenderType() Toggles the overlay render type, for unit tests
VectorText3D void VectorText3D(Vector Vector_1, Quaternion Quaternion_2, string string_3, int int_4, int int_5, int int_6, int int_7, bool bool_8, float float_9) Draws 3D text. Specify origin + orientation in world space.
VertArrow void VertArrow(Vector Vector_1, Vector Vector_2, float float_3, int int_4, int int_5, int int_6, int int_7, bool bool_8, float float_9) Draws a vertical arrow. Specify endpoints in world space.
YawArrow void YawArrow(Vector Vector_1, float float_2, float float_3, float float_4, int int_5, int int_6, int int_7, int int_8, bool bool_9, float float_10) Draws a arrow associated with a specific yaw. Specify endpoints in world space.

CDotaQuest

extends CBaseEntity

No Description Set

Function Signature Description
AddSubquest void AddSubquest(handle hSubquest) Add a subquest to this quest
CompleteQuest void CompleteQuest() Mark this quest complete
GetSubquest handle GetSubquest(int nIndex) Finds a subquest from this quest by index
GetSubquestByName handle GetSubquestByName(string pszName) Finds a subquest from this quest by name
RemoveSubquest void RemoveSubquest(handle hSubquest) Remove a subquest from this quest
SetTextReplaceString void SetTextReplaceString(string pszString) Set the text replace string for this quest
SetTextReplaceValue void SetTextReplaceValue(int valueSlot, int value) Set a quest value

CDotaSubquestBase

extends CBaseEntity

No Description Set

Function Signature Description
CompleteSubquest void CompleteSubquest() Mark this subquest complete
SetTextReplaceString void SetTextReplaceString(string pszString) Set the text replace string for this subquest
SetTextReplaceValue void SetTextReplaceValue(int valueSlot, int value) Set a subquest value

CEntities

Global accessor variable: Entities

Function Signature Description
CreateByClassname handle CreateByClassname(string string_1) Creates an entity by classname
FindAllByClassname table FindAllByClassname(string string_1) Finds all entities by class name. Returns an array containing all the found entities.
FindAllByClassnameWithin table FindAllByClassnameWithin(string string_1, Vector Vector_2, float float_3) Find entities by class name within a radius.
FindAllByModel table FindAllByModel(string string_1) Find entities by model name.
FindAllByName table FindAllByName(string string_1) Find all entities by name. Returns an array containing all the found entities in it.
FindAllByNameWithin table FindAllByNameWithin(string string_1, Vector Vector_2, float float_3) Find entities by name within a radius.
FindAllByTarget table FindAllByTarget(string string_1) Find entities by targetname.
FindAllInSphere table FindAllInSphere(Vector Vector_1, float float_2) Find entities within a radius.
FindByClassname handle FindByClassname(handle handle_1, string string_2) Find entities by class name. Pass 'null' to start an iteration, or reference to a previously found entity to continue a search
FindByClassnameNearest handle FindByClassnameNearest(string string_1, Vector Vector_2, float float_3) Find entities by class name nearest to a point.
FindByClassnameWithin handle FindByClassnameWithin(handle handle_1, string string_2, Vector Vector_3, float float_4) Find entities by class name within a radius. Pass 'null' to start an iteration, or reference to a previously found entity to continue a search
FindByModel handle FindByModel(handle handle_1, string string_2) Find entities by model name. Pass 'null' to start an iteration, or reference to a previously found entity to continue a search
FindByModelWithin handle FindByModelWithin(handle handle_1, string string_2, Vector Vector_3, float float_4) Find entities by model name within a radius. Pass 'null' to start an iteration, or reference to a previously found entity to continue a search
FindByName handle FindByName(handle handle_1, string string_2) Find entities by name. Pass 'null' to start an iteration, or reference to a previously found entity to continue a search
FindByNameNearest handle FindByNameNearest(string string_1, Vector Vector_2, float float_3) Find entities by name nearest to a point.
FindByNameWithin handle FindByNameWithin(handle handle_1, string string_2, Vector Vector_3, float float_4) Find entities by name within a radius. Pass 'null' to start an iteration, or reference to a previously found entity to continue a search
FindByTarget handle FindByTarget(handle handle_1, string string_2) Find entities by targetname. Pass 'null' to start an iteration, or reference to a previously found entity to continue a search
FindInSphere handle FindInSphere(handle handle_1, Vector Vector_2, float float_3) Find entities within a radius. Pass 'null' to start an iteration, or reference to a previously found entity to continue a search
First handle First() Begin an iteration over the list of entities
GetLocalPlayer handle GetLocalPlayer() Get the local player.
Next handle Next(handle handle_1) Continue an iteration over the list of entities, providing reference to a previously found entity

CEntityInstance

No Description Set

Function Signature Description
ConnectOutput void ConnectOutput(string string_1, string string_2) Adds an I/O connection that will call the named function on this entity when the specified output fires.
Destroy void Destroy()
DisconnectOutput void DisconnectOutput(string string_1, string string_2) Removes a connected script function from an I/O event on this entity.
DisconnectRedirectedOutput void DisconnectRedirectedOutput(string string_1, string string_2, handle handle_3) Removes a connected script function from an I/O event on the passed entity.
FireOutput void FireOutput(string string_1, handle handle_2, handle handle_3, table table_4, float float_5) Fire an entity output
GetClassname string GetClassname()
GetDebugName string GetDebugName() Get the entity name w/help if not defined (i.e. classname/etc)
GetEntityHandle ehandle GetEntityHandle() Get the entity as an EHANDLE
GetEntityIndex int GetEntityIndex()
GetIntAttr int GetIntAttr(string string_1) Get Integer Attribute
GetName string GetName()
GetOrCreatePrivateScriptScope handle GetOrCreatePrivateScriptScope() Retrieve, creating if necessary, the private per-instance script-side data associated with an entity
GetOrCreatePublicScriptScope handle GetOrCreatePublicScriptScope() Retrieve, creating if necessary, the public script-side data associated with an entity
GetPrivateScriptScope handle GetPrivateScriptScope() Retrieve the private per-instance script-side data associated with an entity
GetPublicScriptScope handle GetPublicScriptScope() Retrieve the public script-side data associated with an entity
RedirectOutput void RedirectOutput(string string_1, string string_2, handle handle_3) Adds an I/O connection that will call the named function on the passed entity when the specified output fires.
RemoveSelf void RemoveSelf() Delete this entity
SetIntAttr void SetIntAttr(string string_1, int int_2) Set Integer Attribute
entindex int entindex()

CEntityScriptFramework

No Description Set

Function Signature Description

CEnvEntityMaker

extends CBaseEntity

No Description Set

Function Signature Description
SpawnEntity void SpawnEntity() Create an entity at the location of the maker
SpawnEntityAtEntityOrigin void SpawnEntityAtEntityOrigin(handle hEntity) Create an entity at the location of a specified entity instance
SpawnEntityAtLocation void SpawnEntityAtLocation(Vector vecAlternateOrigin, Vector vecAlternateAngles) Create an entity at a specified location and orientaton, orientation is Euler angle in degrees (pitch, yaw, roll)
SpawnEntityAtNamedEntityOrigin void SpawnEntityAtNamedEntityOrigin(string pszName) Create an entity at the location of a named entity

CEnvProjectedTexture

extends CBaseEntity

No Description Set

Function Signature Description
SetFarRange void SetFarRange(float flRange) Set light maximum range
SetLinearAttenuation void SetLinearAttenuation(float flAtten) Set light linear attenuation value
SetNearRange void SetNearRange(float flRange) Set light minimum range
SetQuadraticAttenuation void SetQuadraticAttenuation(float flAtten) Set light quadratic attenuation value
SetVolumetrics void SetVolumetrics(bool bOn, float flIntensity, float flNoise, int nPlanes, float flPlaneOffset) Turn on/off light volumetrics: bool bOn, float flIntensity, float flNoise, int nPlanes, float flPlaneOffset

CInfoData

extends CBaseEntity

No Description Set

Function Signature Description
QueryColor Vector QueryColor(utlstringtoken tok, Vector vDefault) Query color data for this key
QueryFloat float QueryFloat(utlstringtoken tok, float flDefault) Query float data for this key
QueryInt int QueryInt(utlstringtoken tok, int nDefault) Query int data for this key
QueryNumber float QueryNumber(utlstringtoken tok, float flDefault) Query number data for this key
QueryString string QueryString(utlstringtoken tok, string pDefault) Query string data for this key
QueryVector Vector QueryVector(utlstringtoken tok, Vector vDefault) Query vector data for this key

CInfoWorldLayer

extends CBaseEntity

No Description Set

Function Signature Description
HideWorldLayer void HideWorldLayer() Hides this layer
ShowWorldLayer void ShowWorldLayer() Shows this layer

CLogicScript

extends CBaseEntity

No Description Set

Function Signature Description

CMarkupVolumeTagged

extends CBaseEntity

No Description Set

Function Signature Description
HasTag bool HasTag(string pszTagName) Does this volume have the given tag.

CNativeOutputs

No Description Set

Function Signature Description
AddOutput void AddOutput(string string_1, string string_2) Add an output
Init void Init(int int_1) Initialize with number of outputs

CParticleSystem

extends CBaseModelEntity

No Description Set

Function Signature Description

CPhysicsProp

extends CBaseAnimating

No Description Set

Function Signature Description
DisableMotion void DisableMotion() Disable motion for the prop
EnableMotion void EnableMotion() Enable motion for the prop
SetDynamicVsDynamicContinuous void SetDynamicVsDynamicContinuous(bool bIsDynamicVsDynamicContinuousEnabled) Enable/disable dynamic vs dynamic continuous collision traces

CPointClientUIWorldPanel

extends CBaseModelEntity

No Description Set

Function Signature Description
AcceptUserInput void AcceptUserInput() Tells the panel to accept user input.
AddCSSClasses void AddCSSClasses(string pszClasses) Adds CSS class(es) to the panel
IgnoreUserInput void IgnoreUserInput() Tells the panel to ignore user input.
IsGrabbable bool IsGrabbable() Returns whether this entity is grabbable.
RemoveCSSClasses void RemoveCSSClasses(string pszClasses) Remove CSS class(es) from the panel

CPointTemplate

extends CBaseEntity

No Description Set

Function Signature Description
DeleteCreatedSpawnGroups void DeleteCreatedSpawnGroups() DeleteCreatedSpawnGroups() : Deletes any spawn groups that this point_template has spawned. Note: The point_template will not be deleted by this.
ForceSpawn void ForceSpawn() ForceSpawn() : Spawns all of the entities the point_template is pointing at.
GetSpawnedEntities handle GetSpawnedEntities() GetSpawnedEntities() : Get the list of the most recent spawned entities
SetSpawnCallback void SetSpawnCallback(handle hCallbackFunc, handle hCallbackScope) SetSpawnCallback( hCallbackFunc, hCallbackScope, hCallbackData ) : Set a callback for when the template spawns entities. The spawned entities will be passed in as an array.

CPointWorldText

extends CBaseModelEntity

No Description Set

Function Signature Description
SetMessage void SetMessage(string pMessage) Set the message on this entity.

CPropHMDAvatar

extends CBaseAnimating

No Description Set

Function Signature Description
GetVRHand handle GetVRHand(int nHandID) Get VR hand by ID

CPropVRHand

extends CBaseAnimating

No Description Set

Function Signature Description
AddHandAttachment void AddHandAttachment(handle hAttachment) Add the attachment to this hand
AddHandModelOverride handle AddHandModelOverride(string pModelName) Add a model override for this hand
FindHandModelOverride handle FindHandModelOverride(string pModelName) Find a specific model override for this hand
FireHapticPulse void FireHapticPulse(int nStrength) Fire a haptic pulse on this hand. [0,2] for strength.
FireHapticPulsePrecise void FireHapticPulsePrecise(int nPulseDuration) Fire a haptic pulse on this hand. Specify the duration in micro seconds.
GetHandAttachment handle GetHandAttachment() Get the attachment on this hand
GetHandID int GetHandID() Get hand ID
GetLiteralHandType int GetLiteralHandType() Get literal type for this hand
GetPlayer handle GetPlayer() Get the player for this hand
GetVelocity Vector GetVelocity() Get the filtered controller velocity.
RemoveAllHandModelOverrides void RemoveAllHandModelOverrides() Remove all model overrides for this hand
RemoveHandAttachmentByHandle void RemoveHandAttachmentByHandle(handle hAttachment) Remove hand attachment by handle
RemoveHandModelOverride void RemoveHandModelOverride(string pModelName) Remove a model override for this hand
SetHandAttachment void SetHandAttachment(handle hAttachment) Set the attachment for this hand

CSceneEntity

extends CBaseEntity

No Description Set

Function Signature Description
AddBroadcastTeamTarget void AddBroadcastTeamTarget(int int_1) Adds a team (by index) to the broadcast list
Cancel void Cancel() Cancel scene playback
EstimateLength float EstimateLength() Returns length of this scene in seconds.
FindCamera handle FindCamera() Get the camera
FindNamedEntity handle FindNamedEntity(string string_1) given an entity reference, such as !target, get actual entity from scene object
IsPaused bool IsPaused() If this scene is currently paused.
IsPlayingBack bool IsPlayingBack() If this scene is currently playing.
LoadSceneFromString bool LoadSceneFromString(string string_1, string string_2) given a dummy scene name and a vcd string, load the scene
RemoveBroadcastTeamTarget void RemoveBroadcastTeamTarget(int int_1) Removes a team (by index) from the broadcast list
Start void Start(handle handle_1) Start scene playback, takes activatorEntity as param

CScriptHeroList

Global accessor variable: HeroList

Function Signature Description
GetAllHeroes table GetAllHeroes() Returns all the heroes in the world
GetHero handle GetHero(int int_1) Get the Nth hero in the Hero List
GetHeroCount int GetHeroCount() Returns the number of heroes in the world

CScriptKeyValues

No Description Set

Function Signature Description
GetValue table GetValue(string string_1) Reads a spawn key

CScriptParticleManager

Global accessor variable: ParticleManager

Function Signature Description
CreateParticle int CreateParticle(string string_1, int int_2, handle handle_3) Creates a new particle effect
CreateParticleForPlayer int CreateParticleForPlayer(string string_1, int int_2, handle handle_3, handle handle_4) Creates a new particle effect that only plays for the specified player
CreateParticleForTeam int CreateParticleForTeam(string string_1, int int_2, handle handle_3, int int_4) Creates a new particle effect that only plays for the specified team
DestroyParticle void DestroyParticle(int int_1, bool bool_2) (int index, bool bDestroyImmediately) - Destroy a particle, if bDestroyImmediately destroy it without playing end caps.
GetParticleReplacement string GetParticleReplacement(string string_1, handle handle_2)
ReleaseParticleIndex void ReleaseParticleIndex(int int_1) Frees the specified particle index
SetParticleAlwaysSimulate void SetParticleAlwaysSimulate(int int_1)
SetParticleControl void SetParticleControl(int int_1, int int_2, Vector Vector_3) Set the control point data for a control on a particle effect
SetParticleControlEnt void SetParticleControlEnt(int int_1, int int_2, handle handle_3, int int_4, string string_5, Vector Vector_6, bool bool_7)
SetParticleControlFallback void SetParticleControlFallback(int int_1, int int_2, Vector Vector_3) (int iIndex, int iPoint, Vector vecPosition)
SetParticleControlForward void SetParticleControlForward(int int_1, int int_2, Vector Vector_3) (int nFXIndex, int nPoint, vForward)
SetParticleControlOrientation void SetParticleControlOrientation(int int_1, int int_2, Vector Vector_3, Vector Vector_4, Vector Vector_5) (int nFXIndex, int nPoint, vForward, vRight, vUp) - Set the orientation for a control on a particle effect (NOTE: This is left handed -- bad!!)
SetParticleControlOrientationFLU void SetParticleControlOrientationFLU(int int_1, int int_2, Vector Vector_3, Vector Vector_4, Vector Vector_5) (int nFXIndex, int nPoint, Vector vecForward, Vector vecLeft, Vector vecUp) - Set the orientation for a control on a particle effect
SetParticleFoWProperties void SetParticleFoWProperties(int int_1, int int_2, int int_3, float float_4) int nfxindex, int nPoint, int nPoint2, float flRadius
SetParticleShouldCheckFoW bool SetParticleShouldCheckFoW(int int_1, bool bool_2) int nfxindex, bool bCheckFoW

CScriptPrecacheContext

No Description Set

Function Signature Description
AddResource void AddResource(string string_1) Precaches a specific resource
GetValue table GetValue(string string_1) Reads a spawn key

Convars

extends Convars

Global accessor variable: Convars

Function Signature Description
GetBool table GetBool(string string_1) GetBool(name) : returns the convar as a boolean flag.
GetCommandClient handle GetCommandClient() GetCommandClient() : returns the player who issued this console command.
GetDOTACommandClient handle GetDOTACommandClient() GetDOTACommandClient() : returns the DOTA player who issued this console command.
GetFloat table GetFloat(string string_1) GetFloat(name) : returns the convar as a float. May return null if no such convar.
GetInt table GetInt(string string_1) GetInt(name) : returns the convar as an int. May return null if no such convar.
GetStr table GetStr(string string_1) GetStr(name) : returns the convar as a string. May return null if no such convar.
RegisterCommand void RegisterCommand(string string_1, handle handle_2, string string_3, int int_4) RegisterCommand(name, fn, helpString, flags) : register a console command.
RegisterConvar void RegisterConvar(string string_1, string string_2, string string_3, int int_4) RegisterConvar(name, defaultValue, helpString, flags): register a new console variable.
SetBool void SetBool(string string_1, bool bool_2) SetBool(name, val) : sets the value of the convar to the bool.
SetFloat void SetFloat(string string_1, float float_2) SetFloat(name, val) : sets the value of the convar to the float.
SetInt void SetInt(string string_1, int int_2) SetInt(name, val) : sets the value of the convar to the int.
SetStr void SetStr(string string_1, string string_2) SetStr(name, val) : sets the value of the convar to the string.

GlobalSys

extends GlobalSys

No Description Set

Function Signature Description
CommandLineCheck table CommandLineCheck(string string_1) CommandLineCheck(name) : returns true if the command line param was used, otherwise false.
CommandLineFloat table CommandLineFloat(string string_1, float float_2) CommandLineFloat(name) : returns the command line param as a float.
CommandLineInt table CommandLineInt(string string_1, int int_2) CommandLineInt(name) : returns the command line param as an int.
CommandLineStr table CommandLineStr(string string_1, string string_2) CommandLineStr(name) : returns the command line param as a string.

GridNav

extends GridNav

No Description Set

Function Signature Description
CanFindPath bool CanFindPath(Vector Vector_1, Vector Vector_2) Determine if it is possible to reach the specified end point from the specified start point. bool (vStart, vEnd)
DestroyTreesAroundPoint void DestroyTreesAroundPoint(Vector Vector_1, float float_2, bool bool_3) Destroy all trees in the area(vPosition, flRadius, bFullCollision
FindPathLength float FindPathLength(Vector Vector_1, Vector Vector_2) Find a path between the two points an return the length of the path. If there is not a path between the points the returned value will be -1. float (vStart, vEnd )
GetAllTreesAroundPoint table GetAllTreesAroundPoint(Vector Vector_1, float float_2, bool bool_3) Returns a table full of tree HSCRIPTS (vPosition, flRadius, bFullCollision).
GridPosToWorldCenterX float GridPosToWorldCenterX(int int_1) Get the X position of the center of a given X index
GridPosToWorldCenterY float GridPosToWorldCenterY(int int_1) Get the Y position of the center of a given Y index
IsBlocked bool IsBlocked(Vector Vector_1) Checks whether the given position is blocked
IsNearbyTree bool IsNearbyTree(Vector Vector_1, float float_2, bool bool_3) (position, radius, checkFullTreeRadius?) Checks whether there are any trees overlapping the given point
IsTraversable bool IsTraversable(Vector Vector_1) Checks whether the given position is traversable
RegrowAllTrees void RegrowAllTrees() Causes all trees in the map to regrow
WorldToGridPosX int WorldToGridPosX(float float_1) Get the X index of a given world X position
WorldToGridPosY int WorldToGridPosY(float float_1) Get the Y index of a given world Y position

ProjectileManager

extends ProjectileManager

No Description Set

Function Signature Description
ChangeTrackingProjectileSpeed void ChangeTrackingProjectileSpeed(handle handle_1, int int_2) Update speed
CreateLinearProjectile int CreateLinearProjectile(handle handle_1) Creates a linear projectile and returns the projectile ID
CreateTrackingProjectile void CreateTrackingProjectile(handle handle_1) Creates a tracking projectile
DestroyLinearProjectile void DestroyLinearProjectile(int int_1) Destroys the linear projectile matching the argument ID
GetLinearProjectileLocation Vector GetLinearProjectileLocation(int int_1) Returns current location of projectile
GetLinearProjectileRadius float GetLinearProjectileRadius(int int_1) Returns current radius of projectile
GetLinearProjectileVelocity Vector GetLinearProjectileVelocity(int int_1) Returns a vector representing the current velocity of the projectile.
ProjectileDodge void ProjectileDodge(handle handle_1) Makes the specified unit dodge projectiles
UpdateLinearProjectileDirection void UpdateLinearProjectileDirection(int int_1, Vector Vector_2, float float_3) Update velocity

SteamInfo

extends SteamInfo

No Description Set

Function Signature Description
IsPublicUniverse bool IsPublicUniverse() Is the script connected to the public Steam universe


Constants

AbilityLearnResult_t

Name Value Description
ABILITY_CAN_BE_UPGRADED 0
ABILITY_CANNOT_BE_UPGRADED_NOT_UPGRADABLE 1
ABILITY_CANNOT_BE_UPGRADED_AT_MAX 2
ABILITY_CANNOT_BE_UPGRADED_REQUIRES_LEVEL 3
ABILITY_NOT_LEARNABLE 4

AttributeDerivedStats

Name Value Description
DOTA_ATTRIBUTE_STRENGTH_HP 1
DOTA_ATTRIBUTE_STRENGTH_HP_REGEN 2
DOTA_ATTRIBUTE_AGILITY_DAMAGE 3
DOTA_ATTRIBUTE_AGILITY_ARMOR 4
DOTA_ATTRIBUTE_AGILITY_ATTACK_SPEED 5
DOTA_ATTRIBUTE_INTELLIGENCE_DAMAGE 6
DOTA_ATTRIBUTE_INTELLIGENCE_MANA 7
DOTA_ATTRIBUTE_INTELLIGENCE_MANA_REGEN 8

Attributes

Name Value Description
DOTA_ATTRIBUTE_INVALID -1
DOTA_ATTRIBUTE_STRENGTH 0 Strength attribute.
DOTA_ATTRIBUTE_AGILITY 1 Agility attribute.
DOTA_ATTRIBUTE_INTELLECT 2 Intelligence attribute.
DOTA_ATTRIBUTE_MAX 3

DAMAGE_TYPES

Name Value Description
DAMAGE_TYPE_NONE 0
DAMAGE_TYPE_PHYSICAL 1 Physical, reduced by armor.
DAMAGE_TYPE_MAGICAL 2 Magical, reduced by magic resistance.
DAMAGE_TYPE_PURE 4 Pure, not reduced by anything.
DAMAGE_TYPE_ALL 7
DAMAGE_TYPE_HP_REMOVAL 8 Deprecated.

DOTAAbilitySpeakTrigger_t

Name Value Description
DOTA_ABILITY_SPEAK_START_ACTION_PHASE 0
DOTA_ABILITY_SPEAK_CAST 1

DOTADamageFlag_t

Name Value Description
DOTA_DAMAGE_FLAG_NONE 0
DOTA_DAMAGE_FLAG_IGNORES_MAGIC_ARMOR 1
DOTA_DAMAGE_FLAG_IGNORES_PHYSICAL_ARMOR 2
DOTA_DAMAGE_FLAG_BYPASSES_INVULNERABILITY 4
DOTA_DAMAGE_FLAG_BYPASSES_BLOCK 8
DOTA_DAMAGE_FLAG_REFLECTION 16
DOTA_DAMAGE_FLAG_HPLOSS 32
DOTA_DAMAGE_FLAG_NO_DIRECTOR_EVENT 64
DOTA_DAMAGE_FLAG_NON_LETHAL 128
DOTA_DAMAGE_FLAG_USE_COMBAT_PROFICIENCY 256
DOTA_DAMAGE_FLAG_NO_DAMAGE_MULTIPLIERS 512

DOTAHUDVisibility_t

Name Value Description
DOTA_HUD_VISIBILITY_TOP_TIMEOFDAY 0
DOTA_HUD_VISIBILITY_TOP_HEROES 1
DOTA_HUD_VISIBILITY_TOP_SCOREBOARD 2
DOTA_HUD_VISIBILITY_ACTION_PANEL 3
DOTA_HUD_VISIBILITY_ACTION_MINIMAP 4
DOTA_HUD_VISIBILITY_INVENTORY_PANEL 5
DOTA_HUD_VISIBILITY_INVENTORY_SHOP 6
DOTA_HUD_VISIBILITY_INVENTORY_ITEMS 7
DOTA_HUD_VISIBILITY_INVENTORY_QUICKBUY 8
DOTA_HUD_VISIBILITY_INVENTORY_COURIER 9
DOTA_HUD_VISIBILITY_INVENTORY_PROTECT 10
DOTA_HUD_VISIBILITY_INVENTORY_GOLD 11
DOTA_HUD_VISIBILITY_SHOP_SUGGESTEDITEMS 12
DOTA_HUD_VISIBILITY_COUNT 13

DOTAInventoryFlags_t

Name Value Description
DOTA_INVENTORY_ALLOW_NONE 0
DOTA_INVENTORY_ALLOW_MAIN 1
DOTA_INVENTORY_ALLOW_STASH 2
DOTA_INVENTORY_ALL_ACCESS 3
DOTA_INVENTORY_ALLOW_DROP_ON_GROUND 4
DOTA_INVENTORY_ALLOW_DROP_AT_FOUNTAIN 8
DOTA_INVENTORY_LIMIT_DROP_ON_GROUND 16

DOTAMinimapEvent_t

Name Value Description
DOTA_MINIMAP_EVENT_ANCIENT_UNDER_ATTACK 2
DOTA_MINIMAP_EVENT_BASE_UNDER_ATTACK 4
DOTA_MINIMAP_EVENT_BASE_GLYPHED 8
DOTA_MINIMAP_EVENT_TEAMMATE_UNDER_ATTACK 16
DOTA_MINIMAP_EVENT_TEAMMATE_TELEPORTING 32
DOTA_MINIMAP_EVENT_TEAMMATE_DIED 64
DOTA_MINIMAP_EVENT_TUTORIAL_TASK_ACTIVE 128
DOTA_MINIMAP_EVENT_TUTORIAL_TASK_FINISHED 256
DOTA_MINIMAP_EVENT_HINT_LOCATION 512
DOTA_MINIMAP_EVENT_ENEMY_TELEPORTING 1024
DOTA_MINIMAP_EVENT_CANCEL_TELEPORTING 2048

DOTAModifierAttribute_t

Name Value Description
MODIFIER_ATTRIBUTE_NONE 0
MODIFIER_ATTRIBUTE_PERMANENT 1 Modifier passively remains until strictly removed.
MODIFIER_ATTRIBUTE_MULTIPLE 2 Allows modifier to stack with itself.
MODIFIER_ATTRIBUTE_IGNORE_INVULNERABLE 4 Allows modifier to be assigned to invulnerable entities.

DOTAMusicStatus_t

Name Value Description
DOTA_MUSIC_STATUS_NONE 0
DOTA_MUSIC_STATUS_EXPLORATION 1
DOTA_MUSIC_STATUS_BATTLE 2
DOTA_MUSIC_STATUS_PRE_GAME_EXPLORATION 3
DOTA_MUSIC_STATUS_DEAD 4
DOTA_MUSIC_STATUS_LAST 5

DOTASlotType_t

Name Value Description
DOTA_LOADOUT_TYPE_INVALID -1
DOTA_LOADOUT_TYPE_WEAPON 0
DOTA_LOADOUT_TYPE_OFFHAND_WEAPON 1
DOTA_LOADOUT_TYPE_WEAPON2 2
DOTA_LOADOUT_TYPE_OFFHAND_WEAPON2 3
DOTA_LOADOUT_TYPE_HEAD 4
DOTA_LOADOUT_TYPE_SHOULDER 5
DOTA_LOADOUT_TYPE_ARMS 6
DOTA_LOADOUT_TYPE_ARMOR 7
DOTA_LOADOUT_TYPE_BELT 8
DOTA_LOADOUT_TYPE_NECK 9
DOTA_LOADOUT_TYPE_BACK 10
DOTA_LOADOUT_TYPE_LEGS 11
DOTA_LOADOUT_TYPE_GLOVES 12
DOTA_LOADOUT_TYPE_TAIL 13
DOTA_LOADOUT_TYPE_MISC 14
DOTA_LOADOUT_TYPE_BODY_HEAD 15
DOTA_LOADOUT_TYPE_MOUNT 16
DOTA_LOADOUT_TYPE_SUMMON 17
DOTA_LOADOUT_TYPE_SHAPESHIFT 18
DOTA_LOADOUT_TYPE_TAUNT 19
DOTA_LOADOUT_TYPE_AMBIENT_EFFECTS 20
DOTA_LOADOUT_TYPE_ABILITY_ATTACK 21
DOTA_LOADOUT_TYPE_ABILITY1 22
DOTA_LOADOUT_TYPE_ABILITY2 23
DOTA_LOADOUT_TYPE_ABILITY3 24
DOTA_LOADOUT_TYPE_ABILITY4 25
DOTA_LOADOUT_TYPE_ABILITY_ULTIMATE 26
DOTA_LOADOUT_TYPE_VOICE 27
DOTA_LOADOUT_TYPE_ACTION_ITEM 28
DOTA_PLAYER_LOADOUT_START 28
DOTA_LOADOUT_TYPE_COURIER 29
DOTA_LOADOUT_TYPE_ANNOUNCER 30
DOTA_LOADOUT_TYPE_MEGA_KILLS 31
DOTA_LOADOUT_TYPE_MUSIC 32
DOTA_LOADOUT_TYPE_WARD 33
DOTA_LOADOUT_TYPE_HUD_SKIN 34
DOTA_LOADOUT_TYPE_LOADING_SCREEN 35
DOTA_LOADOUT_TYPE_WEATHER 36
DOTA_LOADOUT_TYPE_HEROIC_STATUE 37
DOTA_LOADOUT_TYPE_MULTIKILL_BANNER 38
DOTA_LOADOUT_TYPE_CURSOR_PACK 39
DOTA_LOADOUT_TYPE_TELEPORT_EFFECT 40
DOTA_LOADOUT_TYPE_BLINK_EFFECT 41
DOTA_LOADOUT_TYPE_TEAM_SHOWCASE 42
DOTA_PLAYER_LOADOUT_END 42
DOTA_LOADOUT_TYPE_NONE 43
DOTA_LOADOUT_TYPE_COUNT 44

DOTASpeechType_t

Name Value Description
DOTA_SPEECH_USER_INVALID 0
DOTA_SPEECH_USER_SINGLE 1
DOTA_SPEECH_USER_TEAM 2
DOTA_SPEECH_USER_TEAM_NEARBY 3
DOTA_SPEECH_USER_NEARBY 4
DOTA_SPEECH_USER_ALL 5
DOTA_SPEECH_GOOD_TEAM 6
DOTA_SPEECH_BAD_TEAM 7
DOTA_SPEECH_SPECTATOR 8
DOTA_SPEECH_RECIPIENT_TYPE_MAX 9

DOTATeam_t

Name Value Description
DOTA_TEAM_FIRST 2
DOTA_TEAM_GOODGUYS 2 Radiant team.
DOTA_TEAM_BADGUYS 3 Dire team.
DOTA_TEAM_NEUTRALS 4 Neutral.
DOTA_TEAM_NOTEAM 5
DOTA_TEAM_CUSTOM_1 6
DOTA_TEAM_CUSTOM_MIN 6
DOTA_TEAM_CUSTOM_2 7
DOTA_TEAM_CUSTOM_3 8
DOTA_TEAM_CUSTOM_COUNT 8
DOTA_TEAM_CUSTOM_4 9
DOTA_TEAM_CUSTOM_5 10
DOTA_TEAM_CUSTOM_6 11
DOTA_TEAM_CUSTOM_7 12
DOTA_TEAM_CUSTOM_8 13
DOTA_TEAM_CUSTOM_MAX 13
DOTA_TEAM_COUNT 14

DOTAUnitAttackCapability_t

Name Value Description
DOTA_UNIT_CAP_NO_ATTACK 0 Unit is unable to attack in any way.
DOTA_UNIT_CAP_MELEE_ATTACK 1 Unit attacks are classified as melee (no uphill miss chance, attacks on enemies that are 350 over the attack range automatically miss).
DOTA_UNIT_CAP_RANGED_ATTACK 2 Unit attacks are classified as ranged (can miss on uphill, disjointable, has projectile).

DOTAUnitMoveCapability_t

Name Value Description
DOTA_UNIT_CAP_MOVE_NONE 0 Unit cannot move in any way.
DOTA_UNIT_CAP_MOVE_GROUND 1 Unit move while being obstructed by the terrain.
DOTA_UNIT_CAP_MOVE_FLY 2 Unit ignores terrain.

DOTA_UNIT_ORDERS

Name Value Description
DOTA_UNIT_ORDER_NONE 0
DOTA_UNIT_ORDER_MOVE_TO_POSITION 1
DOTA_UNIT_ORDER_MOVE_TO_TARGET 2
DOTA_UNIT_ORDER_ATTACK_MOVE 3
DOTA_UNIT_ORDER_ATTACK_TARGET 4
DOTA_UNIT_ORDER_CAST_POSITION 5
DOTA_UNIT_ORDER_CAST_TARGET 6
DOTA_UNIT_ORDER_CAST_TARGET_TREE 7
DOTA_UNIT_ORDER_CAST_NO_TARGET 8
DOTA_UNIT_ORDER_CAST_TOGGLE 9
DOTA_UNIT_ORDER_HOLD_POSITION 10
DOTA_UNIT_ORDER_TRAIN_ABILITY 11
DOTA_UNIT_ORDER_DROP_ITEM 12
DOTA_UNIT_ORDER_GIVE_ITEM 13
DOTA_UNIT_ORDER_PICKUP_ITEM 14
DOTA_UNIT_ORDER_PICKUP_RUNE 15
DOTA_UNIT_ORDER_PURCHASE_ITEM 16
DOTA_UNIT_ORDER_SELL_ITEM 17
DOTA_UNIT_ORDER_DISASSEMBLE_ITEM 18
DOTA_UNIT_ORDER_MOVE_ITEM 19
DOTA_UNIT_ORDER_CAST_TOGGLE_AUTO 20
DOTA_UNIT_ORDER_STOP 21
DOTA_UNIT_ORDER_TAUNT 22
DOTA_UNIT_ORDER_BUYBACK 23
DOTA_UNIT_ORDER_GLYPH 24
DOTA_UNIT_ORDER_EJECT_ITEM_FROM_STASH 25
DOTA_UNIT_ORDER_CAST_RUNE 26

DOTA_ABILITY_BEHAVIOR

Name Value Description
DOTA_ABILITY_BEHAVIOR_NONE 0
DOTA_ABILITY_BEHAVIOR_HIDDEN 1 Ability doesn't appear on the HUD.
DOTA_ABILITY_BEHAVIOR_PASSIVE 2 Ability is classified as passive, and cannot be pressed.
DOTA_ABILITY_BEHAVIOR_NO_TARGET 4 Ability fires immediately when pressed.
DOTA_ABILITY_BEHAVIOR_UNIT_TARGET 8 Ability needs a unit target to be cast.
DOTA_ABILITY_BEHAVIOR_POINT 16 Ability needs a target point to be cast.
DOTA_ABILITY_BEHAVIOR_AOE 32 Ability is considered an AoE ability, respecting "AOERadius" KV when drawing the AoE overlay.
DOTA_ABILITY_BEHAVIOR_NOT_LEARNABLE 64 Ability cannot be skilled.
DOTA_ABILITY_BEHAVIOR_CHANNELLED 128 Ability is considered a channeling ability.
DOTA_ABILITY_BEHAVIOR_ITEM 256
DOTA_ABILITY_BEHAVIOR_TOGGLE 512 Ability can be toggled on and off.
DOTA_ABILITY_BEHAVIOR_DIRECTIONAL 1024
DOTA_ABILITY_BEHAVIOR_IMMEDIATE 2048 Ability ignores cast points and is fired as soon as the skill is pressed.
DOTA_ABILITY_BEHAVIOR_AUTOCAST 4096 Ability can be set to auto cast.
DOTA_ABILITY_BEHAVIOR_OPTIONAL_UNIT_TARGET 8192
DOTA_ABILITY_BEHAVIOR_OPTIONAL_POINT 16384
DOTA_ABILITY_BEHAVIOR_OPTIONAL_NO_TARGET 32768
DOTA_ABILITY_BEHAVIOR_AURA 65536 Ability is considered an aura.
DOTA_ABILITY_BEHAVIOR_ATTACK 131072
DOTA_ABILITY_BEHAVIOR_DONT_RESUME_MOVEMENT 262144 After casting that ability, the caster won't resume its last order.
DOTA_ABILITY_BEHAVIOR_ROOT_DISABLES 524288 Ability cannot be cast while rooted.
DOTA_ABILITY_BEHAVIOR_UNRESTRICTED 1048576
DOTA_ABILITY_BEHAVIOR_IGNORE_PSEUDO_QUEUE 2097152
DOTA_ABILITY_BEHAVIOR_IGNORE_CHANNEL 4194304
DOTA_ABILITY_BEHAVIOR_DONT_CANCEL_MOVEMENT 8388608 Ability doesn't stop the caster to be used.
DOTA_ABILITY_BEHAVIOR_DONT_ALERT_TARGET 16777216
DOTA_ABILITY_BEHAVIOR_DONT_RESUME_ATTACK 33554432 After using ability, caster won't proceed to attack the nearby enemy (even if set otherwise in options)
DOTA_ABILITY_BEHAVIOR_NORMAL_WHEN_STOLEN 67108864
DOTA_ABILITY_BEHAVIOR_IGNORE_BACKSWING 134217728 Ability ignores backswing animation.
DOTA_ABILITY_BEHAVIOR_RUNE_TARGET 268435456 Ability can target runes.
DOTA_ABILITY_BEHAVIOR_DONT_CANCEL_CHANNEL 536870912 Ability can be used without cancelling the current channel.
DOTA_ABILITY_LAST_BEHAVIOR 536870912

DOTA_HeroPickState

Name Value Description
DOTA_HEROPICK_STATE_NONE 0
DOTA_HEROPICK_STATE_AP_SELECT 1
DOTA_HEROPICK_STATE_SD_SELECT 2
DOTA_HEROPICK_STATE_INTRO_SELECT 3
DOTA_HEROPICK_STATE_RD_SELECT 4
DOTA_HEROPICK_STATE_CM_INTRO 5
DOTA_HEROPICK_STATE_CM_CAPTAINPICK 6
DOTA_HEROPICK_STATE_CM_BAN1 7
DOTA_HEROPICK_STATE_CM_BAN2 8
DOTA_HEROPICK_STATE_CM_BAN3 9
DOTA_HEROPICK_STATE_CM_BAN4 10
DOTA_HEROPICK_STATE_CM_BAN5 11
DOTA_HEROPICK_STATE_CM_BAN6 12
DOTA_HEROPICK_STATE_CM_BAN7 13
DOTA_HEROPICK_STATE_CM_BAN8 14
DOTA_HEROPICK_STATE_CM_BAN9 15
DOTA_HEROPICK_STATE_CM_BAN10 16
DOTA_HEROPICK_STATE_CM_SELECT1 17
DOTA_HEROPICK_STATE_CM_SELECT2 18
DOTA_HEROPICK_STATE_CM_SELECT3 19
DOTA_HEROPICK_STATE_CM_SELECT4 20
DOTA_HEROPICK_STATE_CM_SELECT5 21
DOTA_HEROPICK_STATE_CM_SELECT6 22
DOTA_HEROPICK_STATE_CM_SELECT7 23
DOTA_HEROPICK_STATE_CM_SELECT8 24
DOTA_HEROPICK_STATE_CM_SELECT9 25
DOTA_HEROPICK_STATE_CM_SELECT10 26
DOTA_HEROPICK_STATE_CM_PICK 27
DOTA_HEROPICK_STATE_AR_SELECT 28
DOTA_HEROPICK_STATE_MO_SELECT 29
DOTA_HEROPICK_STATE_FH_SELECT 30
DOTA_HEROPICK_STATE_CD_INTRO 31
DOTA_HEROPICK_STATE_CD_CAPTAINPICK 32
DOTA_HEROPICK_STATE_CD_BAN1 33
DOTA_HEROPICK_STATE_CD_BAN2 34
DOTA_HEROPICK_STATE_CD_BAN3 35
DOTA_HEROPICK_STATE_CD_BAN4 36
DOTA_HEROPICK_STATE_CD_BAN5 37
DOTA_HEROPICK_STATE_CD_BAN6 38
DOTA_HEROPICK_STATE_CD_SELECT1 39
DOTA_HEROPICK_STATE_CD_SELECT2 40
DOTA_HEROPICK_STATE_CD_SELECT3 41
DOTA_HEROPICK_STATE_CD_SELECT4 42
DOTA_HEROPICK_STATE_CD_SELECT5 43
DOTA_HEROPICK_STATE_CD_SELECT6 44
DOTA_HEROPICK_STATE_CD_SELECT7 45
DOTA_HEROPICK_STATE_CD_SELECT8 46
DOTA_HEROPICK_STATE_CD_SELECT9 47
DOTA_HEROPICK_STATE_CD_SELECT10 48
DOTA_HEROPICK_STATE_CD_PICK 49
DOTA_HEROPICK_STATE_BD_SELECT 50
DOTA_HERO_PICK_STATE_ABILITY_DRAFT_SELECT 51
DOTA_HERO_PICK_STATE_ARDM_SELECT 52
DOTA_HEROPICK_STATE_ALL_DRAFT_SELECT 53
DOTA_HERO_PICK_STATE_CUSTOMGAME_SELECT 54
DOTA_HEROPICK_STATE_COUNT 55

DOTA_MOTION_CONTROLLER_PRIORITY

Name Value Description
DOTA_MOTION_CONTROLLER_PRIORITY_LOWEST 0
DOTA_MOTION_CONTROLLER_PRIORITY_LOW 1
DOTA_MOTION_CONTROLLER_PRIORITY_MEDIUM 2
DOTA_MOTION_CONTROLLER_PRIORITY_HIGH 3
DOTA_MOTION_CONTROLLER_PRIORITY_HIGHEST 4

DOTA_RUNES

Name Value Description
DOTA_RUNE_INVALID -1
DOTA_RUNE_DOUBLEDAMAGE 0
DOTA_RUNE_HASTE 1
DOTA_RUNE_ILLUSION 2
DOTA_RUNE_INVISIBILITY 3
DOTA_RUNE_REGENERATION 4
DOTA_RUNE_BOUNTY 5
DOTA_RUNE_COUNT 6
DOTA_RUNE_HAUNTED 7
DOTA_RUNE_SPOOKY 8
DOTA_RUNE_RAPIER 9
DOTA_RUNE_TURBO 10
DOTA_RUNE_MYSTERY 11
DOTA_HALLOWEEN_RUNE_COUNT 12

DOTA_UNIT_TARGET_FLAGS

Name Value Description
DOTA_UNIT_TARGET_FLAG_NONE 0 No special flag rules.
DOTA_UNIT_TARGET_FLAG_RANGED_ONLY 2 Targets only ranged units and heroes.
DOTA_UNIT_TARGET_FLAG_MELEE_ONLY 4 Targets only melee units and heroes.
DOTA_UNIT_TARGET_FLAG_DEAD 8 Targets dead units and heroes as well.
DOTA_UNIT_TARGET_FLAG_MAGIC_IMMUNE_ENEMIES 16 Targets magic immune enemies as well.
DOTA_UNIT_TARGET_FLAG_NOT_MAGIC_IMMUNE_ALLIES 32 Targets non-magic immune allies as well.
DOTA_UNIT_TARGET_FLAG_INVULNERABLE 64 Targets invulnerable units/heroes as well.
DOTA_UNIT_TARGET_FLAG_FOW_VISIBLE 128 Targets only those that are visible through the fog of war.
DOTA_UNIT_TARGET_FLAG_NO_INVIS 256 Targets only those that are not invisible.
DOTA_UNIT_TARGET_FLAG_NOT_ANCIENTS 512 Targets only those that are not considered ancients.
DOTA_UNIT_TARGET_FLAG_PLAYER_CONTROLLED 1024 Targets player controlled units (ignores the rest of basic units).
DOTA_UNIT_TARGET_FLAG_NOT_DOMINATED 2048 Targets only those that are not being dominated.
DOTA_UNIT_TARGET_FLAG_NOT_SUMMONED 4096 Targets only those that are not summoned creatures.
DOTA_UNIT_TARGET_FLAG_NOT_ILLUSIONS 8192 Targets only those that are not illusions.
DOTA_UNIT_TARGET_FLAG_NOT_ATTACK_IMMUNE 16384 Targets only those that are not immune to attacks.
DOTA_UNIT_TARGET_FLAG_MANA_ONLY 32768 Targets only those that has a mana bar.
DOTA_UNIT_TARGET_FLAG_CHECK_DISABLE_HELP 65536
DOTA_UNIT_TARGET_FLAG_NOT_CREEP_HERO 131072 Targets only those that are not considered creep heroes.
DOTA_UNIT_TARGET_FLAG_OUT_OF_WORLD 262144 Targets units/heroes that are hidden as well.
DOTA_UNIT_TARGET_FLAG_NOT_NIGHTMARED 524288 Targets only those that are not nightmared.

DOTA_UNIT_TARGET_TEAM

Name Value Description
DOTA_UNIT_TARGET_TEAM_NONE 0
DOTA_UNIT_TARGET_TEAM_FRIENDLY 1 Targets all those that are in the same team as the team that was declared the source.
DOTA_UNIT_TARGET_TEAM_ENEMY 2 Targets all those that are not in the same team as the team that was declared the source.
DOTA_UNIT_TARGET_TEAM_BOTH 3 Targets all entities from every team.
DOTA_UNIT_TARGET_TEAM_CUSTOM 4

DOTA_UNIT_TARGET_TYPE

Name Value Description
DOTA_UNIT_TARGET_NONE 0
DOTA_UNIT_TARGET_HERO 1 Targets heroes.
DOTA_UNIT_TARGET_CREEP 2 Targets creeps.
DOTA_UNIT_TARGET_BUILDING 4 Targets buildings.
DOTA_UNIT_TARGET_MECHANICAL 8 Deprecated.
DOTA_UNIT_TARGET_COURIER 16 Targets couriers.
DOTA_UNIT_TARGET_BASIC 18 Targets units. (not necessarily creeps)
DOTA_UNIT_TARGET_OTHER 32
DOTA_UNIT_TARGET_ALL 63 Targets everything (including buildings, couriers, Shrines etc)
DOTA_UNIT_TARGET_TREE 64 Targets trees.
DOTA_UNIT_TARGET_CUSTOM 128

EDOTA_ModifyGold_Reason

Name Value Description
DOTA_ModifyGold_Unspecified 0
DOTA_ModifyGold_Death 1
DOTA_ModifyGold_Buyback 2
DOTA_ModifyGold_PurchaseConsumable 3
DOTA_ModifyGold_PurchaseItem 4
DOTA_ModifyGold_AbandonedRedistribute 5
DOTA_ModifyGold_SellItem 6
DOTA_ModifyGold_AbilityCost 7
DOTA_ModifyGold_CheatCommand 8
DOTA_ModifyGold_SelectionPenalty 9
DOTA_ModifyGold_GameTick 10
DOTA_ModifyGold_Building 11
DOTA_ModifyGold_HeroKill 12
DOTA_ModifyGold_CreepKill 13
DOTA_ModifyGold_RoshanKill 14
DOTA_ModifyGold_CourierKill 15
DOTA_ModifyGold_SharedGold 16

EDOTA_ModifyXP_Reason

Name Value Description
DOTA_ModifyXP_Unspecified 0
DOTA_ModifyXP_HeroKill 1
DOTA_ModifyXP_CreepKill 2
DOTA_ModifyXP_RoshanKill 3

EShareAbility

Name Value Description
ITEM_FULLY_SHAREABLE 0
ITEM_PARTIALLY_SHAREABLE 1
ITEM_NOT_SHAREABLE 2

LuaModifierType

Name Value Description
LUA_MODIFIER_MOTION_NONE 0
LUA_MODIFIER_MOTION_HORIZONTAL 1
LUA_MODIFIER_MOTION_VERTICAL 2
LUA_MODIFIER_MOTION_BOTH 3
LUA_MODIFIER_INVALID 4

ModifierPriority

Name Value Description
MODIFIER_PRIORITY_LOW 0
MODIFIER_PRIORITY_NORMAL 1
MODIFIER_PRIORITY_HIGH 2
MODIFIER_PRIORITY_ULTRA 3
MODIFIER_PRIORITY_SUPER_ULTRA 4

ParticleAttachment_t

Name Value Description
PATTACH_INVALID -1
PATTACH_ABSORIGIN 0 Attaches the particle to the an origin.
PATTACH_ABSORIGIN_FOLLOW 1 Attaches the particle to an origin, and causes it to follow the unit that is considered the source of the particle.
PATTACH_CUSTOMORIGIN 2 Attaches the particle to a custom origin. (Requires passing a vector to the Control points)
PATTACH_CUSTOMORIGIN_FOLLOW 3
PATTACH_POINT 4
PATTACH_POINT_FOLLOW 5
PATTACH_EYES_FOLLOW 6 Attaches the particle to the "eyes" of the entity.
PATTACH_OVERHEAD_FOLLOW 7 Attaches the particle to be set above the head of the entity.
PATTACH_WORLDORIGIN 8 Attaches the particle to the ground.
PATTACH_ROOTBONE_FOLLOW 9
PATTACH_RENDERORIGIN_FOLLOW 10
PATTACH_MAIN_VIEW 11
PATTACH_WATERWAKE 12
MAX_PATTACH_TYPES 13

UnitFilterResult

Name Value Description
UF_SUCCESS 0
UF_FAIL_FRIENDLY 1
UF_FAIL_ENEMY 2
UF_FAIL_HERO 3
UF_FAIL_CONSIDERED_HERO 4
UF_FAIL_CREEP 5
UF_FAIL_BUILDING 6
UF_FAIL_MECHANICAL 7
UF_FAIL_COURIER 8
UF_FAIL_OTHER 9
UF_FAIL_ANCIENT 10
UF_FAIL_ILLUSION 11
UF_FAIL_SUMMONED 12
UF_FAIL_DOMINATED 13
UF_FAIL_MELEE 14
UF_FAIL_RANGED 15
UF_FAIL_DEAD 16
UF_FAIL_MAGIC_IMMUNE_ALLY 17
UF_FAIL_MAGIC_IMMUNE_ENEMY 18
UF_FAIL_INVULNERABLE 19
UF_FAIL_IN_FOW 20
UF_FAIL_INVISIBLE 21
UF_FAIL_NOT_PLAYER_CONTROLLED 22
UF_FAIL_ATTACK_IMMUNE 23
UF_FAIL_CUSTOM 24
UF_FAIL_INVALID_LOCATION 25
UF_FAIL_DISABLE_HELP 26
UF_FAIL_OUT_OF_WORLD 27
UF_FAIL_NIGHTMARED 28

modifierstate

Name Value Description
MODIFIER_STATE_ROOTED 0 Set to true to cause the parent to become rooted.
MODIFIER_STATE_DISARMED 1 Set to true to cause the parent to become disarmed.
MODIFIER_STATE_ATTACK_IMMUNE 2 Set to true to cause the parent to become attack immune.
MODIFIER_STATE_SILENCED 3 Set to true to cause the parent to become silenced.
MODIFIER_STATE_MUTED 4 Set to true to cause the parent to become muted.
MODIFIER_STATE_STUNNED 5 Set to true to cause the parent to become stunned.
MODIFIER_STATE_HEXED 6 Set to true to cause the parent to become hexed.
MODIFIER_STATE_INVISIBLE 7 Set to true to cause the parent to become invisible.
MODIFIER_STATE_INVULNERABLE 8 Set to true to cause the parent to become invulnerable.
MODIFIER_STATE_MAGIC_IMMUNE 9 Set to true to cause the parent to become immune to magic.
MODIFIER_STATE_PROVIDES_VISION 10 Set to true to cause the parent to share its vision with the source of the modifier.
MODIFIER_STATE_NIGHTMARED 11 Set to true to cause the parent to become nightmared.
MODIFIER_STATE_BLOCK_DISABLED 12 Set to true to cause the parent to become unable to block attacks.
MODIFIER_STATE_EVADE_DISABLED 13 Set to true to cause the parent to become unable to evade attacks.
MODIFIER_STATE_UNSELECTABLE 14 Set to true to cause the parent to make it unselectable.
MODIFIER_STATE_CANNOT_MISS 15 Set to true to cause the parent to always hit its target.
MODIFIER_STATE_SPECIALLY_DENIABLE 16 Set to true to cause allies to be able to deny the parent.
MODIFIER_STATE_FROZEN 17 Set to true to cause the parent to become frozen.
MODIFIER_STATE_COMMAND_RESTRICTED 18 Set to true to cause the parent to become unable to issue orders.
MODIFIER_STATE_NOT_ON_MINIMAP 19 Set to true to cause the parent to become invisible on the minimap.
MODIFIER_STATE_NOT_ON_MINIMAP_FOR_ENEMIES 20 Set to true to cause the parent to become invisible on the minimap for enemies.
MODIFIER_STATE_LOW_ATTACK_PRIORITY 21 Set to true to cause the parent to become low attack priority, causing it to be the last to be hit when attack moving.
MODIFIER_STATE_NO_HEALTH_BAR 22 Set to true to cause the parent to have its health bar disabled (invisible).
MODIFIER_STATE_FLYING 23 Set to true to cause the parent to fly, ignoring terrains and increasing its offset from the ground.
MODIFIER_STATE_NO_UNIT_COLLISION 24 Set to true to cause the parent to become phased.
MODIFIER_STATE_NO_TEAM_MOVE_TO 25
MODIFIER_STATE_NO_TEAM_SELECT 26
MODIFIER_STATE_PASSIVES_DISABLED 27 Set to true to cause the parent to have its passives disabled.
MODIFIER_STATE_DOMINATED 28 Set to true to cause the parent to become dominated.
MODIFIER_STATE_BLIND 29 Set to true to cause the parent to become blind.
MODIFIER_STATE_OUT_OF_GAME 30
MODIFIER_STATE_FAKE_ALLY 31
MODIFIER_STATE_FLYING_FOR_PATHING_PURPOSES_ONLY 32 Set to true to cause the parent to stay on the ground, but be considered flying when moving.
MODIFIER_STATE_TRUESIGHT_IMMUNE 33 Set to true to cause the parent to become immune to truesight.
MODIFIER_STATE_LAST 34

quest_text_replace_values_t

Name Value Description
QUEST_TEXT_REPLACE_VALUE_CURRENT_VALUE 0
QUEST_TEXT_REPLACE_VALUE_TARGET_VALUE 1
QUEST_TEXT_REPLACE_VALUE_ROUND 2
QUEST_TEXT_REPLACE_VALUE_REWARD 3
QUEST_NUM_TEXT_REPLACE_VALUES 4

Find Types

Name Value Description
FIND_UNITS_EVERYWHERE -1 Find units in the whole map.
FIND_ANY_ORDER 0 Random the order units are found.
FIND_CLOSEST 1 Find units from the closest to the source to the farthest.
FIND_FARTHEST 2 Find units from the farthest to the source to the farthest.

subquest_text_replace_values_t

Name Value Description
SUBQUEST_TEXT_REPLACE_VALUE_CURRENT_VALUE 0
SUBQUEST_TEXT_REPLACE_VALUE_TARGET_VALUE 1
SUBQUEST_NUM_TEXT_REPLACE_VALUES 2

DOTAScriptInventorySlot_t

Name Value Description
DOTA_ITEM_SLOT_1 0
DOTA_ITEM_SLOT_2 1
DOTA_ITEM_SLOT_3 2
DOTA_ITEM_SLOT_4 3
DOTA_ITEM_SLOT_5 4
DOTA_ITEM_SLOT_6 5
DOTA_ITEM_SLOT_7 6 Backpack slot 1
DOTA_ITEM_SLOT_8 7 Backpack slot 2
DOTA_ITEM_SLOT_9 8 Backpack slot 3
DOTA_STASH_SLOT_1 9
DOTA_STASH_SLOT_2 10
DOTA_STASH_SLOT_3 11
DOTA_STASH_SLOT_4 12
DOTA_STASH_SLOT_5 13
DOTA_STASH_SLOT_6 14
DOTA_ITEM_TP_SCROLL 15
DOTA_ITEM_NEUTRAL_SLOT 16
DOTA_ITEM_TRANSIENT_ITEM 17
DOTA_ITEM_TRANSIENT_RECIPE 18
DOTA_ITEM_TRANSIENT_CAST_ITEM 20

DOTA_GameState

Name Value Description
DOTA_GAMERULES_STATE_INIT 0
DOTA_GAMERULES_STATE_WAIT_FOR_PLAYERS_TO_LOAD 1
DOTA_GAMERULES_STATE_CUSTOM_GAME_SETUP 2
DOTA_GAMERULES_STATE_HERO_SELECTION 3
DOTA_GAMERULES_STATE_STRATEGY_TIME 4
DOTA_GAMERULES_STATE_TEAM_SHOWCASE 5
DOTA_GAMERULES_STATE_PRE_GAME 6
DOTA_GAMERULES_STATE_GAME_IN_PROGRESS 7
DOTA_GAMERULES_STATE_POST_GAME 8
DOTA_GAMERULES_STATE_DISCONNECT 9

DOTALimits_t

Name Value Description
DOTA_DEFAULT_MAX_TEAM 5 Default number of players per team.
DOTA_DEFAULT_MAX_TEAM_PLAYERS 10 Default number of non-spectator players supported.
DOTA_MAX_PLAYER_TEAMS 10 Max number of player teams supported.
DOTA_MAX_TEAM 24 Max number of players per team.
DOTA_MAX_TEAM_PLAYERS 24 Max number of non-spectator players supported.
DOTA_MAX_SPECTATOR_TEAM_SIZE 40 How many spectators can watch.
DOTA_MAX_PLAYERS 64 Max number of players connected to the server including spectators.

GameActivity_t

Name Value Description
ACT_DOTA_IDLE 1500
ACT_DOTA_IDLE_RARE 1501
ACT_DOTA_RUN 1502
ACT_DOTA_ATTACK 1503
ACT_DOTA_ATTACK2 1504
ACT_DOTA_ATTACK_EVENT 1505
ACT_DOTA_DIE 1506
ACT_DOTA_FLINCH 1507
ACT_DOTA_FLAIL 1508
ACT_DOTA_DISABLED 1509
ACT_DOTA_CAST_ABILITY_1 1510
ACT_DOTA_CAST_ABILITY_2 1511
ACT_DOTA_CAST_ABILITY_3 1512
ACT_DOTA_CAST_ABILITY_4 1513
ACT_DOTA_CAST_ABILITY_5 1514
ACT_DOTA_CAST_ABILITY_6 1515
ACT_DOTA_OVERRIDE_ABILITY_1 1516
ACT_DOTA_OVERRIDE_ABILITY_2 1517
ACT_DOTA_OVERRIDE_ABILITY_3 1518
ACT_DOTA_OVERRIDE_ABILITY_4 1519
ACT_DOTA_CHANNEL_ABILITY_1 1520
ACT_DOTA_CHANNEL_ABILITY_2 1521
ACT_DOTA_CHANNEL_ABILITY_3 1522
ACT_DOTA_CHANNEL_ABILITY_4 1523
ACT_DOTA_CHANNEL_ABILITY_5 1524
ACT_DOTA_CHANNEL_ABILITY_6 1525
ACT_DOTA_CHANNEL_END_ABILITY_1 1526
ACT_DOTA_CHANNEL_END_ABILITY_2 1527
ACT_DOTA_CHANNEL_END_ABILITY_3 1528
ACT_DOTA_CHANNEL_END_ABILITY_4 1529
ACT_DOTA_CHANNEL_END_ABILITY_5 1530
ACT_DOTA_CHANNEL_END_ABILITY_6 1531
ACT_DOTA_CONSTANT_LAYER 1532
ACT_DOTA_CAPTURE 1533
ACT_DOTA_SPAWN 1534
ACT_DOTA_KILLTAUNT 1535
ACT_DOTA_TAUNT 1536
ACT_DOTA_THIRST 1537
ACT_DOTA_CAST_DRAGONBREATH 1538
ACT_DOTA_ECHO_SLAM 1539
ACT_DOTA_CAST_ABILITY_1_END 1540
ACT_DOTA_CAST_ABILITY_2_END 1541
ACT_DOTA_CAST_ABILITY_3_END 1542
ACT_DOTA_CAST_ABILITY_4_END 1543
ACT_MIRANA_LEAP_END 1544
ACT_WAVEFORM_START 1545
ACT_WAVEFORM_END 1546
ACT_DOTA_CAST_ABILITY_ROT 1547
ACT_DOTA_DIE_SPECIAL 1548
ACT_DOTA_RATTLETRAP_BATTERYASSAULT 1549
ACT_DOTA_RATTLETRAP_POWERCOGS 1550
ACT_DOTA_RATTLETRAP_HOOKSHOT_START 1551
ACT_DOTA_RATTLETRAP_HOOKSHOT_LOOP 1552
ACT_DOTA_RATTLETRAP_HOOKSHOT_END 1553
ACT_STORM_SPIRIT_OVERLOAD_RUN_OVERRIDE 1554
ACT_DOTA_TINKER_REARM1 1555
ACT_DOTA_TINKER_REARM2 1556
ACT_DOTA_TINKER_REARM3 1557
ACT_TINY_AVALANCHE 1558
ACT_TINY_TOSS 1559
ACT_TINY_GROWL 1560
ACT_DOTA_WEAVERBUG_ATTACH 1561
ACT_DOTA_CAST_WILD_AXES_END 1562
ACT_DOTA_CAST_LIFE_BREAK_START 1563
ACT_DOTA_CAST_LIFE_BREAK_END 1564
ACT_DOTA_NIGHTSTALKER_TRANSITION 1565
ACT_DOTA_LIFESTEALER_RAGE 1566
ACT_DOTA_LIFESTEALER_OPEN_WOUNDS 1567
ACT_DOTA_SAND_KING_BURROW_IN 1568
ACT_DOTA_SAND_KING_BURROW_OUT 1569
ACT_DOTA_EARTHSHAKER_TOTEM_ATTACK 1570
ACT_DOTA_WHEEL_LAYER 1571
ACT_DOTA_ALCHEMIST_CHEMICAL_RAGE_START 1572
ACT_DOTA_ALCHEMIST_CONCOCTION 1573
ACT_DOTA_JAKIRO_LIQUIDFIRE_START 1574
ACT_DOTA_JAKIRO_LIQUIDFIRE_LOOP 1575
ACT_DOTA_LIFESTEALER_INFEST 1576
ACT_DOTA_LIFESTEALER_INFEST_END 1577
ACT_DOTA_LASSO_LOOP 1578
ACT_DOTA_ALCHEMIST_CONCOCTION_THROW 1579
ACT_DOTA_ALCHEMIST_CHEMICAL_RAGE_END 1580
ACT_DOTA_CAST_COLD_SNAP 1581
ACT_DOTA_CAST_GHOST_WALK 1582
ACT_DOTA_CAST_TORNADO 1583
ACT_DOTA_CAST_EMP 1584
ACT_DOTA_CAST_ALACRITY 1585
ACT_DOTA_CAST_CHAOS_METEOR 1586
ACT_DOTA_CAST_SUN_STRIKE 1587
ACT_DOTA_CAST_FORGE_SPIRIT 1588
ACT_DOTA_CAST_ICE_WALL 1589
ACT_DOTA_CAST_DEAFENING_BLAST 1590
ACT_DOTA_VICTORY 1591
ACT_DOTA_DEFEAT 1592
ACT_DOTA_SPIRIT_BREAKER_CHARGE_POSE 1593
ACT_DOTA_SPIRIT_BREAKER_CHARGE_END 1594
ACT_DOTA_TELEPORT 1595
ACT_DOTA_TELEPORT_END 1596
ACT_DOTA_CAST_REFRACTION 1597
ACT_DOTA_CAST_ABILITY_7 1598
ACT_DOTA_CANCEL_SIREN_SONG 1599
ACT_DOTA_CHANNEL_ABILITY_7 1600
ACT_DOTA_LOADOUT 1601
ACT_DOTA_FORCESTAFF_END 1602
ACT_DOTA_POOF_END 1603
ACT_DOTA_SLARK_POUNCE 1604
ACT_DOTA_MAGNUS_SKEWER_START 1605
ACT_DOTA_MAGNUS_SKEWER_END 1606
ACT_DOTA_MEDUSA_STONE_GAZE 1607
ACT_DOTA_RELAX_START 1608
ACT_DOTA_RELAX_LOOP 1609
ACT_DOTA_RELAX_END 1610
ACT_DOTA_CENTAUR_STAMPEDE 1611
ACT_DOTA_BELLYACHE_START 1612
ACT_DOTA_BELLYACHE_LOOP 1613
ACT_DOTA_BELLYACHE_END 1614
ACT_DOTA_ROQUELAIRE_LAND 1615
ACT_DOTA_ROQUELAIRE_LAND_IDLE 1616
ACT_DOTA_GREEVIL_CAST 1617
ACT_DOTA_GREEVIL_OVERRIDE_ABILITY 1618
ACT_DOTA_GREEVIL_HOOK_START 1619
ACT_DOTA_GREEVIL_HOOK_END 1620
ACT_DOTA_GREEVIL_BLINK_BONE 1621
ACT_DOTA_IDLE_SLEEPING 1622
ACT_DOTA_INTRO 1623
ACT_DOTA_GESTURE_POINT 1624
ACT_DOTA_GESTURE_ACCENT 1625
ACT_DOTA_SLEEPING_END 1626
ACT_DOTA_AMBUSH 1627
ACT_DOTA_ITEM_LOOK 1628
ACT_DOTA_STARTLE 1629
ACT_DOTA_FRUSTRATION 1630
ACT_DOTA_TELEPORT_REACT 1631
ACT_DOTA_TELEPORT_END_REACT 1632
ACT_DOTA_SHRUG 1633
ACT_DOTA_RELAX_LOOP_END 1634
ACT_DOTA_PRESENT_ITEM 1635
ACT_DOTA_IDLE_IMPATIENT 1636
ACT_DOTA_SHARPEN_WEAPON 1637
ACT_DOTA_SHARPEN_WEAPON_OUT 1638
ACT_DOTA_IDLE_SLEEPING_END 1639
ACT_DOTA_BRIDGE_DESTROY 1640
ACT_DOTA_TAUNT_SNIPER 1641
ACT_DOTA_DEATH_BY_SNIPER 1642
ACT_DOTA_LOOK_AROUND 1643
ACT_DOTA_CAGED_CREEP_RAGE 1644
ACT_DOTA_CAGED_CREEP_RAGE_OUT 1645
ACT_DOTA_CAGED_CREEP_SMASH 1646
ACT_DOTA_CAGED_CREEP_SMASH_OUT 1647
ACT_DOTA_IDLE_IMPATIENT_SWORD_TAP 1648
ACT_DOTA_INTRO_LOOP 1649
ACT_DOTA_BRIDGE_THREAT 1650
ACT_DOTA_DAGON 1651
ACT_DOTA_CAST_ABILITY_2_ES_ROLL_START 1652
ACT_DOTA_CAST_ABILITY_2_ES_ROLL 1653
ACT_DOTA_CAST_ABILITY_2_ES_ROLL_END 1654
ACT_DOTA_NIAN_PIN_START 1655
ACT_DOTA_NIAN_PIN_LOOP 1656
ACT_DOTA_NIAN_PIN_END 1657
ACT_DOTA_LEAP_STUN 1658
ACT_DOTA_LEAP_SWIPE 1659
ACT_DOTA_NIAN_INTRO_LEAP 1660
ACT_DOTA_AREA_DENY 1661
ACT_DOTA_NIAN_PIN_TO_STUN 1662
ACT_DOTA_RAZE_1 1663
ACT_DOTA_RAZE_2 1664
ACT_DOTA_RAZE_3 1665
ACT_DOTA_UNDYING_DECAY 1666
ACT_DOTA_UNDYING_SOUL_RIP 1667
ACT_DOTA_UNDYING_TOMBSTONE 1668
ACT_DOTA_WHIRLING_AXES_RANGED 1669
ACT_DOTA_SHALLOW_GRAVE 1670
ACT_DOTA_COLD_FEET 1671
ACT_DOTA_ICE_VORTEX 1672
ACT_DOTA_CHILLING_TOUCH 1673
ACT_DOTA_ENFEEBLE 1674
ACT_DOTA_FATAL_BONDS 1675
ACT_DOTA_MIDNIGHT_PULSE 1676
ACT_DOTA_ANCESTRAL_SPIRIT 1677
ACT_DOTA_THUNDER_STRIKE 1678
ACT_DOTA_KINETIC_FIELD 1679
ACT_DOTA_STATIC_STORM 1680
ACT_DOTA_MINI_TAUNT 1681
ACT_DOTA_ARCTIC_BURN_END 1682
ACT_DOTA_LOADOUT_RARE 1683
ACT_DOTA_SWIM 1684
ACT_DOTA_FLEE 1685
ACT_DOTA_TROT 1686
ACT_DOTA_SHAKE 1687
ACT_DOTA_SWIM_IDLE 1688
ACT_DOTA_WAIT_IDLE 1689
ACT_DOTA_GREET 1690
ACT_DOTA_TELEPORT_COOP_START 1691
ACT_DOTA_TELEPORT_COOP_WAIT 1692
ACT_DOTA_TELEPORT_COOP_END 1693
ACT_DOTA_TELEPORT_COOP_EXIT 1694
ACT_DOTA_SHOPKEEPER_PET_INTERACT 1695
ACT_DOTA_ITEM_PICKUP 1696
ACT_DOTA_ITEM_DROP 1697
ACT_DOTA_CAPTURE_PET 1698
ACT_DOTA_PET_WARD_OBSERVER 1699
ACT_DOTA_PET_WARD_SENTRY 1700
ACT_DOTA_PET_LEVEL 1701
ACT_DOTA_CAST_BURROW_END 1702
ACT_DOTA_LIFESTEALER_ASSIMILATE 1703
ACT_DOTA_LIFESTEALER_EJECT 1704
ACT_DOTA_ATTACK_EVENT_BASH 1705
ACT_DOTA_CAPTURE_RARE 1706
ACT_DOTA_AW_MAGNETIC_FIELD 1707
ACT_DOTA_CAST_GHOST_SHIP 1708

modifierfunction

Name Value Lua function Description
MODIFIER_PROPERTY_PREATTACK_BONUS_DAMAGE 0 GetModifierPreAttack_BonusDamage
MODIFIER_PROPERTY_PREATTACK_BONUS_DAMAGE_PROC 1 GetModifierPreAttack_BonusDamage_Proc
MODIFIER_PROPERTY_PREATTACK_BONUS_DAMAGE_POST_CRIT 2 GetModifierPreAttack_BonusDamagePostCrit
MODIFIER_PROPERTY_BASEATTACK_BONUSDAMAGE 3 GetModifierBaseAttack_BonusDamage
MODIFIER_PROPERTY_PROCATTACK_BONUS_DAMAGE_PHYSICAL 4 GetModifierProcAttack_BonusDamage_Physical
MODIFIER_PROPERTY_PROCATTACK_BONUS_DAMAGE_MAGICAL 5 GetModifierProcAttack_BonusDamage_Magical
MODIFIER_PROPERTY_PROCATTACK_BONUS_DAMAGE_PURE 6 GetModifierProcAttack_BonusDamage_Pure
MODIFIER_PROPERTY_PROCATTACK_FEEDBACK 7 GetModifierProcAttack_Feedback
MODIFIER_PROPERTY_PRE_ATTACK 8 GetModifierPreAttack
MODIFIER_PROPERTY_INVISIBILITY_LEVEL 9 GetModifierInvisibilityLevel Generates a level of opacity on the parent.
MODIFIER_PROPERTY_PERSISTENT_INVISIBILITY 10 GetModifierPersistentInvisibility
MODIFIER_PROPERTY_MOVESPEED_BONUS_CONSTANT 11 GetModifierMoveSpeedBonus_Constant Increases the move speed of the parent by a constant returned to it. Can get negative values.
MODIFIER_PROPERTY_MOVESPEED_BASE_OVERRIDE 12 GetModifierMoveSpeedOverride changes the base move speed of the parent by a value returned to it. Minimum of 100 move speed.
MODIFIER_PROPERTY_MOVESPEED_BONUS_PERCENTAGE 13 GetModifierMoveSpeedBonus_Percentage Increases the move speed of the parent by a percentage returned to it. Can get negative values.
MODIFIER_PROPERTY_MOVESPEED_BONUS_PERCENTAGE_UNIQUE 14 GetModifierMoveSpeedBonus_Percentage_Unique
MODIFIER_PROPERTY_MOVESPEED_BONUS_PERCENTAGE_UNIQUE_2 15 GetModifierMoveSpeedBonus_Percentage_Unique_2
MODIFIER_PROPERTY_MOVESPEED_BONUS_UNIQUE 16 GetModifierMoveSpeedBonus_Special_Boots
MODIFIER_PROPERTY_MOVESPEED_BONUS_UNIQUE_2 17 GetModifierMoveSpeedBonus_Special_Boots_2
MODIFIER_PROPERTY_MOVESPEED_ABSOLUTE 18 GetModifierMoveSpeed_Absolute Sets the move speed of the parent to a value. Nothing can increase or decrease move speed.
MODIFIER_PROPERTY_MOVESPEED_ABSOLUTE_MIN 19 GetModifierMoveSpeed_AbsoluteMin Sets the move speed of the parent to a minimum value. Nothing can decrease move speed below the chosen value.
MODIFIER_PROPERTY_MOVESPEED_LIMIT 20 GetModifierMoveSpeed_Limit Sets the move speed limit of the parent.
MODIFIER_PROPERTY_MOVESPEED_MAX 21 GetModifierMoveSpeed_Max
MODIFIER_PROPERTY_ATTACKSPEED_BASE_OVERRIDE 22 GetModifierAttackSpeedBaseOverride
MODIFIER_PROPERTY_FIXED_ATTACK_RATE 23 GetModifierAttackSpeedBaseOverride
MODIFIER_PROPERTY_ATTACKSPEED_BONUS_CONSTANT 24 GetModifierAttackSpeedBonus_Constant Increases the attack speed of the parent by a constant returned to it. Can return negative values.
MODIFIER_PROPERTY_COOLDOWN_REDUCTION_CONSTANT 25 GetModifierCooldownReduction_Constant Reduces the cooldown of all skills and items of the parent by a constant returned to it. Can get negative values to increase cooldowns instead.
MODIFIER_PROPERTY_BASE_ATTACK_TIME_CONSTANT 26 GetModifierBaseAttackTimeConstant Decreases the base attack time of the parent by a constant returned to it. Can return negative values.
MODIFIER_PROPERTY_ATTACK_POINT_CONSTANT 27 GetModifierAttackPointConstant
MODIFIER_PROPERTY_DAMAGEOUTGOING_PERCENTAGE 28 GetModifierDamageOutgoing_Percentage Increases the raw damage that the parent deals by a percentage returned to it. Can return negative values.
MODIFIER_PROPERTY_DAMAGEOUTGOING_PERCENTAGE_ILLUSION 29 GetModifierDamageOutgoing_Percentage_Illusion
MODIFIER_PROPERTY_TOTALDAMAGEOUTGOING_PERCENTAGE 30 GetModifierTotalDamageOutgoing_Percentage Increases the damage of all sources that the parent deals by a percentage returned to it. Can return negative values.
MODIFIER_PROPERTY_SPELL_AMPLIFY_PERCENTAGE 31 GetModifierSpellAmplify_Percentage
MODIFIER_PROPERTY_HP_REGEN_AMPLIFY_PERCENTAGE 32 GetModifierHPRegenAmplify_Percentage Increases health regen and heal gained by parent by a percentage returned to it. Can return negative values.
MODIFIER_PROPERTY_MAGICDAMAGEOUTGOING_PERCENTAGE 33 GetModifierMagicDamageOutgoing_Percentage Increases the magic damage that the parent deals by a percentage returned to it. Can return negative values.
MODIFIER_PROPERTY_BASEDAMAGEOUTGOING_PERCENTAGE 34 GetModifierBaseDamageOutgoing_Percentage Increases the base damage of that the parent deals by a percentage returned to it. Can return negative values.
MODIFIER_PROPERTY_BASEDAMAGEOUTGOING_PERCENTAGE_UNIQUE 35 GetModifierBaseDamageOutgoing_PercentageUnique
MODIFIER_PROPERTY_INCOMING_DAMAGE_PERCENTAGE 36 GetModifierIncomingDamage_Percentage Increases the damage of all sources that the parent takes by a percentage returned to it. Can return negative values.
MODIFIER_PROPERTY_INCOMING_PHYSICAL_DAMAGE_PERCENTAGE 37 GetModifierIncomingPhysicalDamage_Percentage Increases the damage of physical sources that the parent takes by a percentage returned to it. Can return negative values.
MODIFIER_PROPERTY_INCOMING_PHYSICAL_DAMAGE_CONSTANT 38 GetModifierIncomingPhysicalDamageConstant
MODIFIER_PROPERTY_INCOMING_SPELL_DAMAGE_CONSTANT 39 GetModifierIncomingSpellDamageConstant Increases the damage of magical sources that the parent takes by a percentage returned to it. Can return negative values.
MODIFIER_PROPERTY_EVASION_CONSTANT 40 GetModifierEvasion_Constant Increases the evasion of the parent by a constant returned to it. Can return negative values.
MODIFIER_PROPERTY_NEGATIVE_EVASION_CONSTANT 41 GetModifierNegativeEvasion_Constant
MODIFIER_PROPERTY_AVOID_DAMAGE 42 GetModifierAvoidDamage
MODIFIER_PROPERTY_AVOID_SPELL 43 GetModifierAvoidSpell
MODIFIER_PROPERTY_MISS_PERCENTAGE 44 GetModifierMiss_Percentage Increases the chance of the parent to miss by a percentage returned to it. Can return negative values.
MODIFIER_PROPERTY_PHYSICAL_ARMOR_BONUS 45 GetModifierPhysicalArmorBonus Increases the armor of the parent by a constant returned to it. Can return negative values.
MODIFIER_PROPERTY_PHYSICAL_ARMOR_BONUS_UNIQUE 46 GetModifierPhysicalArmorBonusUnique
MODIFIER_PROPERTY_PHYSICAL_ARMOR_BONUS_UNIQUE_ACTIVE 47 GetModifierPhysicalArmorBonusUniqueActive
MODIFIER_PROPERTY_IGNORE_PHYSICAL_ARMOR 48 GetModifierIgnorePhysicalArmor
MODIFIER_PROPERTY_MAGICAL_RESISTANCE_DIRECT_MODIFICATION 49 GetModifierMagicalResistanceDirectModification
MODIFIER_PROPERTY_MAGICAL_RESISTANCE_BONUS 50 GetModifierMagicalResistanceBonus Increases the magical resistance of the parent by a constant returned to it. Can return negative values.
MODIFIER_PROPERTY_MAGICAL_RESISTANCE_DECREPIFY_UNIQUE 51 GetModifierMagicalResistanceDecrepifyUnique
MODIFIER_PROPERTY_BASE_MANA_REGEN 52 GetModifierBaseManaRegen Set the base mana regeneration of the parent by a constant returned to it. Can return negative values.
MODIFIER_PROPERTY_MANA_REGEN_CONSTANT 53 GetModifierConstantManaRegen Increases the mana regeneration of the parent by a constant returned to it. Can return negative values.
MODIFIER_PROPERTY_MANA_REGEN_CONSTANT_UNIQUE 54 GetModifierConstantManaRegenUnique
MODIFIER_PROPERTY_MANA_REGEN_PERCENTAGE 55 GetModifierPercentageManaRegen Increases the mana regeneration of the parent by a percentage returned to it. Can return negative values.
MODIFIER_PROPERTY_MANA_REGEN_TOTAL_PERCENTAGE 56 GetModifierTotalPercentageManaRegen Increases the total mana regeneration of the parent by a percentage returned to it. Can return negative values.
MODIFIER_PROPERTY_HEALTH_REGEN_CONSTANT 57 GetModifierConstantHealthRegen Increases the health regeneration of the parent by a constant returned to it. Can return negative values.
MODIFIER_PROPERTY_HEALTH_REGEN_PERCENTAGE 58 GetModifierHealthRegenPercentage Increases the evasion of the parent by a percentage returned to it. Can return negative values.
MODIFIER_PROPERTY_HEALTH_BONUS 59 GetModifierHealthBonus Increases the maximum health of the parent by a constant returned to it. Can return negative values. Health is scaled to the same percentage as before the increase.
MODIFIER_PROPERTY_MANA_BONUS 60 GetModifierManaBonus Increases the maximum mana of the parent by a constant returned to it. Can return negative values. Mana is scaled to the same percentage as before the increase.
MODIFIER_PROPERTY_EXTRA_STRENGTH_BONUS 61 GetModifierExtraStrengthBonus
MODIFIER_PROPERTY_EXTRA_HEALTH_BONUS 62 GetModifierExtraHealthBonus Increases the maximum health of the parent by a constant returned to it. Can return negative values. Ignores current health.
MODIFIER_PROPERTY_EXTRA_MANA_BONUS 63 GetModifierExtraManaBonus Increases the maximum mana of the parent by a constant returned to it. Can return negative values. Ignores current mana.
MODIFIER_PROPERTY_EXTRA_HEALTH_PERCENTAGE 64 GetModifierExtraHealthPercentage Increases the maximum health of the parent by a percentage returned to it. Can return negative values. Ignores current health.
MODIFIER_PROPERTY_STATS_STRENGTH_BONUS 65 GetModifierBonusStats_Strength Increases the strength stat of the parent by a constant returned to it. Can return negative values.
MODIFIER_PROPERTY_STATS_AGILITY_BONUS 66 GetModifierBonusStats_Agility Increases the agility stat of the parent by a constant returned to it. Can return negative values.
MODIFIER_PROPERTY_STATS_INTELLECT_BONUS 67 GetModifierBonusStats_Intellect Increases the intelligence stat of the parent by a constant returned to it. Can return negative values.
MODIFIER_PROPERTY_CAST_RANGE_BONUS 68 GetModifierCastRangeBonus Increases the cast range of the parent by a constant returned to it. Can return negative values.
MODIFIER_PROPERTY_CAST_RANGE_BONUS_STACKING 69 GetModifierCastRangeBonusStacking
MODIFIER_PROPERTY_ATTACK_RANGE_BONUS 70 GetModifierAttackRangeBonus Increases the attack range of the parent by a constant returned to it. Can return negative values.
MODIFIER_PROPERTY_ATTACK_RANGE_BONUS_UNIQUE 71 GetModifierAttackRangeBonusUnique
MODIFIER_PROPERTY_MAX_ATTACK_RANGE 72 GetModifierMaxAttackRange
MODIFIER_PROPERTY_PROJECTILE_SPEED_BONUS 73 GetModifierProjectileSpeedBonus Increases the projectile speed of attacks sourced by the parent by a constant returned to it. Can return negative values.
MODIFIER_PROPERTY_REINCARNATION 74 ReincarnateTime
MODIFIER_PROPERTY_RESPAWNTIME 75 GetModifierConstantRespawnTime Increases the respawn time of the parent by a constant returned to it. Can return negative values.
MODIFIER_PROPERTY_RESPAWNTIME_PERCENTAGE 76 GetModifierPercentageRespawnTime Increases the respawn time of the parent by a percentage returned to it. Can return negative values.
MODIFIER_PROPERTY_RESPAWNTIME_STACKING 77 GetModifierStackingRespawnTime Increases the respawn time of the parent by a constant returned to it. Can return negative values. Stacks with other modifiers.
MODIFIER_PROPERTY_COOLDOWN_PERCENTAGE 78 GetModifierPercentageCooldown Increases the cooldown of the parent by a percentage returned to it. Can return negative values.
MODIFIER_PROPERTY_COOLDOWN_PERCENTAGE_STACKING 79 GetModifierPercentageCooldownStacking
MODIFIER_PROPERTY_CASTTIME_PERCENTAGE 80 GetModifierPercentageCasttime Decreases the cast time of the parent's abilities by a percentage returned to it. Can return negative values.
MODIFIER_PROPERTY_MANACOST_PERCENTAGE 81 GetModifierPercentageManacost Increases the mana cost of the parent's abilities by a percentage returned to it. Can return negative values.
MODIFIER_PROPERTY_DEATHGOLDCOST 82 GetModifierConstantDeathGoldCost
MODIFIER_PROPERTY_EXP_RATE_BOOST 83 GetModifierPercentageExpRateBoost
MODIFIER_PROPERTY_PREATTACK_CRITICALSTRIKE 84 GetModifierPreAttack_CriticalStrike Procs a critical strike dealing the extra damage returned to it.
MODIFIER_PROPERTY_PREATTACK_TARGET_CRITICALSTRIKE 85 GetModifierPreAttack_Target_CriticalStrike
MODIFIER_PROPERTY_MAGICAL_CONSTANT_BLOCK 86 GetModifierMagical_ConstantBlock
MODIFIER_PROPERTY_PHYSICAL_CONSTANT_BLOCK 87 GetModifierPhysical_ConstantBlock Blocks damage the parent takes by a constant returned to it. Can return negative values.
MODIFIER_PROPERTY_PHYSICAL_CONSTANT_BLOCK_SPECIAL 88 GetModifierPhysical_ConstantBlockSpecial
MODIFIER_PROPERTY_TOTAL_CONSTANT_BLOCK_UNAVOIDABLE_PRE_ARMOR 89 GetModifierPhysical_ConstantBlockUnavoidablePreArmor
MODIFIER_PROPERTY_TOTAL_CONSTANT_BLOCK 90 GetModifierTotal_ConstantBlock
MODIFIER_PROPERTY_OVERRIDE_ANIMATION 91 GetOverrideAnimation Forces the parent to play a specific animation.
MODIFIER_PROPERTY_OVERRIDE_ANIMATION_WEIGHT 92 GetOverrideAnimationWeight
MODIFIER_PROPERTY_OVERRIDE_ANIMATION_RATE 93 GetOverrideAnimationRate
MODIFIER_PROPERTY_ABSORB_SPELL 94 GetAbsorbSpell Allows the parent to ignore targeted abilities. (Similar to linken's sphere)
MODIFIER_PROPERTY_REFLECT_SPELL 95 GetReflectSpell Allows the parent to reflect targeted abilities. (Similar to Lotus Orb)
MODIFIER_PROPERTY_DISABLE_AUTOATTACK 96 GetDisableAutoAttack
MODIFIER_PROPERTY_BONUS_DAY_VISION 97 GetBonusDayVision Increases the vision of the parent during the day by a constant returned to it. Can return negative values.
MODIFIER_PROPERTY_BONUS_NIGHT_VISION 98 GetBonusNightVision Increases the vision of the parent during the night by a constant returned to it. Can return negative values.
MODIFIER_PROPERTY_BONUS_NIGHT_VISION_UNIQUE 99 GetBonusNightVisionUnique
MODIFIER_PROPERTY_BONUS_VISION_PERCENTAGE 100 GetBonusVisionPercentage Increases the vision of the parent by a percentage returned to it. Can return negative values.
MODIFIER_PROPERTY_FIXED_DAY_VISION 101 GetFixedDayVision Sets the vision of the parent during the day to a fixed value returned to it. Cannot be changed by any means.
MODIFIER_PROPERTY_FIXED_NIGHT_VISION 102 GetFixedNightVision Sets the vision of the parent during the night to a fixed value returned to it. Cannot be changed by any means.
MODIFIER_PROPERTY_MIN_HEALTH 103 GetMinHealth
MODIFIER_PROPERTY_ABSOLUTE_NO_DAMAGE_PHYSICAL 104 GetAbsoluteNoDamagePhysical
MODIFIER_PROPERTY_ABSOLUTE_NO_DAMAGE_MAGICAL 105 GetAbsoluteNoDamageMagical
MODIFIER_PROPERTY_ABSOLUTE_NO_DAMAGE_PURE 106 GetAbsoluteNoDamagePure
MODIFIER_PROPERTY_IS_ILLUSION 107 GetIsIllusion
MODIFIER_PROPERTY_ILLUSION_LABEL 108 GetModifierIllusionLabel
MODIFIER_PROPERTY_SUPER_ILLUSION 109 GetModifierSuperIllusion
MODIFIER_PROPERTY_SUPER_ILLUSION_WITH_ULTIMATE 110 GetModifierSuperIllusionWithUltimate
MODIFIER_PROPERTY_TURN_RATE_PERCENTAGE 111 GetModifierTurnRate_Percentage Increases the turn rate of the parent by a percentage returned to it. Can return negative values.
MODIFIER_PROPERTY_DISABLE_HEALING 112 GetDisableHealing Negates healing applied to the parent.
MODIFIER_PROPERTY_ALWAYS_ALLOW_ATTACK 113 GetAlwaysAllowAttack
MODIFIER_PROPERTY_OVERRIDE_ATTACK_MAGICAL 114 GetOverrideAttackMagical
MODIFIER_PROPERTY_UNIT_STATS_NEEDS_REFRESH 115 GetModifierUnitStatsNeedsRefresh
MODIFIER_PROPERTY_BOUNTY_CREEP_MULTIPLIER 116 GetModifierBountyCreepMultiplier
MODIFIER_PROPERTY_BOUNTY_OTHER_MULTIPLIER 117 GetModifierBountyOtherMultiplier
MODIFIER_EVENT_ON_SPELL_TARGET_READY 118 OnSpellTargetReady
MODIFIER_EVENT_ON_ATTACK_RECORD 119 OnAttackRecord
MODIFIER_EVENT_ON_ATTACK_START 120 OnAttackStart Event that fires when an attack starts.
MODIFIER_EVENT_ON_ATTACK 121 OnAttack Event that fires when an attack was completed, regardless of the result of it.
MODIFIER_EVENT_ON_ATTACK_LANDED 122 OnAttackLanded Event that fires when an attack landed on its target successfully.
MODIFIER_EVENT_ON_ATTACK_FAIL 123 OnAttackFail Event that fires when an attack failed to land on its target.
MODIFIER_EVENT_ON_ATTACK_ALLIED 124 OnAttackAllied Event that fires when attacking allies.
MODIFIER_EVENT_ON_PROJECTILE_DODGE 125 OnProjectileDodge Event that fires when dodging a projectile. (Disjointing it)
MODIFIER_EVENT_ON_ORDER 126 OnOrder Event that fires when an order is given to the parent.
MODIFIER_EVENT_ON_UNIT_MOVED 127 OnUnitMoved Event that fires when a unit moved.
MODIFIER_EVENT_ON_ABILITY_START 128 OnAbilityStart Event that fires when starting to use an ability.
MODIFIER_EVENT_ON_ABILITY_EXECUTED 129 OnAbilityExecuted Event that fires when finishing the ability phase stage of the ability.
MODIFIER_EVENT_ON_ABILITY_FULLY_CAST 130 OnAbilityFullyCast Event that fires when the ability has completely activated.
MODIFIER_EVENT_ON_BREAK_INVISIBILITY 131 OnBreakInvisibility Event that fires when breaking invisibility.
MODIFIER_EVENT_ON_ABILITY_END_CHANNEL 132 OnAbilityEndChannel Event that fires when finishing a channel.
MODIFIER_EVENT_ON_PROCESS_UPGRADE 133
MODIFIER_EVENT_ON_REFRESH 134
MODIFIER_EVENT_ON_TAKEDAMAGE 135 OnTakeDamage Event that fires when taking damage.
MODIFIER_EVENT_ON_STATE_CHANGED 136 OnStateChanged Event that fires when a state is changed.
MODIFIER_EVENT_ON_ORB_EFFECT 137
MODIFIER_EVENT_ON_ATTACKED 138 OnAttacked Event that fires when being attacked.
MODIFIER_EVENT_ON_DEATH 139 OnDeath Event that fires when dying.
MODIFIER_EVENT_ON_RESPAWN 140 OnRespawn Event that fires when respawning.
MODIFIER_EVENT_ON_SPENT_MANA 141 OnSpentMana Event that fires when spending mana on items or abilities.
MODIFIER_EVENT_ON_TELEPORTING 142 OnTeleporting Event that fires when starting to teleporting.
MODIFIER_EVENT_ON_TELEPORTED 143 OnTeleported Event that fires when completing a teleport.
MODIFIER_EVENT_ON_SET_LOCATION 144 OnSetLocation
MODIFIER_EVENT_ON_HEALTH_GAINED 145 OnHealthGained
MODIFIER_EVENT_ON_MANA_GAINED 146 OnManaGained
MODIFIER_EVENT_ON_TAKEDAMAGE_KILLCREDIT 147 OnTakeDamageKillCredit
MODIFIER_EVENT_ON_HERO_KILLED 148 OnHeroKilled Event that fires when a hero is killed.
MODIFIER_EVENT_ON_HEAL_RECEIVED 149 OnHealReceived Event that fires when being healed.
MODIFIER_EVENT_ON_BUILDING_KILLED 150 OnBuildingKilled Event that fires when a building is destroyed.
MODIFIER_EVENT_ON_MODEL_CHANGED 151 OnModelChanged Event that fires when the model changes.
MODIFIER_EVENT_ON_MODIFIER_ADDED 152 OnModifierAdded
MODIFIER_PROPERTY_TOOLTIP 153 OnTooltip
MODIFIER_PROPERTY_MODEL_CHANGE 154 GetModifierModelChange Changes the parent's model.
MODIFIER_PROPERTY_MODEL_SCALE 155 GetModifierModelScale Changes the parent's model scale.
MODIFIER_PROPERTY_IS_SCEPTER 156 GetModifierScepter
MODIFIER_PROPERTY_TRANSLATE_ACTIVITY_MODIFIERS 157 GetActivityTranslationModifiers
MODIFIER_PROPERTY_TRANSLATE_ATTACK_SOUND 158 GetAttackSound
MODIFIER_PROPERTY_LIFETIME_FRACTION 159 GetUnitLifetimeFraction
MODIFIER_PROPERTY_PROVIDES_FOW_POSITION 160 GetModifierProvidesFOWVision Return 1 if parent's model would show to his enemies.
MODIFIER_PROPERTY_SPELLS_REQUIRE_HP 161 GetModifierSpellsRequireHP
MODIFIER_PROPERTY_FORCE_DRAW_MINIMAP 162 GetForceDrawOnMinimap
MODIFIER_PROPERTY_DISABLE_TURNING 163 GetModifierDisableTurning
MODIFIER_PROPERTY_IGNORE_CAST_ANGLE 164 GetModifierIgnoreCastAngle
MODIFIER_PROPERTY_CHANGE_ABILITY_VALUE 165 GetModifierChangeAbilityValue
MODIFIER_PROPERTY_ABILITY_LAYOUT 166 GetModifierAbilityLayout Changes the ability layout.
MODIFIER_EVENT_ON_DOMINATED 167 OnDominated An event that fires when a unit is being dominated.
MODIFIER_PROPERTY_TEMPEST_DOUBLE 168 GetModifierTempestDouble
MODIFIER_PROPERTY_PRESERVE_PARTICLES_ON_MODEL_CHANGE 169 PreserveParticlesOnModelChanged
MODIFIER_EVENT_ON_ATTACK_FINISHED 170 OnAttackFinished
MODIFIER_PROPERTY_IGNORE_COOLDOWN 171 GetModifierIgnoreCooldown
MODIFIER_PROPERTY_CAN_ATTACK_TREES 172 GetModifierCanAttackTrees
MODIFIER_PROPERTY_VISUAL_Z_DELTA 173 GetVisualZDelta
MODIFIER_PROPERTY_INCOMING_DAMAGE_ILLUSION 174
MODIFIER_FUNCTION_LAST 175
MODIFIER_FUNCTION_INVALID 255

DOTA_CONNECTION_STATE

Name Value Description
DOTA_CONNECTION_STATE_UNKNOWN 0
DOTA_CONNECTION_STATE_NOT_YET_CONNECTED 1
DOTA_CONNECTION_STATE_CONNECTED 2
DOTA_CONNECTION_STATE_DISCONNECTED 3
DOTA_CONNECTION_STATE_ABANDONED 4
DOTA_CONNECTION_STATE_LOADING 5
DOTA_CONNECTION_STATE_FAILED 6