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


=== CBaseEntity ===
==== CBaseAnimating ====
''The base class for stuff''
:::::extends [[#CBaseModelEntity|CBaseModelEntity]]
''No Description Set''
{| class="standard-table" style="width: 100%;"
{| class="standard-table" style="width: 100%;"
! Function  
! Function  
Line 831: Line 845:
! Description  
! Description  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.AddEffects | AddEffects]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseAnimating.ActiveSequenceDuration | ActiveSequenceDuration]]  
| <code>void AddEffects(int nFlags)</code>
| <code>float ActiveSequenceDuration()</code>
| AddEffects( int ): Adds the render effect flag.
| Returns the duration in seconds of the active sequence.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.ApplyAbsVelocityImpulse | ApplyAbsVelocityImpulse]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseAnimating.GetAttachmentAngles | GetAttachmentAngles]]  
| <code>void ApplyAbsVelocityImpulse(Vector vecImpulse)</code>
| <code>Vector GetAttachmentAngles(int iAttachment)</code>
| Apply a Velocity Impulse
| Get the attachment id's angles as a p,y,r vector.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.ApplyLocalAngularVelocityImpulse | ApplyLocalAngularVelocityImpulse]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseAnimating.GetAttachmentForward | GetAttachmentForward]]  
| <code>void ApplyLocalAngularVelocityImpulse(Vector angImpulse)</code>
| <code>Vector GetAttachmentForward(int iAttachment)</code>
| Apply an Ang Velocity Impulse
| Get the attachment id's forward vector.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.Attribute_GetFloatValue | Attribute_GetFloatValue]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseAnimating.GetAttachmentOrigin | GetAttachmentOrigin]]  
| <code>float Attribute_GetFloatValue(string pName, float flDefault)</code>
| <code>Vector GetAttachmentOrigin(int iAttachment)</code>
| Get float value for an entity attribute.
| Get the attachment id's origin vector.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.Attribute_GetIntValue | Attribute_GetIntValue]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseAnimating.GetCycle | GetCycle]]  
| <code>int Attribute_GetIntValue(string pName, int nDefault)</code>
| <code>float GetCycle()</code>
| Get int value for an entity attribute.
| Get the cycle of the animation.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.Attribute_SetFloatValue | Attribute_SetFloatValue]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseAnimating.GetGraphParameter | GetGraphParameter]]  
| <code>void Attribute_SetFloatValue(string pName, float flValue)</code>
| <code>table GetGraphParameter(string pszParam)</code>
| Set float value for an entity attribute.
| Get the value of the given animGraph parameter
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.Attribute_SetIntValue | Attribute_SetIntValue]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseAnimating.GetModelScale | GetModelScale]]  
| <code>void Attribute_SetIntValue(string pName, int nValue)</code>
| <code>float GetModelScale()</code>
| Set int value for an entity attribute.
| Get scale of entity's model.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.DeleteAttribute | DeleteAttribute]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseAnimating.GetSequence | GetSequence]]  
| <code>void DeleteAttribute(string pName)</code>
| <code>string GetSequence()</code>
| Delete an entity attribute.
| Returns the name of the active sequence.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.EmitSound | EmitSound]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseAnimating.IsSequenceFinished | IsSequenceFinished]]  
| <code>void EmitSound(string soundname)</code>
| <code>bool IsSequenceFinished()</code>
| Plays a sound from this entity.
| Ask whether the main sequence is done playing.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.EmitSoundParams | EmitSoundParams]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseAnimating.ResetSequence | ResetSequence]]  
| <code>void EmitSoundParams(string soundname, int nPitch, float flVolume, float flDelay)</code>
| <code>void ResetSequence(string pSequenceName)</code>
| Plays/modifies a sound from this entity. changes sound if nPitch and/or flVol or flSoundTime is > 0.
| Sets the active sequence by name, resetting the current cycle.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.EyeAngles | EyeAngles]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseAnimating.ScriptLookupAttachment | ScriptLookupAttachment]]  
| <code>QAngle EyeAngles()</code>
| <code>int ScriptLookupAttachment(string pAttachmentName)</code>
| Get the qangles that this entity is looking at.
| Get the named attachment id.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.EyePosition | EyePosition]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseAnimating.SequenceDuration | SequenceDuration]]  
| <code>Vector EyePosition()</code>
| <code>float SequenceDuration(string pSequenceName)</code>
| Get vector to eye position - absolute coords.
| Returns the duration in seconds of the given sequence name.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.FirstMoveChild | FirstMoveChild]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseAnimating.SetGraphLookTarget | SetGraphLookTarget]]  
| <code>handle FirstMoveChild()</code>
| <code>void SetGraphLookTarget(Vector vValue)</code>
|
| Pass the desired look target in world space to the graph
|-
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.FollowEntity | FollowEntity]]
| <code>void FollowEntity(handle hEnt, bool bBoneMerge)</code>
| hEntity to follow, bool bBoneMerge
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.GatherCriteria | GatherCriteria]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseAnimating.SetGraphParameter | SetGraphParameter]]  
| <code>void GatherCriteria(handle hResult)</code>
| <code>void SetGraphParameter(string pszParam, table svArg)</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.
| Set the specific param value, type is inferred from the type in script  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.GetAbsOrigin | GetAbsOrigin]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseAnimating.SetGraphParameterBool | SetGraphParameterBool]]  
| <code>Vector GetAbsOrigin()</code>
| <code>void SetGraphParameterBool(string szName, bool bValue)</code>
|  
| Set the specific param on or off
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.GetAbsScale | GetAbsScale]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseAnimating.SetGraphParameterEnum | SetGraphParameterEnum]]  
| <code>float GetAbsScale()</code>
| <code>void SetGraphParameterEnum(string szName, int nValue)</code>
|  
| Pass the enum (int) value to the specified param
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.GetAngles | GetAngles]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseAnimating.SetGraphParameterFloat | SetGraphParameterFloat]]  
| <code>QAngle GetAngles()</code>
| <code>void SetGraphParameterFloat(string szName, float flValue)</code>
|  
| Pass the float value to the specified param
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.GetAnglesAsVector | GetAnglesAsVector]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseAnimating.SetGraphParameterInt | SetGraphParameterInt]]  
| <code>Vector GetAnglesAsVector()</code>
| <code>void SetGraphParameterInt(string szName, int nValue)</code>
| Get entity pitch, yaw, roll as a vector.
| Pass the int value to the specified param
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.GetAngularVelocity | GetAngularVelocity]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseAnimating.SetGraphParameterVector | SetGraphParameterVector]]  
| <code>Vector GetAngularVelocity()</code>
| <code>void SetGraphParameterVector(string szName, Vector vValue)</code>
| Get the local angular velocity - returns a vector of pitch,yaw,roll
| Pass the vector value to the specified param in the graph
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.GetBaseVelocity | GetBaseVelocity]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseAnimating.SetModelScale | SetModelScale]]  
| <code>Vector GetBaseVelocity()</code>
| <code>void SetModelScale(float flScale)</code>
| Get Base? velocity.
| Set scale of entity's model.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.GetBoundingMaxs | GetBoundingMaxs]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseAnimating.SetPoseParameter | SetPoseParameter]]  
| <code>Vector GetBoundingMaxs()</code>
| <code>float SetPoseParameter(string szName, float fValue)</code>
| Get a vector containing max bounds, centered on object.
| Set the specified pose parameter to the specified value.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.GetBoundingMins | GetBoundingMins]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseAnimating.SetSequence | SetSequence]]  
| <code>Vector GetBoundingMins()</code>
| <code>void SetSequence(string pSequenceName)</code>
| Get a vector containing min bounds, centered on object.
| Sets the active sequence by name, keeping the current cycle.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.GetBounds | GetBounds]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseAnimating.StopAnimation | StopAnimation]]  
| <code>table GetBounds()</code>
| <code>void StopAnimation()</code>
| Get a table containing the 'Mins' & 'Maxs' vector bounds, centered on object.
| 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.GetCenter | GetCenter]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseCombatCharacter.GetEquippedWeapons | GetEquippedWeapons]]  
| <code>Vector GetCenter()</code>
| <code>table GetEquippedWeapons()</code>
| Get vector to center of object - absolute coords
| GetEquippedWeapons() : Returns an array of all the equipped weapons
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.GetChildren | GetChildren]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseCombatCharacter.GetFaction | GetFaction]]  
| <code>handle GetChildren()</code>
| <code>int GetFaction()</code>
| Get the entities parented to this entity.
| Get the combat character faction.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.GetContext | GetContext]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseCombatCharacter.GetWeaponCount | GetWeaponCount]]  
| <code>table GetContext(string name)</code>
| <code>int GetWeaponCount()</code>
| GetContext( name ): looks up a context and returns it if available. May return string, float, or null (if the context isn't found).
| GetWeaponCount() : Gets the number of weapons currently equipped
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.GetForwardVector | GetForwardVector]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseCombatCharacter.ShootPosition | ShootPosition]]  
| <code>Vector GetForwardVector()</code>
| <code>Vector ShootPosition(int nHand, int nMuzzle)</code>
| Get the forward vector of the entity.
| 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.GetHealth | GetHealth]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.AddEffects | AddEffects]]  
| <code>int GetHealth()</code>
| <code>void AddEffects(int nFlags)</code>
| Get the health of this entity.
| AddEffects( int ): Adds the render effect flag.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.GetLocalAngles | GetLocalAngles]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.ApplyAbsVelocityImpulse | ApplyAbsVelocityImpulse]]  
| <code>QAngle GetLocalAngles()</code>
| <code>void ApplyAbsVelocityImpulse(Vector vecImpulse)</code>
| Get entity local pitch, yaw, roll as a QAngle
| Apply a Velocity Impulse
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.GetLocalAngularVelocity | GetLocalAngularVelocity]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.ApplyLocalAngularVelocityImpulse | ApplyLocalAngularVelocityImpulse]]  
| <code>QAngle GetLocalAngularVelocity()</code>
| <code>void ApplyLocalAngularVelocityImpulse(Vector angImpulse)</code>
| Maybe local angvel
| Apply an Ang Velocity Impulse
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.GetLocalOrigin | GetLocalOrigin]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.Attribute_GetFloatValue | Attribute_GetFloatValue]]  
| <code>Vector GetLocalOrigin()</code>
| <code>float Attribute_GetFloatValue(string pName, float flDefault)</code>
| Get entity local origin as a Vector
| Get float value for an entity attribute.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.GetLocalScale | GetLocalScale]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.Attribute_GetIntValue | Attribute_GetIntValue]]  
| <code>float GetLocalScale()</code>
| <code>int Attribute_GetIntValue(string pName, int nDefault)</code>
|  
| Get int value for an entity attribute.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.GetLocalVelocity | GetLocalVelocity]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.Attribute_SetFloatValue | Attribute_SetFloatValue]]  
| <code>Vector GetLocalVelocity()</code>
| <code>void Attribute_SetFloatValue(string pName, float flValue)</code>
| Get Entity relative velocity.
| Set float value for an entity attribute.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.GetMass | GetMass]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.Attribute_SetIntValue | Attribute_SetIntValue]]  
| <code>float GetMass()</code>
| <code>void Attribute_SetIntValue(string pName, int nValue)</code>
| Get the mass of an entity. (returns 0 if it doesn't have a physics object)
| Set int value for an entity attribute.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.GetMaxHealth | GetMaxHealth]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.DeleteAttribute | DeleteAttribute]]  
| <code>int GetMaxHealth()</code>
| <code>void DeleteAttribute(string pName)</code>
| Get the maximum health of this entity.
| Delete an entity attribute.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.GetModelName | GetModelName]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.EmitSound | EmitSound]]  
| <code>string GetModelName()</code>
| <code>void EmitSound(string soundname)</code>
| Returns the name of the model.
| Plays a sound from this entity.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.GetMoveParent | GetMoveParent]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.EmitSoundParams | EmitSoundParams]]  
| <code>handle GetMoveParent()</code>
| <code>void EmitSoundParams(string soundname, int nPitch, float flVolume, float flDelay)</code>
| If in hierarchy, retrieves the entity's parent.
| 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.GetOrigin | GetOrigin]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.EyeAngles | EyeAngles]]  
| <code>Vector GetOrigin()</code>
| <code>QAngle EyeAngles()</code>
|  
| Get the qangles that this entity is looking at.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.GetOwner | GetOwner]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.EyePosition | EyePosition]]  
| <code>handle GetOwner()</code>
| <code>Vector EyePosition()</code>
| Gets this entity's owner
| Get vector to eye position - absolute coords.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.GetOwnerEntity | GetOwnerEntity]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.FirstMoveChild | FirstMoveChild]]  
| <code>handle GetOwnerEntity()</code>
| <code>handle FirstMoveChild()</code>
| Get the owner entity, if there is one
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.GetRightVector | GetRightVector]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.FollowEntity | FollowEntity]]  
| <code>Vector GetRightVector()</code>
| <code>void FollowEntity(handle hEnt, bool bBoneMerge)</code>
| Get the right vector of the entity.
| hEntity to follow, bool bBoneMerge
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.GetRootMoveParent | GetRootMoveParent]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.GatherCriteria | GatherCriteria]]  
| <code>handle GetRootMoveParent()</code>
| <code>void GatherCriteria(handle hResult)</code>
| If in hierarchy, walks up the hierarchy to find the root parent.
| 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.GetSoundDuration | GetSoundDuration]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.GetAbsOrigin | GetAbsOrigin]]  
| <code>float GetSoundDuration(string soundname, string actormodel)</code>
| <code>Vector GetAbsOrigin()</code>
| Returns float duration of the sound. Takes soundname and optional actormodelname.
| Returns the position of the entity on the map. Very Useful!
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.GetTeam | GetTeam]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.GetAbsScale | GetAbsScale]]  
| <code>int GetTeam()</code>
| <code>float GetAbsScale()</code>
| Get the team number of this entity.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.GetTeamNumber | GetTeamNumber]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.GetAngles | GetAngles]]  
| <code>int GetTeamNumber()</code>
| <code>QAngle GetAngles()</code>
| Get the team number of this entity.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.GetUpVector | GetUpVector]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.GetAnglesAsVector | GetAnglesAsVector]]  
| <code>Vector GetUpVector()</code>
| <code>Vector GetAnglesAsVector()</code>
| Get the up vector of the entity.
| Get entity pitch, yaw, roll as a vector.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.GetVelocity | GetVelocity]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.GetAngularVelocity | GetAngularVelocity]]  
| <code>Vector GetVelocity()</code>
| <code>Vector GetAngularVelocity()</code>
|  
| Get the local angular velocity - returns a vector of pitch,yaw,roll
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.HasAttribute | HasAttribute]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.GetBaseVelocity | GetBaseVelocity]]  
| <code>bool HasAttribute(string pName)</code>
| <code>Vector GetBaseVelocity()</code>
| See if an entity has a particular attribute.
| Get Base? velocity.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.IsAlive | IsAlive]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.GetBoundingMaxs | GetBoundingMaxs]]  
| <code>bool IsAlive()</code>
| <code>Vector GetBoundingMaxs()</code>
| Is this entity alive?
| Get a vector containing max bounds, centered on object.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.IsNPC | IsNPC]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.GetBoundingMins | GetBoundingMins]]  
| <code>bool IsNPC()</code>
| <code>Vector GetBoundingMins()</code>
| Is this entity an CAI_BaseNPC?
| Get a vector containing min bounds, centered on object.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.IsPlayer | IsPlayer]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.GetBounds | GetBounds]]  
| <code>bool IsPlayer()</code>
| <code>table GetBounds()</code>
| Is this entity a player?
| Get a table containing the 'Mins' & 'Maxs' vector bounds, centered on object.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.Kill | Kill]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.GetCenter | GetCenter]]  
| <code>void Kill()</code>
| <code>Vector GetCenter()</code>
|  
| Get vector to center of object - absolute coords
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.NextMovePeer | NextMovePeer]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.GetChildren | GetChildren]]  
| <code>handle NextMovePeer()</code>
| <code>handle GetChildren()</code>
|  
| Get the entities parented to this entity.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.OverrideFriction | OverrideFriction]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.GetContext | GetContext]]  
| <code>void OverrideFriction(float duration, float friction)</code>
| <code>table GetContext(string name)</code>
| Takes duration, value for a temporary override.
| 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/CBaseEntity.PrecacheScriptSound | PrecacheScriptSound]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.GetForwardVector | GetForwardVector]]  
| <code>void PrecacheScriptSound(string soundname)</code>
| <code>Vector GetForwardVector()</code>
| Precache a sound for later playing.
| Get the forward vector of the entity.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.RemoveEffects | RemoveEffects]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.GetHealth | GetHealth]]  
| <code>void RemoveEffects(int nFlags)</code>
| <code>int GetHealth()</code>
| RemoveEffects( int ): Removes the render effect flag.
| Get the health of this entity.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.SetAbsAngles | SetAbsAngles]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.GetLocalAngles | GetLocalAngles]]  
| <code>void SetAbsAngles(float fPitch, float fYaw, float fRoll)</code>
| <code>QAngle GetLocalAngles()</code>
| Set entity pitch, yaw, roll by component.
| Get entity local pitch, yaw, roll as a QAngle
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.SetAbsOrigin | SetAbsOrigin]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.GetLocalAngularVelocity | GetLocalAngularVelocity]]  
| <code>void SetAbsOrigin(Vector origin)</code>
| <code>QAngle GetLocalAngularVelocity()</code>
|  
| Maybe local angvel
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.SetAbsScale | SetAbsScale]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.GetLocalOrigin | GetLocalOrigin]]  
| <code>void SetAbsScale(float flScale)</code>
| <code>Vector GetLocalOrigin()</code>
|  
| Get entity local origin as a Vector
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.SetAngles | SetAngles]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.GetLocalScale | GetLocalScale]]  
| <code>void SetAngles(float fPitch, float fYaw, float fRoll)</code>
| <code>float GetLocalScale()</code>
| Set entity pitch, yaw, roll by component.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.SetAngularVelocity | SetAngularVelocity]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.GetLocalVelocity | GetLocalVelocity]]  
| <code>void SetAngularVelocity(float pitchVel, float yawVel, float rollVel)</code>
| <code>Vector GetLocalVelocity()</code>
| Set the local angular velocity - takes float pitch,yaw,roll velocities
| Get Entity relative velocity.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.SetConstraint | SetConstraint]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.GetMass | GetMass]]  
| <code>void SetConstraint(Vector vPos)</code>
| <code>float GetMass()</code>
| Set the position of the constraint.
| Get the mass of an entity. (returns 0 if it doesn't have a physics object)
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.SetContext | SetContext]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.GetMaxHealth | GetMaxHealth]]  
| <code>void SetContext(string pName, string pValue, float duration)</code>
| <code>int GetMaxHealth()</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').
| Get the maximum health of this entity.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.SetContextNum | SetContextNum]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.GetModelName | GetModelName]]  
| <code>void SetContextNum(string pName, float fValue, float duration)</code>
| <code>string GetModelName()</code>
| 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').
| Returns the name of the model.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.SetContextThink | SetContextThink]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.GetMoveParent | GetMoveParent]]  
| <code>void SetContextThink(string pszContextName, handle hThinkFunc, float flInterval)</code>
| <code>handle GetMoveParent()</code>
| Set a think function on this entity.
| If in hierarchy, retrieves the entity's parent.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.SetEntityName | SetEntityName]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.GetOrigin | GetOrigin]]  
| <code>void SetEntityName(string pName)</code>
| <code>Vector GetOrigin()</code>
| Set the name of an entity.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.SetForwardVector | SetForwardVector]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.GetOwner | GetOwner]]  
| <code>void SetForwardVector(Vector v)</code>
| <code>handle GetOwner()</code>
| Set the orientation of the entity to have this forward vector.
| Gets this entity's owner
|-
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.GetOwnerEntity | GetOwnerEntity]]
| <code>handle GetOwnerEntity()</code>
| Get the owner entity, if there is one
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.SetFriction | SetFriction]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.GetRightVector | GetRightVector]]  
| <code>void SetFriction(float flFriction)</code>
| <code>Vector GetRightVector()</code>
| Set PLAYER friction, ignored for objects.
| Get the right vector of the entity.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.SetGravity | SetGravity]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.GetRootMoveParent | GetRootMoveParent]]  
| <code>void SetGravity(float flGravity)</code>
| <code>handle GetRootMoveParent()</code>
| Set PLAYER gravity, ignored for objects.
| If in hierarchy, walks up the hierarchy to find the root parent.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.SetHealth | SetHealth]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.GetSoundDuration | GetSoundDuration]]  
| <code>void SetHealth(int nHealth)</code>
| <code>float GetSoundDuration(string soundname, string actormodel)</code>
| Set the health of this entity.
| Returns float duration of the sound. Takes soundname and optional actormodelname.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.SetLocalAngles | SetLocalAngles]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.GetTeam | GetTeam]]  
| <code>void SetLocalAngles(float fPitch, float fYaw, float fRoll)</code>
| <code>int GetTeam()</code>
| Set entity local pitch, yaw, roll by component
| Get the team number of this entity.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.SetLocalOrigin | SetLocalOrigin]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.GetTeamNumber | GetTeamNumber]]  
| <code>void SetLocalOrigin(Vector origin)</code>
| <code>int GetTeamNumber()</code>
| Set entity local origin from a Vector
| Get the team number of this entity.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.SetLocalScale | SetLocalScale]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.GetUpVector | GetUpVector]]  
| <code>void SetLocalScale(float flScale)</code>
| <code>Vector GetUpVector()</code>
|  
| Get the up vector of the entity.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.SetMass | SetMass]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.GetVelocity | GetVelocity]]  
| <code>void SetMass(float flMass)</code>
| <code>Vector GetVelocity()</code>
| Set the mass of an entity. (does nothing if it doesn't have a physics object)
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.SetMaxHealth | SetMaxHealth]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.HasAttribute | HasAttribute]]  
| <code>void SetMaxHealth(int amt)</code>
| <code>bool HasAttribute(string pName)</code>
| Set the maximum health of this entity.
| See if an entity has a particular attribute.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.SetOrigin | SetOrigin]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.IsAlive | IsAlive]]  
| <code>void SetOrigin(Vector v)</code>
| <code>bool IsAlive()</code>
|  
| Is this entity alive?
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.SetOwner | SetOwner]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.IsNPC | IsNPC]]  
| <code>void SetOwner(handle pOwner)</code>
| <code>bool IsNPC()</code>
| Sets this entity's owner
| Is this entity an CAI_BaseNPC?
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.SetParent | SetParent]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.IsPlayer | IsPlayer]]  
| <code>void SetParent(handle hParent, string pAttachmentname)</code>
| <code>bool IsPlayer()</code>
| Set the parent for this entity.
| Is this entity a player?
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.SetTeam | SetTeam]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.Kill | Kill]]  
| <code>void SetTeam(int iTeamNum)</code>
| <code>void Kill()</code>
|  
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.SetVelocity | SetVelocity]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.NextMovePeer | NextMovePeer]]  
| <code>void SetVelocity(Vector vecVelocity)</code>
| <code>handle NextMovePeer()</code>
|  
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.StopSound | StopSound]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.OverrideFriction | OverrideFriction]]  
| <code>void StopSound(string soundname)</code>
| <code>void OverrideFriction(float duration, float friction)</code>
| Stops a named sound playing from this entity.
| Takes duration, value for a temporary override.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.TakeDamage | TakeDamage]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.PrecacheScriptSound | PrecacheScriptSound]]  
| <code>int TakeDamage(handle hInfo)</code>
| <code>void PrecacheScriptSound(string soundname)</code>
| Apply damage to this entity. Use CreateDamageInfo() to create a damageinfo object.
| Precache a sound for later playing.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.TransformPointEntityToWorld | TransformPointEntityToWorld]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.RemoveEffects | RemoveEffects]]  
| <code>Vector TransformPointEntityToWorld(Vector vPoint)</code>
| <code>void RemoveEffects(int nFlags)</code>
| Returns the input Vector transformed from entity to world space
| RemoveEffects( int ): Removes the render effect flag.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.TransformPointWorldToEntity | TransformPointWorldToEntity]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.SetAbsAngles | SetAbsAngles]]  
| <code>Vector TransformPointWorldToEntity(Vector vPoint)</code>
| <code>void SetAbsAngles(float fPitch, float fYaw, float fRoll)</code>
| Returns the input Vector transformed from world to entity space
| Set entity pitch, yaw, roll by component.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.Trigger | Trigger]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.SetAbsOrigin | SetAbsOrigin]]  
| <code>void Trigger()</code>
| <code>void SetAbsOrigin(Vector origin)</code>
| Fires off this entity's OnTrigger responses.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.ValidatePrivateScriptScope | ValidatePrivateScriptScope]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.SetAbsScale | SetAbsScale]]  
| <code>void ValidatePrivateScriptScope()</code>
| <code>void SetAbsScale(float flScale)</code>
| Validates the private script scope and creates it if one doesn't exist.
|
|}
 
=== 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.SetAngles | SetAngles]]  
| <code>handle CreateByClassname(string className) </code>
| <code>void SetAngles(float fPitch, float fYaw, float fRoll)</code>
| Creates an entity by classname
| Set entity pitch, yaw, roll by component.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CEntities.GetLocalPlayer | GetLocalPlayer]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.SetAngularVelocity | SetAngularVelocity]]  
| <code>handle GetLocalPlayer()</code>
| <code>void SetAngularVelocity(float pitchVel, float yawVel, float rollVel)</code>
| Get the local player.
| Set the local angular velocity - takes float pitch,yaw,roll velocities
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CEntities.FindAllByClassname | FindAllByClassname]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.SetConstraint | SetConstraint]]  
| <code>table FindAllByClassname(string string_1) </code>
| <code>void SetConstraint(Vector vPos)</code>
| Finds all entities by class name. Returns an array containing all the found entities.
| Set the position of the constraint.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CEntities.FindAllByClassnameWithin | FindAllByClassnameWithin]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.SetContext | SetContext]]  
| <code>table FindAllByClassnameWithin(string string_1, Vector Vector_2, float float_3) </code>
| <code>void SetContext(string pName, string pValue, float duration)</code>
| Find entities by class name within a radius.
| 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/CEntities.FindAllByModel | FindAllByModel]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.SetContextNum | SetContextNum]]  
| <code>table FindAllByModel(string modelName) </code>
| <code>void SetContextNum(string pName, float fValue, float duration)</code>
| Find entities by model name.
| 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/CEntities.FindAllByName | FindAllByName]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.SetContextThink | SetContextThink]]  
| <code>table FindAllByName(string name) </code>
| <code>void SetContextThink(string pszContextName, handle hThinkFunc, float flInterval)</code>
| Find all entities by name. Returns an array containing all the found entities in it.
| Set a think function on this entity.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CEntities.FindAllByNameWithin | FindAllByNameWithin]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.SetEntityName | SetEntityName]]  
| <code>table FindAllByNameWithin(string name, Vector origin, float maxRadius) </code>
| <code>void SetEntityName(string pName)</code>
| Find entities by name within a radius.
| Set the name of an entity.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CEntities.FindAllByTarget | FindAllByTarget]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.SetForwardVector | SetForwardVector]]  
| <code>table FindAllByTarget(string targetName) </code>
| <code>void SetForwardVector(Vector v)</code>
| Find entities by targetname.
| Set the orientation of the entity to have this forward vector.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CEntities.FindAllInSphere | FindAllInSphere]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.SetFriction | SetFriction]]  
| <code>table FindAllInSphere(Vector origin, float maxRadius) </code>
| <code>void SetFriction(float flFriction)</code>
| Find entities within a radius.
| Set PLAYER friction, ignored for objects.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CEntities.FindByClassname | FindByClassname]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.SetGravity | SetGravity]]  
| <code>handle FindByClassname(handle startFrom, string className) </code>
| <code>void SetGravity(float flGravity)</code>
| Find entities by class name. Pass ''nil'' to start an iteration, or reference to a previously found entity to continue a search
| Set PLAYER gravity, ignored for objects.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CEntities.FindByClassnameNearest | FindByClassnameNearest]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.SetHealth | SetHealth]]  
| <code>handle FindByClassnameNearest(string className, Vector origin, float maxRadius) </code>
| <code>void SetHealth(int nHealth)</code>
| Find entities by class name nearest to a point.
| Set the health of this entity.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CEntities.FindByClassnameWithin | FindByClassnameWithin]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.SetLocalAngles | SetLocalAngles]]  
| <code>handle FindByClassnameWithin(handle startFrom, string className, Vector origin, float maxRadius) </code>
| <code>void SetLocalAngles(float fPitch, float fYaw, float fRoll)</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
| Set entity local pitch, yaw, roll by component
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CEntities.FindByModel | FindByModel]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.SetLocalOrigin | SetLocalOrigin]]  
| <code>handle FindByModel(handle startFrom, string modelName) </code>
| <code>void SetLocalOrigin(Vector origin)</code>
| Find entities by model name. Pass ''nil'' to start an iteration, or reference to a previously found entity to continue a search
| Set entity local origin from a Vector
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CEntities.FindByModelWithin | FindByModelWithin]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.SetLocalScale | SetLocalScale]]  
| <code>handle FindByModelWithin(handle startFrom, string modelName, Vector origin, float maxRadius) </code>
| <code>void SetLocalScale(float flScale)</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
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CEntities.FindByName | FindByName]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.SetMass | SetMass]]  
| <code>handle FindByName(handle lastEnt, string searchString) </code>
| <code>void SetMass(float flMass)</code>
| Find entities by name. Pass ''nil'' to start an iteration, or reference to a previously found entity to continue a search
| Set the mass of an entity. (does nothing if it doesn't have a physics object)
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CEntities.FindByNameNearest | FindByNameNearest]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.SetMaxHealth | SetMaxHealth]]  
| <code>handle FindByNameNearest(string name, Vector origin, float maxRadius) </code>
| <code>void SetMaxHealth(int amt)</code>
| Find entities by name nearest to a point.
| Set the maximum health of this entity.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CEntities.FindByNameWithin | FindByNameWithin]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.SetOrigin | SetOrigin]]  
| <code>handle FindByNameWithin(handle startFrom, string name, Vector origin, float maxRadius) </code>
| <code>void SetOrigin(Vector v)</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
| Sets the location of this entity  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CEntities.FindByTarget | FindByTarget]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.SetOwner | SetOwner]]  
| <code>handle FindByTarget(handle startFrom, string targetName) </code>
| <code>void SetOwner(handle pOwner)</code>
| Find entities by targetname. Pass ''nil'' to start an iteration, or reference to a previously found entity to continue a search
| Sets this entity's owner
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CEntities.FindInSphere | FindInSphere]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.SetParent | SetParent]]  
| <code>handle FindInSphere(handle startFrom, Vector origin, float maxRadius) </code>
| <code>void SetParent(handle hParent, string pAttachmentname)</code>
| Find entities within a radius. Pass ''nil'' to start an iteration, or reference to a previously found entity to continue a search
| Set the parent for this entity.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CEntities.First | First]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.SetTeam | SetTeam]]  
| <code>handle First() </code>
| <code>void SetTeam(int iTeamNum)</code>
| Begin an iteration over the list of entities
|-
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.SetVelocity | SetVelocity]]
| <code>void SetVelocity(Vector vecVelocity)</code>
|-
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.StopSound | StopSound]]
| <code>void StopSound(string soundname)</code>
| Stops a named sound playing from this entity.
|-
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.TakeDamage | TakeDamage]]
| <code>int TakeDamage(handle hInfo)</code>
| Apply damage to this entity. Use CreateDamageInfo() to create a damageinfo object.
|-
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.TransformPointEntityToWorld | TransformPointEntityToWorld]]
| <code>Vector TransformPointEntityToWorld(Vector vPoint)</code>
| Returns the input Vector transformed from entity to world space
|-
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.TransformPointWorldToEntity | TransformPointWorldToEntity]]
| <code>Vector TransformPointWorldToEntity(Vector vPoint)</code>
| Returns the input Vector transformed from world to entity space
|-
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.Trigger | Trigger]]
| <code>void Trigger()</code>
| Fires off this entity's OnTrigger responses.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CEntities.Next | Next]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseEntity.ValidatePrivateScriptScope | ValidatePrivateScriptScope]]  
| <code>handle Next(handle startFrom) </code>
| <code>void ValidatePrivateScriptScope()</code>
| Continue an iteration over the list of entities, providing reference to a previously found entity
| Validates the private script scope and creates it if one doesn't exist.
|}
|}


=== CEntityInstance ===
==== CBaseFlex ====
:::::extends [[#CBaseEntity| CBaseEntity]]
:::::extends [[#CBaseAnimating|CBaseAnimating]]
''No Description Set''
''No Description Set''
{| class="standard-table" style="width: 100%;"
{| class="standard-table" style="width: 100%;"
Line 1,282: Line 1,328:
! Description  
! Description  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CEntityInstance.ConnectOutput | ConnectOutput]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseFlex.GetCurrentScene | GetCurrentScene]]  
| <code>void ConnectOutput(string string_1, string string_2) </code>
| <code>handle GetCurrentScene()</code>
| Adds an I/O connection that will call the named function on this entity when the specified output fires.
| Returns the instance of the oldest active scene entity (if any).  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CEntityInstance.Destroy | Destroy]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseFlex.GetSceneByIndex | GetSceneByIndex]]  
| <code>void Destroy() </code>
| <code>handle GetSceneByIndex(int index)</code>
| Delete entity from C++.
| Returns the instance of the scene entity at the specified index.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CEntityInstance.DisconnectOutput | DisconnectOutput]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseFlex.ScriptPlayScene | ScriptPlayScene]]  
| <code>void DisconnectOutput(string string_1, string string_2) </code>
| <code>float ScriptPlayScene(string pszScene, float flDelay)</code>
| Removes a connected script function from an I/O event on this entity.
| ( 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/CEntityInstance.DisconnectRedirectedOutput | DisconnectRedirectedOutput]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseModelEntity.GetMaterialGroupHash | GetMaterialGroupHash]]  
| <code>void DisconnectRedirectedOutput(string string_1, string string_2, handle handle_3) </code>
| <code>unsigned GetMaterialGroupHash()</code>
| Removes a connected script function from an I/O event on the passed entity.
| GetMaterialGroupHash(): Get the material group hash of this entity.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CEntityInstance.entindex | entindex]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseModelEntity.GetMaterialGroupMask | GetMaterialGroupMask]]  
| <code>int entindex() </code>
| <code>uint64 GetMaterialGroupMask()</code>
| Get the entindex of this entity instance.
| GetMaterialGroupMask(): Get the mesh group mask of this entity.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CEntityInstance.FireOutput | FireOutput]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseModelEntity.GetRenderAlpha | GetRenderAlpha]]  
| <code>void FireOutput(string outputName, handle activator, handle caller, table args, float delay) </code>
| <code>int GetRenderAlpha()</code>
| Fire an entity output
| GetRenderAlpha(): Get the alpha modulation of this entity.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CEntityInstance.GetClassname | GetClassname]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseModelEntity.GetRenderColor | GetRenderColor]]  
| <code>string GetClassname() </code>
| <code>Vector GetRenderColor()</code>
| Get the class name of the entity.
| GetRenderColor(): Get the render color of the entity.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CEntityInstance.GetDebugName | GetDebugName]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseModelEntity.SetBodygroup | SetBodygroup]]  
| <code>string GetDebugName() </code>
| <code>void SetBodygroup(int iGroup, int iValue)</code>
| Get the entity name w/help if not defined (i.e. classname/etc)
| Sets a bodygroup.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CEntityInstance.GetEntityHandle | GetEntityHandle]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseModelEntity.SetBodygroupByName | SetBodygroupByName]]  
| <code>ehandle GetEntityHandle() </code>
| <code>void SetBodygroupByName(string pName, int iValue)</code>
| Get the entity as an EHANDLE
| Sets a bodygroup by name.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CEntityInstance.GetEntityIndex | GetEntityIndex]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseModelEntity.SetLightGroup | SetLightGroup]]  
| <code>int GetEntityIndex() </code>
| <code>void SetLightGroup(string pLightGroup)</code>
| Get the index of this entity.
| SetLightGroup( string ): Sets the light group of the entity.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CEntityInstance.GetIntAttr | GetIntAttr]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseModelEntity.SetMaterialGroup | SetMaterialGroup]]  
| <code>int GetIntAttr(string string_1) </code>
| <code>void SetMaterialGroup(string pMaterialGroup)</code>
| Get Integer Attribute
| SetMaterialGroup( string ): Set the material group of this entity.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CEntityInstance.GetName | GetName]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseModelEntity.SetMaterialGroupHash | SetMaterialGroupHash]]  
| <code>string GetName() </code>
| <code>void SetMaterialGroupHash(unsigned nHash)</code>
| Get the name of this entity.
| SetMaterialGroupHash( uint32 ): Set the material group hash of this entity.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CEntityInstance.GetOrCreatePrivateScriptScope | GetOrCreatePrivateScriptScope]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseModelEntity.SetMaterialGroupMask | SetMaterialGroupMask]]  
| <code>handle GetOrCreatePrivateScriptScope() </code>
| <code>void SetMaterialGroupMask(uint64 nMeshGroupMask)</code>
| Retrieve, creating if necessary, the private per-instance script-side data associated with an entity
| SetMaterialGroupMask( uint64 ): Set the mesh group mask of this entity.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CEntityInstance.GetOrCreatePublicScriptScope | GetOrCreatePublicScriptScope]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseModelEntity.SetModel | SetModel]]  
| <code>handle GetOrCreatePublicScriptScope() </code>
| <code>void SetModel(string pModelName)</code>
| Retrieve, creating if necessary, the public script-side data associated with an entity
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CEntityInstance.GetPrivateScriptScope | GetPrivateScriptScope]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseModelEntity.SetRenderAlpha | SetRenderAlpha]]  
| <code>handle GetPrivateScriptScope() </code>
| <code>void SetRenderAlpha(int nAlpha)</code>
| Retrieve the private per-instance script-side data associated with an entity
| SetRenderAlpha( int ): Set the alpha modulation of this entity.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CEntityInstance.GetPublicScriptScope | GetPublicScriptScope]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseModelEntity.SetRenderColor | SetRenderColor]]  
| <code>handle GetPublicScriptScope() </code>
| <code>void SetRenderColor(int r, int g, int b)</code>
| Retrieve the public script-side data associated with an entity
| SetRenderColor( r, g, b ): Sets the render color of the entity.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CEntityInstance.RedirectOutput | RedirectOutput]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseModelEntity.SetRenderMode | SetRenderMode]]  
| <code>void RedirectOutput(string string_1, string string_2, handle handle_3) </code>
| <code>void SetRenderMode(int nMode)</code>
| Adds an I/O connection that will call the named function on the passed entity when the specified output fires.
| SetRenderMode( int ): Sets the render mode of the entity.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CEntityInstance.RemoveSelf | RemoveSelf]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseModelEntity.SetSingleMeshGroup | SetSingleMeshGroup]]  
| <code>void RemoveSelf() </code>
| <code>void SetSingleMeshGroup(string pMeshGroupName)</code>
| Delete this entity
| SetSingleMeshGroup( string ): Set a single mesh group for this entity.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CEntityInstance.SetIntAttr | SetIntAttr]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseModelEntity.SetSize | SetSize]]  
| <code>void SetIntAttr(string string_1, int int_2) </code>
| <code>void SetSize(Vector mins, Vector maxs)</code>
| Set Integer Attribute
|-
| [[Dota 2 Workshop Tools/Scripting/API/CBaseModelEntity.SetSkin | SetSkin]]
| <code>void SetSkin(int iSkin)</code>
| Set skin (int).
|}
|}


=== CDOTABaseAbility ===
==== CBasePlayer ====
:::::extends [[#CBaseEntity| CBaseEntity]]
:::::extends [[#CBaseCombatCharacter|CBaseCombatCharacter]]
''No Description Set''
''No Description Set''
{| class="standard-table" style="width: 100%;"
{| class="standard-table" style="width: 100%;"
Line 1,367: Line 1,426:
! Description  
! Description  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.CanAbilityBeUpgraded | CanAbilityBeUpgraded]]
| [[Dota 2 Workshop Tools/Scripting/API/CBasePlayer.AreChaperoneBoundsVisible | AreChaperoneBoundsVisible]]  
| <code><unknown> CanAbilityBeUpgraded() </code>
| <code>bool AreChaperoneBoundsVisible()</code>
|  
| Returns whether this player's chaperone bounds are visible.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.CastAbility | CastAbility]]
| [[Dota 2 Workshop Tools/Scripting/API/CBasePlayer.GetHMDAnchor | GetHMDAnchor]]  
| <code>void CastAbility() </code>
| <code>handle GetHMDAnchor()</code>
| Casts the ability.
| Returns the HMD anchor entity for this player if it exists.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.ContinueCasting | ContinueCasting]]
| [[Dota 2 Workshop Tools/Scripting/API/CBasePlayer.GetHMDAvatar | GetHMDAvatar]]  
| <code>bool ContinueCasting() </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.CreateVisibilityNode | CreateVisibilityNode]]
| [[Dota 2 Workshop Tools/Scripting/API/CBasePlayer.GetPlayArea | GetPlayArea]]  
| <code>void CreateVisibilityNode(Vector vLocation, float fRadius, float fDuration) </code>
| <code>Vector GetPlayArea(int nPoint)</code>
| Applies vision on a specific location that reveals a certain radius for a duration.
| 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.DecrementModifierRefCount | DecrementModifierRefCount]]
| [[Dota 2 Workshop Tools/Scripting/API/CBasePlayer.GetUserID | GetUserID]]  
| <code>void DecrementModifierRefCount() </code>
| <code>int GetUserID()</code>
| No Description Set
| Returns the player's user id.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.EndChannel | EndChannel]]
| [[Dota 2 Workshop Tools/Scripting/API/CBasePlayer.GetVRControllerType | GetVRControllerType]]  
| <code>void EndChannel(bool bInterrupted) </code>
| <code><unknown> GetVRControllerType()</code>
| Param: ''bool'' bInterrupted
| Returns the type of controller being used while in VR.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.EndCooldown | EndCooldown]]
| [[Dota 2 Workshop Tools/Scripting/API/CBasePlayer.IsNoclipping | IsNoclipping]]  
| <code>void EndCooldown() </code>
| <code>bool IsNoclipping()</code>
| Clear the cooldown remaining on this ability.
| Returns true if the player is in noclip mode.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.GetAbilityDamage | GetAbilityDamage]]
| [[Dota 2 Workshop Tools/Scripting/API/CBasePlayer.IsUsePressed | IsUsePressed]]  
| <code>int GetAbilityDamage() </code>
| <code>bool IsUsePressed()</code>
| Get the damage defined in the "AbilityDamage" KV.
| Returns true if the use key is pressed.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.GetAbilityDamageType | GetAbilityDamageType]]
| [[Dota 2 Workshop Tools/Scripting/API/CBasePlayer.IsVRControllerButtonPressed | IsVRControllerButtonPressed]]  
| <code>int GetAbilityDamageType() </code>
| <code>bool IsVRControllerButtonPressed(int nButton)</code>
| Get the damage type defined in the "AbilityUnitDamageType" KV.
| Returns true if the controller button is pressed.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.GetAbilityIndex | GetAbilityIndex]]
| [[Dota 2 Workshop Tools/Scripting/API/CBasePlayer.IsVRDashboardShowing | IsVRDashboardShowing]]  
| <code>int GetAbilityIndex() </code>
| <code>bool IsVRDashboardShowing()</code>
| Get the index of this ability.
| 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.GetAbilityName | GetAbilityName]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseTrigger.Disable | Disable]]  
| <code>string GetAbilityName() </code>
| <code>void Disable()</code>
| Get the name of the ability.
| Disable's the trigger
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.GetAbilityKeyValues | GetAbilityKeyValues]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseTrigger.Enable | Enable]]  
| <code>table GetAbilityKeyValues() </code>
| <code>void Enable()</code>
| Returns a table of this ability KVs.
| Enable the trigger
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.GetAbilityTargetFlags | GetAbilityTargetFlags]]
| [[Dota 2 Workshop Tools/Scripting/API/CBaseTrigger.IsTouching | IsTouching]]  
| <code>int GetAbilityTargetFlags() </code>
| <code>bool IsTouching(handle hEnt)</code>
| Get the ability's target flag(s) defined in the "AbilityUnitTargetFlags" KV.
| 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.GetAbilityTargetTeam | GetAbilityTargetTeam]]
| [[Dota 2 Workshop Tools/Scripting/API/CBodyComponent.AddImpulseAtPosition | AddImpulseAtPosition]]  
| <code>int GetAbilityTargetTeam() </code>
| <code>void AddImpulseAtPosition(Vector Vector_1, Vector Vector_2)</code>
| Get the ability's target team(s) defined in the "AbilityUnitTargetTeam" KV.
| Apply an impulse at a worldspace position to the physics
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.GetAbilityTargetType | GetAbilityTargetType]]
| [[Dota 2 Workshop Tools/Scripting/API/CBodyComponent.AddVelocity | AddVelocity]]  
| <code>int GetAbilityTargetType() </code>
| <code>void AddVelocity(Vector Vector_1, Vector Vector_2)</code>
| Get the ability's target type(s) defined in the "AbilityUnitTargetType" KV.
| Add linear and angular velocity to the physics object
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.GetAbilityType | GetAbilityType]]
| [[Dota 2 Workshop Tools/Scripting/API/CBodyComponent.DetachFromParent | DetachFromParent]]  
| <code>int GetAbilityType() </code>
| <code>void DetachFromParent()</code>
| Get the ability type of this ability, set through "AbilityType" in KV at the npc_ability_custom.txt file.
| Detach from its parent
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.GetAnimationIgnoresModelScale | GetAnimationIgnoresModelScale]]
| [[Dota 2 Workshop Tools/Scripting/API/CBodyComponent.GetSequence | GetSequence]]  
| <code>bool GetAnimationIgnoresModelScale() </code>
| <code><unknown> GetSequence()</code>
| No Description Set
| Returns the active sequence
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.GetAssociatedPrimaryAbilities | GetAssociatedPrimaryAbilities]]
| [[Dota 2 Workshop Tools/Scripting/API/CBodyComponent.IsAttachedToParent | IsAttachedToParent]]  
| <code>string GetAssociatedPrimaryAbilities() </code>
| <code>bool IsAttachedToParent()</code>
| Set which ability should be stolen with this ability, and set as the first ability in the order of the stolen abilities (Rubick).
| Is attached to parent
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.GetAssociatedSecondaryAbilities | GetAssociatedSecondaryAbilities]]
| [[Dota 2 Workshop Tools/Scripting/API/CBodyComponent.LookupSequence | LookupSequence]]  
| <code>string GetAssociatedSecondaryAbilities() </code>
| <code><unknown> LookupSequence(string string_1)</code>
| Set which ability should be stolen with this ability, and set as the second in the order of the stolen abilities (Rubick).
| Returns a sequence id given a name
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.GetAutoCastState | GetAutoCastState]]
| [[Dota 2 Workshop Tools/Scripting/API/CBodyComponent.SequenceDuration | SequenceDuration]]  
| <code>bool GetAutoCastState() </code>
| <code>float SequenceDuration(string string_1)</code>
| Returns true if the ability is set to auto cast, returns false otherwise.
| Returns the duration in seconds of the specified sequence
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.GetBackswingTime | GetBackswingTime]]
| [[Dota 2 Workshop Tools/Scripting/API/CBodyComponent.SetAngularVelocity | SetAngularVelocity]]  
| <code>float GetBackswingTime() </code>
| <code>void SetAngularVelocity(Vector Vector_1)</code>
| Returns the backswing time of the ability.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.GetBehavior | GetBehavior]]
| [[Dota 2 Workshop Tools/Scripting/API/CBodyComponent.SetAnimation | SetAnimation]]  
| <code>int GetBehavior() </code>
| <code>void SetAnimation(string string_1)</code>
| Get the ability behavior(s) defined in the "AbilityBehavior" KV.
| Pass string for the animation to play on this model
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.GetCaster | GetCaster]]
| [[Dota 2 Workshop Tools/Scripting/API/CBodyComponent.SetMaterialGroup | SetMaterialGroup]]  
| <code>handle GetCaster() </code>
| <code>void SetMaterialGroup(utlstringtoken utlstringtoken_1)</code>
| Get the ability's caster.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.GetCastPoint | GetCastPoint]]
| [[Dota 2 Workshop Tools/Scripting/API/CBodyComponent.SetVelocity | SetVelocity]]  
| <code>float GetCastPoint() </code>
| <code>void SetVelocity(Vector Vector_1)</code>
| Get the ability's cast point.
|
|}
 
==== CCustomGameEventManager ====
''Global accessor variable: <code>CustomGameEventManager</code>''
{| class="standard-table" style="width: 100%;"
! Function
! Signature
! Description
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.GetCastRange | GetCastRange]]
| [[Dota 2 Workshop Tools/Scripting/API/CCustomGameEventManager.RegisterListener | RegisterListener]]  
| <code>int GetCastRange() </code>
| <code>int RegisterListener(string string_1, handle handle_2)</code>
| Get the ability's cast range.
| ( 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.GetChannelledManaCostPerSecond | GetChannelledManaCostPerSecond]]
| [[Dota 2 Workshop Tools/Scripting/API/CCustomGameEventManager.Send_ServerToAllClients | Send_ServerToAllClients]]  
| <code>int GetChannelledManaCostPerSecond(int iLevel) </code>
| <code>void Send_ServerToAllClients(string string_1, handle handle_2)</code>
| Get the ability's channeled mana cost per second, defined in the "AbilityChannelledManaCostPerSecond" KV.
| ( string EventName, table EventData )
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.GetChannelStartTime | GetChannelStartTime]]
| [[Dota 2 Workshop Tools/Scripting/API/CCustomGameEventManager.Send_ServerToPlayer | Send_ServerToPlayer]]  
| <code>float GetChannelStartTime() </code>
| <code>void Send_ServerToPlayer(handle handle_1, string string_2, handle handle_3)</code>
| Get the game time where the channeling of this ability started.
| ( Entity Player, string EventName, table EventData )
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.GetChannelTime | GetChannelTime]]
| [[Dota 2 Workshop Tools/Scripting/API/CCustomGameEventManager.Send_ServerToTeam | Send_ServerToTeam]]  
| <code>float GetChannelTime() </code>
| <code>void Send_ServerToTeam(int int_1, string string_2, handle handle_3)</code>
| Get how long (in seconds) this ability can be channeled.
| ( int TeamNumber, string EventName, table EventData )  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.GetCloneSource | GetCloneSource]]
| [[Dota 2 Workshop Tools/Scripting/API/CCustomGameEventManager.UnregisterListener | UnregisterListener]]  
| <code>handle GetCloneSource() </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.GetConceptRecipientType | GetConceptRecipientType]]
| [[Dota 2 Workshop Tools/Scripting/API/CCustomNetTableManager.GetTableValue | GetTableValue]]  
| <code>int GetConceptRecipientType() </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.GetCooldown | GetCooldown]]
| [[Dota 2 Workshop Tools/Scripting/API/CCustomNetTableManager.SetTableValue | SetTableValue]]  
| <code>float GetCooldown(int iLevel) </code>
| <code>bool SetTableValue(string string_1, string string_2, handle handle_3)</code>
| Get the cooldown duration for this ability at a given level, not the amount of cooldown actually left.
| ( 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.GetCooldownTime | GetCooldownTime]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.CanAbilityBeUpgraded | CanAbilityBeUpgraded]]  
| <code>float GetCooldownTime() </code>
| <code><unknown> CanAbilityBeUpgraded()</code>
| No Description Set
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.GetCooldownTimeRemaining | GetCooldownTimeRemaining]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.CastAbility | CastAbility]]  
| <code>float GetCooldownTimeRemaining() </code>
| <code>bool CastAbility()</code>
| Get the remaining time until this ability is ready to be cast again.
| You are probably looking for OnSpellStart()
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.GetCursorPosition | GetCursorPosition]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.ContinueCasting | ContinueCasting]]  
| <code>Vector GetCursorPosition() </code>
| <code>bool ContinueCasting()</code>
| Get the vector of the current position of the mouse cursor.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.GetCursorTarget | GetCursorTarget]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.CreateVisibilityNode | CreateVisibilityNode]]  
| <code>handle GetCursorTarget() </code>
| <code>void CreateVisibilityNode(Vector vLocation, float fRadius, float fDuration)</code>
| Get the target that the cursor is currently pointing on.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.GetCursorTargetingNothing | GetCursorTargetingNothing]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.DecrementModifierRefCount | DecrementModifierRefCount]]  
| <code>bool GetCursorTargetingNothing() </code>
| <code>void DecrementModifierRefCount()</code>
| Is the cursor currently targeting anything?
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.GetDuration | GetDuration]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.EndChannel | EndChannel]]  
| <code>float GetDuration() </code>
| <code>void EndChannel(bool bInterrupted)</code>
| No Description Set
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.GetGoldCost | GetGoldCost]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.EndCooldown | EndCooldown]]  
| <code>int GetGoldCost(int iLevel) </code>
| <code>void EndCooldown()</code>
| Get the cost in gold for abilities defined to cost gold, defined through "AbilityGoldCost" at the ability's KV.
| Clear the cooldown remaining on this ability.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.GetGoldCostForUpgrade | GetGoldCostForUpgrade]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.GetAOERadius | GetAOERadius]]  
| <code>int GetGoldCostForUpgrade(int iLevel) </code>
| <code>int GetAOERadius()</code>
| Get the cost in gold for upgrading this ability, defined through "AbilityUpgradeGoldCost" at the ability's KV.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.GetHeroLevelRequiredToUpgrade | GetHeroLevelRequiredToUpgrade]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.GetAbilityDamage | GetAbilityDamage]]  
| <code>int GetHeroLevelRequiredToUpgrade() </code>
| <code>int GetAbilityDamage()</code>
| Get the level the hero needs to be in order to upgrade this ability.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.GetIntrinsicModifierName | GetIntrinsicModifierName]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.GetAbilityDamageType | GetAbilityDamageType]]  
| <code>string GetIntrinsicModifierName() </code>
| <code>int GetAbilityDamageType()</code>
| Get the name of the modifier attached to this ability, which passively attached to its caster when the ability is first leveled.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.GetLevel | GetLevel]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.GetAbilityIndex | GetAbilityIndex]]  
| <code>int GetLevel() </code>
| <code>int GetAbilityIndex()</code>
| Get the current level of the ability.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.GetLevelSpecialValueFor | GetLevelSpecialValueFor]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.GetAbilityKeyValues | GetAbilityKeyValues]]  
| <code>table GetLevelSpecialValueFor(string szName, int nLevel) </code>
| <code>table GetAbilityKeyValues()</code>
| Get the value of an "AbilitySpecial" block for a certain level.
| Gets the key values definition for this ability.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.GetManaCost | GetManaCost]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.GetAbilityName | GetAbilityName]]  
| <code>int GetManaCost(int iLevel) </code>
| <code>string GetAbilityName()</code>
| Get the ability mana cost defined in the "AbilityManaCost" KV.
| Returns the name of this ability.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.GetMaxLevel | GetMaxLevel]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.GetAbilityTargetFlags | GetAbilityTargetFlags]]  
| <code>int GetMaxLevel() </code>
| <code>int GetAbilityTargetFlags()</code>
| Get the maximum level of the ability defined in the "MaxLevel" KV.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.GetModifierValue | GetModifierValue]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.GetAbilityTargetTeam | GetAbilityTargetTeam]]  
| <code>float GetModifierValue() </code>
| <code>int GetAbilityTargetTeam()</code>
| No Description Set
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.GetModifierValueBonus | GetModifierValueBonus]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.GetAbilityTargetType | GetAbilityTargetType]]  
| <code>float GetModifierValueBonus() </code>
| <code>int GetAbilityTargetType()</code>
| No Description Set
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.GetPlaybackRateOverride | GetPlaybackRateOverride]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.GetAbilityType | GetAbilityType]]  
| <code>float GetPlaybackRateOverride() </code>
| <code>int GetAbilityType()</code>
| No Description Set
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.GetSharedCooldownName | GetSharedCooldownName]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.GetAnimationIgnoresModelScale | GetAnimationIgnoresModelScale]]  
| <code>string GetSharedCooldownName() </code>
| <code>bool GetAnimationIgnoresModelScale()</code>
| Get the name of the shared cooldown group defined in the ability's "AbilitySharedCooldown" KV. This causes all abilities in the same cooldown name to go into cooldown when one of them is cast.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.GetSpecialValueFor | GetSpecialValueFor]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.GetAssociatedPrimaryAbilities | GetAssociatedPrimaryAbilities]]  
| <code>table GetSpecialValueFor(string szName) </code>
| <code>string GetAssociatedPrimaryAbilities()</code>
| Get the value of an "AbilitySpecial" block for the current ability level.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.GetStolenActivityModifier | GetStolenActivityModifier]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.GetAssociatedSecondaryAbilities | GetAssociatedSecondaryAbilities]]  
| <code>string GetStolenActivityModifier() </code>
| <code>string GetAssociatedSecondaryAbilities()</code>
| No Description Set
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.GetToggleState | GetToggleState]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.GetAutoCastState | GetAutoCastState]]  
| <code>bool GetToggleState() </code>
| <code>bool GetAutoCastState()</code>
| Returns true if the ability is currently toggled. Returns false otherwise.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.HeroXPChange | HeroXPChange]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.GetBackswingTime | GetBackswingTime]]  
| <code>bool HeroXPChange(float flXP) </code>
| <code>float GetBackswingTime()</code>
| No Description Set
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.IncrementModifierRefCount | IncrementModifierRefCount]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.GetBehavior | GetBehavior]]  
| <code>void IncrementModifierRefCount() </code>
| <code>int GetBehavior()</code>
| No Description Set
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.IsActivated | IsActivated]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.GetCastPoint | GetCastPoint]]  
| <code>bool IsActivated() </code>
| <code>float GetCastPoint()</code>
| Return whether or not this ability is activated, e.g. can be used. Disabled abilities are colored black.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.IsAttributeBonus | IsAttributeBonus]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.GetCastRange | GetCastRange]]  
| <code>bool IsAttributeBonus() </code>
| <code>int GetCastRange(Vector vLocation, handle hTarget)</code>
| Return whether or not the ability is defined as an attribute bonus through "AbilityType" being set to "DOTA_ABILITY_TYPE_ATTRIBUTES".
| Gets the cast range of the ability.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.IsChanneling | IsChanneling]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.GetCaster | GetCaster]]  
| <code>bool IsChanneling() </code>
| <code>handle GetCaster()</code>
| Returns whether the ability is currently channeling.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.IsCooldownReady | IsCooldownReady]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.GetChannelStartTime | GetChannelStartTime]]  
| <code>bool IsCooldownReady() </code>
| <code>float GetChannelStartTime()</code>
| Returns true if the ability currently has no cooldown and is ready to be used. Returns false otherwise.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.IsCosmetic | IsCosmetic]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.GetChannelTime | GetChannelTime]]  
| <code>bool IsCosmetic(handle hEntity) </code>
| <code>float GetChannelTime()</code>
| No Description Set
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.IsFullyCastable | IsFullyCastable]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.GetChannelledManaCostPerSecond | GetChannelledManaCostPerSecond]]  
| <code>bool IsFullyCastable() </code>
| <code>int GetChannelledManaCostPerSecond(int iLevel)</code>
| Returns whether the ability can be cast.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.IsHidden | IsHidden]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.GetCloneSource | GetCloneSource]]  
| <code>bool IsHidden() </code>
| <code>handle GetCloneSource()</code>
| Returns true if the ability behavior is set to hidden. Returns false otherwise.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.IsHiddenWhenStolen | IsHiddenWhenStolen]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.GetConceptRecipientType | GetConceptRecipientType]]  
| <code>bool IsHiddenWhenStolen() </code>
| <code>int GetConceptRecipientType()</code>
| Returns true if the ability is set to be hidden when stolen (by Rubick). Returns false otherwise.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.IsInAbilityPhase | IsInAbilityPhase]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.GetCooldown | GetCooldown]]  
| <code>bool IsInAbilityPhase() </code>
| <code>float GetCooldown(int iLevel)</code>
| Returns whether the ability is currently casting.
| Get the cooldown duration for this ability at a given level, not the amount of cooldown actually left.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.IsItem | IsItem]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.GetCooldownTime | GetCooldownTime]]  
| <code>bool IsItem() </code>
| <code>float GetCooldownTime()</code>
| Returns whether this ability resides within an item.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.IsOwnersGoldEnough | IsOwnersGoldEnough]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.GetCooldownTimeRemaining | GetCooldownTimeRemaining]]  
| <code>bool IsOwnersGoldEnough(int nIssuerPlayerID) </code>
| <code>float GetCooldownTimeRemaining()</code>
| Returns whether the owner of the ability has enough gold to cast it (used for abilities that cost gold instead of mana).
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.IsOwnersGoldEnoughForUpgrade | IsOwnersGoldEnoughForUpgrade]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.GetCursorPosition | GetCursorPosition]]  
| <code>bool IsOwnersGoldEnoughForUpgrade() </code>
| <code>Vector GetCursorPosition()</code>
| Returns whether the owner of the ability has enough gold to upgrade it (used for abilities that cost gold instead of ability points).
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.IsOwnersManaEnough | IsOwnersManaEnough]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.GetCursorTarget | GetCursorTarget]]  
| <code>bool IsOwnersManaEnough() </code>
| <code>handle GetCursorTarget()</code>
| Returns true if the caster has enough mana to cast the ability. Returns false otherwise.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.IsPassive | IsPassive]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.GetCursorTargetingNothing | GetCursorTargetingNothing]]  
| <code>bool IsPassive() </code>
| <code>bool GetCursorTargetingNothing()</code>
| Returns true if the ability is a passive ability.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.IsSharedWithTeammates | IsSharedWithTeammates]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.GetDuration | GetDuration]]  
| <code>bool IsSharedWithTeammates() </code>
| <code>float GetDuration()</code>
| No Description Set
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.IsStealable | IsStealable]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.GetEffectiveCooldown | GetEffectiveCooldown]]  
| <code>bool IsStealable() </code>
| <code>float GetEffectiveCooldown(int iLevel)</code>
| Returns whether this ability can be stolen (by Rubick).
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.IsStolen | IsStolen]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.GetGoldCost | GetGoldCost]]  
| <code>bool IsStolen() </code>
| <code>int GetGoldCost(int iLevel)</code>
| Returns whether the ability is a stolen one.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.IsToggle | IsToggle]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.GetGoldCostForUpgrade | GetGoldCostForUpgrade]]  
| <code>bool IsToggle() </code>
| <code>int GetGoldCostForUpgrade(int iLevel)</code>
| Returns whether the ability is toggle-able.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.IsTrained | IsTrained]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.GetHeroLevelRequiredToUpgrade | GetHeroLevelRequiredToUpgrade]]  
| <code>bool IsTrained() </code>
| <code>int GetHeroLevelRequiredToUpgrade()</code>
| Returns whether the ability has at least one level in it.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.MarkAbilityButtonDirty | MarkAbilityButtonDirty]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.GetIntrinsicModifierName | GetIntrinsicModifierName]]  
| <code>void MarkAbilityButtonDirty() </code>
| <code>string GetIntrinsicModifierName()</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/CDOTABaseAbility.GetLevel | GetLevel]]  
| <code>int NumModifiersUsingAbility() </code>
| <code>int GetLevel()</code>
| No Description Set
| Get the current level of the ability.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.OnAbilityPhaseInterrupted | OnAbilityPhaseInterrupted]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.GetLevelSpecialValueFor | GetLevelSpecialValueFor]]  
| <code>void OnAbilityPhaseInterrupted() </code>
| <code>table GetLevelSpecialValueFor(string szName, int nLevel)</code>
| Launches when the caster tried to initiate the ability, but was interrupted/cancelled.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.OnAbilityPhaseStart | OnAbilityPhaseStart]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.GetManaCost | GetManaCost]]  
| <code>bool OnAbilityPhaseStart() </code>
| <code>int GetManaCost(int iLevel)</code>
| Launches when the ability is being cast (before cast point has been reached, which means it was not yet activated)
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.OnAbilityPinged | OnAbilityPinged]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.GetMaxLevel | GetMaxLevel]]  
| <code>void OnAbilityPinged(int nPlayerID) </code>
| <code>int GetMaxLevel()</code>
| Fires when the ability is being pinged (through alt clicking it).
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.OnChannelFinish | OnChannelFinish]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.GetModifierValue | GetModifierValue]]  
| <code>void OnChannelFinish(bool bInterrupted) </code>
| <code>float GetModifierValue()</code>
| Launches when the channeled ability finished channeling successfully.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.OnChannelThink | OnChannelThink]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.GetModifierValueBonus | GetModifierValueBonus]]  
| <code>void OnChannelThink(float flInterval) </code>
| <code>float GetModifierValueBonus()</code>
| Launches on every interval of this ability's channel.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.OnHeroCalculateStatBonus | OnHeroCalculateStatBonus]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.GetPlaybackRateOverride | GetPlaybackRateOverride]]  
| <code>void OnHeroCalculateStatBonus() </code>
| <code>float GetPlaybackRateOverride()</code>
| Launches when calculating the hero's stats bonuses when leveling up.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.OnHeroLevelUp | OnHeroLevelUp]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.GetSharedCooldownName | GetSharedCooldownName]]  
| <code>void OnHeroLevelUp() </code>
| <code>string GetSharedCooldownName()</code>
| Launches when the hero levels up.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.OnInventoryContentsChanged | OnInventoryContentsChanged]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.GetSpecialValueFor | GetSpecialValueFor]]  
| <code>void OnInventoryContentsChanged() </code>
| <code>table GetSpecialValueFor(string szName)</code>
| Launches when the inventory of the ability's owner changes.
| Gets a value from this ability's special value block for its current level.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.OnOwnerDied | OnOwnerDied]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.GetStolenActivityModifier | GetStolenActivityModifier]]  
| <code>void OnOwnerDied() </code>
| <code>string GetStolenActivityModifier()</code>
| Launches when the owner of this ability dies.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.OnOwnerSpawned | OnOwnerSpawned]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.GetToggleState | GetToggleState]]  
| <code>void OnOwnerSpawned() </code>
| <code>bool GetToggleState()</code>
| Launches when the owner of this ability spawns.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.OnSpellStart | OnSpellStart]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.GetUpgradeRecommended | GetUpgradeRecommended]]  
| <code>void OnSpellStart() </code>
| <code>bool GetUpgradeRecommended()</code>
| Launches when the ability finished casting, mana was spent, and the ability goes on cooldown.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.OnToggle | OnToggle]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.HeroXPChange | HeroXPChange]]  
| <code>void OnToggle() </code>
| <code>bool HeroXPChange(float flXP)</code>
| Launches when toggling the ability on and off.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.OnUpgrade | OnUpgrade]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.IncrementModifierRefCount | IncrementModifierRefCount]]  
| <code>void OnUpgrade() </code>
| <code>void IncrementModifierRefCount()</code>
| Launches when upgrading the ability.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.PayGoldCost | PayGoldCost]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.IsActivated | IsActivated]]  
| <code>void PayGoldCost() </code>
| <code>bool IsActivated()</code>
| Pay the cost for casting this ability in gold.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.PayGoldCostForUpgrade | PayGoldCostForUpgrade]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.IsAttributeBonus | IsAttributeBonus]]  
| <code>void PayGoldCostForUpgrade() </code>
| <code>bool IsAttributeBonus()</code>
| Pay the cost for upgrading this ability in gold.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.PayManaCost | PayManaCost]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.IsChanneling | IsChanneling]]  
| <code>void PayManaCost() </code>
| <code>bool IsChanneling()</code>
| Spends the caster's mana equivalent to the mana cost required to cast this ability.
| Returns whether the ability is currently channeling.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.PlaysDefaultAnimWhenStolen | PlaysDefaultAnimWhenStolen]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.IsCooldownReady | IsCooldownReady]]  
| <code>bool PlaysDefaultAnimWhenStolen() </code>
| <code>bool IsCooldownReady()</code>
| No Description Set
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.ProcsMagicStick | ProcsMagicStick]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.IsCosmetic | IsCosmetic]]  
| <code>bool ProcsMagicStick() </code>
| <code>bool IsCosmetic(handle hEntity)</code>
| Returns whether this ability grants a charge on Magic Stick/Magic Wand.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.RefCountsModifiers | RefCountsModifiers]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.IsFullyCastable | IsFullyCastable]]  
| <code>bool RefCountsModifiers() </code>
| <code>bool IsFullyCastable()</code>
| No Description Set
| Returns whether the ability can be cast.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.RefundManaCost | RefundManaCost]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.IsHidden | IsHidden]]  
| <code>void RefundManaCost() </code>
| <code>bool IsHidden()</code>
| Return the caster's mana spent for casting this ability.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.ResetToggleOnRespawn | ResetToggleOnRespawn]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.IsHiddenAsSecondaryAbility | IsHiddenAsSecondaryAbility]]  
| <code>bool ResetToggleOnRespawn() </code>
| <code>bool IsHiddenAsSecondaryAbility()</code>
| Reset the toggle to off when respawning.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.SetAbilityIndex | SetAbilityIndex]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.IsHiddenWhenStolen | IsHiddenWhenStolen]]  
| <code>void SetAbilityIndex(int iIndex) </code>
| <code>bool IsHiddenWhenStolen()</code>
| Set the index of this ability.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.SetActivated | SetActivated]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.IsInAbilityPhase | IsInAbilityPhase]]  
| <code>void SetActivated(bool bActivated) </code>
| <code>bool IsInAbilityPhase()</code>
| Set this ability as activated (true) or disabled (false). Disabled abilities are colored dark and cannot be used.
| Returns whether the ability is currently casting.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.SetChanneling | SetChanneling]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.IsItem | IsItem]]  
| <code>void SetChanneling(bool bChanneling) </code>
| <code>bool IsItem()</code>
| No Description Set
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.SetHidden | SetHidden]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.IsOwnersGoldEnough | IsOwnersGoldEnough]]  
| <code>void SetHidden(bool bHidden) </code>
| <code>bool IsOwnersGoldEnough(int nIssuerPlayerID)</code>
| Set this ability as hidden (true) or visible (false).
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.SetInAbilityPhase | SetInAbilityPhase]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.IsOwnersGoldEnoughForUpgrade | IsOwnersGoldEnoughForUpgrade]]  
| <code>void SetInAbilityPhase(bool bInAbilityPhase) </code>
| <code>bool IsOwnersGoldEnoughForUpgrade()</code>
| No Description Set
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.SetLevel | SetLevel]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.IsOwnersManaEnough | IsOwnersManaEnough]]  
| <code>void SetLevel(int iLevel) </code>
| <code>bool IsOwnersManaEnough()</code>
| Sets the level of this ability.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.SetOverrideCastPoint | SetOverrideCastPoint]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.IsPassive | IsPassive]]  
| <code>void SetOverrideCastPoint(float flCastPoint) </code>
| <code>bool IsPassive()</code>
| No Description Set
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.SetRefCountsModifiers | SetRefCountsModifiers]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.IsRefreshable | IsRefreshable]]  
| <code>void SetRefCountsModifiers(bool bRefCounts) </code>
| <code>bool IsRefreshable()</code>
| No Description Set
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.SetStolen | SetStolen]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.IsSharedWithTeammates | IsSharedWithTeammates]]  
| <code>void SetStolen(bool bStolen) </code>
| <code>bool IsSharedWithTeammates()</code>
| Set whether or not this ability is considered stolen (by Rubick's Spellsteal).
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.ShouldUseResources | ShouldUseResources]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.IsStealable | IsStealable]]  
| <code>bool ShouldUseResources() </code>
| <code>bool IsStealable()</code>
| No Description Set
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.SpeakAbilityConcept | SpeakAbilityConcept]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.IsStolen | IsStolen]]  
| <code>void SpeakAbilityConcept(int iConcept) </code>
| <code>bool IsStolen()</code>
| No Description Set
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.SpeakTrigger | SpeakTrigger]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.IsToggle | IsToggle]]  
| <code><unknown> SpeakTrigger() </code>
| <code>bool IsToggle()</code>
| No Description Set
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.StartCooldown | StartCooldown]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.IsTrained | IsTrained]]  
| <code>void StartCooldown(float flCooldown) </code>
| <code>bool IsTrained()</code>
| Start a cooldown, starting to count from the passed float parameter.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.ToggleAbility | ToggleAbility]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.MarkAbilityButtonDirty | MarkAbilityButtonDirty]]  
| <code>void ToggleAbility() </code>
| <code>void MarkAbilityButtonDirty()</code>
| Toggle this ability on or off.
| Mark the ability button for this ability as needing a refresh.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.ToggleAutoCast | ToggleAutoCast]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.NumModifiersUsingAbility | NumModifiersUsingAbility]]  
| <code>void ToggleAutoCast() </code>
| <code>int NumModifiersUsingAbility()</code>
| Toggle this ability's auto cast on or off.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.UpgradeAbility | UpgradeAbility]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.OnAbilityPhaseInterrupted | OnAbilityPhaseInterrupted]]  
| <code>void UpgradeAbility(bool bSupressSpeech) </code>
| <code>void OnAbilityPhaseInterrupted()</code>
| Increase the ability's level.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.UseResources | UseResources]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.OnAbilityPhaseStart | OnAbilityPhaseStart]]  
| <code>void UseResources(bool bMana, bool bGold, bool bCooldown) </code>
| <code>bool OnAbilityPhaseStart()</code>
| Use the ability's resources. Return true for each resource to determine which resource should be used - mana, gold, and cooldown.
|
|}
 
=== 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.OnAbilityPinged | OnAbilityPinged]]  
| <code>void SetPlaybackRate(float flRate) </code>
| <code>void OnAbilityPinged(int nPlayerID, bool bCtrlHeld)</code>
| 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_Ability_Animation_TailSpin.SetPlaybackRate | SetPlaybackRate]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.OnChannelFinish | OnChannelFinish]]  
| <code>void SetPlaybackRate(float flRate) </code>
| <code>void OnChannelFinish(bool bInterrupted)</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.OnChannelThink | OnChannelThink]]  
| <code>void SetPlaybackRate(float flRate) </code>
| <code>void OnChannelThink(float flInterval)</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.OnHeroCalculateStatBonus | OnHeroCalculateStatBonus]]  
| <code>void SetPlaybackRate(float flRate) </code>
| <code>void OnHeroCalculateStatBonus()</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.OnHeroLevelUp | OnHeroLevelUp]]  
| <code>int GetCastCount() </code>
| <code>void OnHeroLevelUp()</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.OnOwnerDied | OnOwnerDied]]  
| <code>handle GetContainer() </code>
| <code>void OnOwnerDied()</code>
| Get the container for this item.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item.GetCost | GetCost]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.OnOwnerSpawned | OnOwnerSpawned]]  
| <code>int GetCost() </code>
| <code>void OnOwnerSpawned()</code>
| Get the item's purchase cost.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item.GetCurrentCharges | GetCurrentCharges]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.OnSpellStart | OnSpellStart]]  
| <code>int GetCurrentCharges() </code>
| <code>void OnSpellStart()</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.OnToggle | OnToggle]]  
| <code>int GetInitialCharges() </code>
| <code>void OnToggle()</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.OnUpgrade | OnUpgrade]]  
| <code>handle GetPurchaser() </code>
| <code>void OnUpgrade()</code>
| Get the purchaser for this item.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item.GetPurchaseTime | GetPurchaseTime]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.PayGoldCost | PayGoldCost]]  
| <code>float GetPurchaseTime() </code>
| <code>void PayGoldCost()</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.PayGoldCostForUpgrade | PayGoldCostForUpgrade]]  
| <code>int GetShareability() </code>
| <code>void PayGoldCostForUpgrade()</code>
| No Description Set
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item.IsAlertableItem | IsAlertableItem]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.PayManaCost | PayManaCost]]  
| <code>bool IsAlertableItem() </code>
| <code>void PayManaCost()</code>
| Returns whether this item is alert-able (right click to ping "Gather for ``item_name`` here")
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item.IsCastOnPickup | IsCastOnPickup]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.PlaysDefaultAnimWhenStolen | PlaysDefaultAnimWhenStolen]]  
| <code>bool IsCastOnPickup() </code>
| <code>bool PlaysDefaultAnimWhenStolen()</code>
| Returns whether this item casts its ability when picked up.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item.IsCombinable | IsCombinable]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.ProcsMagicStick | ProcsMagicStick]]  
| <code>bool IsCombinable() </code>
| <code>bool ProcsMagicStick()</code>
| Returns whether this item can be combined.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item.IsDisassemblable | IsDisassemblable]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.RefCountsModifiers | RefCountsModifiers]]  
| <code>bool IsDisassemblable() </code>
| <code>bool RefCountsModifiers()</code>
| Returns whether this item can be disassembled.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item.IsDroppable | IsDroppable]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.RefreshCharges | RefreshCharges]]  
| <code>bool IsDroppable() </code>
| <code>void RefreshCharges()</code>
| Returns whether this item can be dropped.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item.IsItem | IsItem]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.RefundManaCost | RefundManaCost]]  
| <code>bool IsItem() </code>
| <code>void RefundManaCost()</code>
| Returns whether the handle is an item.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item.IsKillable | IsKillable]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.ResetToggleOnRespawn | ResetToggleOnRespawn]]  
| <code>bool IsKillable() </code>
| <code>bool ResetToggleOnRespawn()</code>
| Returns whether this item can be destroyed on ground.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item.IsMuted | IsMuted]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.SetAbilityIndex | SetAbilityIndex]]  
| <code>bool IsMuted() </code>
| <code>void SetAbilityIndex(int iIndex)</code>
| Returns whether this item is muted.
|
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.SetActivated | SetActivated]]
| <code>void SetActivated(bool bActivated)</code>
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item.IsPermanent | IsPermanent]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.SetChanneling | SetChanneling]]  
| <code>bool IsPermanent() </code>
| <code>void SetChanneling(bool bChanneling)</code>
| Is this a permanent item?
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item.IsPurchasable | IsPurchasable]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.SetFrozenCooldown | SetFrozenCooldown]]  
| <code>bool IsPurchasable() </code>
| <code>void SetFrozenCooldown(bool bFrozenCooldown)</code>
| Returns whether this item can be purchased.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item.IsRecipe | IsRecipe]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.SetHidden | SetHidden]]  
| <code>bool IsRecipe() </code>
| <code>void SetHidden(bool bHidden)</code>
| Returns whether this item is a recipe.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item.IsRecipeGenerated | IsRecipeGenerated]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.SetInAbilityPhase | SetInAbilityPhase]]  
| <code>bool IsRecipeGenerated() </code>
| <code>void SetInAbilityPhase(bool bInAbilityPhase)</code>
|  
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item.IsSellable | IsSellable]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.SetLevel | SetLevel]]  
| <code>bool IsSellable() </code>
| <code>void SetLevel(int iLevel)</code>
| Returns whether this item can be sold.
| Sets the level of this ability.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item.IsStackable | IsStackable]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.SetOverrideCastPoint | SetOverrideCastPoint]]  
| <code>bool IsStackable() </code>
| <code>void SetOverrideCastPoint(float flCastPoint)</code>
| Returns whether this item can be stacked.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item.LaunchLoot | LaunchLoot]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.SetRefCountsModifiers | SetRefCountsModifiers]]  
| <code>void LaunchLoot(bool useOnContact, float height, float flDuration, Vector destination) </code>
| <code>void SetRefCountsModifiers(bool bRefCounts)</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.SetStealable | SetStealable]]  
| <code>void LaunchLootInitialHeight(bool bAutoUse, float flInitialHeight, float flLaunchHeight, float flDuration, Vector vEndPoint) </code>
| <code>void SetStealable(bool bStealable)</code>
|  
|
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.SetStolen | SetStolen]]
| <code>void SetStolen(bool bStolen)</code>
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.SetUpgradeRecommended | SetUpgradeRecommended]]
| <code>void SetUpgradeRecommended(bool bUpgradeRecommended)</code>
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.ShouldUseResources | ShouldUseResources]]
| <code>bool ShouldUseResources()</code>
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item.RequiresCharges | RequiresCharges]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.SpeakAbilityConcept | SpeakAbilityConcept]]  
| <code>bool RequiresCharges() </code>
| <code>void SpeakAbilityConcept(int iConcept)</code>
| Returns whether this item requires charges to be cast.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item.SetCurrentCharges | SetCurrentCharges]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.SpeakTrigger | SpeakTrigger]]  
| <code>void SetCurrentCharges(int iCharges) </code>
| <code><unknown> SpeakTrigger()</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.StartCooldown | StartCooldown]]  
| <code>void SetPurchaser(handle hPurchaser) </code>
| <code>void StartCooldown(float flCooldown)</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.ToggleAbility | ToggleAbility]]  
| <code>void SetPurchaseTime(float flTime) </code>
| <code>void ToggleAbility()</code>
| Set the purchase time of this item
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item.SetStacksWithOtherOwners | SetStacksWithOtherOwners]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.ToggleAutoCast | ToggleAutoCast]]  
| <code>void SetStacksWithOtherOwners(bool bStacksWithOtherOwners) </code>
| <code>void ToggleAutoCast()</code>
| No Description Set
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item.StacksWithOtherOwners | StacksWithOtherOwners]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.UpgradeAbility | UpgradeAbility]]  
| <code>bool StacksWithOtherOwners() </code>
| <code>void UpgradeAbility(bool bSupressSpeech)</code>
| No Description Set
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item.Think | Think]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseAbility.UseResources | UseResources]]  
| <code>void Think() </code>
| <code>void UseResources(bool bMana, bool bGold, bool bCooldown)</code>
| Think this item
|
|}
|}


=== CDOTA_Item_Physical ===
==== CDOTABaseGameMode ====
:::::extends [[#CBaseAnimating| CBaseAnimating]]
:::::extends [[#CBaseEntity|CBaseEntity]]
''No Description Set''
''No Description Set''
{| class="standard-table" style="width: 100%;"
{| class="standard-table" style="width: 100%;"
Line 2,027: Line 2,087:
! Description  
! Description  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item_Physical.GetContainedItem | GetContainedItem]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.AddRealTimeCombatAnalyzerQuery | AddRealTimeCombatAnalyzerQuery]]  
| <code>handle GetContainedItem() </code>
| <code>int AddRealTimeCombatAnalyzerQuery(handle hQueryTable, handle hPlayer, string pszQueryName)</code>
| Returned the contained item.
| Begin tracking a sequence of events using the real time combat analyzer.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item_Physical.GetCreationTime | GetCreationTime]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.AreWeatherEffectsDisabled | AreWeatherEffectsDisabled]]  
| <code>float GetCreationTime() </code>
| <code>bool AreWeatherEffectsDisabled()</code>
| Returns the game time when this item was created in the world
| Get if weather effects are disabled on the client.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item_Physical.SetContainedItem | SetContainedItem]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.ClearBountyRunePickupFilter | ClearBountyRunePickupFilter]]  
| <code>void SetContainedItem(handle hItem) </code>
| <code>void ClearBountyRunePickupFilter()</code>
| Set the contained item.
| Clear the script filter that controls bounty rune pickup behavior.  
|}
 
 
=== 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/CDOTABaseGameMode.ClearDamageFilter | ClearDamageFilter]]  
| <code>void ApplyDataDrivenModifier(handle source, handle target, string modifier_name, handle modifierArgs) </code>
| <code>void ClearDamageFilter()</code>
| Applies a data driven modifier to the target
| Clear the script filter that controls how a unit takes damage.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item_DataDriven.ApplyDataDrivenThinker | ApplyDataDrivenThinker]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.ClearExecuteOrderFilter | ClearExecuteOrderFilter]]  
| <code>handle ApplyDataDrivenThinker(handle hCaster, Vector vLocation, string pszModifierName, handle hModifierTable) </code>
| <code>void ClearExecuteOrderFilter()</code>
| Applies a data driven thinker at the location
| Clear the script filter that controls when a unit picks up an item.
|}
 
 
=== 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/CDOTABaseGameMode.ClearHealingFilter | ClearHealingFilter]]  
| <code>handle GetHorn() </code>
| <code>void ClearHealingFilter()</code>
| Is the Nian horn?
| Clear the script filter that controls how a unit heals.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Unit_Nian.GetTail | GetTail]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.ClearItemAddedToInventoryFilter | ClearItemAddedToInventoryFilter]]  
| <code>handle GetTail() </code>
| <code>void ClearItemAddedToInventoryFilter()</code>
| Is the Nian's tail broken?
| Clear the script filter that controls the item added to inventory filter.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Unit_Nian.IsHornAlive | IsHornAlive]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.ClearModifierGainedFilter | ClearModifierGainedFilter]]  
| <code>bool IsHornAlive() </code>
| <code>void ClearModifierGainedFilter()</code>
| Is the Nian's horn broken?
| Clear the script filter that controls the modifier filter.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Unit_Nian.IsTailAlive | IsTailAlive]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.ClearModifyExperienceFilter | ClearModifyExperienceFilter]]  
| <code>bool IsTailAlive() </code>
| <code>void ClearModifyExperienceFilter()</code>
| Is the Nian's tail broken?
| Clear the script filter that controls how hero experience is modified.
|}
 
 
=== 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/CDOTABaseGameMode.ClearModifyGoldFilter | ClearModifyGoldFilter]]  
| <code>handle GetHMDAvatar() </code>
| <code>void ClearModifyGoldFilter()</code>
| Returns the HMD Avatar entity for this player if it exists.
| Clear the script filter that controls how hero gold is modified.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CBasePlayer.IsNoclipping | IsNoclipping]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.ClearRuneSpawnFilter | ClearRuneSpawnFilter]]  
| <code>bool IsNoclipping() </code>
| <code>void ClearRuneSpawnFilter()</code>
| Returns true if the player is in noclip mode.
| Clear the script filter that controls what rune spawns.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CBasePlayer.IsSteamControllerButtonPressed | IsSteamControllerButtonPressed]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.ClearTrackingProjectileFilter | ClearTrackingProjectileFilter]]  
| <code>bool IsSteamControllerButtonPressed(int nControllerNumber, int nButton) </code>
| <code>void ClearTrackingProjectileFilter()</code>
| Returns true if the controller button is pressed.
| Clear the script filter that controls when tracking projectiles are launched.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CBasePlayer.IsUsePressed | IsUsePressed]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.DisableHudFlip | DisableHudFlip]]  
| <code>bool IsUsePressed() </code>
| <code>void DisableHudFlip(bool bDisable)</code>
| Returns true if the use key is pressed.
| Use to disable hud flip for this mod
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CBasePlayer.IsVRControllerButtonPressed | IsVRControllerButtonPressed]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.GetAlwaysShowPlayerInventory | GetAlwaysShowPlayerInventory]]  
| <code>bool IsVRControllerButtonPressed(int nButton) </code>
| <code>bool GetAlwaysShowPlayerInventory()</code>
| Returns true if the controller button is pressed.
| Show the player hero's inventory in the HUD, regardless of what unit is selected.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CBasePlayer.Quit | Quit]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.GetAlwaysShowPlayerNames | GetAlwaysShowPlayerNames]]  
| <code>void Quit() </code>
| <code>bool GetAlwaysShowPlayerNames()</code>
| Quit the game from script.
| Get whether player names are always shown, regardless of client setting.  
|}
 
 
=== 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/CDOTABaseGameMode.GetAnnouncerDisabled | GetAnnouncerDisabled]]  
| <code>handle GetAssignedHero() </code>
| <code>bool GetAnnouncerDisabled()</code>
| Get the player's hero.
| Are in-game announcers disabled?
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAPlayer.GetControlledRPGUnit | GetControlledRPGUnit]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.GetCameraDistanceOverride | GetCameraDistanceOverride]]  
| <code>handle GetControlledRPGUnit() </code>
| <code>float GetCameraDistanceOverride()</code>
| Get the RPG unit this player controls.
| Set a different camera distance; dota default is 1134.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAPlayer.GetPlayerID | GetPlayerID]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.GetCustomAttributeDerivedStatValue | GetCustomAttributeDerivedStatValue]]  
| <code>int GetPlayerID() </code>
| <code>float GetCustomAttributeDerivedStatValue(int nDerivedStatType, handle hHero)</code>
| Get the player's official PlayerID; notably is -1 when the player isn't yet on a team.
| Get current derived stat value constant.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAPlayer.MakeRandomHeroSelection | MakeRandomHeroSelection]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.GetCustomBackpackCooldownPercent | GetCustomBackpackCooldownPercent]]  
| <code>void MakeRandomHeroSelection() </code>
| <code>float GetCustomBackpackCooldownPercent()</code>
| Randoms this player's hero.
| Get the current rate cooldown ticks down for items in the backpack.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAPlayer.SetKillCamUnit | SetKillCamUnit]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.GetCustomBackpackSwapCooldown | GetCustomBackpackSwapCooldown]]  
| <code>void SetKillCamUnit(handle hEntity) </code>
| <code>float GetCustomBackpackSwapCooldown()</code>
| Set the kill cam unit for this hero.
| Get the current custom backpack swap cooldown.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAPlayer.SetMusicStatus | SetMusicStatus]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.GetCustomBuybackCooldownEnabled | GetCustomBuybackCooldownEnabled]]  
| <code>void SetMusicStatus(int nMusicStatus, float flIntensity) </code>
| <code>bool GetCustomBuybackCooldownEnabled()</code>
| Set the music status for this player, note this will only really apply if dota_music_battle_enable is off.
| Turns on capability to define custom buyback cooldowns.  
|}
 
 
=== 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/CDOTABaseGameMode.GetCustomBuybackCostEnabled | GetCustomBuybackCostEnabled]]  
| <code>void AddAegisPickup(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.AddClaimedFarm | AddClaimedFarm]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.GetCustomGlyphCooldown | GetCustomGlyphCooldown]]  
| <code>void AddClaimedFarm(int iPlayerID, float flFarmValue, bool bEarnedValue) </code>
| <code>float GetCustomGlyphCooldown()</code>
| No Description Set
| Get the current custom glyph cooldown.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.AddGoldSpentOnSupport | AddGoldSpentOnSupport]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.GetCustomHeroMaxLevel | GetCustomHeroMaxLevel]]  
| <code>void AddGoldSpentOnSupport(int iPlayerID, int iCost) </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.AddRunePickup | AddRunePickup]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.GetCustomScanCooldown | GetCustomScanCooldown]]  
| <code>void AddRunePickup(int iPlayerID) </code>
| <code>float GetCustomScanCooldown()</code>
| No Description Set
| Get the current custom scan cooldown.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.AreUnitsSharedWithPlayerID | AreUnitsSharedWithPlayerID]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.GetFixedRespawnTime | GetFixedRespawnTime]]  
| <code>bool AreUnitsSharedWithPlayerID(int nUnitOwnerPlayerID, int nOtherPlayerID) </code>
| <code>float GetFixedRespawnTime()</code>
| No Description Set
| Gets the fixed respawn time.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.ClearKillsMatrix | ClearKillsMatrix]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.GetFogOfWarDisabled | GetFogOfWarDisabled]]  
| <code>void ClearKillsMatrix(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.ClearLastHitMultikill | ClearLastHitMultikill]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.GetGoldSoundDisabled | GetGoldSoundDisabled]]  
| <code>void ClearLastHitMultikill(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.ClearLastHitStreak | ClearLastHitStreak]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.GetHUDVisible | GetHUDVisible]]  
| <code>void ClearLastHitStreak(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.ClearRawPlayerDamageMatrix | ClearRawPlayerDamageMatrix]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.GetMaximumAttackSpeed | GetMaximumAttackSpeed]]  
| <code>void ClearRawPlayerDamageMatrix(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.ClearStreak | ClearStreak]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.GetMinimumAttackSpeed | GetMinimumAttackSpeed]]  
| <code>void ClearStreak(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.GetAegisPickups | GetAegisPickups]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.GetRecommendedItemsDisabled | GetRecommendedItemsDisabled]]  
| <code>int GetAegisPickups(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.GetAssists | GetAssists]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.GetRespawnTimeScale | GetRespawnTimeScale]]  
| <code>int GetAssists(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.GetBroadcasterChannel | GetBroadcasterChannel]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.GetStashPurchasingDisabled | GetStashPurchasingDisabled]]  
| <code>unsigned GetBroadcasterChannel(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.GetBroadcasterChannelSlot | GetBroadcasterChannelSlot]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.GetStickyItemDisabled | GetStickyItemDisabled]]  
| <code>unsigned GetBroadcasterChannelSlot(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.GetClaimedDenies | GetClaimedDenies]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.GetTopBarTeamValuesOverride | GetTopBarTeamValuesOverride]]  
| <code>int GetClaimedDenies(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.GetClaimedFarm | GetClaimedFarm]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.GetTopBarTeamValuesVisible | GetTopBarTeamValuesVisible]]  
| <code>float GetClaimedFarm(int iPlayerID, bool bOnlyEarned) </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.GetClaimedMisses | GetClaimedMisses]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.GetTowerBackdoorProtectionEnabled | GetTowerBackdoorProtectionEnabled]]  
| <code>int GetClaimedMisses(int iPlayerID) </code>
| <code>bool GetTowerBackdoorProtectionEnabled()</code>
| No Description Set
| Gets whether tower backdoor protection is enabled or not.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.GetConnectionState | GetConnectionState]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.GetUseCustomHeroLevels | GetUseCustomHeroLevels]]  
| <code>int GetConnectionState(int iPlayerID) </code>
| <code>bool GetUseCustomHeroLevels()</code>
| Returns a status code indication the connection state of the player. 0 - no connection. 1 - bot connected. 2 - player connected. 3 bot/player disconnected.
| Are custom-defined XP values for hero level ups in use?
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.GetCreepDamageTaken | GetCreepDamageTaken]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.IsBuybackEnabled | IsBuybackEnabled]]  
| <code>int GetCreepDamageTaken(int iPlayerID, bool bTotal) </code>
| <code>bool IsBuybackEnabled()</code>
| No Description Set
| Enables or disables buyback completely.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.GetCustomBuybackCooldown | GetCustomBuybackCooldown]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.IsDaynightCycleDisabled | IsDaynightCycleDisabled]]  
| <code>float GetCustomBuybackCooldown(int iPlayerID) </code>
| <code>bool IsDaynightCycleDisabled()</code>
| No Description Set
| Is the day/night cycle disabled?
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.GetCustomBuybackCost | GetCustomBuybackCost]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.ListenForQueryFailed | ListenForQueryFailed]]  
| <code>int GetCustomBuybackCost(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.GetCustomTeamAssignment | GetCustomTeamAssignment]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.ListenForQueryProgressChanged | ListenForQueryProgressChanged]]  
| <code>int GetCustomTeamAssignment(int playerIndex) </code>
| <code>void ListenForQueryProgressChanged(handle hFunction, handle hContext)</code>
| Returns the team number that the player should join
| Set function and context for real time combat analyzer query progress changed.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.GetDamageDoneToHero | GetDamageDoneToHero]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.ListenForQuerySucceeded | ListenForQuerySucceeded]]  
| <code>int GetDamageDoneToHero(int iPlayerID, int iVictimID) </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.GetDeaths | GetDeaths]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.RemoveRealTimeCombatAnalyzerQuery | RemoveRealTimeCombatAnalyzerQuery]]  
| <code>int GetDeaths(int iPlayerID) </code>
| <code>void RemoveRealTimeCombatAnalyzerQuery(int nQueryID)</code>
| No Description Set
| Stop tracking a combat analyzer query.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.GetDenies | GetDenies]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.SetAbilityTuningValueFilter | SetAbilityTuningValueFilter]]  
| <code>int GetDenies(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.GetEventPointsForPlayerID | GetEventPointsForPlayerID]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.SetAlwaysShowPlayerInventory | SetAlwaysShowPlayerInventory]]  
| <code>int GetEventPointsForPlayerID(int iPlayerID) </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.GetEventPremiumPointsGranted | GetEventPremiumPointsGranted]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.SetAlwaysShowPlayerNames | SetAlwaysShowPlayerNames]]  
| <code>int GetEventPremiumPointsGranted(int iPlayerID) </code>
| <code>void SetAlwaysShowPlayerNames(bool bEnabled)</code>
| No Description Set
| Set whether player names are always shown, regardless of client setting.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.GetEventRankGranted | GetEventRankGranted]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.SetAnnouncerDisabled | SetAnnouncerDisabled]]  
| <code>int GetEventRankGranted(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.GetGold | GetGold]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.SetBotThinkingEnabled | SetBotThinkingEnabled]]  
| <code>int GetGold(int playerID) </code>
| <code>void SetBotThinkingEnabled(bool bEnabled)</code>
| Returns how much gold the specified player currently has
| 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.GetGoldBagsCollected | GetGoldBagsCollected]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.SetBotsAlwaysPushWithHuman | SetBotsAlwaysPushWithHuman]]  
| <code>int GetGoldBagsCollected(int iPlayerID) </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.GetGoldLostToDeath | GetGoldLostToDeath]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.SetBotsInLateGame | SetBotsInLateGame]]  
| <code>int GetGoldLostToDeath(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.GetGoldPerMin | GetGoldPerMin]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.SetBotsMaxPushTier | SetBotsMaxPushTier]]  
| <code>float GetGoldPerMin(int iPlayerID) </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.GetGoldSpentOnBuybacks | GetGoldSpentOnBuybacks]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.SetBountyRunePickupFilter | SetBountyRunePickupFilter]]  
| <code>int GetGoldSpentOnBuybacks(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.GetGoldSpentOnConsumables | GetGoldSpentOnConsumables]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.SetBountyRuneSpawnInterval | SetBountyRuneSpawnInterval]]  
| <code>int GetGoldSpentOnConsumables(int iPlayerID) </code>
| <code>void SetBountyRuneSpawnInterval(float flInterval)</code>
| No Description Set
| Set bounty rune spawn rate
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.GetGoldSpentOnItems | GetGoldSpentOnItems]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.SetBuybackEnabled | SetBuybackEnabled]]  
| <code>int GetGoldSpentOnItems(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.GetGoldSpentOnSupport | GetGoldSpentOnSupport]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.SetCameraDistanceOverride | SetCameraDistanceOverride]]  
| <code>int GetGoldSpentOnSupport(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.GetHealing | GetHealing]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.SetCameraSmoothCountOverride | SetCameraSmoothCountOverride]]  
| <code>float GetHealing(int iPlayerID) </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.GetHeroDamageTaken | GetHeroDamageTaken]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.SetCustomAttributeDerivedStatValue | SetCustomAttributeDerivedStatValue]]  
| <code>int GetHeroDamageTaken(int iPlayerID, bool bTotal) </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.GetKills | GetKills]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.SetCustomBackpackCooldownPercent | SetCustomBackpackCooldownPercent]]  
| <code>int GetKills(int playerID) </code>
| <code>void SetCustomBackpackCooldownPercent(float flPercent)</code>
| Return how many kills the specified player currently gets
| Set the rate cooldown ticks down for items in the backpack.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.GetKillsDoneToHero | GetKillsDoneToHero]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.SetCustomBackpackSwapCooldown | SetCustomBackpackSwapCooldown]]  
| <code>int GetKillsDoneToHero(int attackerPlayerID, int victimPlayerID) </code>
| <code>void SetCustomBackpackSwapCooldown(float flCooldown)</code>
| Returns the number of times the attacker (first argument) has killed the victim (second argument)
| Set a custom cooldown for swapping items into the backpack.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.GetLastHitMultikill | GetLastHitMultikill]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.SetCustomBuybackCooldownEnabled | SetCustomBuybackCooldownEnabled]]  
| <code>int GetLastHitMultikill(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.GetLastHits | GetLastHits]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.SetCustomBuybackCostEnabled | SetCustomBuybackCostEnabled]]  
| <code>int GetLastHits(int playerID) </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.GetLastHitStreak | GetLastHitStreak]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.SetCustomGameForceHero | SetCustomGameForceHero]]  
| <code>int GetLastHitStreak(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.GetLevel | GetLevel]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.SetCustomGlyphCooldown | SetCustomGlyphCooldown]]  
| <code>int GetLevel(int playerID) </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.GetMisses | GetMisses]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.SetCustomHeroMaxLevel | SetCustomHeroMaxLevel]]  
| <code>int GetMisses(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.GetNearbyCreepDeaths | GetNearbyCreepDeaths]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.SetCustomScanCooldown | SetCustomScanCooldown]]  
| <code>int GetNearbyCreepDeaths(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.GetNthCourierForTeam | GetNthCourierForTeam]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.SetCustomTerrainWeatherEffect | SetCustomTerrainWeatherEffect]]  
| <code>handle GetNthCourierForTeam(int nCourierIndex, int nTeamNumber) </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.GetNthPlayerIDOnTeam | GetNthPlayerIDOnTeam]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.SetCustomXPRequiredToReachNextLevel | SetCustomXPRequiredToReachNextLevel]]  
| <code>int GetNthPlayerIDOnTeam(int iTeamNumber, int iNthPlayer) </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.GetNumConsumablesPurchased | GetNumConsumablesPurchased]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.SetDamageFilter | SetDamageFilter]]  
| <code>int GetNumConsumablesPurchased(int iPlayerID) </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.GetNumCouriersForTeam | GetNumCouriersForTeam]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.SetDaynightCycleDisabled | SetDaynightCycleDisabled]]  
| <code>int GetNumCouriersForTeam(int nTeamNumber) </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.GetNumItemsPurchased | GetNumItemsPurchased]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.SetDeathOverlayDisabled | SetDeathOverlayDisabled]]  
| <code>int GetNumItemsPurchased(int iPlayerID) </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.GetOriginalLobbyTeam | GetOriginalLobbyTeam]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.SetDraftingBanningTimeOverride | SetDraftingBanningTimeOverride]]  
| <code>int GetOriginalLobbyTeam(int iPlayerID) </code>
| <code>void SetDraftingBanningTimeOverride(float flValue)</code>
| The team this player was originally assigned in the lobby. DOTA_TEAM_NOTEAM if no lobby info.
| Set drafting hero banning time
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.GetPlayer | GetPlayer]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.SetDraftingHeroPickSelectTimeOverride | SetDraftingHeroPickSelectTimeOverride]]  
| <code>handle GetPlayer(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.GetPlayerCount | GetPlayerCount]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.SetExecuteOrderFilter | SetExecuteOrderFilter]]  
| <code>int GetPlayerCount() </code>
| <code>void SetExecuteOrderFilter(handle hFunction, handle hContext)</code>
| Includes spectators and players not assigned to a team
| 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.GetPlayerCountForTeam | GetPlayerCountForTeam]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.SetFixedRespawnTime | SetFixedRespawnTime]]  
| <code>int GetPlayerCountForTeam(int iTeam) </code>
| <code>void SetFixedRespawnTime(float flFixedRespawnTime)</code>
|  
| Set a fixed delay for all players to respawn after.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.GetPlayerLoadedCompletely | GetPlayerLoadedCompletely]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.SetFogOfWarDisabled | SetFogOfWarDisabled]]  
| <code>bool GetPlayerLoadedCompletely(int iPlayerID) </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.GetPlayerName | GetPlayerName]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.SetFountainConstantManaRegen | SetFountainConstantManaRegen]]  
| <code>string GetPlayerName(int iPlayerID) </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.GetPlayerReservedState | GetPlayerReservedState]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.SetFountainPercentageHealthRegen | SetFountainPercentageHealthRegen]]  
| <code>bool GetPlayerReservedState(int iPlayerID) </code>
| <code>void SetFountainPercentageHealthRegen(float flPercentageHealthRegen)</code>
| No Description Set
| Set the percentage rate that the fountain will regen health. (-1 for default)
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.GetRawPlayerDamage | GetRawPlayerDamage]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.SetFountainPercentageManaRegen | SetFountainPercentageManaRegen]]  
| <code>int GetRawPlayerDamage(int iPlayerID) </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.GetReliableGold | GetReliableGold]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.SetFreeCourierModeEnabled | SetFreeCourierModeEnabled]]  
| <code>int GetReliableGold(int playerID) </code>
| <code>void SetFreeCourierModeEnabled(bool bEnabled)</code>
| Returns how much reliable gold the specified player currently has
| If set to true, enable 7.23 free courier mode.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.GetRespawnSeconds | GetRespawnSeconds]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.SetFriendlyBuildingMoveToEnabled | SetFriendlyBuildingMoveToEnabled]]  
| <code>int GetRespawnSeconds(int iPlayerID) </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.GetRoshanKills | GetRoshanKills]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.SetGoldSoundDisabled | SetGoldSoundDisabled]]  
| <code>int GetRoshanKills(int iPlayerID) </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.GetRunePickups | GetRunePickups]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.SetHUDVisible | SetHUDVisible]]  
| <code>int GetRunePickups(int iPlayerID) </code>
| <code>void SetHUDVisible(int iHUDElement, bool bVisible)</code>
| No Description Set
| Set the HUD element visibility.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.GetSelectedHeroEntity | GetSelectedHeroEntity]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.SetHealingFilter | SetHealingFilter]]  
| <code>handle GetSelectedHeroEntity(int iPlayerID) </code>
| <code>void SetHealingFilter(handle hFunction, handle hContext)</code>
| No Description Set
| 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.GetSelectedHeroID | GetSelectedHeroID]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.SetHudCombatEventsDisabled | SetHudCombatEventsDisabled]]  
| <code>int GetSelectedHeroID(int iPlayerID) </code>
| <code>void SetHudCombatEventsDisabled(bool bDisabled)</code>
| No Description Set
| Specify whether the default combat events will show in the HUD.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.GetSelectedHeroName | GetSelectedHeroName]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.SetItemAddedToInventoryFilter | SetItemAddedToInventoryFilter]]  
| <code>string GetSelectedHeroName(int iPlayerID) </code>
| <code>void SetItemAddedToInventoryFilter(handle hFunction, handle hContext)</code>
| No Description Set
| 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.GetSteamAccountID | GetSteamAccountID]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.SetKillableTombstones | SetKillableTombstones]]  
| <code>unsigned GetSteamAccountID(int iPlayerID) </code>
| <code>void SetKillableTombstones(bool bEnabled)</code>
| Return player steamID32
| Set whether tombstones can be channeled to be removed by enemy heroes.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.GetSteamID | GetSteamID]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.SetKillingSpreeAnnouncerDisabled | SetKillingSpreeAnnouncerDisabled]]  
| <code>unsigned GetSteamID(int iPlayerID) </code>
| <code>void SetKillingSpreeAnnouncerDisabled(bool bDisabled)</code>
| Return player steamID64
| Mutes the in-game killing spree announcer.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.GetStreak | GetStreak]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.SetLoseGoldOnDeath | SetLoseGoldOnDeath]]  
| <code>int GetStreak(int iPlayerID) </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.GetStuns | GetStuns]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.SetMaximumAttackSpeed | SetMaximumAttackSpeed]]  
| <code>float GetStuns(int iPlayerID) </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.GetTeam | GetTeam]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.SetMinimumAttackSpeed | SetMinimumAttackSpeed]]  
| <code>int GetTeam(int iPlayerID) </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.GetTeamKills | GetTeamKills]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.SetModifierGainedFilter | SetModifierGainedFilter]]  
| <code>int GetTeamKills(int iTeam) </code>
| <code>void SetModifierGainedFilter(handle hFunction, handle hContext)</code>
| No Description Set
| Set a filter function to control modifiers that are gained, return false to destroy modifier.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.GetTeamPlayerCount | GetTeamPlayerCount]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.SetModifyExperienceFilter | SetModifyExperienceFilter]]  
| <code>int GetTeamPlayerCount() </code>
| <code>void SetModifyExperienceFilter(handle hFunction, handle hContext)</code>
| Players on a valid team (radiant, dire, or custom*) who haven't abandoned the game
| 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.GetTimeOfLastConsumablePurchase | GetTimeOfLastConsumablePurchase]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.SetModifyGoldFilter | SetModifyGoldFilter]]  
| <code>float GetTimeOfLastConsumablePurchase(int iPlayerID) </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.GetTimeOfLastDeath | GetTimeOfLastDeath]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.SetOverrideSelectionEntity | SetOverrideSelectionEntity]]  
| <code>float GetTimeOfLastDeath(int iPlayerID) </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.GetTimeOfLastItemPurchase | GetTimeOfLastItemPurchase]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.SetPauseEnabled | SetPauseEnabled]]  
| <code>float GetTimeOfLastItemPurchase(int iPlayerID) </code>
| <code>void SetPauseEnabled(bool bEnabled)</code>
| No Description Set
| Set pausing enabled/disabled
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.GetTotalEarnedGold | GetTotalEarnedGold]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.SetPowerRuneSpawnInterval | SetPowerRuneSpawnInterval]]  
| <code>int GetTotalEarnedGold(int iPlayerID) </code>
| <code>void SetPowerRuneSpawnInterval(float flInterval)</code>
| No Description Set
| Set power rune spawn rate
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.GetTotalEarnedXP | GetTotalEarnedXP]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.SetRecommendedItemsDisabled | SetRecommendedItemsDisabled]]  
| <code>int GetTotalEarnedXP(int iPlayerID) </code>
| <code>void SetRecommendedItemsDisabled(bool bDisabled)</code>
| No Description Set
| Turn the panel for showing recommended items at the shop off/on.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.GetTotalGoldSpent | GetTotalGoldSpent]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.SetRemoveIllusionsOnDeath | SetRemoveIllusionsOnDeath]]  
| <code>int GetTotalGoldSpent(int iPlayerID) </code>
| <code>void SetRemoveIllusionsOnDeath(bool bRemove)</code>
| No Description Set
| Make it so illusions are immediately removed upon death, rather than sticking around for a few seconds.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.GetTowerDamageTaken | GetTowerDamageTaken]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.SetRespawnTimeScale | SetRespawnTimeScale]]  
| <code>int GetTowerDamageTaken(int iPlayerID, bool bTotal) </code>
| <code>void SetRespawnTimeScale(float flValue)</code>
| No Description Set
| Sets the scale applied to non-fixed respawn times. 1 = default DOTA respawn calculations.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.GetTowerKills | GetTowerKills]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.SetRuneEnabled | SetRuneEnabled]]  
| <code>int GetTowerKills(int iPlayerID) </code>
| <code>void SetRuneEnabled(int nRune, bool bEnabled)</code>
| No Description Set
| Set if a given type of rune is enabled.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.GetUnitShareMaskForPlayer | GetUnitShareMaskForPlayer]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.SetRuneSpawnFilter | SetRuneSpawnFilter]]  
| <code>int GetUnitShareMaskForPlayer(int nPlayerID, int nOtherPlayerID) </code>
| <code>void SetRuneSpawnFilter(handle hFunction, handle hContext)</code>
| No Description Set
| 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_PlayerResource.GetUnreliableGold | GetUnreliableGold]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.SetSelectionGoldPenaltyEnabled | SetSelectionGoldPenaltyEnabled]]  
| <code>int GetUnreliableGold(int playerID) </code>
| <code>void SetSelectionGoldPenaltyEnabled(bool bEnabled)</code>
| Returns how much unreliable gold the specified player currently has
| Enable/disable gold penalty for late picking.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.GetXPPerMin | GetXPPerMin]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.SetStashPurchasingDisabled | SetStashPurchasingDisabled]]  
| <code>float GetXPPerMin(int iPlayerID) </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_PlayerResource.HasCustomGameTicketForPlayerID | HasCustomGameTicketForPlayerID]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.SetStickyItemDisabled | SetStickyItemDisabled]]  
| <code>bool HasCustomGameTicketForPlayerID(int iPlayerID) </code>
| <code>void SetStickyItemDisabled(bool bDisabled)</code>
| Return true if player has pass
| Hide the sticky item in the quickbuy.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.HasRandomed | HasRandomed]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.SetTopBarTeamValue | SetTopBarTeamValue]]  
| <code>bool HasRandomed(int iPlayerID) </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_PlayerResource.HasRepicked | HasRepicked]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.SetTopBarTeamValuesOverride | SetTopBarTeamValuesOverride]]  
| <code>bool HasRepicked(int playerID) </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_PlayerResource.HasSelectedHero | HasSelectedHero]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.SetTopBarTeamValuesVisible | SetTopBarTeamValuesVisible]]  
| <code>bool HasSelectedHero(int iPlayerID) </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_PlayerResource.HaveAllPlayersJoined | HaveAllPlayersJoined]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.SetTowerBackdoorProtectionEnabled | SetTowerBackdoorProtectionEnabled]]  
| <code>bool HaveAllPlayersJoined() </code>
| <code>void SetTowerBackdoorProtectionEnabled(bool bEnabled)</code>
| No Description Set
| Enables/Disables tower backdoor protection.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.HeroLevelUp | HeroLevelUp]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.SetTrackingProjectileFilter | SetTrackingProjectileFilter]]  
| <code>void HeroLevelUp(int iPlayerID) </code>
| <code>void SetTrackingProjectileFilter(handle hFunction, handle hContext)</code>
| No Description Set
| 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_PlayerResource.IncrementAssists | IncrementAssists]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.SetUnseenFogOfWarEnabled | SetUnseenFogOfWarEnabled]]  
| <code>void IncrementAssists(int playerID, int iVictimID) </code>
| <code>void SetUnseenFogOfWarEnabled(bool bEnabled)</code>
| No Description Set
| 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_PlayerResource.IncrementClaimedDenies | IncrementClaimedDenies]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.SetUseCustomHeroLevels | SetUseCustomHeroLevels]]  
| <code>void IncrementClaimedDenies(int iPlayerID) </code>
| <code>void SetUseCustomHeroLevels(bool bEnabled)</code>
| No Description Set
| 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_PlayerResource.IncrementClaimedMisses | IncrementClaimedMisses]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.SetUseDefaultDOTARuneSpawnLogic | SetUseDefaultDOTARuneSpawnLogic]]  
| <code>void IncrementClaimedMisses(int iPlayerID) </code>
| <code>void SetUseDefaultDOTARuneSpawnLogic(bool bEnabled)</code>
| No Description Set
| If set to true, use current rune spawn rules.  Either setting respects custom spawn intervals.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.IncrementDeaths | IncrementDeaths]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.SetWeatherEffectsDisabled | SetWeatherEffectsDisabled]]  
| <code>void IncrementDeaths(int playerID, int iKillerID) </code>
| <code>void SetWeatherEffectsDisabled(bool bDisable)</code>
| No Description Set
| 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_PlayerResource.IncrementDenies | IncrementDenies]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGameManager.GetHeroDataByName_Script | GetHeroDataByName_Script]]  
| <code>void IncrementDenies(int iPlayerID) </code>
| <code>table GetHeroDataByName_Script(string string_1)</code>
| No Description Set
| Get the hero unit 
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.IncrementGoldBagsCollected | IncrementGoldBagsCollected]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGameManager.GetHeroIDByName | GetHeroIDByName]]  
| <code>void IncrementGoldBagsCollected(int iPlayerID) </code>
| <code>int GetHeroIDByName(string string_1)</code>
| No Description Set
| Get the hero ID given the hero name.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.IncrementKills | IncrementKills]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGameManager.GetHeroNameByID | GetHeroNameByID]]  
| <code>void IncrementKills(int playerID, int kills) </code>
| <code>string GetHeroNameByID(int int_1)</code>
| No Description Set
| Get the hero name given a hero ID.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.IncrementLastHitMultikill | IncrementLastHitMultikill]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGameManager.GetHeroNameForUnitName | GetHeroNameForUnitName]]  
| <code>void IncrementLastHitMultikill(int iPlayerID) </code>
| <code>string GetHeroNameForUnitName(string string_1)</code>
| No Description Set
| Get the hero name given a unit name.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.IncrementLastHits | IncrementLastHits]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGameManager.GetHeroUnitNameByID | GetHeroUnitNameByID]]  
| <code>void IncrementLastHits(int iPlayerID) </code>
| <code>string GetHeroUnitNameByID(int int_1)</code>
| No Description Set
| 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_PlayerResource.IncrementLastHitStreak | IncrementLastHitStreak]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.AddBotPlayerWithEntityScript | AddBotPlayerWithEntityScript]]  
| <code>void IncrementLastHitStreak(int iPlayerID) </code>
| <code>handle AddBotPlayerWithEntityScript(string string_1, string string_2, int int_3, string string_4)</code>
| No Description Set
| Spawn a bot player of the passed hero name, player name, and team.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.IncrementMisses | IncrementMisses]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.AddEventMetadataLeaderboardEntry | AddEventMetadataLeaderboardEntry]]  
| <code>void IncrementMisses(int iPlayerID) </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>
| No Description Set
| Event-only ( string szNameSuffix, int nStars, int nMaxStars, int nExtraData1, int nExtraData2 )
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.IncrementNearbyCreepDeaths | IncrementNearbyCreepDeaths]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.AddItemToWhiteList | AddItemToWhiteList]]  
| <code>void IncrementNearbyCreepDeaths(int iPlayerID) </code>
| <code>void AddItemToWhiteList(string string_1)</code>
| No Description Set
| Add an item to the whitelist
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.IncrementStreak | IncrementStreak]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.AddMinimapDebugPoint | AddMinimapDebugPoint]]  
| <code>void IncrementStreak(int iPlayerID) </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>
| No Description Set
| Add a point on the minimap.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.IncrementTotalEarnedXP | IncrementTotalEarnedXP]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.AddMinimapDebugPointForTeam | AddMinimapDebugPointForTeam]]  
| <code>void IncrementTotalEarnedXP(int iPlayerID, int iXP, int nReason) </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>
| No Description Set
| Add a point on the minimap for a specific team.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.IsBroadcaster | IsBroadcaster]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.BeginNightstalkerNight | BeginNightstalkerNight]]  
| <code>bool IsBroadcaster(int iPlayerID) </code>
| <code>void BeginNightstalkerNight(float float_1)</code>
| No Description Set
| Begin night stalker night.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.IsDisableHelpSetForPlayerID | IsDisableHelpSetForPlayerID]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.BeginTemporaryNight | BeginTemporaryNight]]  
| <code>bool IsDisableHelpSetForPlayerID(int nPlayerID, int nOtherPlayerID) </code>
| <code>void BeginTemporaryNight(float float_1)</code>
| No Description Set
| Begin temporary night.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.IsFakeClient | IsFakeClient]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.BotPopulate | BotPopulate]]  
| <code>bool IsFakeClient(int iPlayerID) </code>
| <code>void BotPopulate()</code>
| No Description Set
| Fills all the teams with bots if cheat mode is enabled.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.IsHeroSelected | IsHeroSelected]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.Defeated | Defeated]]  
| <code>bool IsHeroSelected(string pHeroname) </code>
| <code>void Defeated()</code>
| No Description Set
| Kills the ancient, etc.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.IsHeroSharedWithPlayerID | IsHeroSharedWithPlayerID]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.DidMatchSignoutTimeOut | DidMatchSignoutTimeOut]]  
| <code>bool IsHeroSharedWithPlayerID(int nUnitOwnerPlayerID, int nOtherPlayerID) </code>
| <code>bool DidMatchSignoutTimeOut()</code>
| No Description Set
| true when we have waited some time after end of the game and not received signout
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.IsValidPlayer | IsValidPlayer]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.EnableCustomGameSetupAutoLaunch | EnableCustomGameSetupAutoLaunch]]  
| <code>bool IsValidPlayer(int playerID) </code>
| <code>void EnableCustomGameSetupAutoLaunch(bool bool_1)</code>
| No Description Set
| Enabled (true) or disable (false) auto launch for custom game setup.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.IsValidPlayerID | IsValidPlayerID]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.FinishCustomGameSetup | FinishCustomGameSetup]]  
| <code>bool IsValidPlayerID(int playerID) </code>
| <code>void FinishCustomGameSetup()</code>
| No Description Set
| Indicate that the custom game setup phase is complete, and advance to the game.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.IsValidTeamPlayer | IsValidTeamPlayer]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.ForceCreepSpawn | ForceCreepSpawn]]  
| <code>bool IsValidTeamPlayer(int playerID) </code>
| <code>void ForceCreepSpawn()</code>
| No Description Set
| Spawn the next wave of creeps.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.IsValidTeamPlayerID | IsValidTeamPlayerID]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.ForceGameStart | ForceGameStart]]  
| <code>bool IsValidTeamPlayerID(int playerID) </code>
| <code>void ForceGameStart()</code>
| No Description Set
| Transition game state to DOTA_GAMERULES_STATE_GAME_IN_PROGRESS
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.ModifyGold | ModifyGold]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.GetCustomGameDifficulty | GetCustomGameDifficulty]]  
| <code>int ModifyGold(int playerID, int goldAmmt, bool reliable, int nReason) </code>
| <code>int GetCustomGameDifficulty()</code>
| No Description Set
| Returns the difficulty level of the custom game mode
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.NumPlayers| NumPlayers]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.GetCustomGameTeamMaxPlayers | GetCustomGameTeamMaxPlayers]]  
| <code>int NumPlayers() </code>
| <code>int GetCustomGameTeamMaxPlayers(int int_1)</code>
| No Description Set
| Get whether a team is selectable during game setup
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.ReplaceHeroWith | ReplaceHeroWith]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.GetDOTATime | GetDOTATime]]  
| <code>handle ReplaceHeroWith(int iPlayerID, string pszHeroClass, int nGold, int nXP) </code>
| <code>float GetDOTATime(bool bool_1, bool bool_2)</code>
| (playerID, heroClassName, gold, XP) - replaces the player's hero with a new one of the specified class, gold and XP
| (b IncludePregameTime b IncludeNegativeTime) Returns the actual DOTA in-game clock time.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.ResetBuybackCostTime | ResetBuybackCostTime]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.GetDifficulty | GetDifficulty]]  
| <code>void ResetBuybackCostTime(int nPlayerID) </code>
| <code>int GetDifficulty()</code>
| No Description Set
| Returns difficulty level of the custom game mode
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.ResetTotalEarnedGold | ResetTotalEarnedGold]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.GetDroppedItem | GetDroppedItem]]  
| <code>void ResetTotalEarnedGold(int iPlayerID) </code>
| <code>handle GetDroppedItem(int int_1)</code>
| No Description Set
| Gets the Xth dropped item
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.SetBuybackCooldownTime | SetBuybackCooldownTime]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.GetGameFrameTime | GetGameFrameTime]]  
| <code>void SetBuybackCooldownTime(int nPlayerID, float flBuybackCooldown) </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_PlayerResource.SetBuybackGoldLimitTime | SetBuybackGoldLimitTime]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.GetGameModeEntity | GetGameModeEntity]]  
| <code>void SetBuybackGoldLimitTime(int nPlayerID, float flBuybackCooldown) </code>
| <code>handle GetGameModeEntity()</code>
| No Description Set
| Get the game mode entity
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.SetCameraTarget | SetCameraTarget]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.GetGameSessionConfigValue | GetGameSessionConfigValue]]  
| <code>void SetCameraTarget(int nPlayerID, handle hTarget) </code>
| <code>string GetGameSessionConfigValue(string string_1, string string_2)</code>
| (playerID, entity) - force the given player's camera to follow the given entity
| Get a string value from the game session config (map options)  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.SetCustomBuybackCooldown | SetCustomBuybackCooldown]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.GetGameTime | GetGameTime]]  
| <code>void SetCustomBuybackCooldown(int iPlayerID, float flCooldownTime) </code>
| <code>float GetGameTime()</code>
| Set the buyback cooldown for this player.
| 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_PlayerResource.SetCustomBuybackCost | SetCustomBuybackCost]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.GetMatchID | GetMatchID]]  
| <code>void SetCustomBuybackCost(int iPlayerID, int iGoldCost) </code>
| <code>uint64 GetMatchID()</code>
| Set the buyback cost for this player.
| Get the MatchID for this game.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.SetCustomPlayerColor | SetCustomPlayerColor]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.GetMatchSignoutComplete | GetMatchSignoutComplete]]  
| <code>void SetCustomPlayerColor(int iPlayerID, int r, int g, int b) </code>
| <code>bool GetMatchSignoutComplete()</code>
| Set custom color for player (minimap, scoreboard, etc)
| Have we received the post match signout message that includes reward information
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.SetCustomTeamAssignment | SetCustomTeamAssignment]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.GetNianTotalDamageTaken | GetNianTotalDamageTaken]]  
| <code>void SetCustomTeamAssignment(int playerIndex, int teamToJoin) </code>
| <code>int GetNianTotalDamageTaken()</code>
| Sets the team that the player should join
| For New Bloom, get total damage taken by the Nian / Year Beast
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.SetGold | SetGold]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.GetPlayerCustomGameAccountRecord | GetPlayerCustomGameAccountRecord]]  
| <code>void SetGold(int playerID, int amount, bool reliableGold) </code>
| <code>table GetPlayerCustomGameAccountRecord(int int_1)</code>
| Sets the reliable/unreliable gold of the specified player
| (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_PlayerResource.SetHasRandomed | SetHasRandomed]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.GetStateTransitionTime | GetStateTransitionTime]]  
| <code>void SetHasRandomed(int playerID) </code>
| <code>float GetStateTransitionTime()</code>
| No Description Set
| Get time remaining between state changes.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.SetHasRepicked | SetHasRepicked]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.GetTimeOfDay | GetTimeOfDay]]  
| <code>void SetHasRepicked(int playerID) </code>
| <code>float GetTimeOfDay()</code>
| No Description Set
| Get the time of day
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.SetLastBuybackTime | SetLastBuybackTime]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.GetWeatherWindDirection | GetWeatherWindDirection]]  
| <code>void SetLastBuybackTime(int iPlayerID, int iLastBuybackTime) </code>
| <code>Vector GetWeatherWindDirection()</code>
| No Description Set
| Get Weather Wind Direction Vector
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.SetOverrideSelectionEntity | SetOverrideSelectionEntity]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.IsCheatMode | IsCheatMode]]  
| <code>void SetOverrideSelectionEntity(int nPlayerID, handle hEntity) </code>
| <code>bool IsCheatMode()</code>
| Set the forced selection entity for a player.
| Are cheats enabled on the server
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.SetPlayerReservedState | SetPlayerReservedState]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.IsDaytime | IsDaytime]]  
| <code>void SetPlayerReservedState(int iPlayerID, bool bReserved) </code>
| <code>bool IsDaytime()</code>
| No Description Set
| Is it day time?
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.SetUnitShareMaskForPlayer | SetUnitShareMaskForPlayer]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.IsGamePaused | IsGamePaused]]  
| <code>void SetUnitShareMaskForPlayer(int nPlayerID, int nOtherPlayerID, int nFlag, bool bState) </code>
| <code>bool IsGamePaused()</code>
| No Description Set
| Returns whether the game is paused.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.SpendGold | SpendGold]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.IsHeroRespawnEnabled | IsHeroRespawnEnabled]]  
| <code>void SpendGold(int playerID, int amount, int reason) </code>
| <code>bool IsHeroRespawnEnabled()</code>
| No Description Set
| Returns whether hero respawn is enabled.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.UpdateTeamSlot | UpdateTeamSlot]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.IsInBanPhase | IsInBanPhase]]  
| <code>void UpdateTeamSlot(int iPlayerID, int iTeamNumber, bool bFromLobby) </code>
| <code>bool IsInBanPhase()</code>
| No Description Set
| Are we in the ban phase of hero pick?
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.WhoSelectedHero | WhoSelectedHero]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.IsItemInWhiteList | IsItemInWhiteList]]  
| <code>int WhoSelectedHero(string pHeroFilename) </code>
| <code>bool IsItemInWhiteList(string string_1)</code>
| No Description Set
| Query an item in the whitelist
|}
 
=== 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/CDOTAGamerules.IsNightstalkerNight | IsNightstalkerNight]]  
| <code>handle AddAbility(string pszAbilityName)</code>
| <code>bool IsNightstalkerNight()</code>
| Add an ability to this unit by name.
| Is it night stalker night-time?
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.AddActivityModifier | AddActivityModifier]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.IsTemporaryNight | IsTemporaryNight]]  
| <code>void AddActivityModifier(string szName)</code>
| <code>bool IsTemporaryNight()</code>
| Add an activity modifier that affects future StartGesture calls
| Is it temporarily night-time?
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.AddItem | AddItem]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.LockCustomGameSetupTeamAssignment | LockCustomGameSetupTeamAssignment]]  
| <code>handle AddItem(handle hItem)</code>
| <code>void LockCustomGameSetupTeamAssignment(bool bool_1)</code>
| Add an item to this unit's inventory.
| Lock (true) or unlock (false) team assignemnt. If team assignment is locked players cannot change teams.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.AddItemByName | AddItemByName]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.MakeTeamLose | MakeTeamLose]]  
| <code>handle AddItemByName(string pszItemName)</code>
| <code>void MakeTeamLose(int int_1)</code>
| Add an item to this unit's inventory.
| Makes the specified team lose
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.AddNewModifier | AddNewModifier]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.NumDroppedItems | NumDroppedItems]]  
| <code>handle AddNewModifier(handle hCaster, handle hAbility, string pszScriptName, handle hModifierTable)</code>
| <code>int NumDroppedItems()</code>
| Add a modifier to this unit.
| Returns the number of items currently dropped on the ground
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.AddNoDraw | AddNoDraw]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.PlayerHasCustomGameHostPrivileges | PlayerHasCustomGameHostPrivileges]]  
| <code>void AddNoDraw()</code>
| <code>bool PlayerHasCustomGameHostPrivileges(handle handle_1)</code>
| Adds the no draw flag.
| Whether a player has custom game host privileges (shuffle teams, etc.)
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.AddSpeechBubble | AddSpeechBubble]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.Playtesting_UpdateAddOnKeyValues | Playtesting_UpdateAddOnKeyValues]]  
| <code>void AddSpeechBubble(int iBubble, string pszSpeech, float flDuration, unsigned unOffsetX, unsigned unOffsetY)</code>
| <code>void Playtesting_UpdateAddOnKeyValues()</code>
| Add a speech bubble(1-4 live at a time) to this NPC.
| Updates custom hero, unit and ability KeyValues in memory with the latest values from disk
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.AlertNearbyUnits | AlertNearbyUnits]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.PrepareSpawners | PrepareSpawners]]  
| <code>void AlertNearbyUnits(handle hAttacker, handle hAbility)</code>
| <code>void PrepareSpawners(float float_1)</code>
|  
| Prepare Dota lane style spawners with a given interval
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.AngerNearbyUnits | AngerNearbyUnits]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.RemoveItemFromWhiteList | RemoveItemFromWhiteList]]  
| <code>void AngerNearbyUnits()</code>
| <code>void RemoveItemFromWhiteList(string string_1)</code>
|  
| Remove an item from the whitelist
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.AttackNoEarlierThan | AttackNoEarlierThan]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.ResetDefeated | ResetDefeated]]  
| <code>void AttackNoEarlierThan(float flTime)</code>
| <code>void ResetDefeated()</code>
|  
| Restart after killing the ancient, etc.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.AttackReady | AttackReady]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.ResetGameTime | ResetGameTime]]  
| <code>bool AttackReady()</code>
| <code>void ResetGameTime()</code>
|  
| Restart gametime from 0
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.BoundingRadius2D | BoundingRadius2D]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.ResetToCustomGameSetup | ResetToCustomGameSetup]]  
| <code>float BoundingRadius2D()</code>
| <code>void ResetToCustomGameSetup()</code>
|  
| Restart at custom game setup.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.CanEntityBeSeenByMyTeam | CanEntityBeSeenByMyTeam]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.ResetToHeroSelection | ResetToHeroSelection]]  
| <code>bool CanEntityBeSeenByMyTeam(handle hEntity)</code>
| <code>void ResetToHeroSelection()</code>
| Check FoW to see if an entity is visible.
| Restart the game at hero selection
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.CanSellItems | CanSellItems]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.SendCustomMessage | SendCustomMessage]]  
| <code>bool CanSellItems()</code>
| <code>void SendCustomMessage(string string_1, int int_2, int int_3)</code>
| Query if this unit can sell items.
| Sends a message on behalf of a player.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.CastAbilityImmediately | CastAbilityImmediately]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.SendCustomMessageToTeam | SendCustomMessageToTeam]]  
| <code>void CastAbilityImmediately(handle hAbility, int iPlayerIndex)</code>
| <code>void SendCustomMessageToTeam(string string_1, int int_2, int int_3, int int_4)</code>
| Cast an ability immediately.
| Sends a message on behalf of a player to the specified team.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.CastAbilityNoTarget | CastAbilityNoTarget]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.SetCreepMinimapIconScale | SetCreepMinimapIconScale]]  
| <code>void CastAbilityNoTarget(handle hAbility, int iPlayerIndex)</code>
| <code>void SetCreepMinimapIconScale(float float_1)</code>
| Cast an ability with no target.
| (flMinimapCreepIconScale) - Scale the creep icons on the minimap.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.CastAbilityOnPosition | CastAbilityOnPosition]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.SetCreepSpawningEnabled | SetCreepSpawningEnabled]]  
| <code>void CastAbilityOnPosition(Vector vPosition, handle hAbility, int iPlayerIndex)</code>
| <code>void SetCreepSpawningEnabled(bool bool_1)</code>
| Cast an ability on a position.
| Sets whether the regular Dota creeps spawn.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.CastAbilityOnTarget | CastAbilityOnTarget]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.SetCustomGameAccountRecordSaveFunction | SetCustomGameAccountRecordSaveFunction]]  
| <code>void CastAbilityOnTarget(handle hTarget, handle hAbility, int iPlayerIndex)</code>
| <code>void SetCustomGameAccountRecordSaveFunction(handle handle_1, handle handle_2)</code>
| Cast an ability on a target entity.
| (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.CastAbilityToggle | CastAbilityToggle]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.SetCustomGameAllowBattleMusic | SetCustomGameAllowBattleMusic]]  
| <code>void CastAbilityToggle(handle hAbility, int iPlayerIndex)</code>
| <code>void SetCustomGameAllowBattleMusic(bool bool_1)</code>
| Toggle an ability.
| Sets a flag to enable/disable the default music handling code for custom games
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.ClearActivityModifiers | ClearActivityModifiers]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.SetCustomGameAllowHeroPickMusic | SetCustomGameAllowHeroPickMusic]]  
| <code>void ClearActivityModifiers()</code>
| <code>void SetCustomGameAllowHeroPickMusic(bool bool_1)</code>
| Clear Activity modifiers
| Sets a flag to enable/disable the default music handling code for custom games
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.DestroyAllSpeechBubbles | DestroyAllSpeechBubbles]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.SetCustomGameAllowMusicAtGameStart | SetCustomGameAllowMusicAtGameStart]]  
| <code>void DestroyAllSpeechBubbles()</code>
| <code>void SetCustomGameAllowMusicAtGameStart(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.DisassembleItem | DisassembleItem]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.SetCustomGameDifficulty | SetCustomGameDifficulty]]  
| <code>void DisassembleItem(handle hItem)</code>
| <code>void SetCustomGameDifficulty(int int_1)</code>
| Disassemble the passed item in this unit's inventory.
| Set the difficulty level of the custom game mode
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.DropItemAtPosition | DropItemAtPosition]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.SetCustomGameEndDelay | SetCustomGameEndDelay]]  
| <code>void DropItemAtPosition(Vector vDest, handle hItem)</code>
| <code>void SetCustomGameEndDelay(float float_1)</code>
| Drop an item at a given point.
| Sets the game end delay.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.DropItemAtPositionImmediate | DropItemAtPositionImmediate]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.SetCustomGameSetupAutoLaunchDelay | SetCustomGameSetupAutoLaunchDelay]]  
| <code>void DropItemAtPositionImmediate(handle hItem, Vector vPosition)</code>
| <code>void SetCustomGameSetupAutoLaunchDelay(float float_1)</code>
| Immediately drop a carried item at a given position.
| Set the amount of time to wait for auto launch.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.EjectItemFromStash | EjectItemFromStash]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.SetCustomGameSetupRemainingTime | SetCustomGameSetupRemainingTime]]  
| <code>void EjectItemFromStash(handle hItem)</code>
| <code>void SetCustomGameSetupRemainingTime(float float_1)</code>
| Drops the selected item out of this unit's stash.
| 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.FaceTowards | FaceTowards]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.SetCustomGameSetupTimeout | SetCustomGameSetupTimeout]]  
| <code>void FaceTowards(Vector vTarget)</code>
| <code>void SetCustomGameSetupTimeout(float float_1)</code>
| This unit will be set to face the target point.
| Setup (pre-gameplay) phase timeout. 0 = instant, -1 = forever (until FinishCustomGameSetup is called)
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.FadeGesture | FadeGesture]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.SetCustomGameTeamMaxPlayers | SetCustomGameTeamMaxPlayers]]  
| <code>void FadeGesture(int nActivity)</code>
| <code>void SetCustomGameTeamMaxPlayers(int int_1, int int_2)</code>
| Fade and remove the given gesture activity.
| Set whether a team is selectable during game setup
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.FindAbilityByName | FindAbilityByName]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.SetCustomVictoryMessage | SetCustomVictoryMessage]]  
| <code>handle FindAbilityByName(string pAbilityName)</code>
| <code>void SetCustomVictoryMessage(string string_1)</code>
| Retrieve an ability by name from the unit.
| Sets the victory message.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.FindAllModifiers | FindAllModifiers]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.SetCustomVictoryMessageDuration | SetCustomVictoryMessageDuration]]  
| <code>table FindAllModifiers()</code>
| <code>void SetCustomVictoryMessageDuration(float float_1)</code>
| Returns a table of all of the modifiers on the NPC.
| Sets the victory message duration.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.FindAllModifiersByName | FindAllModifiersByName]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.SetEventMetadataCustomTable | SetEventMetadataCustomTable]]  
| <code>table FindAllModifiersByName(string pszScriptName)</code>
| <code>bool SetEventMetadataCustomTable(handle handle_1)</code>
| Returns a table of all of the modifiers on the NPC with the passed name (modifierName)
| Event-only ( table hMetadataTable )  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.FindItemInInventory | FindItemInInventory]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.SetEventSignoutCustomTable | SetEventSignoutCustomTable]]  
| <code>handle FindItemInInventory(string pszItemName)</code>
| <code>bool SetEventSignoutCustomTable(handle handle_1)</code>
| Get handle to first item in inventory, else nil.
| Event-only ( table hMetadataTable )
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.FindModifierByName | FindModifierByName]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.SetFirstBloodActive | SetFirstBloodActive]]  
| <code>handle FindModifierByName(string pszScriptName)</code>
| <code>void SetFirstBloodActive(bool bool_1)</code>
| Return a handle to the modifier of the given name if found, else nil (string Name )
| Sets whether First Blood has been triggered.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.FindModifierByNameAndCaster | FindModifierByNameAndCaster]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.SetGameWinner | SetGameWinner]]  
| <code>handle FindModifierByNameAndCaster(string pszScriptName, handle hCaster)</code>
| <code>void SetGameWinner(int int_1)</code>
| Return a handle to the modifier of the given name from the passed caster if found, else nil ( string Name, hCaster )
| Makes the specified team win
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.ForceKill | ForceKill]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.SetGoldPerTick | SetGoldPerTick]]  
| <code>void ForceKill(bool bReincarnate)</code>
| <code>void SetGoldPerTick(int int_1)</code>
| Kill this unit immediately.
| Set the auto gold increase per timed interval.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.ForcePlayActivityOnce | ForcePlayActivityOnce]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.SetGoldTickTime | SetGoldTickTime]]  
| <code>void ForcePlayActivityOnce(int nActivity)</code>
| <code>void SetGoldTickTime(float float_1)</code>
| Play an activity once, and then go back to idle.
| Set the time interval between auto gold increases.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetAbilityByIndex | GetAbilityByIndex]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.SetHeroMinimapIconScale | SetHeroMinimapIconScale]]  
| <code>handle GetAbilityByIndex(int iIndex)</code>
| <code>void SetHeroMinimapIconScale(float float_1)</code>
| Retrieve an ability by index from the unit.
| (flMinimapHeroIconScale) - Scale the hero minimap icons on the minimap.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetAbilityCount | GetAbilityCount]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.SetHeroRespawnEnabled | SetHeroRespawnEnabled]]  
| <code>int GetAbilityCount()</code>
| <code>void SetHeroRespawnEnabled(bool bool_1)</code>
|  
| Control if the normal DOTA hero respawn rules apply.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetAcquisitionRange | GetAcquisitionRange]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.SetHeroSelectPenaltyTime | SetHeroSelectPenaltyTime]]  
| <code>float GetAcquisitionRange()</code>
| <code>void SetHeroSelectPenaltyTime(float float_1)</code>
| Gets the range at which this unit will auto-acquire.
| Sets amount of penalty time before randoming a hero
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetAdditionalBattleMusicWeight | GetAdditionalBattleMusicWeight]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.SetHeroSelectionTime | SetHeroSelectionTime]]  
| <code>float GetAdditionalBattleMusicWeight()</code>
| <code>void SetHeroSelectionTime(float float_1)</code>
| Combat involving this creature will have this weight added to the music calcuations.
| Sets the amount of time players have to pick their hero.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetAggroTarget | GetAggroTarget]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.SetHideKillMessageHeaders | SetHideKillMessageHeaders]]  
| <code>handle GetAggroTarget()</code>
| <code>void SetHideKillMessageHeaders(bool bool_1)</code>
| Returns this unit's aggro target.
| Sets whether the multikill, streak, and first-blood banners appear at the top of the screen.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetAttackAnimationPoint | GetAttackAnimationPoint]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.SetOverlayHealthBarUnit | SetOverlayHealthBarUnit]]  
| <code>float GetAttackAnimationPoint()</code>
| <code>void SetOverlayHealthBarUnit(handle handle_1, int int_2)</code>
|  
| Show this unit's health on the overlay health bar
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetAttackCapability | GetAttackCapability]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.SetPostGameTime | SetPostGameTime]]  
| <code>int GetAttackCapability()</code>
| <code>void SetPostGameTime(float float_1)</code>
|  
| Sets the amount of time players have between the game ending and the server disconnecting them.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetAttackDamage | GetAttackDamage]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.SetPreGameTime | SetPreGameTime]]  
| <code>int GetAttackDamage()</code>
| <code>void SetPreGameTime(float float_1)</code>
| Returns a random integer between the minimum and maximum base damage of the unit.
| Sets the amount of time players have between picking their hero and game start.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetAttackRangeBuffer | GetAttackRangeBuffer]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.SetRuneMinimapIconScale | SetRuneMinimapIconScale]]  
| <code>float GetAttackRangeBuffer()</code>
| <code>void SetRuneMinimapIconScale(float float_1)</code>
| Gets the attack range buffer.
| (flMinimapRuneIconScale) - Scale the rune icons on the minimap.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetAttackSpeed | GetAttackSpeed]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.SetRuneSpawnTime | SetRuneSpawnTime]]  
| <code>float GetAttackSpeed()</code>
| <code>void SetRuneSpawnTime(float float_1)</code>
|  
| Sets the amount of time between rune spawns.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetAttackTarget | GetAttackTarget]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.SetSafeToLeave | SetSafeToLeave]]  
| <code>handle GetAttackTarget()</code>
| <code>void SetSafeToLeave(bool bool_1)</code>
|  
| (bSafeToLeave) - Mark this game as safe to leave.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetAttacksPerSecond | GetAttacksPerSecond]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.SetSameHeroSelectionEnabled | SetSameHeroSelectionEnabled]]  
| <code>float GetAttacksPerSecond()</code>
| <code>void SetSameHeroSelectionEnabled(bool bool_1)</code>
|  
| When true, players can repeatedly pick the same hero.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetAverageTrueAttackDamage | GetAverageTrueAttackDamage]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.SetShowcaseTime | SetShowcaseTime]]  
| <code>int GetAverageTrueAttackDamage(handle hTarget)</code>
| <code>void SetShowcaseTime(float float_1)</code>
| Returns the average value of the minimum and maximum damage values.
| 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.GetBaseAttackRange | GetBaseAttackRange]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.SetStartingGold | SetStartingGold]]  
| <code>int GetBaseAttackRange()</code>
| <code>void SetStartingGold(int int_1)</code>
|  
| Set the starting gold amount.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetBaseAttackTime | GetBaseAttackTime]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.SetStrategyTime | SetStrategyTime]]  
| <code>float GetBaseAttackTime()</code>
| <code>void SetStrategyTime(float float_1)</code>
|  
| Sets the amount of time players have between the hero selection and entering the showcase phase.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetBaseDamageMax | GetBaseDamageMax]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.SetTimeOfDay | SetTimeOfDay]]  
| <code>int GetBaseDamageMax()</code>
| <code>void SetTimeOfDay(float float_1)</code>
| Get the maximum attack damage of this unit.
| Set the time of day.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetBaseDamageMin | GetBaseDamageMin]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.SetTreeRegrowTime | SetTreeRegrowTime]]  
| <code>int GetBaseDamageMin()</code>
| <code>void SetTreeRegrowTime(float float_1)</code>
| Get the minimum attack damage of this unit.
| Sets the tree regrow time in seconds.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetBaseDayTimeVisionRange | GetBaseDayTimeVisionRange]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.SetUseBaseGoldBountyOnHeroes | SetUseBaseGoldBountyOnHeroes]]  
| <code>int GetBaseDayTimeVisionRange()</code>
| <code>void SetUseBaseGoldBountyOnHeroes(bool bool_1)</code>
| Returns the vision range before modifiers.
| Heroes will use the basic NPC functionality for determining their bounty, rather than DOTA specific formulas.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetBaseHealthRegen | GetBaseHealthRegen]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.SetUseCustomHeroXPValues | SetUseCustomHeroXPValues]]  
| <code>float GetBaseHealthRegen()</code>
| <code>void SetUseCustomHeroXPValues(bool bool_1)</code>
|  
| 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.GetBaseMagicalResistanceValue | GetBaseMagicalResistanceValue]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.SetUseUniversalShopMode | SetUseUniversalShopMode]]  
| <code>float GetBaseMagicalResistanceValue()</code>
| <code>void SetUseUniversalShopMode(bool bool_1)</code>
| Returns base magical armor value.
| When true, all items are available at as long as any shop is in range.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetBaseMaxHealth | GetBaseMaxHealth]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.SetWeatherWindDirection | SetWeatherWindDirection]]  
| <code>float GetBaseMaxHealth()</code>
| <code>void SetWeatherWindDirection(Vector Vector_1)</code>
| Gets the base max health value.
| Set Weather Wind Direction Vector
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetBaseMoveSpeed | GetBaseMoveSpeed]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.SetWhiteListEnabled | SetWhiteListEnabled]]  
| <code>float GetBaseMoveSpeed()</code>
| <code>void SetWhiteListEnabled(bool bool_1)</code>
|  
| Item whitelist functionality enable/disable
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetBaseNightTimeVisionRange | GetBaseNightTimeVisionRange]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.SpawnAndReleaseCreeps | SpawnAndReleaseCreeps]]  
| <code>int GetBaseNightTimeVisionRange()</code>
| <code>void SpawnAndReleaseCreeps()</code>
| Returns the vision range after modifiers.
| Spawn and release the next creep wave from Dota lane style spawners.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetBonusManaRegen | GetBonusManaRegen]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.State_Get | State_Get]]  
| <code>float GetBonusManaRegen()</code>
| <code>int State_Get()</code>
| This Mana regen is derived from constant bonuses like Basilius.
| 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.GetCastPoint | GetCastPoint]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAPlayer.CheckForCourierSpawning | CheckForCourierSpawning]]  
| <code>float GetCastPoint(bool bAttack)</code>
| <code>void CheckForCourierSpawning(handle hHero)</code>
|  
| Attempt to spawn the appropriate couriers for this mode.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetCastRangeBonus | GetCastRangeBonus]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAPlayer.GetAssignedHero | GetAssignedHero]]  
| <code>float GetCastRangeBonus()</code>
| <code>handle GetAssignedHero()</code>
|  
| Get the player's hero.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetCloneSource | GetCloneSource]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAPlayer.GetPlayerID | GetPlayerID]]  
| <code>handle GetCloneSource()</code>
| <code>int GetPlayerID()</code>
| Get clone source (Meepo Prime, if this is a Meepo)
| 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.GetCollisionPadding | GetCollisionPadding]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAPlayer.MakeRandomHeroSelection | MakeRandomHeroSelection]]  
| <code>float GetCollisionPadding()</code>
| <code>void MakeRandomHeroSelection()</code>
| Returns the size of the collision padding around the hull.
| Randoms this player's hero.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetCooldownReduction | GetCooldownReduction]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAPlayer.SetAssignedHeroEntity | SetAssignedHeroEntity]]  
| <code>float GetCooldownReduction()</code>
| <code>void SetAssignedHeroEntity(handle hHero)</code>
|  
| Sets this player's hero .
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetCreationTime | GetCreationTime]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAPlayer.SetKillCamUnit | SetKillCamUnit]]  
| <code>float GetCreationTime()</code>
| <code>void SetKillCamUnit(handle hEntity)</code>
|  
| Set the kill cam unit for this hero.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetCurrentActiveAbility | GetCurrentActiveAbility]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAPlayer.SetMusicStatus | SetMusicStatus]]  
| <code>handle GetCurrentActiveAbility()</code>
| <code>void SetMusicStatus(int nMusicStatus, float flIntensity)</code>
| Get the ability this unit is currently casting.
| (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.GetCurrentVisionRange | GetCurrentVisionRange]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAPlayer.SetSelectedHero | SetSelectedHero]]  
| <code>int GetCurrentVisionRange()</code>
| <code>void SetSelectedHero(string pszHeroName)</code>
| Gets the current vision range.
| 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.GetCursorCastTarget | GetCursorCastTarget]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTATutorial.AddBot | AddBot]]  
| <code>handle GetCursorCastTarget()</code>
| <code>bool AddBot(string string_1, string string_2, string string_3, bool bool_4)</code>
|  
| Add a computer controlled bot.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetCursorPosition | GetCursorPosition]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTATutorial.AddQuest | AddQuest]]  
| <code>Vector GetCursorPosition()</code>
| <code>void AddQuest(string string_1, int int_2, string string_3, string string_4)</code>
|  
| Add a quest to the quest log
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetCursorTargetingNothing | GetCursorTargetingNothing]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTATutorial.AddShopWhitelistItem | AddShopWhitelistItem]]  
| <code>bool GetCursorTargetingNothing()</code>
| <code>void AddShopWhitelistItem(string string_1)</code>
|  
| Add an item to the shop whitelist.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetDayTimeVisionRange | GetDayTimeVisionRange]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTATutorial.CompleteQuest | CompleteQuest]]  
| <code>int GetDayTimeVisionRange()</code>
| <code>void CompleteQuest(string string_1)</code>
| Returns the vision range after modifiers.
| Complete a quest,
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetDeathXP | GetDeathXP]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTATutorial.CreateLocationTask | CreateLocationTask]]  
| <code>int GetDeathXP()</code>
| <code>void CreateLocationTask(Vector Vector_1)</code>
| Get the XP bounty on this unit.
| Add a task to move to a specific location
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetDisplayAttackSpeed | GetDisplayAttackSpeed]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTATutorial.EnableCreepAggroViz | EnableCreepAggroViz]]  
| <code>float GetDisplayAttackSpeed()</code>
| <code>void EnableCreepAggroViz(bool bool_1)</code>
| Attack speed expressed as constant value
| Alert the player when a creep becomes agro to their hero.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetEvasion | GetEvasion]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTATutorial.EnablePlayerOffscreenTip | EnablePlayerOffscreenTip]]  
| <code>float GetEvasion()</code>
| <code>void EnablePlayerOffscreenTip(bool bool_1)</code>
|  
| Enable the tip to alert players how to find their hero.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetForceAttackTarget | GetForceAttackTarget]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTATutorial.EnableTowerAggroViz | EnableTowerAggroViz]]  
| <code>handle GetForceAttackTarget()</code>
| <code>void EnableTowerAggroViz(bool bool_1)</code>
|  
| Alert the player when a tower becomes agro to their hero.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetGoldBounty | GetGoldBounty]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTATutorial.FinishTutorial | FinishTutorial]]  
| <code>int GetGoldBounty()</code>
| <code>void FinishTutorial()</code>
| Get the gold bounty on this unit.
| End the tutorial.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetHasteFactor | GetHasteFactor]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTATutorial.ForceGameStart | ForceGameStart]]  
| <code>float GetHasteFactor()</code>
| <code>void ForceGameStart()</code>
|  
| Force the start of the game.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetHealthDeficit | GetHealthDeficit]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTATutorial.GetTimeFrozen | GetTimeFrozen]]  
| <code>int GetHealthDeficit()</code>
| <code>bool GetTimeFrozen()</code>
| Returns integer amount of health missing from max.
| Is our time frozen?
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetHealthPercent | GetHealthPercent]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTATutorial.IsItemInWhiteList | IsItemInWhiteList]]  
| <code>int GetHealthPercent()</code>
| <code>bool IsItemInWhiteList(string string_1)</code>
| Get the current health percent of the unit.
| Is this item currently in the white list.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetHealthRegen | GetHealthRegen]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTATutorial.RemoveShopWhitelistItem | RemoveShopWhitelistItem]]  
| <code>float GetHealthRegen()</code>
| <code>void RemoveShopWhitelistItem(string string_1)</code>
|  
| Remove an item from the shop whitelist.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetHullRadius | GetHullRadius]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTATutorial.SelectHero | SelectHero]]  
| <code>float GetHullRadius()</code>
| <code>void SelectHero(string string_1)</code>
| Get the collision hull radius of this NPC.
| Select a hero for the local player
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetIdealSpeed | GetIdealSpeed]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTATutorial.SelectPlayerTeam | SelectPlayerTeam]]  
| <code>float GetIdealSpeed()</code>
| <code>void SelectPlayerTeam(string string_1)</code>
| Returns speed after all modifiers.
| Select the team for the local player
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetIdealSpeedNoSlows | GetIdealSpeedNoSlows]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTATutorial.SetItemGuide | SetItemGuide]]  
| <code>float GetIdealSpeedNoSlows()</code>
| <code>void SetItemGuide(string string_1)</code>
| Returns speed after all modifiers, but excluding those that reduce speed.
| Set the current item guide.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetIncreasedAttackSpeed | GetIncreasedAttackSpeed]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTATutorial.SetOrModifyPlayerGold | SetOrModifyPlayerGold]]  
| <code>float GetIncreasedAttackSpeed()</code>
| <code>void SetOrModifyPlayerGold(int int_1, bool bool_2)</code>
|  
| Set gold amount for the tutorial player. (int) GoldAmount, (bool) true=Set, false=Modify
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetInitialGoalEntity | GetInitialGoalEntity]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTATutorial.SetQuickBuy | SetQuickBuy]]  
| <code>handle GetInitialGoalEntity()</code>
| <code>void SetQuickBuy(string string_1)</code>
| Returns the initial waypoint goal for this NPC.
| Set players quick buy item.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetInitialGoalPosition | GetInitialGoalPosition]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTATutorial.SetShopOpen | SetShopOpen]]  
| <code>Vector GetInitialGoalPosition()</code>
| <code>void SetShopOpen(bool bool_1)</code>
| Get waypoint position for this NPC.
| Set the shop open or closed.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetItemInSlot | GetItemInSlot]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTATutorial.SetTimeFrozen | SetTimeFrozen]]  
| <code>handle GetItemInSlot(int i)</code>
| <code>void SetTimeFrozen(bool bool_1)</code>
| Returns nth item in inventory slot (index is zero based).
| Set if we should freeze time or not.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetLastAttackTime | GetLastAttackTime]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTATutorial.SetTutorialConvar | SetTutorialConvar]]  
| <code>float GetLastAttackTime()</code>
| <code>void SetTutorialConvar(string string_1, string string_2)</code>
|  
| Set a tutorial convar
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetLastDamageTime | GetLastDamageTime]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTATutorial.SetTutorialUI | SetTutorialUI]]  
| <code>float GetLastDamageTime()</code>
| <code>void SetTutorialUI(int int_1)</code>
| Get the last time this NPC took damage
| Set the UI to use a reduced version to focus attention to specific elements.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetLastIdleChangeTime | GetLastIdleChangeTime]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTATutorial.SetWhiteListEnabled | SetWhiteListEnabled]]  
| <code>float GetLastIdleChangeTime()</code>
| <code>void SetWhiteListEnabled(bool bool_1)</code>
| Get the last game time that this unit switched to/from idle state.
| Set if we should whitelist shop items.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetLevel | GetLevel]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTATutorial.StartTutorialMode | StartTutorialMode]]  
| <code>int GetLevel()</code>
| <code>void StartTutorialMode()</code>
| Returns the level of this unit.
| Initialize Tutorial Mode
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetMagicalArmorValue | GetMagicalArmorValue]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTATutorial.UpgradePlayerAbility | UpgradePlayerAbility]]  
| <code>float GetMagicalArmorValue()</code>
| <code>void UpgradePlayerAbility(string string_1)</code>
| Returns current magical armor value.
| 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.GetMainControllingPlayer | GetMainControllingPlayer]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAVoteSystem.StartVote | StartVote]]  
| <code>int GetMainControllingPlayer()</code>
| <code>void StartVote(handle handle_1)</code>
| Returns the player ID of the controlling player.
| 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.GetMana | GetMana]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Ability_Animation_Attack.SetPlaybackRate | SetPlaybackRate]]  
| <code>float GetMana()</code>
| <code>void SetPlaybackRate(float flRate)</code>
| Get the mana on this unit.
| 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.GetManaPercent | GetManaPercent]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Ability_Animation_TailSpin.SetPlaybackRate | SetPlaybackRate]]  
| <code>int GetManaPercent()</code>
| <code>void SetPlaybackRate(float flRate)</code>
| Get the percent of mana remaining.
| 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.GetManaRegen | GetManaRegen]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Ability_DataDriven.ApplyDataDrivenModifier | ApplyDataDrivenModifier]]  
| <code>float GetManaRegen()</code>
| <code>handle ApplyDataDrivenModifier(handle hCaster, handle hTarget, string pszModifierName, handle hModifierTable)</code>
|  
| Applies a data driven modifier to the target
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetMaxMana | GetMaxMana]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Ability_DataDriven.ApplyDataDrivenThinker | ApplyDataDrivenThinker]]  
| <code>float GetMaxMana()</code>
| <code>handle ApplyDataDrivenThinker(handle hCaster, Vector vLocation, string pszModifierName, handle hModifierTable)</code>
| Get the maximum mana of this unit.
| Applies a data driven thinker at the location
|}
 
==== CDOTA_Ability_Lua ====
:::::extends [[#CDOTABaseAbility|CDOTABaseAbility]]
''No Description Set''
{| class="standard-table" style="width: 100%;"
! Function
! Signature
! Description
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetMaximumGoldBounty | GetMaximumGoldBounty]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Ability_Lua.CastFilterResult | CastFilterResult]]  
| <code>int GetMaximumGoldBounty()</code>
| <code>int CastFilterResult()</code>
| Get the maximum gold bounty for this unit.
| Determine whether an issued command with no target is valid.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetMinimumGoldBounty | GetMinimumGoldBounty]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Ability_Lua.CastFilterResultLocation | CastFilterResultLocation]]  
| <code>int GetMinimumGoldBounty()</code>
| <code>int CastFilterResultLocation(Vector vLocation)</code>
| Get the minimum gold bounty for this unit.
| (Vector vLocation) Determine whether an issued command on a location is valid.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetModelRadius | GetModelRadius]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Ability_Lua.CastFilterResultTarget | CastFilterResultTarget]]  
| <code>float GetModelRadius()</code>
| <code>int CastFilterResultTarget(handle hTarget)</code>
|  
| (HSCRIPT hTarget) Determine whether an issued command on a target is valid.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetModifierCount | GetModifierCount]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Ability_Lua.GetAOERadius | GetAOERadius]]  
| <code>int GetModifierCount()</code>
| <code>float GetAOERadius()</code>
| How many modifiers does this unit have?
| Controls the size of the AOE casting cursor.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetModifierNameByIndex | GetModifierNameByIndex]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Ability_Lua.GetAssociatedPrimaryAbilities | GetAssociatedPrimaryAbilities]]  
| <code>string GetModifierNameByIndex(int nIndex)</code>
| <code>string GetAssociatedPrimaryAbilities()</code>
| Get a modifier name by index.
| Returns abilities that are stolen simultaneously, or otherwise related in functionality.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetModifierStackCount | GetModifierStackCount]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Ability_Lua.GetAssociatedSecondaryAbilities | GetAssociatedSecondaryAbilities]]  
| <code>int GetModifierStackCount(string pszScriptName, handle hCaster)</code>
| <code>string GetAssociatedSecondaryAbilities()</code>
| Gets the stack count of a given modifier.
| Returns other abilities that are stolen simultaneously, or otherwise related in functionality.  Generally hidden abilities.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetMoveSpeedModifier | GetMoveSpeedModifier]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Ability_Lua.GetBehavior | GetBehavior]]  
| <code>float GetMoveSpeedModifier(float flBaseSpeed, bool bReturnUnslowed)</code>
| <code>int GetBehavior()</code>
|  
| Return cast behavior type of this ability.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetMustReachEachGoalEntity | GetMustReachEachGoalEntity]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Ability_Lua.GetCastAnimation | GetCastAnimation]]  
| <code>bool GetMustReachEachGoalEntity()</code>
| <code>int GetCastAnimation()</code>
| Set whether this NPC is required to reach each goal entity, rather than being allowed to unkink their path.
| Return casting animation of this ability.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetNeverMoveToClearSpace | GetNeverMoveToClearSpace]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Ability_Lua.GetCastPoint | GetCastPoint]]  
| <code>bool GetNeverMoveToClearSpace()</code>
| <code>float GetCastPoint()</code>
| If set to true, we will never attempt to move this unit to clear space, even when it unphases.
| Return cast point of this ability.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetNightTimeVisionRange | GetNightTimeVisionRange]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Ability_Lua.GetCastRange | GetCastRange]]  
| <code>int GetNightTimeVisionRange()</code>
| <code>int GetCastRange(Vector vLocation, handle hTarget)</code>
| Returns the vision range after modifiers.
| Return cast range of this ability.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetOpposingTeamNumber | GetOpposingTeamNumber]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Ability_Lua.GetChannelAnimation | GetChannelAnimation]]  
| <code>int GetOpposingTeamNumber()</code>
| <code>int GetChannelAnimation()</code>
|  
| Return channel animation of this ability.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetPaddedCollisionRadius | GetPaddedCollisionRadius]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Ability_Lua.GetChannelTime | GetChannelTime]]  
| <code>float GetPaddedCollisionRadius()</code>
| <code>float GetChannelTime()</code>
| Get the collision hull radius (including padding) of this NPC.
| Return the channel time of this ability.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetPhysicalArmorBaseValue | GetPhysicalArmorBaseValue]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Ability_Lua.GetChannelledManaCostPerSecond | GetChannelledManaCostPerSecond]]  
| <code>float GetPhysicalArmorBaseValue()</code>
| <code>int GetChannelledManaCostPerSecond(int iLevel)</code>
| Returns base physical armor value.
| Return mana cost at the given level per second while channeling (-1 is current).  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetPhysicalArmorValue | GetPhysicalArmorValue]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Ability_Lua.GetConceptRecipientType | GetConceptRecipientType]]  
| <code>float GetPhysicalArmorValue(bool bIgnoreBase)</code>
| <code>int GetConceptRecipientType()</code>
| Returns current physical armor value.
| Return who hears speech when this spell is cast.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetPlayerOwner | GetPlayerOwner]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Ability_Lua.GetCooldown | GetCooldown]]  
| <code>handle GetPlayerOwner()</code>
| <code>float GetCooldown(int iLevel)</code>
| Returns the player that owns this unit.
| Return cooldown of this ability.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetPlayerOwnerID | GetPlayerOwnerID]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Ability_Lua.GetCustomCastError | GetCustomCastError]]  
| <code>int GetPlayerOwnerID()</code>
| <code>string GetCustomCastError()</code>
| Get the owner player ID for this unit.
| Return the error string of a failed command with no target.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetProjectileSpeed | GetProjectileSpeed]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Ability_Lua.GetCustomCastErrorLocation | GetCustomCastErrorLocation]]  
| <code>int GetProjectileSpeed()</code>
| <code>string GetCustomCastErrorLocation(Vector vLocation)</code>
|  
| (Vector vLocation) Return the error string of a failed command on a location.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetRangeToUnit | GetRangeToUnit]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Ability_Lua.GetCustomCastErrorTarget | GetCustomCastErrorTarget]]  
| <code>float GetRangeToUnit(handle hNPC)</code>
| <code>string GetCustomCastErrorTarget(handle hTarget)</code>
|  
| (HSCRIPT hTarget) Return the error string of a failed command on a target.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetRangedProjectileName | GetRangedProjectileName]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Ability_Lua.GetGoldCost | GetGoldCost]]  
| <code>string GetRangedProjectileName()</code>
| <code>int GetGoldCost(int iLevel)</code>
|  
| Return gold cost at the given level (-1 is current).
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetSecondsPerAttack | GetSecondsPerAttack]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Ability_Lua.GetIntrinsicModifierName | GetIntrinsicModifierName]]  
| <code>float GetSecondsPerAttack()</code>
| <code>string GetIntrinsicModifierName()</code>
|  
| Returns the name of the modifier applied passively by this ability.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetSpellAmplification | GetSpellAmplification]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Ability_Lua.GetManaCost | GetManaCost]]  
| <code>float GetSpellAmplification(bool bBaseOnly)</code>
| <code>int GetManaCost(int iLevel)</code>
|  
| Return mana cost at the given level (-1 is current).
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetStatusResistance | GetStatusResistance]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Ability_Lua.GetPlaybackRateOverride | GetPlaybackRateOverride]]  
| <code>float GetStatusResistance()</code>
| <code>float GetPlaybackRateOverride()</code>
|  
| Return the animation rate of the cast animation.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetTotalPurchasedUpgradeGoldCost | GetTotalPurchasedUpgradeGoldCost]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Ability_Lua.IsHiddenAbilityCastable | IsHiddenAbilityCastable]]  
| <code>int GetTotalPurchasedUpgradeGoldCost()</code>
| <code>bool IsHiddenAbilityCastable()</code>
| Get how much gold has been spent on ability upgrades.
| Returns true if this ability can be used when not on the action panel.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetUnitLabel | GetUnitLabel]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Ability_Lua.IsHiddenWhenStolen | IsHiddenWhenStolen]]  
| <code>string GetUnitLabel()</code>
| <code>bool IsHiddenWhenStolen()</code>
|  
| Returns true if this ability is hidden when stolen by Spell Steal.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetUnitName | GetUnitName]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Ability_Lua.IsRefreshable | IsRefreshable]]  
| <code>string GetUnitName()</code>
| <code>bool IsRefreshable()</code>
| Get the name of this unit.
| Returns true if this ability is refreshed by Refresher Orb.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GiveMana | GiveMana]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Ability_Lua.IsStealable | IsStealable]]  
| <code>void GiveMana(float flMana)</code>
| <code>bool IsStealable()</code>
| Give mana to this unit, this can be used for mana gained by abilities or item usage.
| Returns true if this ability can be stolen by Spell Steal.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.HasAbility | HasAbility]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Ability_Lua.OnAbilityPhaseInterrupted | OnAbilityPhaseInterrupted]]  
| <code>bool HasAbility(string pszAbilityName)</code>
| <code>void OnAbilityPhaseInterrupted()</code>
| See whether this unit has an ability by name.
| Cast time did not complete successfully.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.HasAnyActiveAbilities | HasAnyActiveAbilities]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Ability_Lua.OnAbilityPhaseStart | OnAbilityPhaseStart]]  
| <code>bool HasAnyActiveAbilities()</code>
| <code>bool OnAbilityPhaseStart()</code>
|  
| Cast time begins (return true for successful cast).
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.HasAttackCapability | HasAttackCapability]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Ability_Lua.OnAbilityPinged | OnAbilityPinged]]  
| <code>bool HasAttackCapability()</code>
| <code>void OnAbilityPinged(int nPlayerID, bool bCtrlHeld)</code>
|  
| The ability was pinged (nPlayerID, bCtrlHeld).
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.HasFlyMovementCapability | HasFlyMovementCapability]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Ability_Lua.OnChannelFinish | OnChannelFinish]]  
| <code>bool HasFlyMovementCapability()</code>
| <code>void OnChannelFinish(bool bInterrupted)</code>
|  
| (bool bInterrupted) Channel finished.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.HasFlyingVision | HasFlyingVision]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Ability_Lua.OnChannelThink | OnChannelThink]]  
| <code>bool HasFlyingVision()</code>
| <code>void OnChannelThink(float flInterval)</code>
|  
| (float flInterval) Channeling is taking place.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.HasGroundMovementCapability | HasGroundMovementCapability]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Ability_Lua.OnHeroCalculateStatBonus | OnHeroCalculateStatBonus]]  
| <code>bool HasGroundMovementCapability()</code>
| <code>void OnHeroCalculateStatBonus()</code>
|  
| Caster (hero only) gained a level, skilled an ability, or received a new stat bonus.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.HasInventory | HasInventory]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Ability_Lua.OnHeroDiedNearby | OnHeroDiedNearby]]  
| <code>bool HasInventory()</code>
| <code>void OnHeroDiedNearby(handle unit, handle attacker, handle table)</code>
| Does this unit have an inventory.
| A hero has died in the vicinity (ie Urn), takes table of params.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.HasItemInInventory | HasItemInInventory]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Ability_Lua.OnHeroLevelUp | OnHeroLevelUp]]  
| <code>bool HasItemInInventory(string pItemName)</code>
| <code>void OnHeroLevelUp()</code>
| See whether this unit has an item by name.
| Caster gained a level.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.HasModifier | HasModifier]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Ability_Lua.OnInventoryContentsChanged | OnInventoryContentsChanged]]  
| <code>bool HasModifier(string pszScriptName)</code>
| <code>void OnInventoryContentsChanged()</code>
| Sees if this unit has a given modifier.
| Caster inventory changed.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.HasMovementCapability | HasMovementCapability]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Ability_Lua.OnItemEquipped | OnItemEquipped]]  
| <code>bool HasMovementCapability()</code>
| <code>void OnItemEquipped(handle hItem)</code>
|  
| ( HSCRIPT hItem ) Caster equipped item.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.HasScepter | HasScepter]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Ability_Lua.OnOwnerDied | OnOwnerDied]]  
| <code>bool HasScepter()</code>
| <code>void OnOwnerDied()</code>
|  
| Caster died.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.Heal | Heal]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Ability_Lua.OnOwnerSpawned | OnOwnerSpawned]]  
| <code>void Heal(float flAmount, handle hInflictor)</code>
| <code>void OnOwnerSpawned()</code>
| Heal this unit.
| Caster respawned or spawned for the first time.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.Hold | Hold]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Ability_Lua.OnProjectileHit | OnProjectileHit]]  
| <code>void Hold()</code>
| <code>bool OnProjectileHit(handle hTarget, Vector vLocation)</code>
| Hold position.
| (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.Interrupt | Interrupt]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Ability_Lua.OnProjectileHitHandle | OnProjectileHitHandle]]  
| <code>void Interrupt()</code>
| <code>bool OnProjectileHitHandle(handle hTarget, Vector vLocation, int iProjectileHandle)</code>
|  
| (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.InterruptChannel | InterruptChannel]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Ability_Lua.OnProjectileHit_ExtraData | OnProjectileHit_ExtraData]]  
| <code>void InterruptChannel()</code>
| <code>bool OnProjectileHit_ExtraData(handle hTarget, Vector vLocation, handle table)</code>
|  
| (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.InterruptMotionControllers | InterruptMotionControllers]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Ability_Lua.OnProjectileThink | OnProjectileThink]]  
| <code>void InterruptMotionControllers(bool bFindClearSpace)</code>
| <code>void OnProjectileThink(Vector vLocation)</code>
|  
| (Vector vLocation) Projectile is actively moving.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.IsAlive | IsAlive]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Ability_Lua.OnProjectileThinkHandle | OnProjectileThinkHandle]]  
| <code>bool IsAlive()</code>
| <code>void OnProjectileThinkHandle(int iProjectileHandle)</code>
| Is this unit alive?
| (int nProjectileHandle) Projectile is actively moving.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.IsAncient | IsAncient]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Ability_Lua.OnProjectileThink_ExtraData | OnProjectileThink_ExtraData]]  
| <code>bool IsAncient()</code>
| <code>void OnProjectileThink_ExtraData(Vector vLocation, handle table)</code>
| Is this unit an Ancient?
| (Vector vLocation, table kv ) Projectile is actively moving.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.IsAttackImmune | IsAttackImmune]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Ability_Lua.OnSpellStart | OnSpellStart]]  
| <code>bool IsAttackImmune()</code>
| <code>void OnSpellStart()</code>
|  
| Cast time finished, spell effects begin.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.IsAttacking | IsAttacking]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Ability_Lua.OnStolen | OnStolen]]  
| <code>bool IsAttacking()</code>
| <code>void OnStolen(handle hSourceAbility)</code>
|  
| ( HSCRIPT hAbility ) Special behavior when stolen by Spell Steal.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.IsAttackingEntity | IsAttackingEntity]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Ability_Lua.OnToggle | OnToggle]]  
| <code>bool IsAttackingEntity(handle hEntity)</code>
| <code>void OnToggle()</code>
|  
| Ability is toggled on/off.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.IsBarracks | IsBarracks]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Ability_Lua.OnUnStolen | OnUnStolen]]  
| <code>bool IsBarracks()</code>
| <code>void OnUnStolen()</code>
| Is this unit a Barracks?
| Special behavior when lost by Spell Steal.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.IsBlind | IsBlind]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Ability_Lua.OnUpgrade | OnUpgrade]]  
| <code>bool IsBlind()</code>
| <code>void OnUpgrade()</code>
|  
| Ability gained a level.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.IsBlockDisabled | IsBlockDisabled]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Ability_Lua.ProcsMagicStick | ProcsMagicStick]]  
| <code>bool IsBlockDisabled()</code>
| <code>bool ProcsMagicStick()</code>
|  
| Returns true if this ability will generate magic stick charges for nearby enemies.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.IsBoss | IsBoss]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Ability_Lua.ResetToggleOnRespawn | ResetToggleOnRespawn]]  
| <code>bool IsBoss()</code>
| <code>bool ResetToggleOnRespawn()</code>
| Is this unit a boss?
| Returns true if this ability should return to the default toggle state when its parent respawns.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.IsBuilding | IsBuilding]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Ability_Lua.SpeakTrigger | SpeakTrigger]]  
| <code>bool IsBuilding()</code>
| <code>int SpeakTrigger()</code>
| Is this unit a building?
| 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.IsChanneling | IsChanneling]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Ability_Nian_Dive.SetPlaybackRate | SetPlaybackRate]]  
| <code>bool IsChanneling()</code>
| <code>void SetPlaybackRate(float flRate)</code>
| Is this unit currently channeling a spell?
| Override playbackrate
|-
|}
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.IsClone | IsClone]]
 
| <code>bool IsClone()</code>
==== CDOTA_Ability_Nian_Leap ====
| Is this unit a clone? (Meepo)
:::::extends [[#CDOTABaseAbility|CDOTABaseAbility]]
''No Description Set''
{| class="standard-table" style="width: 100%;"
! Function
! Signature
! Description
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.IsCommandRestricted | IsCommandRestricted]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Ability_Nian_Leap.SetPlaybackRate | SetPlaybackRate]]  
| <code>bool IsCommandRestricted()</code>
| <code>void SetPlaybackRate(float flRate)</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_BaseNPC.IsConsideredHero | IsConsideredHero]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Ability_Nian_Roar.GetCastCount | GetCastCount]]  
| <code>bool IsConsideredHero()</code>
| <code>int GetCastCount()</code>
| Is this unit a considered a hero for targeting purposes?
| 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.IsControllableByAnyPlayer | IsControllableByAnyPlayer]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.AddAbility | AddAbility]]  
| <code>bool IsControllableByAnyPlayer()</code>
| <code>handle AddAbility(string pszAbilityName)</code>
| Is this unit controlled by any non-bot player?
| Add an ability to this unit by name.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.IsCourier | IsCourier]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.AddActivityModifier | AddActivityModifier]]  
| <code>bool IsCourier()</code>
| <code>void AddActivityModifier(string szName)</code>
| Is this unit a courier?
| Add an activity modifier that affects future StartGesture calls
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.IsCreature | IsCreature]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.AddItem | AddItem]]  
| <code>bool IsCreature()</code>
| <code>handle AddItem(handle hItem)</code>
| Is this a Creature type NPC?
| Add an item to this unit's inventory.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.IsCreep | IsCreep]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.AddItemByName | AddItemByName]]  
| <code>bool IsCreep()</code>
| <code>handle AddItemByName(string pszItemName)</code>
| Is this unit a creep?
| Add an item to this unit's inventory.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.IsDeniable | IsDeniable]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.AddNewModifier | AddNewModifier]]  
| <code>bool IsDeniable()</code>
| <code>handle AddNewModifier(handle hCaster, handle hAbility, string pszScriptName, handle hModifierTable)</code>
|  
| Add a modifier to this unit.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.IsDisarmed | IsDisarmed]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.AddNoDraw | AddNoDraw]]  
| <code>bool IsDisarmed()</code>
| <code>void AddNoDraw()</code>
|  
| Adds the no draw flag.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.IsDominated | IsDominated]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.AddSpeechBubble | AddSpeechBubble]]  
| <code>bool IsDominated()</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.IsEvadeDisabled | IsEvadeDisabled]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.AlertNearbyUnits | AlertNearbyUnits]]  
| <code>bool IsEvadeDisabled()</code>
| <code>void AlertNearbyUnits(handle hAttacker, handle hAbility)</code>
|  
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.IsFort | IsFort]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.AngerNearbyUnits | AngerNearbyUnits]]  
| <code>bool IsFort()</code>
| <code>void AngerNearbyUnits()</code>
| Is this unit an Ancient?
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.IsFrozen | IsFrozen]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.AttackNoEarlierThan | AttackNoEarlierThan]]  
| <code>bool IsFrozen()</code>
| <code>void AttackNoEarlierThan(float flTime)</code>
|  
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.IsHero | IsHero]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.AttackReady | AttackReady]]  
| <code>bool IsHero()</code>
| <code>bool AttackReady()</code>
| Is this a hero or hero illusion?
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.IsHexed | IsHexed]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.BoundingRadius2D | BoundingRadius2D]]  
| <code>bool IsHexed()</code>
| <code>float BoundingRadius2D()</code>
|  
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.IsIdle | IsIdle]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.CanEntityBeSeenByMyTeam | CanEntityBeSeenByMyTeam]]  
| <code>bool IsIdle()</code>
| <code>bool CanEntityBeSeenByMyTeam(handle hEntity)</code>
| Is this creature currently idle?
| Check FoW to see if an entity is visible.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.IsIllusion | IsIllusion]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.CanSellItems | CanSellItems]]  
| <code>bool IsIllusion()</code>
| <code>bool CanSellItems()</code>
|  
| Query if this unit can sell items.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.IsInRangeOfShop | IsInRangeOfShop]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.CastAbilityImmediately | CastAbilityImmediately]]  
| <code>bool IsInRangeOfShop(int nShopType, bool bPhysical)</code>
| <code>void CastAbilityImmediately(handle hAbility, int iPlayerIndex)</code>
| Ask whether this unit is in range of the specified shop ( DOTA_SHOP_TYPE shop, bool bMustBePhysicallyNear
| Cast an ability immediately.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.IsInvisible | IsInvisible]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.CastAbilityNoTarget | CastAbilityNoTarget]]  
| <code>bool IsInvisible()</code>
| <code>void CastAbilityNoTarget(handle hAbility, int iPlayerIndex)</code>
|  
| Cast an ability with no target.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.IsInvulnerable | IsInvulnerable]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.CastAbilityOnPosition | CastAbilityOnPosition]]  
| <code>bool IsInvulnerable()</code>
| <code>void CastAbilityOnPosition(Vector vPosition, handle hAbility, int iPlayerIndex)</code>
|  
| Cast an ability on a position.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.IsLowAttackPriority | IsLowAttackPriority]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.CastAbilityOnTarget | CastAbilityOnTarget]]  
| <code>bool IsLowAttackPriority()</code>
| <code>void CastAbilityOnTarget(handle hTarget, handle hAbility, int iPlayerIndex)</code>
|  
| Cast an ability on a target entity.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.IsMagicImmune | IsMagicImmune]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.CastAbilityToggle | CastAbilityToggle]]  
| <code>bool IsMagicImmune()</code>
| <code>void CastAbilityToggle(handle hAbility, int iPlayerIndex)</code>
|  
| Toggle an ability.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.IsMovementImpaired | IsMovementImpaired]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.ClearActivityModifiers | ClearActivityModifiers]]  
| <code>bool IsMovementImpaired()</code>
| <code>void ClearActivityModifiers()</code>
|  
| Clear Activity modifiers
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.IsMoving | IsMoving]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.DestroyAllSpeechBubbles | DestroyAllSpeechBubbles]]  
| <code>bool IsMoving()</code>
| <code>void DestroyAllSpeechBubbles()</code>
| Is this unit moving?
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.IsMuted | IsMuted]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.DisassembleItem | DisassembleItem]]  
| <code>bool IsMuted()</code>
| <code>void DisassembleItem(handle hItem)</code>
|  
| Disassemble the passed item in this unit's inventory.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.IsNeutralUnitType | IsNeutralUnitType]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.DropItemAtPosition | DropItemAtPosition]]  
| <code>bool IsNeutralUnitType()</code>
| <code>void DropItemAtPosition(Vector vDest, handle hItem)</code>
| Is this a neutral?
| Drop an item at a given point.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.IsNightmared | IsNightmared]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.DropItemAtPositionImmediate | DropItemAtPositionImmediate]]  
| <code>bool IsNightmared()</code>
| <code>void DropItemAtPositionImmediate(handle hItem, Vector vPosition)</code>
|  
| Immediately drop a carried item at a given position.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.IsOpposingTeam | IsOpposingTeam]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.EjectItemFromStash | EjectItemFromStash]]  
| <code>bool IsOpposingTeam(int nTeam)</code>
| <code>void EjectItemFromStash(handle hItem)</code>
|  
| Drops the selected item out of this unit's stash.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.IsOther | IsOther]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.FaceTowards | FaceTowards]]  
| <code>bool IsOther()</code>
| <code>void FaceTowards(Vector vTarget)</code>
| Is this unit a ward-type unit?
| This unit will be set to face the target point.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.IsOutOfGame | IsOutOfGame]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.FadeGesture | FadeGesture]]  
| <code>bool IsOutOfGame()</code>
| <code>void FadeGesture(int nActivity)</code>
|  
| Fade and remove the given gesture activity.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.IsOwnedByAnyPlayer | IsOwnedByAnyPlayer]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.FindAbilityByName | FindAbilityByName]]  
| <code>bool IsOwnedByAnyPlayer()</code>
| <code>handle FindAbilityByName(string pAbilityName)</code>
| Is this unit owned by any non-bot player?
| Retrieve an ability by name from the unit.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.IsPhantom | IsPhantom]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.FindAllModifiers | FindAllModifiers]]  
| <code>bool IsPhantom()</code>
| <code>table FindAllModifiers()</code>
| Is this a phantom unit?
| Returns a table of all of the modifiers on the NPC.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.IsPhantomBlocker | IsPhantomBlocker]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.FindAllModifiersByName | FindAllModifiersByName]]  
| <code>bool IsPhantomBlocker()</code>
| <code>table FindAllModifiersByName(string pszScriptName)</code>
|  
| Returns a table of all of the modifiers on the NPC with the passed name (modifierName)
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.IsPhased | IsPhased]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.FindItemInInventory | FindItemInInventory]]  
| <code>bool IsPhased()</code>
| <code>handle FindItemInInventory(string pszItemName)</code>
|  
| Get handle to first item in inventory, else nil.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.IsPositionInRange | IsPositionInRange]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.FindModifierByName | FindModifierByName]]  
| <code>bool IsPositionInRange(Vector vPosition, float flRange)</code>
| <code>handle FindModifierByName(string pszScriptName)</code>
|  
| Return a handle to the modifier of the given name if found, else nil (string Name )
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.IsRangedAttacker | IsRangedAttacker]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.FindModifierByNameAndCaster | FindModifierByNameAndCaster]]  
| <code>bool IsRangedAttacker()</code>
| <code>handle FindModifierByNameAndCaster(string pszScriptName, handle hCaster)</code>
| Is this unit a ranged attacker?
| 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.IsRealHero | IsRealHero]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.ForceKill | ForceKill]]  
| <code>bool IsRealHero()</code>
| <code>void ForceKill(bool bReincarnate)</code>
| Is this a real hero?
| Kill this unit immediately.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.IsRooted | IsRooted]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.ForcePlayActivityOnce | ForcePlayActivityOnce]]  
| <code>bool IsRooted()</code>
| <code>void ForcePlayActivityOnce(int nActivity)</code>
|  
| Play an activity once, and then go back to idle.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.IsShrine | IsShrine]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetAbilityByIndex | GetAbilityByIndex]]  
| <code>bool IsShrine()</code>
| <code>handle GetAbilityByIndex(int iIndex)</code>
| Is this a shrine?
| Retrieve an ability by index from the unit.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.IsSilenced | IsSilenced]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetAbilityCount | GetAbilityCount]]  
| <code>bool IsSilenced()</code>
| <code>int GetAbilityCount()</code>
|  
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.IsSpeciallyDeniable | IsSpeciallyDeniable]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetAcquisitionRange | GetAcquisitionRange]]  
| <code>bool IsSpeciallyDeniable()</code>
| <code>float GetAcquisitionRange()</code>
|  
| Gets the range at which this unit will auto-acquire.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.IsStunned | IsStunned]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetAdditionalBattleMusicWeight | GetAdditionalBattleMusicWeight]]  
| <code>bool IsStunned()</code>
| <code>float GetAdditionalBattleMusicWeight()</code>
|  
| Combat involving this creature will have this weight added to the music calcuations.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.IsSummoned | IsSummoned]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetAggroTarget | GetAggroTarget]]  
| <code>bool IsSummoned()</code>
| <code>handle GetAggroTarget()</code>
| Is this unit summoned?
| Returns this unit's aggro target.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.IsTempestDouble | IsTempestDouble]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetAttackAnimationPoint | GetAttackAnimationPoint]]  
| <code>bool IsTempestDouble()</code>
| <code>float GetAttackAnimationPoint()</code>
|  
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.IsTower | IsTower]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetAttackCapability | GetAttackCapability]]  
| <code>bool IsTower()</code>
| <code>int GetAttackCapability()</code>
| Is this a tower?
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.IsUnableToMiss | IsUnableToMiss]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetAttackDamage | GetAttackDamage]]  
| <code>bool IsUnableToMiss()</code>
| <code>int GetAttackDamage()</code>
|  
| Returns a random integer between the minimum and maximum base damage of the unit.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.IsUnselectable | IsUnselectable]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetAttackRangeBuffer | GetAttackRangeBuffer]]  
| <code>bool IsUnselectable()</code>
| <code>float GetAttackRangeBuffer()</code>
|  
| Gets the attack range buffer.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.IsUntargetable | IsUntargetable]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetAttackSpeed | GetAttackSpeed]]  
| <code>bool IsUntargetable()</code>
| <code>float GetAttackSpeed()</code>
|  
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.Kill | Kill]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetAttackTarget | GetAttackTarget]]  
| <code>void Kill(handle hAbility, handle hAttacker)</code>
| <code>handle GetAttackTarget()</code>
| Kills this NPC, with the params Ability and Attacker.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.MakeIllusion | MakeIllusion]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetAttacksPerSecond | GetAttacksPerSecond]]  
| <code>void MakeIllusion()</code>
| <code>float GetAttacksPerSecond()</code>
|  
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.MakePhantomBlocker | MakePhantomBlocker]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetAverageTrueAttackDamage | GetAverageTrueAttackDamage]]  
| <code>void MakePhantomBlocker()</code>
| <code>int GetAverageTrueAttackDamage(handle hTarget)</code>
|  
| Returns the average value of the minimum and maximum damage values.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.MakeVisibleDueToAttack | MakeVisibleDueToAttack]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetBaseAttackRange | GetBaseAttackRange]]  
| <code>void MakeVisibleDueToAttack(int iTeam, float flRadius)</code>
| <code>int GetBaseAttackRange()</code>
|  
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.MakeVisibleToTeam | MakeVisibleToTeam]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetBaseAttackTime | GetBaseAttackTime]]  
| <code>void MakeVisibleToTeam(int iTeam, float flDuration)</code>
| <code>float GetBaseAttackTime()</code>
|  
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.ManageModelChanges | ManageModelChanges]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetBaseDamageMax | GetBaseDamageMax]]  
| <code>void ManageModelChanges()</code>
| <code>int GetBaseDamageMax()</code>
|  
| Get the maximum attack damage of this unit.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.ModifyHealth | ModifyHealth]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetBaseDamageMin | GetBaseDamageMin]]  
| <code>void ModifyHealth(int iDesiredHealthValue, handle hAbility, bool bLethal, int iAdditionalFlags)</code>
| <code>int GetBaseDamageMin()</code>
| Sets the health to a specific value, with optional flags or inflictors.
| Get the minimum attack damage of this unit.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.MoveToNPC | MoveToNPC]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetBaseDayTimeVisionRange | GetBaseDayTimeVisionRange]]  
| <code>void MoveToNPC(handle hNPC)</code>
| <code>int GetBaseDayTimeVisionRange()</code>
| Move to follow a unit.
| Returns the vision range before modifiers.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.MoveToNPCToGiveItem | MoveToNPCToGiveItem]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetBaseHealthRegen | GetBaseHealthRegen]]  
| <code>void MoveToNPCToGiveItem(handle hNPC, handle hItem)</code>
| <code>float GetBaseHealthRegen()</code>
| Give an item to another unit.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.MoveToPosition | MoveToPosition]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetBaseMagicalResistanceValue | GetBaseMagicalResistanceValue]]  
| <code>void MoveToPosition(Vector vDest)</code>
| <code>float GetBaseMagicalResistanceValue()</code>
| Issue a Move-To command.
| Returns base magical armor value.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.MoveToPositionAggressive | MoveToPositionAggressive]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetBaseMaxHealth | GetBaseMaxHealth]]  
| <code>void MoveToPositionAggressive(Vector vDest)</code>
| <code>float GetBaseMaxHealth()</code>
| Issue an Attack-Move-To command.
| Gets the base max health value.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.MoveToTargetToAttack | MoveToTargetToAttack]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetBaseMoveSpeed | GetBaseMoveSpeed]]  
| <code>void MoveToTargetToAttack(handle hTarget)</code>
| <code>float GetBaseMoveSpeed()</code>
| Move to a target to attack.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.NoHealthBar | NoHealthBar]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetBaseNightTimeVisionRange | GetBaseNightTimeVisionRange]]  
| <code>bool NoHealthBar()</code>
| <code>int GetBaseNightTimeVisionRange()</code>
|  
| Returns the vision range after modifiers.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.NoTeamMoveTo | NoTeamMoveTo]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetBonusManaRegen | GetBonusManaRegen]]  
| <code>bool NoTeamMoveTo()</code>
| <code>float GetBonusManaRegen()</code>
|  
| This Mana regen is derived from constant bonuses like Basilius.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.NoTeamSelect | NoTeamSelect]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetCastPoint | GetCastPoint]]  
| <code>bool NoTeamSelect()</code>
| <code>float GetCastPoint(bool bAttack)</code>
|  
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.NoUnitCollision | NoUnitCollision]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetCastRangeBonus | GetCastRangeBonus]]  
| <code>bool NoUnitCollision()</code>
| <code>float GetCastRangeBonus()</code>
|  
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.NotOnMinimap | NotOnMinimap]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetCloneSource | GetCloneSource]]  
| <code>bool NotOnMinimap()</code>
| <code>handle GetCloneSource()</code>
|  
| Get clone source (Meepo Prime, if this is a Meepo)
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.NotOnMinimapForEnemies | NotOnMinimapForEnemies]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetCollisionPadding | GetCollisionPadding]]  
| <code>bool NotOnMinimapForEnemies()</code>
| <code>float GetCollisionPadding()</code>
|  
| Returns the size of the collision padding around the hull.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.NotifyWearablesOfModelChange | NotifyWearablesOfModelChange]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetCooldownReduction | GetCooldownReduction]]  
| <code>void NotifyWearablesOfModelChange(bool bOriginalModel)</code>
| <code>float GetCooldownReduction()</code>
|  
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.PassivesDisabled | PassivesDisabled]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetCreationTime | GetCreationTime]]  
| <code>bool PassivesDisabled()</code>
| <code>float GetCreationTime()</code>
|  
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.PatrolToPosition | PatrolToPosition]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetCurrentActiveAbility | GetCurrentActiveAbility]]  
| <code>void PatrolToPosition(Vector vDest)</code>
| <code>handle GetCurrentActiveAbility()</code>
| Issue a Patrol-To command.
| Get the ability this unit is currently casting.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.PerformAttack | PerformAttack]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetCurrentVisionRange | GetCurrentVisionRange]]  
| <code>void PerformAttack(handle hTarget, bool bUseCastAttackOrb, bool bProcessProcs, bool bSkipCooldown, bool bIgnoreInvis, bool bUseProjectile, bool bFakeAttack, bool bNeverMiss)</code>
| <code>int GetCurrentVisionRange()</code>
| Performs an attack on a target.
| Gets the current vision range.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.PickupDroppedItem | PickupDroppedItem]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetCursorCastTarget | GetCursorCastTarget]]  
| <code>void PickupDroppedItem(handle hItem)</code>
| <code>handle GetCursorCastTarget()</code>
| Pick up a dropped item.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.PickupRune | PickupRune]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetCursorPosition | GetCursorPosition]]  
| <code>void PickupRune(handle hItem)</code>
| <code>Vector GetCursorPosition()</code>
| Pick up a rune.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.PlayVCD | PlayVCD]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetCursorTargetingNothing | GetCursorTargetingNothing]]  
| <code>void PlayVCD(string pVCD)</code>
| <code>bool GetCursorTargetingNothing()</code>
| Play a VCD on the NPC.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.ProvidesVision | ProvidesVision]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetDayTimeVisionRange | GetDayTimeVisionRange]]  
| <code>bool ProvidesVision()</code>
| <code>int GetDayTimeVisionRange()</code>
|  
| Returns the vision range after modifiers.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.Purge | Purge]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetDeathXP | GetDeathXP]]  
| <code>void Purge(bool bRemovePositiveBuffs, bool bRemoveDebuffs, bool bFrameOnly, bool bRemoveStuns, bool bRemoveExceptions)</code>
| <code>int GetDeathXP()</code>
| (bool RemovePositiveBuffs, bool RemoveDebuffs, bool BuffsCreatedThisFrameOnly, bool RemoveStuns, bool RemoveExceptions
| Get the XP bounty on this unit.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.ReduceMana | ReduceMana]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetDisplayAttackSpeed | GetDisplayAttackSpeed]]  
| <code>void ReduceMana(float flAmount)</code>
| <code>float GetDisplayAttackSpeed()</code>
| Remove mana from this unit, this can be used for involuntary mana loss, not for mana that is spent.
| Attack speed expressed as constant value
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.RemoveAbility | RemoveAbility]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetEvasion | GetEvasion]]  
| <code>void RemoveAbility(string pszAbilityName)</code>
| <code>float GetEvasion()</code>
| Remove an ability from this unit by name.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.RemoveAbilityByHandle | RemoveAbilityByHandle]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetForceAttackTarget | GetForceAttackTarget]]  
| <code>void RemoveAbilityByHandle(handle hAbility)</code>
| <code>handle GetForceAttackTarget()</code>
| Remove the passed ability from this unit.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.RemoveGesture | RemoveGesture]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetGoldBounty | GetGoldBounty]]  
| <code>void RemoveGesture(int nActivity)</code>
| <code>int GetGoldBounty()</code>
| Remove the given gesture activity.
| Get the gold bounty on this unit.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.RemoveHorizontalMotionController | RemoveHorizontalMotionController]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetHasteFactor | GetHasteFactor]]  
| <code>void RemoveHorizontalMotionController(handle hBuff)</code>
| <code>float GetHasteFactor()</code>
|  
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.RemoveItem | RemoveItem]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetHealthDeficit | GetHealthDeficit]]  
| <code>void RemoveItem(handle hItem)</code>
| <code>int GetHealthDeficit()</code>
| Removes the passed item from this unit's inventory and deletes it.
| Returns integer amount of health missing from max.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.RemoveModifierByName | RemoveModifierByName]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetHealthPercent | GetHealthPercent]]  
| <code>void RemoveModifierByName(string pszScriptName)</code>
| <code>int GetHealthPercent()</code>
| Removes a modifier.
| Get the current health percent of the unit.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.RemoveModifierByNameAndCaster | RemoveModifierByNameAndCaster]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetHealthRegen | GetHealthRegen]]  
| <code>void RemoveModifierByNameAndCaster(string pszScriptName, handle hCaster)</code>
| <code>float GetHealthRegen()</code>
| Removes a modifier that was cast by the given caster.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.RemoveNoDraw | RemoveNoDraw]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetHullRadius | GetHullRadius]]  
| <code>void RemoveNoDraw()</code>
| <code>float GetHullRadius()</code>
| Remove the no draw flag.
| Get the collision hull radius of this NPC.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.RemoveVerticalMotionController | RemoveVerticalMotionController]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetIdealSpeed | GetIdealSpeed]]  
| <code>void RemoveVerticalMotionController(handle hBuff)</code>
| <code>float GetIdealSpeed()</code>
|  
| Returns speed after all modifiers.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.RespawnUnit | RespawnUnit]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetIdealSpeedNoSlows | GetIdealSpeedNoSlows]]  
| <code>void RespawnUnit()</code>
| <code>float GetIdealSpeedNoSlows()</code>
| Respawns the target unit if it can be respawned.
| Returns speed after all modifiers, but excluding those that reduce speed.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.Script_GetAttackRange | Script_GetAttackRange]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetIncreasedAttackSpeed | GetIncreasedAttackSpeed]]  
| <code>float Script_GetAttackRange()</code>
| <code>float GetIncreasedAttackSpeed()</code>
| Gets this unit's attack range after all modifiers.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.SellItem | SellItem]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetInitialGoalEntity | GetInitialGoalEntity]]  
| <code>void SellItem(handle hItem)</code>
| <code>handle GetInitialGoalEntity()</code>
| Sells the passed item in this unit's inventory.
| Returns the initial waypoint goal for this NPC.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.SetAbilityByIndex | SetAbilityByIndex]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetInitialGoalPosition | GetInitialGoalPosition]]  
| <code>void SetAbilityByIndex(handle hAbility, int iIndex)</code>
| <code>Vector GetInitialGoalPosition()</code>
| Set the ability by index.
| Get waypoint position for this NPC.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.SetAcquisitionRange | SetAcquisitionRange]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetItemInSlot | GetItemInSlot]]  
| <code>void SetAcquisitionRange(int nRange)</code>
| <code>handle GetItemInSlot(int i)</code>
|  
| Returns nth item in inventory slot (index is zero based).
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.SetAdditionalBattleMusicWeight | SetAdditionalBattleMusicWeight]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetLastAttackTime | GetLastAttackTime]]  
| <code>void SetAdditionalBattleMusicWeight(float flWeight)</code>
| <code>float GetLastAttackTime()</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.GetLastDamageTime | GetLastDamageTime]]  
| <code>void SetAggroTarget(handle hAggroTarget)</code>
| <code>float GetLastDamageTime()</code>
| Set this unit's aggro target to a specified unit.
| Get the last time this NPC took damage
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.SetAttackCapability | SetAttackCapability]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetLastIdleChangeTime | GetLastIdleChangeTime]]  
| <code>void SetAttackCapability(int iAttackCapabilities)</code>
| <code>float GetLastIdleChangeTime()</code>
|  
| Get the last game time that this unit switched to/from idle state.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.SetAttacking | SetAttacking]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetLevel | GetLevel]]  
| <code>void SetAttacking(handle hAttackTarget)</code>
| <code>int GetLevel()</code>
|  
| Returns the level of this unit.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.SetBaseAttackTime | SetBaseAttackTime]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetMagicalArmorValue | GetMagicalArmorValue]]  
| <code>void SetBaseAttackTime(float flBaseAttackTime)</code>
| <code>float GetMagicalArmorValue()</code>
|  
| Returns current magical armor value.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.SetBaseDamageMax | SetBaseDamageMax]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetMainControllingPlayer | GetMainControllingPlayer]]  
| <code>void SetBaseDamageMax(int nMax)</code>
| <code>int GetMainControllingPlayer()</code>
| Sets the maximum base damage.
| Returns the player ID of the controlling player.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.SetBaseDamageMin | SetBaseDamageMin]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetMana | GetMana]]  
| <code>void SetBaseDamageMin(int nMin)</code>
| <code>float GetMana()</code>
| Sets the minimum base damage.
| Get the mana on this unit.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.SetBaseHealthRegen | SetBaseHealthRegen]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetManaPercent | GetManaPercent]]  
| <code>void SetBaseHealthRegen(float flHealthRegen)</code>
| <code>int GetManaPercent()</code>
|  
| Get the percent of mana remaining.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.SetBaseMagicalResistanceValue | SetBaseMagicalResistanceValue]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetManaRegen | GetManaRegen]]  
| <code>void SetBaseMagicalResistanceValue(float flMagicalResistanceValue)</code>
| <code>float GetManaRegen()</code>
| Sets base magical armor value.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.SetBaseManaRegen | SetBaseManaRegen]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetMaxMana | GetMaxMana]]  
| <code>void SetBaseManaRegen(float flManaRegen)</code>
| <code>float GetMaxMana()</code>
|  
| Get the maximum mana of this unit.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.SetBaseMaxHealth | SetBaseMaxHealth]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetMaximumGoldBounty | GetMaximumGoldBounty]]  
| <code>void SetBaseMaxHealth(float flBaseMaxHealth)</code>
| <code>int GetMaximumGoldBounty()</code>
| Set a new base max health value.
| Get the maximum gold bounty for this unit.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.SetBaseMoveSpeed | SetBaseMoveSpeed]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetMinimumGoldBounty | GetMinimumGoldBounty]]  
| <code>void SetBaseMoveSpeed(int iMoveSpeed)</code>
| <code>int GetMinimumGoldBounty()</code>
|  
| Get the minimum gold bounty for this unit.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.SetCanSellItems | SetCanSellItems]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetModelRadius | GetModelRadius]]  
| <code>void SetCanSellItems(bool bCanSell)</code>
| <code>float GetModelRadius()</code>
| Set whether or not this unit is allowed to sell items (bCanSellItems)
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.SetControllableByPlayer | SetControllableByPlayer]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetModifierCount | GetModifierCount]]  
| <code>void SetControllableByPlayer(int iIndex, bool bSkipAdjustingPosition)</code>
| <code>int GetModifierCount()</code>
| Set this unit controllable by the player with the passed ID.
| How many modifiers does this unit have?
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.SetCursorCastTarget | SetCursorCastTarget]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetModifierNameByIndex | GetModifierNameByIndex]]  
| <code>void SetCursorCastTarget(handle hEntity)</code>
| <code>string GetModifierNameByIndex(int nIndex)</code>
|  
| Get a modifier name by index.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.SetCursorPosition | SetCursorPosition]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetModifierStackCount | GetModifierStackCount]]  
| <code>void SetCursorPosition(Vector vLocation)</code>
| <code>int GetModifierStackCount(string pszScriptName, handle hCaster)</code>
|  
| Gets the stack count of a given modifier.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.SetCursorTargetingNothing | SetCursorTargetingNothing]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetMoveSpeedModifier | GetMoveSpeedModifier]]  
| <code>void SetCursorTargetingNothing(bool bTargetingNothing)</code>
| <code>float GetMoveSpeedModifier(float flBaseSpeed, bool bReturnUnslowed)</code>
|  
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.SetCustomHealthLabel | SetCustomHealthLabel]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetMustReachEachGoalEntity | GetMustReachEachGoalEntity]]  
| <code>void SetCustomHealthLabel(string pLabel, int r, int g, int b)</code>
| <code>bool GetMustReachEachGoalEntity()</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.SetDayTimeVisionRange | SetDayTimeVisionRange]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetNeverMoveToClearSpace | GetNeverMoveToClearSpace]]  
| <code>void SetDayTimeVisionRange(int iRange)</code>
| <code>bool GetNeverMoveToClearSpace()</code>
| Set the base vision range.
| 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.SetDeathXP | SetDeathXP]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetNightTimeVisionRange | GetNightTimeVisionRange]]  
| <code>void SetDeathXP(int iXPBounty)</code>
| <code>int GetNightTimeVisionRange()</code>
| Set the XP bounty on this unit.
| Returns the vision range after modifiers.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.SetForceAttackTarget | SetForceAttackTarget]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetOpposingTeamNumber | GetOpposingTeamNumber]]  
| <code>void SetForceAttackTarget(handle hNPC)</code>
| <code>int GetOpposingTeamNumber()</code>
|  
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.SetForceAttackTargetAlly | SetForceAttackTargetAlly]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetPaddedCollisionRadius | GetPaddedCollisionRadius]]  
| <code>void SetForceAttackTargetAlly(handle hNPC)</code>
| <code>float GetPaddedCollisionRadius()</code>
|  
| Get the collision hull radius (including padding) of this NPC.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.SetHasInventory | SetHasInventory]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetPhysicalArmorBaseValue | GetPhysicalArmorBaseValue]]  
| <code>void SetHasInventory(bool bHasInventory)</code>
| <code>float GetPhysicalArmorBaseValue()</code>
| Set if this unit has an inventory.
| Returns base physical armor value.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.SetHullRadius | SetHullRadius]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetPhysicalArmorValue | GetPhysicalArmorValue]]  
| <code>void SetHullRadius(float flHullRadius)</code>
| <code>float GetPhysicalArmorValue(bool bIgnoreBase)</code>
| Set the collision hull radius of this NPC.
| Returns current physical armor value.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.SetIdleAcquire | SetIdleAcquire]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetPlayerOwner | GetPlayerOwner]]  
| <code>void SetIdleAcquire(bool bIdleAcquire)</code>
| <code>handle GetPlayerOwner()</code>
|  
| Returns the player that owns this unit.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.SetInitialGoalEntity | SetInitialGoalEntity]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetPlayerOwnerID | GetPlayerOwnerID]]  
| <code>void SetInitialGoalEntity(handle hGoal)</code>
| <code>int GetPlayerOwnerID()</code>
| Sets the initial waypoint goal for this NPC.
| Get the owner player ID for this unit.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.SetInitialGoalPosition | SetInitialGoalPosition]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetProjectileSpeed | GetProjectileSpeed]]  
| <code>void SetInitialGoalPosition(Vector vPosition)</code>
| <code>int GetProjectileSpeed()</code>
| Set waypoint position for this NPC.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.SetMana | SetMana]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetRangeToUnit | GetRangeToUnit]]  
| <code>void SetMana(float flMana)</code>
| <code>float GetRangeToUnit(handle hNPC)</code>
| Set the mana on this unit.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.SetMaxMana | SetMaxMana]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetRangedProjectileName | GetRangedProjectileName]]  
| <code>void SetMaxMana(float flMaxMana)</code>
| <code>string GetRangedProjectileName()</code>
| Set the maximum mana of this unit.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.SetMaximumGoldBounty | SetMaximumGoldBounty]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetSecondsPerAttack | GetSecondsPerAttack]]  
| <code>void SetMaximumGoldBounty(int iGoldBountyMax)</code>
| <code>float GetSecondsPerAttack()</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.GetSpellAmplification | GetSpellAmplification]]  
| <code>void SetMinimumGoldBounty(int iGoldBountyMin)</code>
| <code>float GetSpellAmplification(bool bBaseOnly)</code>
| Set the minimum gold bounty for this unit.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.SetModifierStackCount | SetModifierStackCount]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetStatusResistance | GetStatusResistance]]  
| <code>void SetModifierStackCount(string pszScriptName, handle hCaster, int nStackCount)</code>
| <code>float GetStatusResistance()</code>
| Sets the stack count of a given modifier.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.SetMoveCapability | SetMoveCapability]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetTotalPurchasedUpgradeGoldCost | GetTotalPurchasedUpgradeGoldCost]]  
| <code>void SetMoveCapability(int iMoveCapabilities)</code>
| <code>int GetTotalPurchasedUpgradeGoldCost()</code>
|  
| Get how much gold has been spent on ability upgrades.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.SetMustReachEachGoalEntity | SetMustReachEachGoalEntity]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GetUnitLabel | GetUnitLabel]]  
| <code>void SetMustReachEachGoalEntity(bool must)</code>
| <code>string GetUnitLabel()</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.GetUnitName | GetUnitName]]  
| <code>void SetNeverMoveToClearSpace(bool neverMoveToClearSpace)</code>
| <code>string GetUnitName()</code>
| If set to true, we will never attempt to move this unit to clear space, even when it unphases.
| Get the name of this unit.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.SetNightTimeVisionRange | SetNightTimeVisionRange]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.GiveMana | GiveMana]]  
| <code>void SetNightTimeVisionRange(int iRange)</code>
| <code>void GiveMana(float flMana)</code>
| Returns the vision range after modifiers.
| 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.SetOrigin | SetOrigin]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.HasAbility | HasAbility]]  
| <code>void SetOrigin(Vector vLocation)</code>
| <code>bool HasAbility(string pszAbilityName)</code>
| Set the unit's origin.
| See whether this unit has an ability by name.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.SetOriginalModel | SetOriginalModel]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.HasAnyActiveAbilities | HasAnyActiveAbilities]]  
| <code>void SetOriginalModel(string pszModelName)</code>
| <code>bool HasAnyActiveAbilities()</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.HasAttackCapability | HasAttackCapability]]  
| <code>void SetPhysicalArmorBaseValue(float flPhysicalArmorValue)</code>
| <code>bool HasAttackCapability()</code>
| Sets base physical armor value.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.SetRangedProjectileName | SetRangedProjectileName]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.HasFlyMovementCapability | HasFlyMovementCapability]]  
| <code>void SetRangedProjectileName(string pProjectileName)</code>
| <code>bool HasFlyMovementCapability()</code>
|  
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.SetRevealRadius | SetRevealRadius]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.HasFlyingVision | HasFlyingVision]]  
| <code>void SetRevealRadius(float revealRadius)</code>
| <code>bool HasFlyingVision()</code>
| sets the client side map reveal radius for this unit
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.SetShouldDoFlyHeightVisual | SetShouldDoFlyHeightVisual]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.HasGroundMovementCapability | HasGroundMovementCapability]]  
| <code>void SetShouldDoFlyHeightVisual(bool bShouldVisuallyFly)</code>
| <code>bool HasGroundMovementCapability()</code>
|  
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.SetStolenScepter | SetStolenScepter]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.HasInventory | HasInventory]]  
| <code>void SetStolenScepter(bool bStolenScepter)</code>
| <code>bool HasInventory()</code>
|  
| Does this unit have an inventory.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.SetUnitCanRespawn | SetUnitCanRespawn]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.HasItemInInventory | HasItemInInventory]]  
| <code>void SetUnitCanRespawn(bool bCanRespawn)</code>
| <code>bool HasItemInInventory(string pItemName)</code>
|  
| See whether this unit has an item by name.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.SetUnitName | SetUnitName]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.HasModifier | HasModifier]]  
| <code>void SetUnitName(string pName)</code>
| <code>bool HasModifier(string pszScriptName)</code>
|  
| Sees if this unit has a given modifier.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.ShouldIdleAcquire | ShouldIdleAcquire]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.HasMovementCapability | HasMovementCapability]]  
| <code>bool ShouldIdleAcquire()</code>
| <code>bool HasMovementCapability()</code>
|  
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.SpendMana | SpendMana]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.HasScepter | HasScepter]]  
| <code>void SpendMana(float flManaSpent, handle hAbility)</code>
| <code>bool HasScepter()</code>
| Spend mana from this unit, this can be used for spending mana from abilities or item usage.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.StartGesture | StartGesture]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.Heal | Heal]]  
| <code>void StartGesture(int nActivity)</code>
| <code>void Heal(float flAmount, handle hInflictor)</code>
| Add the given gesture activity.
| Heal this unit.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.StartGestureWithPlaybackRate | StartGestureWithPlaybackRate]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.Hold | Hold]]  
| <code>void StartGestureWithPlaybackRate(int nActivity, float flRate)</code>
| <code>void Hold()</code>
| Add the given gesture activity with a playback rate override.
| Hold position.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.Stop | Stop]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.Interrupt | Interrupt]]  
| <code>void Stop()</code>
| <code>void Interrupt()</code>
| Stop the current order.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.StopFacing | StopFacing]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.InterruptChannel | InterruptChannel]]  
| <code>void StopFacing()</code>
| <code>void InterruptChannel()</code>
|  
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.SwapAbilities | SwapAbilities]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.InterruptMotionControllers | InterruptMotionControllers]]  
| <code>void SwapAbilities(string pAbilityName1, string pAbilityName2, bool bEnable1, bool bEnable2)</code>
| <code>void InterruptMotionControllers(bool bFindClearSpace)</code>
| Swaps the slots of the two passed abilities and sets them enabled/disabled.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.SwapItems | SwapItems]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.IsAlive | IsAlive]]  
| <code>void SwapItems(int nSlot1, int nSlot2)</code>
| <code>bool IsAlive()</code>
| Swap the contents of two item slots (slot1, slot2)
| Is this unit alive?
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.TakeItem | TakeItem]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.IsAncient | IsAncient]]  
| <code>handle TakeItem(handle hItem)</code>
| <code>bool IsAncient()</code>
| Removed the passed item from this unit's inventory.
| Is this unit an Ancient?
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.TimeUntilNextAttack | TimeUntilNextAttack]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.IsAttackImmune | IsAttackImmune]]  
| <code>float TimeUntilNextAttack()</code>
| <code>bool IsAttackImmune()</code>
|  
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.TriggerModifierDodge | TriggerModifierDodge]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.IsAttacking | IsAttacking]]  
| <code>bool TriggerModifierDodge()</code>
| <code>bool IsAttacking()</code>
|  
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.TriggerSpellAbsorb | TriggerSpellAbsorb]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.IsAttackingEntity | IsAttackingEntity]]  
| <code>bool TriggerSpellAbsorb(handle hAbility)</code>
| <code>bool IsAttackingEntity(handle hEntity)</code>
|  
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.TriggerSpellReflect | TriggerSpellReflect]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.IsBarracks | IsBarracks]]  
| <code>void TriggerSpellReflect(handle hAbility)</code>
| <code>bool IsBarracks()</code>
| Trigger the Lotus Orb-like effect.(hAbility)
| Is this unit a Barracks?
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.UnHideAbilityToSlot | UnHideAbilityToSlot]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.IsBlind | IsBlind]]  
| <code>void UnHideAbilityToSlot(string pszAbilityName, string pszReplacedAbilityName)</code>
| <code>bool IsBlind()</code>
| 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]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.IsBlockDisabled | IsBlockDisabled]]  
| <code>bool UnitCanRespawn()</code>
| <code>bool IsBlockDisabled()</code>
|  
|
|}
 
=== 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.IsBoss | IsBoss]]  
| <code>bool AddExperience(float amount, int nReason, bool bApplyBotDifficultyScaling, bool bIncrementTotal) </code>
| <code>bool IsBoss()</code>
| Adds experience to this unit.
| Is this unit a boss?
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.Buyback | Buyback]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.IsBuilding | IsBuilding]]  
| <code>void Buyback() </code>
| <code>bool IsBuilding()</code>
| Spend the gold and buyback with this hero.
| Is this unit a building?
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.CalculateStatBonus | CalculateStatBonus]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.IsChanneling | IsChanneling]]  
| <code>void CalculateStatBonus() </code>
| <code>bool IsChanneling()</code>
| Recalculate all stats after the hero gains stats.
| Is this unit currently channeling a spell?
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.CanEarnGold | CanEarnGold]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.IsClone | IsClone]]  
| <code>bool CanEarnGold() </code>
| <code>bool IsClone()</code>
| Returns boolean value result of buyback gold limit time less than game time.
| Is this unit a clone? (Meepo)
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.ClearLastHitMultikill | ClearLastHitMultikill]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.IsCommandRestricted | IsCommandRestricted]]  
| <code>void ClearLastHitMultikill() </code>
| <code>bool IsCommandRestricted()</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.IsConsideredHero | IsConsideredHero]]  
| <code>void ClearLastHitStreak() </code>
| <code>bool IsConsideredHero()</code>
| Value is stored in PlayerResource.
| Is this unit a considered a hero for targeting purposes?
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.ClearStreak | ClearStreak]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.IsControllableByAnyPlayer | IsControllableByAnyPlayer]]  
| <code>void ClearStreak() </code>
| <code>bool IsControllableByAnyPlayer()</code>
| Value is stored in PlayerResource.
| Is this unit controlled by any non-bot player?
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.GetAbilityPoints | GetAbilityPoints]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.IsCourier | IsCourier]]  
| <code>int GetAbilityPoints() </code>
| <code>bool IsCourier()</code>
| Gets the current unspent ability point's.
| Is this unit a courier?
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.GetAdditionalOwnedUnits | GetAdditionalOwnedUnits]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.IsCreature | IsCreature]]  
| <code>table GetAdditionalOwnedUnits() </code>
| <code>bool IsCreature()</code>
| Returns a table of all units summoned by this hero.
| Is this a Creature type NPC?
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.GetAgility | GetAgility]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.IsCreep | IsCreep]]  
| <code>float GetAgility() </code>
| <code>bool IsCreep()</code>
| Get the current agility stat of the hero.
| Is this unit a creep?
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.GetAgilityGain | GetAgilityGain]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.IsDeniable | IsDeniable]]  
| <code>float GetAgilityGain() </code>
| <code>bool IsDeniable()</code>
| Get the agility gain of the hero when leveling up.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.GetAssists | GetAssists]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.IsDisarmed | IsDisarmed]]  
| <code>int GetAssists() </code>
| <code>bool IsDisarmed()</code>
| Value is stored in PlayerResource.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.GetAttacker | GetAttacker]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.IsDominated | IsDominated]]  
| <code>int GetAttacker(int nIndex) </code>
| <code>bool IsDominated()</code>
| No Description Set
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.GetBaseAgility | GetBaseAgility]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.IsEvadeDisabled | IsEvadeDisabled]]  
| <code>float GetBaseAgility() </code>
| <code>bool IsEvadeDisabled()</code>
| Get the base agility of a hero.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.GetBaseDamageMax | GetBaseDamageMax]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.IsFort | IsFort]]  
| <code>int GetBaseDamageMax() </code>
| <code>bool IsFort()</code>
| Hero damage is also affected by attributes.
| Is this unit an Ancient?
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.GetBaseDamageMin | GetBaseDamageMin]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.IsFrozen | IsFrozen]]  
| <code>int GetBaseDamageMin() </code>
| <code>bool IsFrozen()</code>
| Hero damage is also affected by attributes.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.GetBaseIntellect | GetBaseIntellect]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.IsHero | IsHero]]  
| <code>float GetBaseIntellect() </code>
| <code>bool IsHero()</code>
| Get the base intelligence of the hero.
| Is this a hero or hero illusion?
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.GetBaseStrength | GetBaseStrength]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.IsHexed | IsHexed]]  
| <code>float GetBaseStrength() </code>
| <code>bool IsHexed()</code>
| Get the base strength of the hero.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.GetBonusDamageFromPrimaryStat | GetBonusDamageFromPrimaryStat]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.IsIdle | IsIdle]]  
| <code>int GetBonusDamageFromPrimaryStat() </code>
| <code>bool IsIdle()</code>
| No Description Set
| Is this creature currently idle?
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.GetBuybackCooldownTime | GetBuybackCooldownTime]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.IsIllusion | IsIllusion]]  
| <code>float GetBuybackCooldownTime() </code>
| <code>bool IsIllusion()</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.IsInRangeOfShop | IsInRangeOfShop]]  
| <code>int GetBuybackCost() </code>
| <code>bool IsInRangeOfShop(int nShopType, bool bPhysical)</code>
| Return integer value for the gold cost of a buyback.
| 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_Hero.GetBuybackGoldLimitTime | GetBuybackGoldLimitTime]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.IsInvisible | IsInvisible]]  
| <code>float GetBuybackGoldLimitTime() </code>
| <code>bool IsInvisible()</code>
| Returns the amount of time gold gain is limited after buying back.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.GetCurrentXP | GetCurrentXP]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.IsInvulnerable | IsInvulnerable]]  
| <code>int GetCurrentXP() </code>
| <code>bool IsInvulnerable()</code>
| Returns the amount of XP
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.GetDeathGoldCost | GetDeathGoldCost]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.IsLowAttackPriority | IsLowAttackPriority]]  
| <code>int GetDeathGoldCost() </code>
| <code>bool IsLowAttackPriority()</code>
| No Description Set
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.GetDeaths | GetDeaths]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.IsMagicImmune | IsMagicImmune]]  
| <code>int GetDeaths() </code>
| <code>bool IsMagicImmune()</code>
| Value is stored in PlayerResource.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.GetDenies | GetDenies]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.IsMovementImpaired | IsMovementImpaired]]  
| <code>int GetDenies() </code>
| <code>bool IsMovementImpaired()</code>
| Value is stored in PlayerResource.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.GetGold | GetGold]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.IsMoving | IsMoving]]  
| <code>int GetGold() </code>
| <code>bool IsMoving()</code>
| Returns gold amount for the player owning this hero
| Is this unit moving?
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.GetGoldBounty | GetGoldBounty]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.IsMuted | IsMuted]]  
| <code>int GetGoldBounty() </code>
| <code>bool IsMuted()</code>
| No Description Set
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.GetHealthRegen | GetHealthRegen]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.IsNeutralUnitType | IsNeutralUnitType]]  
| <code>float GetHealthRegen() </code>
| <code>bool IsNeutralUnitType()</code>
| Hero health regen is affected by attributes.
| Is this a neutral?
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.GetIncreasedAttackSpeed | GetIncreasedAttackSpeed]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.IsNightmared | IsNightmared]]  
| <code>float GetIncreasedAttackSpeed() </code>
| <code>bool IsNightmared()</code>
| Hero attack speed is also affected by agility.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.GetIntellect | GetIntellect]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.IsOpposingTeam | IsOpposingTeam]]  
| <code>float GetIntellect() </code>
| <code>bool IsOpposingTeam(int nTeam)</code>
| Get the current intelligence of the hero.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.GetIntellectGain | GetIntellectGain]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.IsOther | IsOther]]  
| <code>float GetIntellectGain() </code>
| <code>bool IsOther()</code>
| Get the intelligence gain of the hero when leveling up.
| Is this unit a ward-type unit?
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.GetKills | GetKills]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.IsOutOfGame | IsOutOfGame]]  
| <code>int GetKills() </code>
| <code>bool IsOutOfGame()</code>
| Value is stored in PlayerResource.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.GetLastHits | GetLastHits]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.IsOwnedByAnyPlayer | IsOwnedByAnyPlayer]]  
| <code>int GetLastHits() </code>
| <code>bool IsOwnedByAnyPlayer()</code>
| Value is stored in PlayerResource.
| Is this unit owned by any non-bot player?
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.GetManaRegen | GetManaRegen]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.IsPhantom | IsPhantom]]  
| <code>float GetManaRegen() </code>
| <code>bool IsPhantom()</code>
| Hero mana regen is affected by attributes.
| Is this a phantom unit?
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.GetMostRecentDamageTime | GetMostRecentDamageTime]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.IsPhantomBlocker | IsPhantomBlocker]]  
| <code>float GetMostRecentDamageTime() </code>
| <code>bool IsPhantomBlocker()</code>
| No Description Set
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.GetMultipleKillCount | GetMultipleKillCount]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.IsPhased | IsPhased]]  
| <code>int GetMultipleKillCount() </code>
| <code>bool IsPhased()</code>
| No Description Set
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.GetNumAttackers | GetNumAttackers]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.IsPositionInRange | IsPositionInRange]]  
| <code>int GetNumAttackers() </code>
| <code>bool IsPositionInRange(Vector vPosition, float flRange)</code>
| No Description Set
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.GetNumItemsInInventory | GetNumItemsInInventory]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.IsRangedAttacker | IsRangedAttacker]]  
| <code>int GetNumItemsInInventory() </code>
| <code>bool IsRangedAttacker()</code>
| Gets how many items does the hero holds.
| Is this unit a ranged attacker?
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.GetNumItemsInStash | GetNumItemsInStash]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.IsRealHero | IsRealHero]]  
| <code>int GetNumItemsInStash() </code>
| <code>bool IsRealHero()</code>
| Gets how many items does the hero has in stash.
| Is this a real hero?
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.GetPhysicalArmorValue | GetPhysicalArmorValue]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.IsRooted | IsRooted]]  
| <code>float GetPhysicalArmorValue(bool bonusArmorOnly) </code>
| <code>bool IsRooted()</code>
| Hero armor is affected by attributes.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.GetPlayerID | GetPlayerID]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.IsShrine | IsShrine]]  
| <code>int GetPlayerID() </code>
| <code>bool IsShrine()</code>
| Returns player ID of the player owning this hero
| Is this a shrine?
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.GetPrimaryAttribute | GetPrimaryAttribute]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.IsSilenced | IsSilenced]]  
| <code>int GetPrimaryAttribute() </code>
| <code>bool IsSilenced()</code>
| Get the main attribute of the hero. 0 = strength, 1 = agility, 2 = intelligence.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.GetPrimaryStatValue | GetPrimaryStatValue]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.IsSpeciallyDeniable | IsSpeciallyDeniable]]  
| <code>float GetPrimaryStatValue() </code>
| <code>bool IsSpeciallyDeniable()</code>
| Returns the amount of stats points in the hero's main attribute.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.GetRespawnsDisabled | GetRespawnsDisabled]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.IsStunned | IsStunned]]  
| <code>bool GetRespawnsDisabled() </code>
| <code>bool IsStunned()</code>
| Is this hero prevented from respawning?
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.GetRespawnTime | GetRespawnTime]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.IsSummoned | IsSummoned]]  
| <code>float GetRespawnTime() </code>
| <code>bool IsSummoned()</code>
| No Description Set
| Is this unit summoned?
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.GetStatsBasedManaRegen | GetStatsBasedManaRegen]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.IsTempestDouble | IsTempestDouble]]  
| <code>float GetStatsBasedManaRegen() </code>
| <code>bool IsTempestDouble()</code>
| Returns only the regen based on Intelligence.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.GetStreak | GetStreak]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.IsTower | IsTower]]  
| <code>int GetStreak() </code>
| <code>bool IsTower()</code>
| Value is stored in PlayerResource.
| Is this a tower?
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.GetStrength | GetStrength]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.IsUnableToMiss | IsUnableToMiss]]  
| <code>float GetStrength() </code>
| <code>bool IsUnableToMiss()</code>
| No Description Set
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.GetStrengthGain | GetStrengthGain]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.IsUnselectable | IsUnselectable]]  
| <code>float GetStrengthGain() </code>
| <code>bool IsUnselectable()</code>
| Get the strength gain of the hero when leveling up.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.GetTimeUntilRespawn | GetTimeUntilRespawn]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.IsUntargetable | IsUntargetable]]  
| <code>float GetTimeUntilRespawn() </code>
| <code>bool IsUntargetable()</code>
| Get how long until the hero respawns.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.GetTogglableWearable | GetTogglableWearable]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.Kill | Kill]]  
| <code>handle GetTogglableWearable(int nSlotType) </code>
| <code>void Kill(handle hAbility, handle hAttacker)</code>
| Get wearable entity in slot (slot)
| Kills this NPC, with the params Ability and Attacker.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.HasAnyAvailableInventorySpace | HasAnyAvailableInventorySpace]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.MakeIllusion | MakeIllusion]]  
| <code>bool HasAnyAvailableInventorySpace() </code>
| <code>void MakeIllusion()</code>
| Returns true if the hero has at least one clear inventory space.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.HasFlyingVision | HasFlyingVision]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.MakePhantomBlocker | MakePhantomBlocker]]  
| <code>bool HasFlyingVision() </code>
| <code>void MakePhantomBlocker()</code>
| Returns true if the hero has flying vision.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.HasOwnerAbandoned | HasOwnerAbandoned]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.MakeVisibleDueToAttack | MakeVisibleDueToAttack]]  
| <code>bool HasOwnerAbandoned() </code>
| <code>void MakeVisibleDueToAttack(int iTeam, float flRadius)</code>
| Returns true if the player owning the hero has abandoned.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.HasRoomForItem | HasRoomForItem]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.MakeVisibleToTeam | MakeVisibleToTeam]]  
| <code>int HasRoomForItem(string pItemName, bool bIncludeStashCombines, bool bAllowSelling) </code>
| <code>void MakeVisibleToTeam(int iTeam, float flDuration)</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.ManageModelChanges | ManageModelChanges]]  
| <code>void HeroLevelUp(bool bPlayEffects) </code>
| <code>void ManageModelChanges()</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.ModifyHealth | ModifyHealth]]  
| <code>void IncrementAssists(int iKillerID) </code>
| <code>void ModifyHealth(int iDesiredHealthValue, handle hAbility, bool bLethal, int iAdditionalFlags)</code>
| Value is stored in PlayerResource.
| Sets the health to a specific value, with optional flags or inflictors.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.IncrementDeaths | IncrementDeaths]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.MoveToNPC | MoveToNPC]]  
| <code>void IncrementDeaths(int iKillerID) </code>
| <code>void MoveToNPC(handle hNPC)</code>
| Value is stored in PlayerResource.
| Move to follow a unit.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.IncrementDenies | IncrementDenies]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.MoveToNPCToGiveItem | MoveToNPCToGiveItem]]  
| <code>void IncrementDenies() </code>
| <code>void MoveToNPCToGiveItem(handle hNPC, handle hItem)</code>
| Value is stored in PlayerResource.
| Give an item to another unit.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.IncrementKills | IncrementKills]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.MoveToPosition | MoveToPosition]]  
| <code>void IncrementKills(int kills) </code>
| <code>void MoveToPosition(Vector vDest)</code>
| Passed ID is for the victim, killer ID is ID of the current hero. Value is stored in PlayerResource.
| Issue a Move-To command.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.IncrementLastHitMultikill | IncrementLastHitMultikill]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.MoveToPositionAggressive | MoveToPositionAggressive]]  
| <code>void IncrementLastHitMultikill() </code>
| <code>void MoveToPositionAggressive(Vector vDest)</code>
| Value is stored in PlayerResource.
| Issue an Attack-Move-To command.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.IncrementLastHits | IncrementLastHits]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.MoveToTargetToAttack | MoveToTargetToAttack]]  
| <code>void IncrementLastHits() </code>
| <code>void MoveToTargetToAttack(handle hTarget)</code>
| Value is stored in PlayerResource.
| Move to a target to attack.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.IncrementLastHitStreak | IncrementLastHitStreak]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.NoHealthBar | NoHealthBar]]  
| <code>void IncrementLastHitStreak() </code>
| <code>bool NoHealthBar()</code>
| Value is stored in PlayerResource.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.IncrementNearbyCreepDeaths | IncrementNearbyCreepDeaths]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.NoTeamMoveTo | NoTeamMoveTo]]  
| <code>void IncrementNearbyCreepDeaths() </code>
| <code>bool NoTeamMoveTo()</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.NoTeamSelect | NoTeamSelect]]  
| <code>void IncrementStreak() </code>
| <code>bool NoTeamSelect()</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.NoUnitCollision | NoUnitCollision]]  
| <code>bool IsBuybackDisabledByReapersScythe() </code>
| <code>bool NoUnitCollision()</code>
| No Description Set
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.IsReincarnating | IsReincarnating]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.NotOnMinimap | NotOnMinimap]]  
| <code>bool IsReincarnating() </code>
| <code>bool NotOnMinimap()</code>
| No Description Set
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.KilledHero | KilledHero]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.NotOnMinimapForEnemies | NotOnMinimapForEnemies]]  
| <code>void KilledHero(handle hHero, handle hInflictor) </code>
| <code>bool NotOnMinimapForEnemies()</code>
| Args: Hero, Inflictor
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.ModifyAgility | ModifyAgility]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.NotifyWearablesOfModelChange | NotifyWearablesOfModelChange]]  
| <code>void ModifyAgility(float flNewAgility) </code>
| <code>void NotifyWearablesOfModelChange(bool bOriginalModel)</code>
| Adds passed value to base attribute value, then calls CalculateStatBonus.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.ModifyGold | ModifyGold]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.PassivesDisabled | PassivesDisabled]]  
| <code>int ModifyGold(int goldAmmt, bool reliable, int reason) </code>
| <code>bool PassivesDisabled()</code>
| Gives this hero some gold. Args: ''int'' nGoldChange, ''bool'' bReliable, ''int'' reason
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.ModifyIntellect | ModifyIntellect]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.PatrolToPosition | PatrolToPosition]]  
| <code>void ModifyIntellect(float flNewIntellect) </code>
| <code>void PatrolToPosition(Vector vDest)</code>
| Adds passed value to base attribute value, then calls CalculateStatBonus.
| Issue a Patrol-To command.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.ModifyStrength | ModifyStrength]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.PerformAttack | PerformAttack]]  
| <code>void ModifyStrength(float flNewStrength) </code>
| <code>void PerformAttack(handle hTarget, bool bUseCastAttackOrb, bool bProcessProcs, bool bSkipCooldown, bool bIgnoreInvis, bool bUseProjectile, bool bFakeAttack, bool bNeverMiss)</code>
| Adds passed value to base attribute value, then calls CalculateStatBonus.
| Performs an attack on a target.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.PerformTaunt | PerformTaunt]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.PickupDroppedItem | PickupDroppedItem]]  
| <code>void PerformTaunt() </code>
| <code>void PickupDroppedItem(handle hItem)</code>
| No Description Set
| Pick up a dropped item.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.RecordLastHit | RecordLastHit]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.PickupRune | PickupRune]]  
| <code>void RecordLastHit() </code>
| <code>void PickupRune(handle hItem)</code>
| No Description Set
| Pick up a rune.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.RespawnHero | RespawnHero]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.PlayVCD | PlayVCD]]  
| <code>void RespawnHero(bool buyback, bool IsActuallyBeingSpawnedForTheFirstTime, bool RespawnPenalty) </code>
| <code>void PlayVCD(string pVCD)</code>
| Respawn this hero.
| Play a VCD on the NPC.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.SetAbilityPoints | SetAbilityPoints]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.ProvidesVision | ProvidesVision]]  
| <code>void SetAbilityPoints(int iPoints) </code>
| <code>bool ProvidesVision()</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.Purge | Purge]]  
| <code>void SetBaseAgility(float flAgility) </code>
| <code>void Purge(bool bRemovePositiveBuffs, bool bRemoveDebuffs, bool bFrameOnly, bool bRemoveStuns, bool bRemoveExceptions)</code>
| Sets the base agility points for this hero.
| (bool RemovePositiveBuffs, bool RemoveDebuffs, bool BuffsCreatedThisFrameOnly, bool RemoveStuns, bool RemoveExceptions
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.SetBaseIntellect | SetBaseIntellect]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.ReduceMana | ReduceMana]]  
| <code>void SetBaseIntellect(float flIntellect) </code>
| <code>void ReduceMana(float flAmount)</code>
| Sets the base intelligence points for this hero.
| 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/CDOTA_BaseNPC_Hero.SetBaseStrength | SetBaseStrength]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.RemoveAbility | RemoveAbility]]  
| <code>void SetBaseStrength(float flStrength) </code>
| <code>void RemoveAbility(string pszAbilityName)</code>
| Sets the base strength points for this hero.
| Remove an ability from this unit by name.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.SetBotDifficulty | SetBotDifficulty]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.RemoveAbilityByHandle | RemoveAbilityByHandle]]  
| <code>void SetBotDifficulty(int nDifficulty) </code>
| <code>void RemoveAbilityByHandle(handle hAbility)</code>
| Sets the bot's difficulty level (0 = passive, 1 = easy, 2 = medium, 3 = hard, 4 = unfair)
| Remove the passed ability from this unit.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.SetBuybackCooldownTime | SetBuybackCooldownTime]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.RemoveGesture | RemoveGesture]]  
| <code>void SetBuybackCooldownTime(float flTime) </code>
| <code>void RemoveGesture(int nActivity)</code>
| Sets the buyback cooldown time.
| Remove the given gesture activity.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.SetBuyBackDisabledByReapersScythe | SetBuyBackDisabledByReapersScythe]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.RemoveHorizontalMotionController | RemoveHorizontalMotionController]]  
| <code>void SetBuyBackDisabledByReapersScythe(bool bBuybackDisabled) </code>
| <code>void RemoveHorizontalMotionController(handle hBuff)</code>
| Set whether this hero can buyback.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.SetBuybackGoldLimitTime | SetBuybackGoldLimitTime]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.RemoveItem | RemoveItem]]  
| <code>void SetBuybackGoldLimitTime(float flTime) </code>
| <code>void RemoveItem(handle hItem)</code>
| Set the amount of time gold gain is limited after buying back.
| Removes the passed item from this unit's inventory and deletes it.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.SetCustomDeathXP | SetCustomDeathXP]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.RemoveModifierByName | RemoveModifierByName]]  
| <code>void SetCustomDeathXP(int iValue) </code>
| <code>void RemoveModifierByName(string pszScriptName)</code>
| Sets a custom experience value for this hero. {{tip|GameRules boolean must be set for this to work!}}
| Removes a modifier.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.SetGold | SetGold]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.RemoveModifierByNameAndCaster | RemoveModifierByNameAndCaster]]  
| <code>void SetGold(int amount, bool reliableGold) </code>
| <code>void RemoveModifierByNameAndCaster(string pszScriptName, handle hCaster)</code>
| Sets the gold amount for the player owning this hero
| Removes a modifier that was cast by the given caster.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.SetPlayerID | SetPlayerID]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.RemoveNoDraw | RemoveNoDraw]]  
| <code>void SetPlayerID(int iPlayerID) </code>
| <code>void RemoveNoDraw()</code>
| Set the player's ID.
| Remove the no draw flag.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.SetPrimaryAttribute | SetPrimaryAttribute]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.RemoveVerticalMotionController | RemoveVerticalMotionController]]  
| <code>void SetPrimaryAttribute(int nPrimaryAttribute) </code>
| <code>void RemoveVerticalMotionController(handle hBuff)</code>
| Set this hero's primary attribute value.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.SetRespawnPosition | SetRespawnPosition]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.RespawnUnit | RespawnUnit]]  
| <code>void SetRespawnPosition(Vector vOrigin) </code>
| <code>void RespawnUnit()</code>
| Set the location where the hero will respawn.
| Respawns the target unit if it can be respawned.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.SetRespawnsDisabled | SetRespawnsDisabled]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.Script_GetAttackRange | Script_GetAttackRange]]  
| <code>void SetRespawnsDisabled(bool bDisableRespawns) </code>
| <code>float Script_GetAttackRange()</code>
| Prevent this hero from respawning.
| Gets this unit's attack range after all modifiers.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.SetTimeUntilRespawn | SetTimeUntilRespawn]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.SellItem | SellItem]]  
| <code>void SetTimeUntilRespawn(float time) </code>
| <code>void SellItem(handle hItem)</code>
| Set the time remaining until the hero respawns.
| Sells the passed item in this unit's inventory.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.ShouldDoFlyHeightVisual | ShouldDoFlyHeightVisual]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.SetAbilityByIndex | SetAbilityByIndex]]  
| <code>bool ShouldDoFlyHeightVisual() </code>
| <code>void SetAbilityByIndex(handle hAbility, int iIndex)</code>
| No Description Set
| Set the ability by index.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.SpendGold | SpendGold]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.SetAcquisitionRange | SetAcquisitionRange]]  
| <code>void SpendGold(int amount, int reason) </code>
| <code>void SetAcquisitionRange(int nRange)</code>
| Args: ''int'' nGold, ''int'' nReason
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.UnitCanRespawn | UnitCanRespawn]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.SetAdditionalBattleMusicWeight | SetAdditionalBattleMusicWeight]]  
| <code>bool UnitCanRespawn() </code>
| <code>void SetAdditionalBattleMusicWeight(float flWeight)</code>
| No Description Set
| Combat involving this creature will have this weight added to the music calcuations.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.UpgradeAbility | UpgradeAbility]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.SetAggroTarget | SetAggroTarget]]  
| <code>void UpgradeAbility(handle hAbility) </code>
| <code>void SetAggroTarget(handle hAggroTarget)</code>
| This upgrades the passed ability if it exists and the hero has enough ability point's.
| Set this unit's aggro target to a specified unit.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.WillReincarnate | WillReincarnate]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.SetAttackCapability | SetAttackCapability]]  
| <code>bool WillReincarnate() </code>
| <code>void SetAttackCapability(int iAttackCapabilities)</code>
| No Description Set
|
|}
 
=== 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.SetAttacking | SetAttacking]]  
| <code>void AddItemDrop(handle hDropData) </code>
| <code>void SetAttacking(handle hAttackTarget)</code>
| Add the specified item drop to this creature
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Creature.CreatureLevelUp | CreatureLevelUp]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.SetBaseAttackTime | SetBaseAttackTime]]  
| <code>void CreatureLevelUp(int iLevels) </code>
| <code>void SetBaseAttackTime(float flBaseAttackTime)</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.SetBaseDamageMax | SetBaseDamageMax]]  
| <code>bool IsChampion() </code>
| <code>void SetBaseDamageMax(int nMax)</code>
| Is this unit a champion?
| Sets the maximum base damage.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Creature.SetArmorGain | SetArmorGain]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.SetBaseDamageMin | SetBaseDamageMin]]  
| <code>void SetArmorGain(float flArmorGain) </code>
| <code>void SetBaseDamageMin(int nMin)</code>
| Set the armor gained per level on this creature.
| Sets the minimum base damage.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Creature.SetAttackTimeGain | SetAttackTimeGain]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.SetBaseHealthRegen | SetBaseHealthRegen]]  
| <code>void SetAttackTimeGain(float flAttackTimeGain) </code>
| <code>void SetBaseHealthRegen(float flHealthRegen)</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.SetBaseMagicalResistanceValue | SetBaseMagicalResistanceValue]]  
| <code>void SetBountyGain(int nBountyGain) </code>
| <code>void SetBaseMagicalResistanceValue(float flMagicalResistanceValue)</code>
| Set the bounty gold gained per level on this creature.
| Sets base magical armor value.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Creature.SetChampion | SetChampion]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.SetBaseManaRegen | SetBaseManaRegen]]  
| <code>void SetChampion(bool bIsChampion) </code>
| <code>void SetBaseManaRegen(float flManaRegen)</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.SetBaseMaxHealth | SetBaseMaxHealth]]  
| <code>void SetDamageGain(int nDamageGain) </code>
| <code>void SetBaseMaxHealth(float flBaseMaxHealth)</code>
| Set the damage gained per level on this creature.
| Set a new base max health value.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Creature.SetDisableResistanceGain | SetDisableResistanceGain]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.SetBaseMoveSpeed | SetBaseMoveSpeed]]  
| <code>void SetDisableResistanceGain(float flDisableResistanceGain) </code>
| <code>void SetBaseMoveSpeed(int iMoveSpeed)</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.SetCanSellItems | SetCanSellItems]]  
| <code>void SetHPGain(int nHPGain) </code>
| <code>void SetCanSellItems(bool bCanSell)</code>
| Set the hit point's gained per level on this creature.
| Set whether or not this unit is allowed to sell items (bCanSellItems)
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Creature.SetHPRegenGain | SetHPRegenGain]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.SetControllableByPlayer | SetControllableByPlayer]]  
| <code>void SetHPRegenGain(float flHPRegenGain) </code>
| <code>void SetControllableByPlayer(int iIndex, bool bSkipAdjustingPosition)</code>
| Set the hit point's regen gained per level on this creature.
| Set this unit controllable by the player with the passed ID.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Creature.SetMagicResistanceGain | SetMagicResistanceGain]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.SetCursorCastTarget | SetCursorCastTarget]]  
| <code>void SetMagicResistanceGain(float flMagicResistanceGain) </code>
| <code>void SetCursorCastTarget(handle hEntity)</code>
| Set the magic resistance gained per level on this creature.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Creature.SetManaGain | SetManaGain]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.SetCursorPosition | SetCursorPosition]]  
| <code>void SetManaGain(int nManaGain) </code>
| <code>void SetCursorPosition(Vector vLocation)</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.SetCursorTargetingNothing | SetCursorTargetingNothing]]  
| <code>void SetManaRegenGain(float flManaRegenGain) </code>
| <code>void SetCursorTargetingNothing(bool bTargetingNothing)</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.SetCustomHealthLabel | SetCustomHealthLabel]]  
| <code>void SetMoveSpeedGain(int nMoveSpeedGain) </code>
| <code>void SetCustomHealthLabel(string pLabel, int r, int g, int b)</code>
| Set the move speed gained per level on this creature.
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.SetDayTimeVisionRange | SetDayTimeVisionRange]]
| <code>void SetDayTimeVisionRange(int iRange)</code>
| Set the base vision range.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Creature.SetXPGain | SetXPGain]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.SetDeathXP | SetDeathXP]]  
| <code>void SetXPGain(int nXPGain) </code>
| <code>void SetDeathXP(int iXPBounty)</code>
| Set the xp reward gained per level on this creature.
| Set the XP bounty on this unit.  
|}
 
 
=== 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.SetForceAttackTarget | SetForceAttackTarget]]  
| <code>int GetInvulnCount() </code>
| <code>void SetForceAttackTarget(handle hNPC)</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.SetForceAttackTargetAlly | SetForceAttackTargetAlly]]  
| <code>void SetInvulnCount(int nInvulnCount) </code>
| <code>void SetForceAttackTargetAlly(handle hNPC)</code>
| Set the invulnerability counter of this building.
|
|}
 
 
=== 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.SetHasInventory | SetHasInventory]]  
| <code>void ClearAbilityTuningValueFilter() </code>
| <code>void SetHasInventory(bool bHasInventory)</code>
| Clear the script filter that controls the tuning values abilities use.
| Set if this unit has an inventory.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.ClearBountyRunePickupFilter | ClearBountyRunePickupFilter]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.SetHullRadius | SetHullRadius]]  
| <code>void ClearBountyRunePickupFilter() </code>
| <code>void SetHullRadius(float flHullRadius)</code>
| Clear the script filter that controls bounty rune pickup behavior.
| Set the collision hull radius of this NPC.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.ClearDamageFilter | ClearDamageFilter]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.SetIdleAcquire | SetIdleAcquire]]  
| <code>void ClearDamageFilter() </code>
| <code>void SetIdleAcquire(bool bIdleAcquire)</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.SetInitialGoalEntity | SetInitialGoalEntity]]  
| <code>void ClearExecuteOrderFilter() </code>
| <code>void SetInitialGoalEntity(handle hGoal)</code>
| Clear the script filter that controls when a unit picks up an item.
| Sets the initial waypoint goal for this NPC.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.ClearItemAddedToInventoryFilter | ClearItemAddedToInventoryFilter]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.SetInitialGoalPosition | SetInitialGoalPosition]]  
| <code>void ClearItemAddedToInventoryFilter() </code>
| <code>void SetInitialGoalPosition(Vector vPosition)</code>
| Clear the script filter that controls when a unit add an item to inventory.
| Set waypoint position for this NPC.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.ClearModifierGainedFilter | ClearModifierGainedFilter]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.SetMana | SetMana]]  
| <code>void ClearModifierGainedFilter() </code>
| <code>void SetMana(float flMana)</code>
| Clear the script filter that controls the modifier filter.
| Set the mana on this unit.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.ClearModifyExperienceFilter | ClearModifyExperienceFilter]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.SetMaxMana | SetMaxMana]]  
| <code>void ClearModifyExperienceFilter() </code>
| <code>void SetMaxMana(float flMaxMana)</code>
| Clear the script filter that controls how hero experience is modified.
| Set the maximum mana of this unit.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.ClearModifyGoldFilter | ClearModifyGoldFilter]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.SetMaximumGoldBounty | SetMaximumGoldBounty]]  
| <code>void ClearModifyGoldFilter() </code>
| <code>void SetMaximumGoldBounty(int iGoldBountyMax)</code>
| Clear the script filter that controls how hero gold is modified.
| Set the maximum gold bounty for this unit.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.ClearRuneSpawnFilter | ClearRuneSpawnFilter]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.SetMinimumGoldBounty | SetMinimumGoldBounty]]  
| <code>void ClearRuneSpawnFilter() </code>
| <code>void SetMinimumGoldBounty(int iGoldBountyMin)</code>
| Clear the script filter that controls what rune spawns.
| Set the minimum gold bounty for this unit.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.ClearTrackingProjectileFilter | ClearTrackingProjectileFilter]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.SetModifierStackCount | SetModifierStackCount]]  
| <code>void ClearTrackingProjectileFilter() </code>
| <code>void SetModifierStackCount(string pszScriptName, handle hCaster, int nStackCount)</code>
| Clear the script filter that controls when tracking projectiles are launched.
| Sets the stack count of a given modifier.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.ClientLoadGridNav | ClientLoadGridNav]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.SetMoveCapability | SetMoveCapability]]  
| <code>void ClientLoadGridNav() </code>
| <code>void SetMoveCapability(int iMoveCapabilities)</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.GetAlwaysShowPlayerNames | GetAlwaysShowPlayerNames]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.SetMustReachEachGoalEntity | SetMustReachEachGoalEntity]]  
| <code>bool GetAlwaysShowPlayerNames() </code>
| <code>void SetMustReachEachGoalEntity(bool must)</code>
| No Description Set
| 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/CDOTABaseGameMode.GetAlwaysShowPlayerInventory | GetAlwaysShowPlayerInventory]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.SetNeverMoveToClearSpace | SetNeverMoveToClearSpace]]  
| <code>bool GetAlwaysShowPlayerInventory() </code>
| <code>void SetNeverMoveToClearSpace(bool neverMoveToClearSpace)</code>
| Show the player hero's inventory in the HUD, regardless of what unit is selected.
| 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/CDOTABaseGameMode.GetAnnouncerDisabled | GetAnnouncerDisabled]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.SetNightTimeVisionRange | SetNightTimeVisionRange]]  
| <code>bool GetAnnouncerDisabled() </code>
| <code>void SetNightTimeVisionRange(int iRange)</code>
| Are in-game announcers disabled?
| Returns the vision range after modifiers.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.GetCameraDistanceOverride | GetCameraDistanceOverride]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.SetOrigin | SetOrigin]]  
| <code>float GetCameraDistanceOverride() </code>
| <code>void SetOrigin(Vector vLocation)</code>
| Set a different camera distance; dota default is 1134.
| Set the unit's origin.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.GetCustomBuybackCooldownEnabled | GetCustomBuybackCooldownEnabled]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.SetOriginalModel | SetOriginalModel]]  
| <code>bool GetCustomBuybackCooldownEnabled() </code>
| <code>void SetOriginalModel(string pszModelName)</code>
| Turns on capability to define custom buyback cooldowns.
| 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/CDOTABaseGameMode.GetCustomBuybackCostEnabled | GetCustomBuybackCostEnabled]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.SetPhysicalArmorBaseValue | SetPhysicalArmorBaseValue]]  
| <code>bool GetCustomBuybackCostEnabled() </code>
| <code>void SetPhysicalArmorBaseValue(float flPhysicalArmorValue)</code>
| Turns on capability to define custom buyback costs.
| Sets base physical armor value.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.GetCustomHeroMaxLevel | GetCustomHeroMaxLevel]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.SetRangedProjectileName | SetRangedProjectileName]]  
| <code>int GetCustomHeroMaxLevel() </code>
| <code>void SetRangedProjectileName(string pProjectileName)</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.SetRevealRadius | SetRevealRadius]]  
| <code>float GetFixedRespawnTime() </code>
| <code>void SetRevealRadius(float revealRadius)</code>
| Gets the fixed respawn time.
| sets the client side map reveal radius for this unit
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.GetFogOfWarDisabled | GetFogOfWarDisabled]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.SetShouldDoFlyHeightVisual | SetShouldDoFlyHeightVisual]]  
| <code>bool GetFogOfWarDisabled() </code>
| <code>void SetShouldDoFlyHeightVisual(bool bShouldVisuallyFly)</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.SetStolenScepter | SetStolenScepter]]  
| <code>bool GetGoldSoundDisabled() </code>
| <code>void SetStolenScepter(bool bStolenScepter)</code>
| Turn the sound when gold is acquired off/on.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.GetMaximumAttackSpeed | GetMaximumAttackSpeed]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.SetUnitCanRespawn | SetUnitCanRespawn]]  
| <code>int GetMaximumAttackSpeed() </code>
| <code>void SetUnitCanRespawn(bool bCanRespawn)</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.SetUnitName | SetUnitName]]  
| <code>int GetMinimumAttackSpeed() </code>
| <code>void SetUnitName(string pName)</code>
| Get the minimum attack speed for units.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.GetRecommendedItemsDisabled | GetRecommendedItemsDisabled]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.ShouldIdleAcquire | ShouldIdleAcquire]]  
| <code>bool GetRecommendedItemsDisabled() </code>
| <code>bool ShouldIdleAcquire()</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.SpendMana | SpendMana]]  
| <code>bool GetStashPurchasingDisabled() </code>
| <code>void SpendMana(float flManaSpent, handle hAbility)</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.
| Spend mana from this unit, this can be used for spending mana from abilities or item usage.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.GetStickyItemDisabled | GetStickyItemDisabled]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.StartGesture | StartGesture]]  
| <code>bool GetStickyItemDisabled() </code>
| <code>void StartGesture(int nActivity)</code>
| Hide the sticky item in the quickbuy.
| Add the given gesture activity.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.GetTopBarTeamValuesOverride | GetTopBarTeamValuesOverride]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.StartGestureWithPlaybackRate | StartGestureWithPlaybackRate]]  
| <code>bool GetTopBarTeamValuesOverride() </code>
| <code>void StartGestureWithPlaybackRate(int nActivity, float flRate)</code>
| Override the values of the team values on the top game bar.
| Add the given gesture activity with a playback rate override.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.GetTopBarTeamValuesVisible | GetTopBarTeamValuesVisible]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.Stop | Stop]]  
| <code>bool GetTopBarTeamValuesVisible() </code>
| <code>void Stop()</code>
| Turning on/off the team values on the top game bar.
| Stop the current order.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.GetTowerBackdoorProtectionEnabled | GetTowerBackdoorProtectionEnabled]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.StopFacing | StopFacing]]  
| <code>bool GetTowerBackdoorProtectionEnabled() </code>
| <code>void StopFacing()</code>
| Enables/Disables tower backdoor protection.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.GetUseCustomHeroLevels | GetUseCustomHeroLevels]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.SwapAbilities | SwapAbilities]]  
| <code>bool GetUseCustomHeroLevels() </code>
| <code>void SwapAbilities(string pAbilityName1, string pAbilityName2, bool bEnable1, bool bEnable2)</code>
| Are custom-defined XP values for hero level ups in use?
| Swaps the slots of the two passed abilities and sets them enabled/disabled.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.IsBuybackEnabled | IsBuybackEnabled]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.SwapItems | SwapItems]]  
| <code>bool IsBuybackEnabled() </code>
| <code>void SwapItems(int nSlot1, int nSlot2)</code>
| Enables or disables buyback completely.
| Swap the contents of two item slots (slot1, slot2)
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.SetAbilityTuningValueFilter | SetAbilityTuningValueFilter]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.TakeItem | TakeItem]]  
| <code>void SetAbilityTuningValueFilter(handle hFunction, handle hContext) </code>
| <code>handle TakeItem(handle hItem)</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)
| Removed the passed item from this unit's inventory.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.SetAlwaysShowPlayerNames | SetAlwaysShowPlayerNames]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.TimeUntilNextAttack | TimeUntilNextAttack]]  
| <code>void SetAlwaysShowPlayerNames(bool bShow) </code>
| <code>float TimeUntilNextAttack()</code>
| No Description Set
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.SetAlwaysShowPlayerInventory | SetAlwaysShowPlayerInventory]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.TriggerModifierDodge | TriggerModifierDodge]]  
| <code>void SetAlwaysShowPlayerInventory(bool bAlwaysShow) </code>
| <code>bool TriggerModifierDodge()</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.TriggerSpellAbsorb | TriggerSpellAbsorb]]  
| <code>void SetAnnouncerDisabled(bool enabled) </code>
| <code>bool TriggerSpellAbsorb(handle hAbility)</code>
| Disables the dota announcer
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.SetBotsAlwaysPushWithHuman | SetBotsAlwaysPushWithHuman]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.TriggerSpellReflect | TriggerSpellReflect]]  
| <code>void SetBotsAlwaysPushWithHuman(bool bAlwaysPush) </code>
| <code>void TriggerSpellReflect(handle hAbility)</code>
| Set if the bots should try their best to push with a human player.
| Trigger the Lotus Orb-like effect.(hAbility)
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.SetBotsInLateGame | SetBotsInLateGame]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.UnHideAbilityToSlot | UnHideAbilityToSlot]]  
| <code>void SetBotsInLateGame(bool bLateGame) </code>
| <code>void UnHideAbilityToSlot(string pszAbilityName, string pszReplacedAbilityName)</code>
| Set if bots should enable their late game behavior.
| 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/CDOTABaseGameMode.SetBotsMaxPushTier | SetBotsMaxPushTier]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC.UnitCanRespawn | UnitCanRespawn]]  
| <code>void SetBotsMaxPushTier(int nMaxTier) </code>
| <code>bool UnitCanRespawn()</code>
| Set the max tier of tower that bots want to push. (-1 to disable)
|
|}
 
==== 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/CDOTABaseGameMode.SetBotThinkingEnabled | SetBotThinkingEnabled]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Building.GetInvulnCount | GetInvulnCount]]  
| <code>void SetBotThinkingEnabled(bool bEnabled) </code>
| <code>int GetInvulnCount()</code>
| Enables/Disables bot thinking. Requires a very Dota PvP-like map with 3 lanes, a shop, etc.
| Get the invulnerability count for a building.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.SetBountyRunePickupFilter | SetBountyRunePickupFilter]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Building.SetInvulnCount | SetInvulnCount]]  
| <code>void SetBountyRunePickupFilter(handle hFunction, handle hContext) </code>
| <code>void SetInvulnCount(int nInvulnCount)</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)
| Set the invulnerability counter of this building.  
|}
 
==== 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/CDOTABaseGameMode.SetBuybackEnabled | SetBuybackEnabled]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Creature.AddItemDrop | AddItemDrop]]  
| <code>void SetBuybackEnabled(bool bEnabled) </code>
| <code>void AddItemDrop(handle hDropData)</code>
| Enables or disables buyback completely
| Add the specified item drop to this creature.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.SetCameraDistanceOverride | SetCameraDistanceOverride]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Creature.CreatureLevelUp | CreatureLevelUp]]  
| <code>void SetCameraDistanceOverride(float flCameraDistanceOverride) </code>
| <code>void CreatureLevelUp(int iLevels)</code>
| Set a different camera distance; dota default is 1134.
| Level the creature up by the specified number of levels
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.SetCustomBuybackCooldownEnabled | SetCustomBuybackCooldownEnabled]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Creature.IsChampion | IsChampion]]  
| <code>void SetCustomBuybackCooldownEnabled(bool bEnabled) </code>
| <code>bool IsChampion()</code>
| Turns on capability to define custom buyback cooldowns.
| Is this unit a champion?
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.SetCustomBuybackCostEnabled | SetCustomBuybackCostEnabled]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Creature.RemoveAllItemDrops | RemoveAllItemDrops]]  
| <code>void SetCustomBuybackCostEnabled(bool bEnabled) </code>
| <code>void RemoveAllItemDrops()</code>
| Turns on capability to define custom buyback costs.
| Remove all item drops from this creature.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.SetCustomGameForceHero | SetCustomGameForceHero]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Creature.SetArmorGain | SetArmorGain]]  
| <code>void SetCustomGameForceHero(string pHeroName) </code>
| <code>void SetArmorGain(float flArmorGain)</code>
| Force single-player hero selection.
| Set the armor gained per level on this creature.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.SetCustomHeroMaxLevel | SetCustomHeroMaxLevel]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Creature.SetAttackTimeGain | SetAttackTimeGain]]  
| <code>void SetCustomHeroMaxLevel(int maxLevel) </code>
| <code>void SetAttackTimeGain(float flAttackTimeGain)</code>
| [Deprecated] Allows definition of the max level heroes can achieve (default is 25).
| Set the attack time gained per level on this creature.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.SetCustomXPRequiredToReachNextLevel | SetCustomXPRequiredToReachNextLevel]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Creature.SetBountyGain | SetBountyGain]]  
| <code>void SetCustomXPRequiredToReachNextLevel(handle hTable) </code>
| <code>void SetBountyGain(int nBountyGain)</code>
| Allows definition of a ''table'' of hero XP values.
| Set the bounty gold gained per level on this creature.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.SetDamageFilter | SetDamageFilter]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Creature.SetChampion | SetChampion]]  
| <code>void SetDamageFilter(handle hFunction, handle hContext) </code>
| <code>void SetChampion(bool bIsChampion)</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)
| Flag this unit as a champion creature.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.SetDraftingBanningTimeOverride | SetDraftingBanningTimeOverride]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Creature.SetDamageGain | SetDamageGain]]  
| <code>void SetDraftingBanningTimeOverride(float time) </code>
| <code>void SetDamageGain(int nDamageGain)</code>
|
| Set the damage gained per level on this creature.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.SetExecuteOrderFilter | SetExecuteOrderFilter]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Creature.SetDisableResistanceGain | SetDisableResistanceGain]]  
| <code>void SetExecuteOrderFilter(handle hFunction, handle hContext) </code>
| <code>void SetDisableResistanceGain(float flDisableResistanceGain)</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)
| Set the disable resistance gained per level on this creature.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.SetFixedRespawnTime | SetFixedRespawnTime]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Creature.SetHPGain | SetHPGain]]  
| <code>void SetFixedRespawnTime(float time) </code>
| <code>void SetHPGain(int nHPGain)</code>
| Sets the dota respawn time. -1 for default behavior
| Set the hit points gained per level on this creature.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.SetFogOfWarDisabled | SetFogOfWarDisabled]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Creature.SetHPRegenGain | SetHPRegenGain]]  
| <code>void SetFogOfWarDisabled(bool bDisabled) </code>
| <code>void SetHPRegenGain(float flHPRegenGain)</code>
| Turn the fog of war on or off.
| Set the hit points regen gained per level on this creature.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.SetFountainConstantManaRegen | SetFountainConstantManaRegen]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Creature.SetMagicResistanceGain | SetMagicResistanceGain]]  
| <code>void SetFountainConstantManaRegen(float flConstantManaRegen) </code>
| <code>void SetMagicResistanceGain(float flMagicResistanceGain)</code>
| Set the constant rate that the fountain will regen mana. (-1 for default)
| Set the magic resistance gained per level on this creature.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.SetFountainPercentageHealthRegen | SetFountainPercentageHealthRegen]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Creature.SetManaGain | SetManaGain]]  
| <code>void SetFountainPercentageHealthRegen(float flPercentageHealthRegen) </code>
| <code>void SetManaGain(int nManaGain)</code>
| Set the percentage rate that the fountain will regen health. (-1 for default)
| Set the mana points gained per level on this creature.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.SetFountainPercentageManaRegen | SetFountainPercentageManaRegen]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Creature.SetManaRegenGain | SetManaRegenGain]]  
| <code>void SetFountainPercentageManaRegen(float flPercentageManaRegen) </code>
| <code>void SetManaRegenGain(float flManaRegenGain)</code>
| Set the percentage rate that the fountain will regen mana. (-1 for default)
| Set the mana points regen gained per level on this creature.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.SetGoldSoundDisabled | SetGoldSoundDisabled]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Creature.SetMoveSpeedGain | SetMoveSpeedGain]]  
| <code>void SetGoldSoundDisabled(bool bDisabled) </code>
| <code>void SetMoveSpeedGain(int nMoveSpeedGain)</code>
| Turn the sound when gold is acquired off/on. Takes a ''bool''.
| Set the move speed gained per level on this creature.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.SetHealingFilter| SetHealingFilter]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Creature.SetRequiresReachingEndPath | SetRequiresReachingEndPath]]  
| <code>void SetHealingFilter(handle hFunction, handle hContext) </code>
| <code>void SetRequiresReachingEndPath(bool bRequiresReachingEndPath)</code>
| Set a filter function
| Set whether creatures require reaching their end path before becoming idle
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.SetHUDVisible | SetHUDVisible]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Creature.SetXPGain | SetXPGain]]  
| <code>void SetHUDVisible(int iHUDElement, bool bVisible) </code>
| <code>void SetXPGain(int nXPGain)</code>
| Set the HUD element visibility.
| Set the XP gained per level on this creature.  
|}
 
==== CDOTA_BaseNPC_Hero ====
:::::extends [[#CDOTA_BaseNPC|CDOTA_BaseNPC]]
''No Description Set''
{| class="standard-table" style="width: 100%;"
! Function
! Signature
! Description
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.SetItemAddedToInventoryFilter | SetItemAddedToInventoryFilter]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.AddExperience | AddExperience]]  
| <code>void SetItemAddedToInventoryFilter(handle hFunction, handle hContext) </code>
| <code>bool AddExperience(float flXP, int nReason, bool bApplyBotDifficultyScaling, bool bIncrementTotal)</code>
| Set a filter function to control when a unit add an item to inventory.
| Params: Float XP, Bool applyBotDifficultyScaling
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.SetLoseGoldOnDeath | SetLoseGoldOnDeath]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.Buyback | Buyback]]  
| <code>void SetLoseGoldOnDeath(bool bEnabled) </code>
| <code>void Buyback()</code>
| Use to disable gold loss on death.
| Spend the gold and buyback with this hero.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.SetMaximumAttackSpeed | SetMaximumAttackSpeed]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.CalculateStatBonus | CalculateStatBonus]]  
| <code>void SetMaximumAttackSpeed(int nMaxSpeed) </code>
| <code>void CalculateStatBonus()</code>
| Set the maximum attack speed for units.
| Recalculate all stats after the hero gains stats.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.SetMinimumAttackSpeed | SetMinimumAttackSpeed]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.CanEarnGold | CanEarnGold]]  
| <code>void SetMinimumAttackSpeed(int nMinSpeed) </code>
| <code>bool CanEarnGold()</code>
| Set the minimum attack speed for units.
| Returns boolean value result of buyback gold limit time less than game time.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.SetModifierGainedFilter | SetModifierGainedFilter]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.ClearLastHitMultikill | ClearLastHitMultikill]]  
| <code>void SetModifierGainedFilter(handle hFunction, handle hContext) </code>
| <code>void ClearLastHitMultikill()</code>
| Set a filter function to control modifiers that are gained, return false to destroy modifier.
| Value is stored in PlayerResource.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.SetModifyExperienceFilter | SetModifyExperienceFilter]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.ClearLastHitStreak | ClearLastHitStreak]]  
| <code>void SetModifyExperienceFilter(handle hFunction, handle hContext) </code>
| <code>void ClearLastHitStreak()</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)
| Value is stored in PlayerResource.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.SetModifyGoldFilter | SetModifyGoldFilter]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.ClearStreak | ClearStreak]]  
| <code>void SetModifyGoldFilter(handle hFunction, handle hContext) </code>
| <code>void ClearStreak()</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)
| Value is stored in PlayerResource.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.SetOverrideSelectionEntity | SetOverrideSelectionEntity]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.GetAbilityPoints | GetAbilityPoints]]  
| <code>void SetOverrideSelectionEntity(handle unit) </code>
| <code>int GetAbilityPoints()</code>
| Set an override for the default selection entity, instead of each player's hero.
| Gets the current unspent ability points.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.SetPauseEnabled | SetPauseEnabled]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.GetAdditionalOwnedUnits | GetAdditionalOwnedUnits]]  
| <code>void SetPauseEnabled(bool bPause) </code>
| <code>table GetAdditionalOwnedUnits()</code>
| Allow/Disallow players to pause the game.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.SetRecommendedItemsDisabled | SetRecommendedItemsDisabled]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.GetAgility | GetAgility]]  
| <code>void SetRecommendedItemsDisabled(bool bDisabled) </code>
| <code>float GetAgility()</code>
| Turn the panel for showing recommended items at the shop off/on. Takes a ''bool''.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.SetRemoveIllusionsOnDeath | SetRemoveIllusionsOnDeath]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.GetAgilityGain | GetAgilityGain]]  
| <code>void SetRemoveIllusionsOnDeath(bool bRemove) </code>
| <code>float GetAgilityGain()</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_Hero.GetAssists | GetAssists]]  
| <code>void SetRuneEnabled(int nRune, bool bEnabled) </code>
| <code>int GetAssists()</code>
| Set if a given type of rune is enabled.
| Value is stored in PlayerResource.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.SetRuneSpawnFilter | SetRuneSpawnFilter]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.GetAttacker | GetAttacker]]  
| <code>void SetRuneSpawnFilter(handle hFunction, handle hContext) </code>
| <code>int GetAttacker(int nIndex)</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)
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.SetStashPurchasingDisabled | SetStashPurchasingDisabled]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.GetBaseAgility | GetBaseAgility]]  
| <code>void SetStashPurchasingDisabled(bool bDisabled) </code>
| <code>float GetBaseAgility()</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.SetStickyItemDisabled | SetStickyItemDisabled]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.GetBaseDamageMax | GetBaseDamageMax]]  
| <code>void SetStickyItemDisabled(bool bDisabled) </code>
| <code>int GetBaseDamageMax()</code>
| Hide the sticky item in the quickbuy.
| Hero damage is also affected by attributes.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.SetTopBarTeamValue | SetTopBarTeamValue]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.GetBaseDamageMin | GetBaseDamageMin]]  
| <code>void SetTopBarTeamValue(int iTeam, int nValue) </code>
| <code>int GetBaseDamageMin()</code>
| Set the team values on the top game bar.
| Hero damage is also affected by attributes.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.SetTopBarTeamValuesOverride | SetTopBarTeamValuesOverride]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.GetBaseIntellect | GetBaseIntellect]]  
| <code>void SetTopBarTeamValuesOverride(bool bOverride) </code>
| <code>float GetBaseIntellect()</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_Hero.GetBaseManaRegen | GetBaseManaRegen]]  
| <code>void SetTopBarTeamValuesVisible(bool bVisible) </code>
| <code>float GetBaseManaRegen()</code>
| Turning on/off the team values on the top game bar.
| Returns the base mana regen.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.SetTowerBackdoorProtectionEnabled | SetTowerBackdoorProtectionEnabled]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.GetBaseStrength | GetBaseStrength]]  
| <code>void SetTowerBackdoorProtectionEnabled(bool bEnabled) </code>
| <code>float GetBaseStrength()</code>
| Enables/Disables tower backdoor protection
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.SetTrackingProjectileFilter | SetTrackingProjectileFilter]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.GetBonusDamageFromPrimaryStat | GetBonusDamageFromPrimaryStat]]  
| <code>void SetTrackingProjectileFilter(handle hFunction, handle hContext) </code>
| <code>int GetBonusDamageFromPrimaryStat()</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_Hero.GetBuybackCooldownTime | GetBuybackCooldownTime]]
| <code>float GetBuybackCooldownTime()</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]]
| <code>int GetBuybackCost(bool bReturnOldValues)</code>
| Return integer value for the gold cost of a buyback.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.SetUnseenFogOfWarEnabled | SetUnseenFogOfWarEnabled]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.GetBuybackGoldLimitTime | GetBuybackGoldLimitTime]]  
| <code>void SetUnseenFogOfWarEnabled(bool bEnabled) </code>
| <code>float GetBuybackGoldLimitTime()</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.
| Returns the amount of time gold gain is limited after buying back.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.SetUseCustomHeroLevels | SetUseCustomHeroLevels]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.GetCurrentXP | GetCurrentXP]]  
| <code>void SetUseCustomHeroLevels(bool bEnabled) </code>
| <code>int GetCurrentXP()</code>
| Turn on custom-defined XP values for hero level ups. The ''table'' should be defined before switching this on.
| Returns the amount of XP
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTABaseGameMode.SetUseDefaultDOTARuneSpawnLogic| SetUseDefaultDOTARuneSpawnLogic]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.GetDeathGoldCost | GetDeathGoldCost]]  
| <code>void SetUseDefaultDOTARuneSpawnLogic(bool bEnabled) </code>
| <code>int GetDeathGoldCost()</code>
|  
|
|}
 
=== CDotaQuest ===
:::::extends [[#CBaseEntity| CBaseEntity]]
''A quest, as seen in the Tutorial and Frostivus. '''WARNING''': Quest system is deprecated since 7.00 and will NOT work''
{| 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_Hero.GetDeaths | GetDeaths]]  
| <code>void AddSubquest(handle hSubquest) </code>
| <code>int GetDeaths()</code>
| Add a subquest to this quest
| Value is stored in PlayerResource.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDotaQuest.CompleteQuest | CompleteQuest]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.GetDenies | GetDenies]]  
| <code>void CompleteQuest() </code>
| <code>int GetDenies()</code>
| Mark this quest complete
| Value is stored in PlayerResource.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDotaQuest.GetSubquest | GetSubquest]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.GetGold | GetGold]]  
| <code>handle GetSubquest(int nIndex) </code>
| <code>int GetGold()</code>
| Finds a subquest from this quest by index
| Returns gold amount for the player owning this hero
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDotaQuest.GetSubquestByName | GetSubquestByName]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.GetGoldBounty | GetGoldBounty]]  
| <code>handle GetSubquestByName(string pszName) </code>
| <code>int GetGoldBounty()</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_Hero.GetIncreasedAttackSpeed | GetIncreasedAttackSpeed]]  
| <code>void RemoveSubquest(handle hSubquest) </code>
| <code>float GetIncreasedAttackSpeed()</code>
| Remove a subquest from this quest
| Hero attack speed is also affected by agility.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDotaQuest.SetTextReplaceString | SetTextReplaceString]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.GetIntellect | GetIntellect]]  
| <code>void SetTextReplaceString(string pszString) </code>
| <code>float GetIntellect()</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_Hero.GetIntellectGain | GetIntellectGain]]  
| <code>void SetTextReplaceValue(int valueSlot, int value) </code>
| <code>float GetIntellectGain()</code>
| Set a quest value
|
|}
 
 
=== 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_Hero.GetKills | GetKills]]  
| <code>void CompleteSubquest() </code>
| <code>int GetKills()</code>
| Mark this subquest complete
| Value is stored in PlayerResource.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDotaSubquestBase.SetTextReplaceString | SetTextReplaceString]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.GetLastHits | GetLastHits]]  
| <code>void SetTextReplaceString(string pszString) </code>
| <code>int GetLastHits()</code>
| Set the text replace ''string'' for this subquest
| Value is stored in PlayerResource.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDotaSubquestBase.SetTextReplaceValue | SetTextReplaceValue]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.GetMostRecentDamageTime | GetMostRecentDamageTime]]  
| <code>void SetTextReplaceValue(int valueSlot, int value) </code>
| <code>float GetMostRecentDamageTime()</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_Hero.GetMultipleKillCount | GetMultipleKillCount]]  
| <code>bool ExpensiveInstantRayCast(Vector Vector_1, Vector Vector_2, handle handle_3) </code>
| <code>int GetMultipleKillCount()</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_Hero.GetNumAttackers | GetNumAttackers]]  
| <code>void DeleteCreatedSpawnGroups() </code>
| <code>int GetNumAttackers()</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_Hero.GetNumItemsInInventory | GetNumItemsInInventory]]  
| <code>void ForceSpawn() </code>
| <code>int GetNumItemsInInventory()</code>
| ForceSpawn() : Spawns all of the entities the point_template is pointing at.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CPointTemplate.GetSpawnedEntities | GetSpawnedEntities]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.GetNumItemsInStash | GetNumItemsInStash]]  
| <code>handle GetSpawnedEntities() </code>
| <code>int GetNumItemsInStash()</code>
| GetSpawnedEntities() : Get the list of the most recent spawned entities
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CPointTemplate.SetSpawnCallback | SetSpawnCallback]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.GetPhysicalArmorBaseValue | GetPhysicalArmorBaseValue]]  
| <code>void SetSpawnCallback(handle hCallbackFunc, handle hCallbackScope) </code>
| <code>float GetPhysicalArmorBaseValue()</code>
| SetSpawnCallback( hCallbackFunc, hCallbackScope, hCallbackData ) : Set a callback for when the template spawns entities. The spawned entities will be passed in as an array.
| Hero armor is affected by attributes.  
|}
 
 
=== 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_Hero.GetPlayerID | GetPlayerID]]  
| <code>void AddImpulseAtPosition(Vector Vector_1, Vector Vector_2) </code>
| <code>int GetPlayerID()</code>
| Apply an impulse at a worldspace position to the physics
| Returns player ID of the player owning this hero
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CBodyComponent.AddVelocity | AddVelocity]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.GetPrimaryAttribute | GetPrimaryAttribute]]  
| <code>void AddVelocity(Vector Vector_1, Vector Vector_2) </code>
| <code>int GetPrimaryAttribute()</code>
| Add linear and angular velocity to the physics object
| 0 = strength, 1 = agility, 2 = intelligence.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CBodyComponent.DetachFromParent | DetachFromParent]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.GetPrimaryStatValue | GetPrimaryStatValue]]  
| <code>void DetachFromParent() </code>
| <code>float GetPrimaryStatValue()</code>
| Detach from its parent
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CBodyComponent.GetSequence | GetSequence]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.GetRespawnTime | GetRespawnTime]]  
| <code><unknown> GetSequence() </code>
| <code>float GetRespawnTime()</code>
| Returns the active sequence
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CBodyComponent.IsAttachedToParent | IsAttachedToParent]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.GetRespawnsDisabled | GetRespawnsDisabled]]  
| <code>bool IsAttachedToParent() </code>
| <code>bool GetRespawnsDisabled()</code>
| Is attached to parent
| Is this hero prevented from respawning?
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CBodyComponent.LookupSequence | LookupSequence]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.GetStreak | GetStreak]]  
| <code><unknown> LookupSequence(string string_1) </code>
| <code>int GetStreak()</code>
| Returns a sequence id given a name
| Value is stored in PlayerResource.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CBodyComponent.SequenceDuration | SequenceDuration]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.GetStrength | GetStrength]]  
| <code>float SequenceDuration(string string_1) </code>
| <code>float GetStrength()</code>
| Returns the duration in seconds of the specified sequence
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CBodyComponent.SetAngularVelocity | SetAngularVelocity]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.GetStrengthGain | GetStrengthGain]]  
| <code>void SetAngularVelocity(Vector Vector_1) </code>
| <code>float GetStrengthGain()</code>
| No Description Set
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CBodyComponent.SetAnimation | SetAnimation]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.GetTimeUntilRespawn | GetTimeUntilRespawn]]  
| <code>void SetAnimation(string string_1) </code>
| <code>float GetTimeUntilRespawn()</code>
| Pass ''string'' for the animation to play on this model
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CBodyComponent.SetBodyGroup | SetBodyGroup]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.GetTogglableWearable | GetTogglableWearable]]  
| <code>void SetBodyGroup(string string_1) </code>
| <code>handle GetTogglableWearable(int nSlotType)</code>
| No Description Set
| Get wearable entity in slot (slot)
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CBodyComponent.SetMaterialGroup | SetMaterialGroup]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.HasAnyAvailableInventorySpace | HasAnyAvailableInventorySpace]]  
| <code>void SetMaterialGroup(utlstringtoken utlstringtoken_1) </code>
| <code>bool HasAnyAvailableInventorySpace()</code>
| No Description Set
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CBodyComponent.SetVelocity | SetVelocity]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.HasFlyingVision | HasFlyingVision]]  
| <code>void SetVelocity(Vector velocity) </code>
| <code>bool HasFlyingVision()</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_Hero.HasOwnerAbandoned | HasOwnerAbandoned]]  
| <code>Vector GetAttachmentAngles(int iAttachment) </code>
| <code>bool HasOwnerAbandoned()</code>
| Get the attachement id's angles as a p,y,r ''vector''
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CBaseAnimating.GetAttachmentOrigin | GetAttachmentOrigin]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.HasRoomForItem | HasRoomForItem]]  
| <code>Vector GetAttachmentOrigin(int iAttachment) </code>
| <code>int HasRoomForItem(string pItemName, bool bIncludeStashCombines, bool bAllowSelling)</code>
| Get the attachement id's origin ''vector''
| Args: const char* pItemName, bool bIncludeStashCombines, bool bAllowSelling
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CBaseAnimating.GetModelScale | GetModelScale]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.HeroLevelUp | HeroLevelUp]]  
| <code>float GetModelScale() </code>
| <code>void HeroLevelUp(bool bPlayEffects)</code>
| Get scale of entity's model.
| Levels up the hero, true or false to play effects.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CBaseAnimating.IsSequenceFinished | IsSequenceFinished]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.IncrementAssists | IncrementAssists]]  
| <code>bool IsSequenceFinished() </code>
| <code>void IncrementAssists(int iKillerID)</code>
| Ask whether the main sequence is done playing
| Value is stored in PlayerResource.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CBaseAnimating.ScriptLookupAttachment | ScriptLookupAttachment]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.IncrementDeaths | IncrementDeaths]]  
| <code>int ScriptLookupAttachment(string pAttachmentName) </code>
| <code>void IncrementDeaths(int iKillerID)</code>
| Get the named attachment id
| Value is stored in PlayerResource.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CBaseAnimating.SetBodygroup | SetBodygroup]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.IncrementDenies | IncrementDenies]]  
| <code>void SetBodygroup(int iGroup, int iValue) </code>
| <code>void IncrementDenies()</code>
| Sets a bodygroup
| Value is stored in PlayerResource.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CBaseAnimating.SetModelScale | SetModelScale]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.IncrementKills | IncrementKills]]  
| <code>void SetModelScale(float scale) </code>
| <code>void IncrementKills(int iVictimID)</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>.
| 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/CBaseAnimating.SetPoseParameter | SetPoseParameter]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.IncrementLastHitMultikill | IncrementLastHitMultikill]]  
| <code>float SetPoseParameter(string szName, float fValue) </code>
| <code>void IncrementLastHitMultikill()</code>
| Set the specified pose parameter to the specified value
| Value is stored in PlayerResource.
|
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.IncrementLastHitStreak | IncrementLastHitStreak]]
| <code>void IncrementLastHitStreak()</code>
| Value is stored in PlayerResource.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CBaseAnimating.SetSkin | SetSkin]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.IncrementLastHits | IncrementLastHits]]  
| <code>void SetSkin(int iSkin) </code>
| <code>void IncrementLastHits()</code>
| No Description Set
| Value is stored in PlayerResource.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CBaseAnimating.StopAnimation | StopAnimation]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.IncrementNearbyCreepDeaths | IncrementNearbyCreepDeaths]]  
| <code>void StopAnimation() </code>
| <code>void IncrementNearbyCreepDeaths()</code>
| Stop the current animation by setting playback rate to 0.0.
| Value is stored in PlayerResource.  
|}
 
=== 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_Hero.IncrementStreak | IncrementStreak]]  
| <code>table GetEquippedWeapons() </code>
| <code>void IncrementStreak()</code>
| GetEquippedWeapons() : Returns an array of all the equipped weapons
| Value is stored in PlayerResource.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CBaseCombatCharacter.GetWeaponCount | GetWeaponCount]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.IsBuybackDisabledByReapersScythe | IsBuybackDisabledByReapersScythe]]  
| <code>int GetWeaponCount() </code>
| <code>bool IsBuybackDisabledByReapersScythe()</code>
| GetWeaponCount() : Gets the number of weapons currently equipped
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CBaseCombatCharacter.ShootPosition | ShootPosition]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.IsReincarnating | IsReincarnating]]  
| <code>Vector ShootPosition(int nHand) </code>
| <code>bool IsReincarnating()</code>
| Returns the shoot position eyes (or hand in VR).
|
|}
 
 
=== ProjectileManager ===
''The projectile manager, it manages projectiles.''
{| class="standard-table" style="width: 100%;"
! Function
! Signature
! Description
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/ProjectileManager.ChangeTrackingProjectileSpeed | ChangeTrackingProjectileSpeed]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.IsStashEnabled | IsStashEnabled]]  
| <code>void ChangeTrackingProjectileSpeed(handle hAbility, int Speed) </code>
| <code>bool IsStashEnabled()</code>
| Update speed
|
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/ProjectileManager.CreateLinearProjectile | CreateLinearProjectile]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.KilledHero | KilledHero]]  
| <code>int CreateLinearProjectile(table infoTable) </code>
| <code>void KilledHero(handle hHero, handle hInflictor)</code>
| Creates a linear projectile and returns the projectile ID
| Args: Hero, Inflictor
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/ProjectileManager.CreateTrackingProjectile | CreateTrackingProjectile]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.ModifyAgility | ModifyAgility]]  
| <code>void CreateTrackingProjectile(handle handle_1) </code>
| <code>void ModifyAgility(float flNewAgility)</code>
| Creates a tracking projectile
| Adds passed value to base attribute value, then calls CalculateStatBonus.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/ProjectileManager.DestroyLinearProjectile | DestroyLinearProjectile]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.ModifyGold | ModifyGold]]  
| <code>void DestroyLinearProjectile(int int_1) </code>
| <code>int ModifyGold(int iGoldChange, bool bReliable, int iReason)</code>
| Destroys the linear projectile matching the argument ID
| Gives this hero some gold.  Args: int nGoldChange, bool bReliable, int reason
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/ProjectileManager.GetLinearProjectileVelocity | GetLinearProjectileVelocity]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.ModifyIntellect | ModifyIntellect]]  
| <code>Vector GetLinearProjectileVelocity(int int_1) </code>
| <code>void ModifyIntellect(float flNewIntellect)</code>
| Returns a vector representing the current velocity of the projectile.
| Adds passed value to base attribute value, then calls CalculateStatBonus.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/ProjectileManager.ProjectileDodge | ProjectileDodge]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.ModifyStrength | ModifyStrength]]  
| <code>void ProjectileDodge(handle handle_1) </code>
| <code>void ModifyStrength(float flNewStrength)</code>
| Makes the specified unit dodge projectiles
| Adds passed value to base attribute value, then calls CalculateStatBonus.
|}
 
=== CBaseTrigger ===
:::::extends [[#CBaseEntity| CBaseEntity]]
''No Description Set''
{| class="standard-table" style="width: 100%;"
! Function
! Signature
! Description
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CBaseTrigger.Disable | Disable]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.PerformTaunt | PerformTaunt]]  
| <code>void Disable() </code>
| <code>void PerformTaunt()</code>
| Disable the trigger
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CBaseTrigger.Enable | Enable]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.RecordLastHit | RecordLastHit]]  
| <code>void Enable() </code>
| <code>void RecordLastHit()</code>
| Enable the trigger
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CBaseTrigger.IsTouching | IsTouching]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.RespawnHero | RespawnHero]]  
| <code>bool IsTouching(handle hEnt) </code>
| <code>void RespawnHero(bool bBuyBack, bool bRespawnPenalty)</code>
| Checks whether the passed entity is touching the trigger.
| Respawn this hero.  
|}
 
 
=== CEnvEntityMaker ===
:::::extends [[#CBaseEntity| CBaseEntity]]
''No Description Set''
{| class="standard-table" style="width: 100%;"
! Function
! Signature
! Description
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CEnvEntityMaker.SpawnEntity | SpawnEntity]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.SetAbilityPoints | SetAbilityPoints]]  
| <code>void SpawnEntity() </code>
| <code>void SetAbilityPoints(int iPoints)</code>
| Create an entity at the location of the maker
| Sets the current unspent ability points.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CEnvEntityMaker.SpawnEntityAtEntityOrigin | SpawnEntityAtEntityOrigin]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.SetBaseAgility | SetBaseAgility]]  
| <code>void SpawnEntityAtEntityOrigin(handle hEntity) </code>
| <code>void SetBaseAgility(float flAgility)</code>
| Create an entity at the location of a specified entity instance
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CEnvEntityMaker.SpawnEntityAtLocation | SpawnEntityAtLocation]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.SetBaseIntellect | SetBaseIntellect]]  
| <code>void SpawnEntityAtLocation(Vector vecAlternateOrigin, Vector vecAlternateAngles) </code>
| <code>void SetBaseIntellect(float flIntellect)</code>
| Create an entity at a specified location and orientaton, orientation is Euler angle in degrees (pitch, yaw, roll)
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CEnvEntityMaker.SpawnEntityAtNamedEntityOrigin | SpawnEntityAtNamedEntityOrigin]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.SetBaseStrength | SetBaseStrength]]  
| <code>void SpawnEntityAtNamedEntityOrigin(string pszName) </code>
| <code>void SetBaseStrength(float flStrength)</code>
| Create an entity at the location of a named entity
|
|}
 
 
=== CDOTAVoteSystem ===
''No Description Set''
{| class="standard-table" style="width: 100%;"
! Function
! Signature
! Description
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAVoteSystem.StartVote | StartVote]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.SetBotDifficulty | SetBotDifficulty]]  
| <code>void StartVote(handle handle_1) </code>
| <code>void SetBotDifficulty(int nDifficulty)</code>
| Starts a vote, based upon a ''table'' of parameters
|
|}
|-
 
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.SetBuyBackDisabledByReapersScythe | SetBuyBackDisabledByReapersScythe]]
 
| <code>void SetBuyBackDisabledByReapersScythe(bool bBuybackDisabled)</code>
=== CMarkupVolumeTagged ===
|
''No Description Set''
{| class="standard-table" style="width: 100%;"
! Function
! Signature
! Description
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CMarkupVolumeTagged.HasTag | HasTag]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.SetBuybackCooldownTime | SetBuybackCooldownTime]]  
| <code>bool HasTag(string pszTagName) </code>
| <code>void SetBuybackCooldownTime(float flTime)</code>
| Does this volume have the given tag.
| Sets the buyback cooldown time.  
|}
 
 
=== 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.SetBuybackGoldLimitTime | SetBuybackGoldLimitTime]]  
| <code>void AddResource(string string_1) </code>
| <code>void SetBuybackGoldLimitTime(float flTime)</code>
| Precaches a specific resource
| Set the amount of time gold gain is limited after buying back.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CScriptPrecacheContext.GetValue | GetValue]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.SetCustomDeathXP | SetCustomDeathXP]]  
| <code>table GetValue(string string_1) </code>
| <code>void SetCustomDeathXP(int iValue)</code>
| Reads a spawn key
| Sets a custom experience value for this hero.  Note, GameRules boolean must be set for this to work!  
|}
 
 
=== 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.SetGold | SetGold]]  
| <code>table GetValue(string string_1) </code>
| <code>void SetGold(int iGold, bool bReliable)</code>
| Reads a spawn key
| Sets the gold amount for the player owning this hero
|}
 
 
=== 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.SetPlayerID | SetPlayerID]]  
| <code>int CreateParticle(string particleName, int particleAttach, handle owningEntity) </code>
| <code>void SetPlayerID(int iPlayerID)</code>
| Creates a new particle effect
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CScriptParticleManager.CreateParticleForPlayer | CreateParticleForPlayer]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.SetPrimaryAttribute | SetPrimaryAttribute]]  
| <code>int CreateParticleForPlayer(string particleName, int particleAttach, handle owningEntity, handle owningPlayer) </code>
| <code>void SetPrimaryAttribute(int nPrimaryAttribute)</code>
| Creates a new particle effect that only plays for the specified player
| Set this hero's primary attribute value.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CScriptParticleManager.CreateParticleForTeam | CreateParticleForTeam]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.SetRespawnPosition | SetRespawnPosition]]  
| <code>int CreateParticleForTeam(string string_1, int int_2, handle handle_3, int int_4) </code>
| <code>void SetRespawnPosition(Vector vOrigin)</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.SetRespawnsDisabled | SetRespawnsDisabled]]  
| <code>void DestroyParticle(int particleID, bool immediately) </code>
| <code>void SetRespawnsDisabled(bool bDisableRespawns)</code>
| Destroys particle.
| Prevent this hero from respawning.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CScriptParticleManager.GetParticleReplacement | GetParticleReplacement]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.SetStashEnabled | SetStashEnabled]]  
| <code>string GetParticleReplacement(string string_1, handle handle_2) </code>
| <code>void SetStashEnabled(bool bEnabled)</code>
| No Description Set
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CScriptParticleManager.ReleaseParticleIndex | ReleaseParticleIndex]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.SetTimeUntilRespawn | SetTimeUntilRespawn]]  
| <code>void ReleaseParticleIndex(int particleId) </code>
| <code>void SetTimeUntilRespawn(float time)</code>
| Frees the specified particle index
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CScriptParticleManager.SetParticleAlwaysSimulate | SetParticleAlwaysSimulate]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.ShouldDoFlyHeightVisual | ShouldDoFlyHeightVisual]]  
| <code>void SetParticleAlwaysSimulate(int int_1) </code>
| <code>bool ShouldDoFlyHeightVisual()</code>
| No Description Set
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CScriptParticleManager.SetParticleControl | SetParticleControl]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.SpendGold | SpendGold]]  
| <code>void SetParticleControl(int particleId, int controlIndex, Vector controlData) </code>
| <code>void SpendGold(int iCost, int iReason)</code>
| Set the control point data for a control on a particle effect
| Args: int nGold, int nReason
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CScriptParticleManager.SetParticleControlEnt | SetParticleControlEnt]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.UnitCanRespawn | UnitCanRespawn]]  
| <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>bool UnitCanRespawn()</code>
| No Description Set
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CScriptParticleManager.SetParticleControlForward | SetParticleControlForward]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.UpgradeAbility | UpgradeAbility]]  
| <code>void SetParticleControlForward(int int_1, int int_2, Vector Vector_3) </code>
| <code>void UpgradeAbility(handle hAbility)</code>
| (int nFXIndex, int nPoint, vForward)
| This upgrades the passed ability if it exists and the hero has enough ability points.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CScriptParticleManager.SetParticleControlOrientation | SetParticleControlOrientation]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Hero.WillReincarnate | WillReincarnate]]  
| <code>void SetParticleControlOrientation(int int_1, int int_2, Vector Vector_3, Vector Vector_4, Vector Vector_5) </code>
| <code>bool WillReincarnate()</code>
| (int nFXIndex, int nPoint, vForward, vRight, vUp)
|
|}
|}


 
==== CDOTA_BaseNPC_RotatableBuilding ====
=== CScriptHeroList ===
:::::extends [[#CDOTA_BaseNPC|CDOTA_BaseNPC]]
''No Description Set''
''No Description Set''
''Global accessor variable:'' <code>HeroList</code>
{| class="standard-table" style="width: 100%;"
{| class="standard-table" style="width: 100%;"
! Function  
! Function  
! Signature  
! Signature  
! Description  
! Description  
|-
| [[Dota 2 Workshop Tools/Scripting/API/CScriptHeroList.GetAllHeroes | GetAllHeroes]]
| <code>table GetAllHeroes() </code>
| Returns all the heroes in the world
|-
| [[Dota 2 Workshop Tools/Scripting/API/CScriptHeroList.GetHero | GetHero]]
| <code>handle GetHero(int heroId) </code>
| Get the Nth hero in the Hero List
|-
| [[Dota 2 Workshop Tools/Scripting/API/CScriptHeroList.GetHeroCount | GetHeroCount]]
| <code>int GetHeroCount() </code>
| Returns the number of heroes in the world
|}
|}


 
==== CDOTA_BaseNPC_Shop ====
=== CNativeOutputs ===
:::::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,179: Line 5,141:
! Description  
! Description  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CNativeOutputs.AddOutput | AddOutput]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Shop.GetShopType | GetShopType]]  
| <code>void AddOutput(string string_1, string string_2) </code>
| <code>int GetShopType()</code>
| Add an output
| Get the DOTA_SHOP_TYPE
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CNativeOutputs.Init | Init]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Shop.SetShopType | SetShopType]]  
| <code>void Init(int int_1) </code>
| <code>void SetShopType(int eShopType)</code>
| Initialize with number of outputs
| Set the DOTA_SHOP_TYPE.
|}
|}


 
==== CDOTA_BaseNPC_Trap_Ward ====
=== CEnvProjectedTexture ===
:::::extends [[#CDOTA_BaseNPC_Creature|CDOTA_BaseNPC_Creature]]
:::::extends [[#CBaseEntity| CBaseEntity]]
''No Description Set''
''No Description Set''
{| class="standard-table" style="width: 100%;"
{| class="standard-table" style="width: 100%;"
Line 5,197: Line 5,158:
! Description  
! Description  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CEnvProjectedTexture.SetFarRange | SetFarRange]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Trap_Ward.GetTrapTarget | GetTrapTarget]]  
| <code>void SetFarRange(float flRange) </code>
| <code>Vector GetTrapTarget()</code>
| Set light maximum range
| Get the trap target for this entity.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CEnvProjectedTexture.SetLinearAttenuation | SetLinearAttenuation]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_BaseNPC_Trap_Ward.SetAnimation | SetAnimation]]  
| <code>void SetLinearAttenuation(float flAtten) </code>
| <code>void SetAnimation(string pAnimation)</code>
| Set light linear attenuation value
| Set the animation sequence for this entity.  
|-
| [[Dota 2 Workshop Tools/Scripting/API/CEnvProjectedTexture.SetNearRange | SetNearRange]]
| <code>void SetNearRange(float flRange) </code>
| Set light minimum range
|-
| [[Dota 2 Workshop Tools/Scripting/API/CEnvProjectedTexture.SetQuadraticAttenuation | SetQuadraticAttenuation]]
| <code>void SetQuadraticAttenuation(float flAtten) </code>
| Set light quadratic attenuation value
|-
| [[Dota 2 Workshop Tools/Scripting/API/CEnvProjectedTexture.SetVolumetrics | SetVolumetrics]]
| <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
|}
|}


 
==== CDOTA_Buff ====
=== CInfoData ===
''No Description Set''
''No Description Set''
{| class="standard-table" style="width: 100%;"
{| class="standard-table" style="width: 100%;"
Line 5,226: Line 5,174:
! Description  
! Description  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CInfoData.QueryColor | QueryColor]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Buff.AddParticle | AddParticle]]  
| <code>Vector QueryColor(utlstringtoken tok, Vector vDefault) </code>
| <code>void AddParticle(int i, bool bDestroyImmediately, bool bStatusEffect, int iPriority, bool bHeroEffect, bool bOverheadEffect)</code>
| Query color data for this key
| (index, bDestroyImmediately, bStatusEffect, priority, bHeroEffect, bOverheadEffect
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CInfoData.QueryFloat | QueryFloat]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Buff.DecrementStackCount | DecrementStackCount]]  
| <code>float QueryFloat(utlstringtoken tok, float flDefault) </code>
| <code>void DecrementStackCount()</code>
| Query ''float'' data for this key
| Decrease this modifier's stack count by 1.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CInfoData.QueryInt | QueryInt]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Buff.Destroy | Destroy]]  
| <code>int QueryInt(utlstringtoken tok, int nDefault) </code>
| <code>void Destroy()</code>
| Query ''int'' data for this key
| Run all associated destroy functions, then remove the modifier.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CInfoData.QueryNumber | QueryNumber]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Buff.ForceRefresh | ForceRefresh]]  
| <code>float QueryNumber(utlstringtoken tok, float flDefault) </code>
| <code>void ForceRefresh()</code>
| Query number data for this key
| Run all associated refresh functions on this modifier as if it was re-applied.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CInfoData.QueryString | QueryString]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Buff.GetAbility | GetAbility]]  
| <code>string QueryString(utlstringtoken tok, string pDefault) </code>
| <code>handle GetAbility()</code>
| Query ''string'' data for this key
| Get the ability that generated the modifier.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CInfoData.QueryVector | QueryVector]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Buff.GetAuraDuration | GetAuraDuration]]  
| <code>Vector QueryVector(utlstringtoken tok, Vector vDefault) </code>
| <code>float GetAuraDuration()</code>
| Query ''vector'' data for this key
| Returns aura stickiness (default 0.5)
|}
|-
 
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Buff.GetAuraOwner | GetAuraOwner]]
 
| <code>handle GetAuraOwner()</code>
=== 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_Buff.GetCaster | GetCaster]]  
| <code>void DisableMotion() </code>
| <code>handle GetCaster()</code>
| Enable motion for the prop
| Get the owner of the ability responsible for the modifier.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CPhysicsProp.EnableMotion | EnableMotion]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Buff.GetClass | GetClass]]  
| <code>void EnableMotion() </code>
| <code>string GetClass()</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_Buff.GetCreationTime | GetCreationTime]]  
| <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>float GetCreationTime()</code>
| Add a point on the minimap.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.AddMinimapDebugPointForTeam | AddMinimapDebugPointForTeam]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Buff.GetDieTime | GetDieTime]]  
| <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>float GetDieTime()</code>
| Add a point on the minimap for a specific team.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.BeginNightstalkerNight | BeginNightstalkerNight]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Buff.GetDuration | GetDuration]]  
| <code>void BeginNightstalkerNight(float duration) </code>
| <code>float GetDuration()</code>
| Begin a temporary Nightstalker night.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.BeginTemporaryNight | BeginTemporaryNight]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Buff.GetElapsedTime | GetElapsedTime]]  
| <code>void BeginTemporaryNight(float duration) </code>
| <code>float GetElapsedTime()</code>
| Begin a temporary night.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.Defeated | Defeated]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Buff.GetLastAppliedTime | GetLastAppliedTime]]  
| <code>void Defeated() </code>
| <code>float GetLastAppliedTime()</code>
| Kills the ancient, etc.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.DidMatchSignoutTimeOut | DidMatchSignoutTimeOut]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Buff.GetName | GetName]]  
| <code>bool DidMatchSignoutTimeOut() </code>
| <code>string GetName()</code>
| true when we have waited some time after end of the game and not received signout
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.EnableCustomGameSetupAutoLaunch | EnableCustomGameSetupAutoLaunch]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Buff.GetParent | GetParent]]  
| <code>void EnableCustomGameSetupAutoLaunch(bool bool_1) </code>
| <code>handle GetParent()</code>
| Enabled (true) or disable (false) auto launch for custom game setup.
| Get the unit the modifier is parented to.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.FinishCustomGameSetup | FinishCustomGameSetup]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Buff.GetRemainingTime | GetRemainingTime]]  
| <code>void FinishCustomGameSetup() </code>
| <code>float GetRemainingTime()</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_Buff.GetSerialNumber | GetSerialNumber]]  
| <code>int GetCustomGameDifficulty() </code>
| <code>int GetSerialNumber()</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_Buff.GetStackCount | GetStackCount]]  
| <code>int GetCustomGameTeamMaxPlayers(int int_1) </code>
| <code>int GetStackCount()</code>
| Get whether a team is selectable during game setup
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.GetDifficulty | GetDifficulty]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Buff.HasFunction | HasFunction]]  
| <code>int GetDifficulty() </code>
| <code>bool HasFunction(int iFunction)</code>
| Returns difficulty level of the custom game mode
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.GetDOTATime | GetDOTATime]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Buff.IncrementStackCount | IncrementStackCount]]  
| <code>float GetDOTATime(bool bool_1, bool bool_2) </code>
| <code>void IncrementStackCount()</code>
| (b IncludePregameTime b IncludeNegativeTime) Returns the actual DOTA in-game clock time.
| Increase this modifier's stack count by 1.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.GetDroppedItem | GetDroppedItem]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Buff.IsDebuff | IsDebuff]]  
| <code>handle GetDroppedItem(int dropIndex) </code>
| <code>bool IsDebuff()</code>
| Gets the Xth dropped item
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.GetGameModeEntity | GetGameModeEntity]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Buff.IsHexDebuff | IsHexDebuff]]  
| <code>handle GetGameModeEntity() </code>
| <code>bool IsHexDebuff()</code>
| Get the game mode entity
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.GetGameSessionConfigValue | GetGameSessionConfigValue]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Buff.IsStunDebuff | IsStunDebuff]]  
| <code>string GetGameSessionConfigValue(string string_1, string string_2) </code>
| <code>bool IsStunDebuff()</code>
| Get a string value from the game session config (map options)
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.GetGameTime | GetGameTime]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Buff.SetDuration | SetDuration]]  
| <code>float GetGameTime() </code>
| <code>void SetDuration(float flDuration, bool bInformClient)</code>
| Returns the number of seconds elapsed since map start. This time doesn't count up when the game is paused
| (flTime, bInformClients)
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.GetMatchSignoutComplete | GetMatchSignoutComplete]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Buff.SetStackCount | SetStackCount]]  
| <code>bool GetMatchSignoutComplete() </code>
| <code>void SetStackCount(int iCount)</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_Buff.StartIntervalThink | StartIntervalThink]]  
| <code>float GetNianFightStartTime() </code>
| <code>void StartIntervalThink(float flInterval)</code>
| Gets the start time for the Nian fight
| Start this modifier's think function (OnIntervalThink) with the given interval (float).  To stop, call with -1.
|}
 
==== CDOTA_CustomUIManager ====
''Global accessor variable: <code>CustomUI</code>''
{| class="standard-table" style="width: 100%;"
! Function
! Signature
! Description
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.GetNianTotalDamageTaken | GetNianTotalDamageTaken]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_CustomUIManager.DynamicHud_Create | DynamicHud_Create]]  
| <code>int GetNianTotalDamageTaken() </code>
| <code>void DynamicHud_Create(int int_1, string string_2, string string_3, handle handle_4)</code>
| For New Bloom, get total damage taken by the Nian / Year Beast
| 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/CDOTAGamerules.GetPlayerCustomGameAccountRecord | GetPlayerCustomGameAccountRecord]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_CustomUIManager.DynamicHud_Destroy | DynamicHud_Destroy]]  
| <code>table GetPlayerCustomGameAccountRecord(int int_1) </code>
| <code>void DynamicHud_Destroy(int int_1, string string_2)</code>
| (Preview/Unreleased) Gets the player's custom game account record, as it looked at the start of this session
| Destroy a custom hud element ( int PlayerID /*-1 means everyone*/, string ElementID )  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.GetTimeOfDay | GetTimeOfDay]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_CustomUIManager.DynamicHud_SetDialogVariables | DynamicHud_SetDialogVariables]]  
| <code>float GetTimeOfDay() </code>
| <code>void DynamicHud_SetDialogVariables(int int_1, string string_2, handle handle_3)</code>
| Get the time of day
| 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/CDOTAGamerules.IsDaytime | IsDaytime]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_CustomUIManager.DynamicHud_SetVisible | DynamicHud_SetVisible]]  
| <code>bool IsDaytime() </code>
| <code>void DynamicHud_SetVisible(int int_1, string string_2, bool bool_3)</code>
| Is it day time.
| Toggle the visibility of an existing custom hud element ( int PlayerID /*-1 means everyone*/, string ElementID, bool Visible )
|}
 
==== CDOTA_Item ====
:::::extends [[#CDOTABaseAbility|CDOTABaseAbility]]
''No Description Set''
{| class="standard-table" style="width: 100%;"
! Function
! Signature
! Description
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.IsGamePaused | IsGamePaused]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item.CanBeUsedOutOfInventory | CanBeUsedOutOfInventory]]  
| <code>bool IsGamePaused() </code>
| <code>bool CanBeUsedOutOfInventory()</code>
| Returns whether the game is paused.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.IsCheatMode | IsCheatMode]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item.GetContainer | GetContainer]]  
| <code>bool IsCheatMode() </code>
| <code>handle GetContainer()</code>
| which you can use to detect lobbies with cheats enabled or sv_cheats 1.
| Get the container for this item.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.IsNightstalkerNight | IsNightstalkerNight]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item.GetCost | GetCost]]  
| <code>bool IsNightstalkerNight() </code>
| <code>int GetCost()</code>
| Is it Nightstalker night?
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.IsTemporaryNight | IsTemporaryNight]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item.GetCurrentCharges | GetCurrentCharges]]  
| <code>bool IsTemporaryNight() </code>
| <code>int GetCurrentCharges()</code>
| Is it temporarily night?
| Get the number of charges this item currently has.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.LockCustomGameSetupTeamAssignment | LockCustomGameSetupTeamAssignment]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item.GetInitialCharges | GetInitialCharges]]  
| <code>void LockCustomGameSetupTeamAssignment(bool bool_1) </code>
| <code>int GetInitialCharges()</code>
| Lock (true) or unlock (false) team assignemnt. If team assignment is locked players cannot change teams.
| Get the initial number of charges this item has.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.MakeTeamLose | MakeTeamLose]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item.GetItemSlot | GetItemSlot]]  
| <code>void MakeTeamLose(int team) </code>
| <code>int GetItemSlot()</code>
| Makes ths specified team lose
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.NumDroppedItems | NumDroppedItems]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item.GetItemState | GetItemState]]  
| <code>int NumDroppedItems() </code>
| <code>int GetItemState()</code>
| Returns the number of items currently dropped on the ground
| Gets whether item is unequipped or ready.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.PlayerHasCustomGameHostPrivileges | PlayerHasCustomGameHostPrivileges]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item.GetParent | GetParent]]  
| <code>bool PlayerHasCustomGameHostPrivileges(handle handle_1) </code>
| <code>handle GetParent()</code>
| Whether a player has custom game host privileges (shuffle teams, etc.)
| Get the parent for this item.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.Playtesting_UpdateAddOnKeyValues | Playtesting_UpdateAddOnKeyValues]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item.GetPurchaseTime | GetPurchaseTime]]  
| <code>void Playtesting_UpdateAddOnKeyValues() </code>
| <code>float GetPurchaseTime()</code>
| Updates custom hero, unit and ability KeyValues in memory with the latest values from disk
| Get the purchase time of this item
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.ResetDefeated | ResetDefeated]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item.GetPurchaser | GetPurchaser]]  
| <code>void ResetDefeated() </code>
| <code>handle GetPurchaser()</code>
| Restart after killing the ancient, etc.
| Get the purchaser for this item.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.ResetToHeroSelection | ResetToHeroSelection]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item.GetSecondaryCharges | GetSecondaryCharges]]  
| <code>void ResetToHeroSelection() </code>
| <code>int GetSecondaryCharges()</code>
| Restart the game at hero selection
| Get the number of secondary charges this item currently has.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.SendCustomMessage | SendCustomMessage]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item.GetShareability | GetShareability]]  
| <code>void SendCustomMessage(string message, int teamID, int unknown(1?)) </code>
| <code>int GetShareability()</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_Item.IsAlertableItem | IsAlertableItem]]  
| <code>void SendCustomMessageToTeam(string string_1, int int_2, int int_3, int int_4) </code>
| <code>bool IsAlertableItem()</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_Item.IsCastOnPickup | IsCastOnPickup]]  
| <code>void SetCreepMinimapIconScale(float scale) </code>
| <code>bool IsCastOnPickup()</code>
| Scale the creep icons on the minimap.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.SetCustomGameAccountRecordSaveFunction | SetCustomGameAccountRecordSaveFunction]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item.IsCombinable | IsCombinable]]  
| <code>void SetCustomGameAccountRecordSaveFunction(handle handle_1, handle handle_2) </code>
| <code>bool IsCombinable()</code>
| (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/CDOTAGamerules.SetCustomGameDifficulty | SetCustomGameDifficulty]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item.IsDisassemblable | IsDisassemblable]]  
| <code>void SetCustomGameDifficulty(int int_1) </code>
| <code>bool IsDisassemblable()</code>
| Set the difficulty level of the custom game mode
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.SetCustomGameEndDelay | SetCustomGameEndDelay]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item.IsDroppable | IsDroppable]]  
| <code>void SetCustomGameEndDelay(float delay) </code>
| <code>bool IsDroppable()</code>
| Sets the delay time until the game ends
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.SetCustomGameSetupAutoLaunchDelay | SetCustomGameSetupAutoLaunchDelay]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item.IsInBackpack | IsInBackpack]]  
| <code>void SetCustomGameSetupAutoLaunchDelay(float float_1) </code>
| <code>bool IsInBackpack()</code>
| Set the amount of time to wait for auto launch.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.SetCustomGameSetupRemainingTime | SetCustomGameSetupRemainingTime]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item.IsItem | IsItem]]  
| <code>void SetCustomGameSetupRemainingTime(float float_1) </code>
| <code>bool IsItem()</code>
| Set the amount of remaining time, in seconds, for custom game setup. 0 = finish immediately, -1 = wait forever
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.SetCustomGameSetupTimeout | SetCustomGameSetupTimeout]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item.IsKillable | IsKillable]]  
| <code>void SetCustomGameSetupTimeout(float float_1) </code>
| <code>bool IsKillable()</code>
| Setup (pre-gameplay) phase timeout. 0 = instant, -1 = forever (until FinishCustomGameSetup is called)
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.SetCustomGameTeamMaxPlayers | SetCustomGameTeamMaxPlayers]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item.IsMuted | IsMuted]]  
| <code>void SetCustomGameTeamMaxPlayers(int int_1, int int_2) </code>
| <code>bool IsMuted()</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_Item.IsPermanent | IsPermanent]]  
| <code>void SetCustomVictoryMessage(string string_1) </code>
| <code>bool IsPermanent()</code>
| Sets the victory message.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.SetCustomVictoryMessageDuration | SetCustomVictoryMessageDuration]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item.IsPurchasable | IsPurchasable]]  
| <code>void SetCustomVictoryMessageDuration(float duration) </code>
| <code>bool IsPurchasable()</code>
| Sets how long the custom victory message should last
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.SetEventMetadataCustomTable | SetEventMetadataCustomTable]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item.IsRecipe | IsRecipe]]  
| <code>bool SetEventMetadataCustomTable(handle handle_1) </code>
| <code>bool IsRecipe()</code>
| Event-only ( table hMetadataTable ).
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.SetFirstBloodActive | SetFirstBloodActive]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item.IsRecipeGenerated | IsRecipeGenerated]]  
| <code>void SetFirstBloodActive(bool bool_1) </code>
| <code>bool IsRecipeGenerated()</code>
| Sets whether First Blood has been triggered.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.SetGameWinner | SetGameWinner]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item.IsSellable | IsSellable]]  
| <code>void SetGameWinner(int team) </code>
| <code>bool IsSellable()</code>
| Makes ths specified team win
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.SetGoldPerTick | SetGoldPerTick]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item.IsStackable | IsStackable]]  
| <code>void SetGoldPerTick(int int_1) </code>
| <code>bool IsStackable()</code>
| DEPRECATED since 7.23 -- Set the auto gold increase per timed interval.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.SetGoldTickTime | SetGoldTickTime]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item.LaunchLoot | LaunchLoot]]  
| <code>void SetGoldTickTime(float float_1) </code>
| <code>void LaunchLoot(bool bAutoUse, float flHeight, float flDuration, Vector vEndPoint)</code>
| DEPRECATED since 7.23 -- 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_Item.LaunchLootInitialHeight | LaunchLootInitialHeight]]  
| <code>void SetHeroMinimapIconScale(int iconSize) </code>
| <code>void LaunchLootInitialHeight(bool bAutoUse, float flInitialHeight, float flLaunchHeight, float flDuration, Vector vEndPoint)</code>
| (nMinimapHeroIconSize) - Set the hero minimap icon size.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.SetHeroRespawnEnabled | SetHeroRespawnEnabled]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item.OnEquip | OnEquip]]  
| <code>void SetHeroRespawnEnabled(bool canRespawn) </code>
| <code>void OnEquip()</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_Item.OnUnequip | OnUnequip]]  
| <code>void SetHeroSelectionTime(float time) </code>
| <code>void OnUnequip()</code>
| Sets the amount of time players have to pick their hero.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.SetHeroSelectPenaltyTime| SetHeroSelectPenaltyTime]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item.RequiresCharges | RequiresCharges]]  
| <code>void SetHeroSelectPenaltyTime(float time) </code>
| <code>bool RequiresCharges()</code>
|  
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.SetHideKillMessageHeaders | SetHideKillMessageHeaders]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item.SetCanBeUsedOutOfInventory | SetCanBeUsedOutOfInventory]]  
| <code>void SetHideKillMessageHeaders(bool hide) </code>
| <code>void SetCanBeUsedOutOfInventory(bool bValue)</code>
| Sets whether or not the kill banners should be hidden
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.SetNianFightStartTime | SetNianFightStartTime]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item.SetCastOnPickup | SetCastOnPickup]]  
| <code>void SetNianFightStartTime(float float_1) </code>
| <code>void SetCastOnPickup(bool bCastOnPickUp)</code>
| Sets the start time for the Nian fight
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.SetOverlayHealthBarUnit | SetOverlayHealthBarUnit]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item.SetCurrentCharges | SetCurrentCharges]]  
| <code>void SetOverlayHealthBarUnit(handle unit, int style) </code>
| <code>void SetCurrentCharges(int iCharges)</code>
| Show this unit's health on the overlay health bar
| Set the number of charges on this item
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.SetPostGameTime | SetPostGameTime]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item.SetDroppable | SetDroppable]]  
| <code>void SetPostGameTime(float time) </code>
| <code>void SetDroppable(bool bDroppable)</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_Item.SetItemState | SetItemState]]  
| <code>void SetPreGameTime(float time) </code>
| <code>void SetItemState(int iState)</code>
| Sets the amount of time players have between picking their hero and game start.
| Sets whether item is unequipped or ready.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.SetRuneMinimapIconScale | SetRuneMinimapIconScale]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item.SetPurchaseTime | SetPurchaseTime]]  
| <code>void SetRuneMinimapIconScale(float scale) </code>
| <code>void SetPurchaseTime(float flTime)</code>
| Scale the rune icons on the minimap.
| Set the purchase time of this item
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.SetRuneSpawnTime | SetRuneSpawnTime]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item.SetPurchaser | SetPurchaser]]  
| <code>void SetRuneSpawnTime(float time) </code>
| <code>void SetPurchaser(handle hPurchaser)</code>
| Sets the amount of time between rune spawns.
| Set the purchaser of record for this item.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.SetSafeToLeave | SetSafeToLeave]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item.SetSecondaryCharges | SetSecondaryCharges]]  
| <code>void SetSafeToLeave(bool safeToLeave) </code>
| <code>void SetSecondaryCharges(int iCharges)</code>
| Mark this game as safe to leave.
| Set the number of secondary charges on this item
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.SetSameHeroSelectionEnabled | SetSameHeroSelectionEnabled]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item.SetSellable | SetSellable]]  
| <code>void SetSameHeroSelectionEnabled(bool enabled) </code>
| <code>void SetSellable(bool bSellable)</code>
| When true, players can repeatedly pick the same hero.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.SetShowcaseTime | SetShowcaseTime]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item.SetShareability | SetShareability]]  
| <code>void SetShowcaseTime(float time) </code>
| <code>void SetShareability(int iShareability)</code>
| Set the duration of the 'radiant versus dire' showcase screen.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.SetStartingGold | SetStartingGold]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item.SetStacksWithOtherOwners | SetStacksWithOtherOwners]]  
| <code>void SetStartingGold(int int_1) </code>
| <code>void SetStacksWithOtherOwners(bool bStacksWithOtherOwners)</code>
| Set the starting gold amount.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.SetStrategyTime | SetStrategyTime]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item.SpendCharge | SpendCharge]]  
| <code>void SetStrategyTime(float time) </code>
| <code>void SpendCharge()</code>
| Set the duration of the strategy phase.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.SetTimeOfDay | SetTimeOfDay]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item.StacksWithOtherOwners | StacksWithOtherOwners]]  
| <code>void SetTimeOfDay(float time) </code>
| <code>bool StacksWithOtherOwners()</code>
| Set the time of day.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.SetTreeRegrowTime | SetTreeRegrowTime]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item.Think | Think]]  
| <code>void SetTreeRegrowTime(float time) </code>
| <code>void Think()</code>
| Sets the tree regrow time in seconds.
| Think this item
|}
 
==== CDOTA_ItemSpawner ====
:::::extends [[#CBaseEntity|CBaseEntity]]
''No Description Set''
{| class="standard-table" style="width: 100%;"
! Function
! Signature
! Description
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.SetUseBaseGoldBountyOnHeroes | SetUseBaseGoldBountyOnHeroes]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_ItemSpawner.GetItemName | GetItemName]]  
| <code>void SetUseBaseGoldBountyOnHeroes(bool bool_1) </code>
| <code>string GetItemName()</code>
| Heroes will use the basic NPC functionality for determining their bounty, rather than DOTA specific formulas.
| Returns the item name
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.SetUseCustomHeroXPValues | SetUseCustomHeroXPValues]]
| <code>void SetUseCustomHeroXPValues(bool bool_1) </code>
| Allows heroes in the map to give a specific amount of XP (this value must be set).
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTAGamerules.SetUseUniversalShopMode | SetUseUniversalShopMode]]
| <code>void SetUseUniversalShopMode(bool enabled) </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>int State_Get() </code>
| Get the current Gamerules state
|}
|}


=== CToneMapControllerComponent ===
==== CDOTA_Item_DataDriven ====
:::::extends [[#CDOTA_Item|CDOTA_Item]]
''No Description Set''
''No Description Set''
{| class="standard-table" style="width: 100%;"
{| class="standard-table" style="width: 100%;"
Line 5,574: Line 5,521:
! Description  
! Description  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CToneMapControllerComponent.GetBloomScale | GetBloomScale]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item_DataDriven.ApplyDataDrivenModifier | ApplyDataDrivenModifier]]  
| <code>float GetBloomScale() </code>
| <code>void ApplyDataDrivenModifier(handle hCaster, handle hTarget, string pszModifierName, handle hModifierTable)</code>
| Gets bloomscale for this tonemap controller
| Applies a data driven modifier to the target
|-
| [[Dota 2 Workshop Tools/Scripting/API/CToneMapControllerComponent.GetMaxExposure | GetMaxExposure]]
| <code>float GetMaxExposure() </code>
| Gets max exposure for this tonemap controller
|-
| [[Dota 2 Workshop Tools/Scripting/API/CToneMapControllerComponent.GetMinExposure | GetMinExposure]]
| <code>float GetMinExposure() </code>
| Gets min exposure for this tonemap controller
|-
| [[Dota 2 Workshop Tools/Scripting/API/CToneMapControllerComponent.SetBloomScale | SetBloomScale]]
| <code>void SetBloomScale(float float_1) </code>
| Sets bloom scale for this tonemap controller
|-
| [[Dota 2 Workshop Tools/Scripting/API/CToneMapControllerComponent.SetMaxExposure | SetMaxExposure]]
| <code>void SetMaxExposure(float float_1) </code>
| Sets max exposure for this tonemap controller
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CToneMapControllerComponent.SetMinExposure | SetMinExposure]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item_DataDriven.ApplyDataDrivenThinker | ApplyDataDrivenThinker]]  
| <code>void SetMinExposure(float float_1) </code>
| <code>handle ApplyDataDrivenThinker(handle hCaster, Vector vLocation, string pszModifierName, handle hModifierTable)</code>
| Sets min exposure for this tonemap controller
| Applies a data driven thinker at the location
|}
|}


 
==== CDOTA_Item_Lua ====
=== CDebugOverlayScriptHelper ===
:::::extends [[#CDOTA_Item|CDOTA_Item]]
''No Description Set''
''No Description Set''
{| class="standard-table" style="width: 100%;"
{| class="standard-table" style="width: 100%;"
Line 5,607: Line 5,538:
! Description  
! Description  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDebugOverlayScriptHelper.Axis | Axis]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item_Lua.CanUnitPickUp | CanUnitPickUp]]  
| <code>void Axis(Vector Vector_1, Quaternion Quaternion_2, float float_3, bool bool_4, float float_5) </code>
| <code>bool CanUnitPickUp(handle hUnit)</code>
| Draws an axis. Specify origin + orientation in world space.
| 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>
| Determine whether an issued command with no target is valid.
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item_Lua.CastFilterResultLocation | CastFilterResultLocation]]
| <code>int CastFilterResultLocation(Vector vLocation)</code>
| (Vector vLocation) Determine whether an issued command on a location is valid.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDebugOverlayScriptHelper.Box | Box]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item_Lua.CastFilterResultTarget | CastFilterResultTarget]]  
| <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>int CastFilterResultTarget(handle hTarget)</code>
| Draws a world-space axis-aligned box. Specify bounds in world space.
| (HSCRIPT hTarget) Determine whether an issued command on a target is valid.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDebugOverlayScriptHelper.BoxAngles | BoxAngles]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item_Lua.GetAssociatedPrimaryAbilities | GetAssociatedPrimaryAbilities]]  
| <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>string GetAssociatedPrimaryAbilities()</code>
| Draws an oriented box at the origin. Specify bounds in local space.
| Returns abilities that are stolen simultaneously, or otherwise related in functionality.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDebugOverlayScriptHelper.Capsule | Capsule]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item_Lua.GetAssociatedSecondaryAbilities | GetAssociatedSecondaryAbilities]]  
| <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>string GetAssociatedSecondaryAbilities()</code>
| Draws a capsule. Specify base in world space.
| Returns other abilities that are stolen simultaneously, or otherwise related in functionality. Generally hidden abilities.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDebugOverlayScriptHelper.Circle | Circle]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item_Lua.GetBehavior | GetBehavior]]  
| <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>int GetBehavior()</code>
| Draws a circle. Specify center in world space.
| Return cast behavior type of this ability.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDebugOverlayScriptHelper.CircleScreenOriented | CircleScreenOriented]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item_Lua.GetCastRange | GetCastRange]]  
| <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>int GetCastRange(Vector vLocation, handle hTarget)</code>
| Draws a circle oriented to the screen. Specify center in world space.
| Return cast range of this ability.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDebugOverlayScriptHelper.Cone | Cone]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item_Lua.GetChannelTime | GetChannelTime]]  
| <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>float GetChannelTime()</code>
| Draws a wireframe cone. Specify endpoint and direction in world space.
| Return the channel time of this ability.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDebugOverlayScriptHelper.Cross | Cross]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item_Lua.GetChannelledManaCostPerSecond | GetChannelledManaCostPerSecond]]  
| <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>int GetChannelledManaCostPerSecond(int iLevel)</code>
| Draws a screen-aligned cross. Specify origin in world space.
| Return mana cost at the given level per second while channeling (-1 is current).  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDebugOverlayScriptHelper.Cross3D | Cross3D]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item_Lua.GetConceptRecipientType | GetConceptRecipientType]]  
| <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>int GetConceptRecipientType()</code>
| Draws a world-aligned cross. Specify origin in world space.
| Return who hears speech when this spell is cast.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDebugOverlayScriptHelper.Cross3DOriented | Cross3DOriented]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item_Lua.GetCooldown | GetCooldown]]  
| <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 GetCooldown(int iLevel)</code>
| Draws an oriented cross. Specify origin in world space.
| Return cooldown of this ability.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDebugOverlayScriptHelper.DrawTickMarkedLine | DrawTickMarkedLine]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item_Lua.GetCustomCastError | GetCustomCastError]]  
| <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>string GetCustomCastError()</code>
| Draws a dashed line. Specify endpoint's in world space.
| Return the error string of a failed command with no target.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDebugOverlayScriptHelper.EntityAttachments | EntityAttachments]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item_Lua.GetCustomCastErrorLocation | GetCustomCastErrorLocation]]  
| <code>void EntityAttachments(ehandle ehandle_1, float float_2, float float_3) </code>
| <code>string GetCustomCastErrorLocation(Vector vLocation)</code>
| Draws the attachments of the entity
| (Vector vLocation) Return the error string of a failed command on a location.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDebugOverlayScriptHelper.EntityAxis | EntityAxis]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item_Lua.GetCustomCastErrorTarget | GetCustomCastErrorTarget]]  
| <code>void EntityAxis(ehandle ehandle_1, float float_2, bool bool_3, float float_4) </code>
| <code>string GetCustomCastErrorTarget(handle hTarget)</code>
| Draws the axis of the entity origin
| (HSCRIPT hTarget) Return the error string of a failed command on a target.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDebugOverlayScriptHelper.EntityBounds | EntityBounds]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item_Lua.GetGoldCost | GetGoldCost]]  
| <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>int GetGoldCost(int iLevel)</code>
| Draws bounds of an entity
| Return gold cost at the given level (-1 is current).
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDebugOverlayScriptHelper.EntitySkeleton | EntitySkeleton]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item_Lua.GetIntrinsicModifierName | GetIntrinsicModifierName]]  
| <code>void EntitySkeleton(ehandle ehandle_1, float float_2) </code>
| <code>string GetIntrinsicModifierName()</code>
| Draws the skeleton of the entity
| Returns the name of the modifier applied passively by this ability.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDebugOverlayScriptHelper.EntityText | EntityText]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item_Lua.GetManaCost | GetManaCost]]  
| <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>int GetManaCost(int iLevel)</code>
| Draws text on an entity
| Return mana cost at the given level (-1 is current).
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDebugOverlayScriptHelper.FilledRect2D | FilledRect2D]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item_Lua.GetPlaybackRateOverride | GetPlaybackRateOverride]]  
| <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 GetPlaybackRateOverride()</code>
| Draws a screen-space filled 2D rectangle. Coordinates are in pixels.
| Return the animation rate of the cast animation.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDebugOverlayScriptHelper.HorzArrow | HorzArrow]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item_Lua.IsHiddenAbilityCastable | IsHiddenAbilityCastable]]  
| <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>bool IsHiddenAbilityCastable()</code>
| Draws a horizontal arrow. Specify endpoint's in world space.
| Returns true if this ability can be used when not on the action panel.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDebugOverlayScriptHelper.Line | Line]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item_Lua.IsHiddenWhenStolen | IsHiddenWhenStolen]]  
| <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>bool IsHiddenWhenStolen()</code>
| Draws a line between two point's
| Returns true if this ability is hidden when stolen by Spell Steal.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDebugOverlayScriptHelper.Line2D | Line2D]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item_Lua.IsMuted | IsMuted]]  
| <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 IsMuted()</code>
| Draws a line between two point's in screenspace
| Returns whether this item is muted or not.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDebugOverlayScriptHelper.PopDebugOverlayScope | PopDebugOverlayScope]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item_Lua.IsRefreshable | IsRefreshable]]  
| <code>void PopDebugOverlayScope() </code>
| <code>bool IsRefreshable()</code>
| Pops the identifier used to group overlays. Overlays marked with this identifier can be deleted in a big batch.
| Returns true if this ability is refreshed by Refresher Orb.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDebugOverlayScriptHelper.PushAndClearDebugOverlayScope | PushAndClearDebugOverlayScope]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item_Lua.IsStealable | IsStealable]]  
| <code>void PushAndClearDebugOverlayScope(utlstringtoken utlstringtoken_1) </code>
| <code>bool IsStealable()</code>
| Pushes an identifier used to group overlays. Deletes all existing overlays using this overlay id.
| Returns true if this ability can be stolen by Spell Steal.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDebugOverlayScriptHelper.PushDebugOverlayScope | PushDebugOverlayScope]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item_Lua.OnAbilityPhaseInterrupted | OnAbilityPhaseInterrupted]]  
| <code>void PushDebugOverlayScope(utlstringtoken utlstringtoken_1) </code>
| <code>void OnAbilityPhaseInterrupted()</code>
| Pushes an identifier used to group overlays. Overlays marked with this identifier can be deleted in a big batch.
| Cast time did not complete successfully.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDebugOverlayScriptHelper.RemoveAllInScope | RemoveAllInScope]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item_Lua.OnAbilityPhaseStart | OnAbilityPhaseStart]]  
| <code>void RemoveAllInScope(utlstringtoken utlstringtoken_1) </code>
| <code>bool OnAbilityPhaseStart()</code>
| Removes all overlays marked with a specific identifier, regardless of their lifetime.
| Cast time begins (return true for successful cast).  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDebugOverlayScriptHelper.SolidCone | SolidCone]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item_Lua.OnChannelFinish | OnChannelFinish]]  
| <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 OnChannelFinish(bool bInterrupted)</code>
| Draws a solid cone. Specify endpoint and direction in world space.
| (bool bInterrupted) Channel finished.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDebugOverlayScriptHelper.Sphere | Sphere]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item_Lua.OnChannelThink | OnChannelThink]]  
| <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 OnChannelThink(float flInterval)</code>
| Draws a wireframe sphere. Specify center in world space.
| (float flInterval) Channeling is taking place.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDebugOverlayScriptHelper.SweptBox | SweptBox]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item_Lua.OnHeroCalculateStatBonus | OnHeroCalculateStatBonus]]  
| <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>
| <code>void OnHeroCalculateStatBonus()</code>
| Draws a swept box. Specify endpoint's in world space and the bounds in local space.
| Caster (hero only) gained a level, skilled an ability, or received a new stat bonus.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDebugOverlayScriptHelper.Text | Text]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item_Lua.OnHeroDiedNearby | OnHeroDiedNearby]]  
| <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>
| <code>void OnHeroDiedNearby(handle unit, handle attacker, handle table)</code>
| Draws 2D text. Specify origin in world space.
| A hero has died in the vicinity (ie Urn), takes table of params.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDebugOverlayScriptHelper.Texture | Texture]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item_Lua.OnHeroLevelUp | OnHeroLevelUp]]  
| <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 OnHeroLevelUp()</code>
| Draws a screen-space texture. Coordinates are in pixels.
| Caster gained a level.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDebugOverlayScriptHelper.Triangle | Triangle]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item_Lua.OnInventoryContentsChanged | OnInventoryContentsChanged]]  
| <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>
| <code>void OnInventoryContentsChanged()</code>
| Draws a filled triangle. Specify vertices in world space.
| Caster inventory changed.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDebugOverlayScriptHelper.UnitTestCycleOverlayRenderType | UnitTestCycleOverlayRenderType]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item_Lua.OnItemEquipped | OnItemEquipped]]  
| <code>void UnitTestCycleOverlayRenderType() </code>
| <code>void OnItemEquipped(handle hItem)</code>
| Toggles the overlay render type, for unit tests
| ( HSCRIPT hItem ) Caster equipped item.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDebugOverlayScriptHelper.VectorText3D | VectorText3D]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item_Lua.OnOwnerDied | OnOwnerDied]]  
| <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>
| <code>void OnOwnerDied()</code>
| Draws 3D text. Specify origin + orientation in world space.
| Caster died.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDebugOverlayScriptHelper.VertArrow | VertArrow]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item_Lua.OnOwnerSpawned | OnOwnerSpawned]]  
| <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>
| <code>void OnOwnerSpawned()</code>
| Draws a vertical arrow. Specify endpoint's in world space.
| Caster respawned or spawned for the first time.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDebugOverlayScriptHelper.YawArrow | YawArrow]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item_Lua.OnProjectileHit | OnProjectileHit]]  
| <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>
| <code>bool OnProjectileHit(handle hTarget, Vector vLocation)</code>
| Draws a arrow associated with a specific yaw. Specify endpoint's in world space.
| (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]]  
 
| <code>void OnProjectileThink(Vector vLocation)</code>
=== CBaseFlex ===
| (Vector vLocation) Projectile is actively moving.
:::::extends [[#CBaseAnimating| CBaseAnimating]]
''Animated characters who have vertex flex capability (Hi hex6)''
{| class="standard-table" style="width: 100%;"
! Function
! Signature
! Description
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CBaseFlex.GetCurrentScene | GetCurrentScene]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item_Lua.OnSpellStart | OnSpellStart]]  
| <code>handle GetCurrentScene() </code>
| <code>void OnSpellStart()</code>
| Returns the instance of the oldest active scene entity '''(if any).
| Cast time finished, spell effects begin.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CBaseFlex.GetSceneByIndex | GetSceneByIndex]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item_Lua.OnStolen | OnStolen]]  
| <code>handle GetSceneByIndex(int index) </code>
| <code>void OnStolen(handle hSourceAbility)</code>
| Returns the instance of the scene entity at the specified index.
| ( HSCRIPT hAbility ) Special behavior when stolen by Spell Steal.
|}
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item_Lua.OnToggle | OnToggle]]
| <code>void OnToggle()</code>
| Ability is toggled on/off.
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item_Lua.OnUnStolen | OnUnStolen]]
| <code>void OnUnStolen()</code>
| Special behavior when lost by Spell Steal.
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item_Lua.OnUpgrade | OnUpgrade]]
| <code>void OnUpgrade()</code>
| Ability gained a level.
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item_Lua.ProcsMagicStick | ProcsMagicStick]]
| <code>bool ProcsMagicStick()</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]]
| <code>int SpeakTrigger()</code>
| Return the type of speech used.  
|}


 
==== CDOTA_Item_Physical ====
=== CSceneEntity ===
:::::extends [[#CBaseAnimating|CBaseAnimating]]
:::::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,771: Line 5,723:
! Description  
! Description  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CSceneEntity.AddBroadcastTeamTarget | AddBroadcastTeamTarget]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item_Physical.GetContainedItem | GetContainedItem]]  
| <code>void AddBroadcastTeamTarget(int int_1) </code>
| <code>handle GetContainedItem()</code>
| Adds a team (by index) to the broadcast list
| Returned the contained item.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CSceneEntity.Cancel | Cancel]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item_Physical.GetCreationTime | GetCreationTime]]  
| <code>void Cancel() </code>
| <code>float GetCreationTime()</code>
| Cancel scene playback
| Returns the game time when this item was created in the world
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CSceneEntity.EstimateLength | EstimateLength]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item_Physical.SetContainedItem | SetContainedItem]]  
| <code>float EstimateLength() </code>
| <code>void SetContainedItem(handle hItem)</code>
| Returns length of this scene in seconds.
| Set the contained item.  
|-
|}
| [[Dota 2 Workshop Tools/Scripting/API/CSceneEntity.FindCamera | FindCamera]]
 
| <code>handle FindCamera() </code>
==== CDOTA_MapTree ====
| Get the camera
:::::extends [[#CBaseEntity|CBaseEntity]]
''No Description Set''
{| class="standard-table" style="width: 100%;"
! Function
! Signature
! Description
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CSceneEntity.FindNamedEntity | FindNamedEntity]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_MapTree.CutDown | CutDown]]  
| <code>handle FindNamedEntity(string string_1) </code>
| <code>void CutDown(int nTeamNumberKnownTo)</code>
| given an entity reference, such as !target, get actual entity from scene object
| Cuts down this tree. Parameters: int nTeamNumberKnownTo (-1 = invalid team)
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CSceneEntity.IsPaused | IsPaused]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_MapTree.CutDownRegrowAfter | CutDownRegrowAfter]]  
| <code>bool IsPaused() </code>
| <code>void CutDownRegrowAfter(float flRegrowAfter, int nTeamNumberKnownTo)</code>
| If this scene is currently paused.
| Cuts down this tree. Parameters: float flRegrowAfter (-1 = never regrow), int nTeamNumberKnownTo (-1 = invalid team)
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CSceneEntity.IsPlayingBack | IsPlayingBack]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_MapTree.GrowBack | GrowBack]]  
| <code>bool IsPlayingBack() </code>
| <code>void GrowBack()</code>
| If this scene is currently playing.
| Grows back the tree if it was cut down.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CSceneEntity.LoadSceneFromString | LoadSceneFromString]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_MapTree.IsStanding | IsStanding]]  
| <code>bool LoadSceneFromString(string string_1, string string_2) </code>
| <code>bool IsStanding()</code>
| given a dummy scene name and a vcd ''string'', load the scene
| Returns true if the tree is standing, false if it has been cut down
|-
| [[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
|}
|}


 
==== CDOTA_Modifier_Lua ====
=== GridNav ===
:::::extends [[#CDOTA_Buff|CDOTA_Buff]]
''A class that can communicate with the gridnav, useful for seeing if stuff should be able to move''
''No Description Set''
{| class="standard-table" style="width: 100%;"
{| class="standard-table" style="width: 100%;"
! Function  
! Function  
Line 5,820: Line 5,769:
! Description  
! Description  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/GridNav.CanFindPath | CanFindPath]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Modifier_Lua.AllowIllusionDuplicate | AllowIllusionDuplicate]]  
| <code>bool CanFindPath(Vector Vector_1, Vector Vector_2) </code>
| <code>bool AllowIllusionDuplicate()</code>
| Determine if it is possible to reach the specified end point from the specified start point. bool (vStart, vEnd)
| True/false if this modifier is active on illusions.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/GridNav.DestroyTreesAroundPoint | DestroyTreesAroundPoint]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Modifier_Lua.CanParentBeAutoAttacked | CanParentBeAutoAttacked]]  
| <code>void DestroyTreesAroundPoint(Vector Vector_1, float float_2, bool bool_3) </code>
| <code>bool CanParentBeAutoAttacked()</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_Modifier_Lua.DestroyOnExpire | DestroyOnExpire]]  
| <code>float FindPathLength(Vector Vector_1, Vector Vector_2) </code>
| <code>bool DestroyOnExpire()</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 )
| True/false if this buff is removed when the duration expires.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/GridNav.GetAllTreesAroundPoint | GetAllTreesAroundPoint]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Modifier_Lua.GetAttributes | GetAttributes]]  
| <code>table GetAllTreesAroundPoint(Vector Vector_1, float float_2, bool bool_3) </code>
| <code>int GetAttributes()</code>
| Returns a table full of tree HSCRIPTS (vPosition, flRadius, bFullCollision).
| Return the types of attributes applied to this modifier (enum value from DOTAModifierAttribute_t
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/GridNav.GridPosToWorldCenterX | GridPosToWorldCenterX]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Modifier_Lua.GetAuraDuration | GetAuraDuration]]  
| <code>float GridPosToWorldCenterX(int int_1) </code>
| <code>float GetAuraDuration()</code>
| Get the X position of the center of a given X index
| Returns aura stickiness
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/GridNav.GridPosToWorldCenterY | GridPosToWorldCenterY]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Modifier_Lua.GetAuraEntityReject | GetAuraEntityReject]]  
| <code>float GridPosToWorldCenterY(int int_1) </code>
| <code>bool GetAuraEntityReject(handle hEntity)</code>
| Get the Y position of the center of a given Y index
| Return true/false if this entity should receive the aura under specific conditions
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/GridNav.IsBlocked | IsBlocked]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Modifier_Lua.GetAuraRadius | GetAuraRadius]]  
| <code>bool IsBlocked(Vector Vector_1) </code>
| <code>int GetAuraRadius()</code>
| Checks whether the given position is blocked
| Return the range around the parent this aura tries to apply its buff.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/GridNav.IsNearbyTree | IsNearbyTree]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Modifier_Lua.GetAuraSearchFlags | GetAuraSearchFlags]]  
| <code>bool IsNearbyTree(Vector position, float radius, bool bool_3) </code>
| <code>int GetAuraSearchFlags()</code>
|
| Return the unit flags this aura respects when placing buffs.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/GridNav.IsTraversable | IsTraversable]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Modifier_Lua.GetAuraSearchTeam | GetAuraSearchTeam]]  
| <code>bool IsTraversable(Vector Vector_1) </code>
| <code>int GetAuraSearchTeam()</code>
| Checks whether the given position is traversable
| Return the teams this aura applies its buff to.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/GridNav.RegrowAllTrees | RegrowAllTrees]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Modifier_Lua.GetAuraSearchType | GetAuraSearchType]]  
| <code>void RegrowAllTrees() </code>
| <code>int GetAuraSearchType()</code>
|
| Return the unit classifications this aura applies its buff to.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/GridNav.WorldToGridPosX | WorldToGridPosX]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Modifier_Lua.GetEffectAttachType | GetEffectAttachType]]  
| <code>int WorldToGridPosX(float float_1) </code>
| <code>int GetEffectAttachType()</code>
| Get the X index of a given world X position
| Return the attach type of the particle system from GetEffectName.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/GridNav.WorldToGridPosY | WorldToGridPosY]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Modifier_Lua.GetEffectName | GetEffectName]]  
| <code>int WorldToGridPosY(float float_1) </code>
| <code>string GetEffectName()</code>
| Get the Y index of a given world Y position
| Return the name of the particle system that is created while this modifier is active.
|}
 
 
=== 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_Modifier_Lua.GetHeroEffectName | GetHeroEffectName]]  
| <code>table GetBool(string variableName) </code>
| <code>string GetHeroEffectName()</code>
| GetBool(name) : returns the convar as a boolean flag.
| Return the name of the hero effect particle system that is created while this modifier is active.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/Convars.GetCommandClient | GetCommandClient]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Modifier_Lua.GetModifierAura | GetModifierAura]]  
| <code>handle GetCommandClient() </code>
| <code>string GetModifierAura()</code>
| GetCommandClient() : returns the player who issued this console command.
| The name of the secondary modifier that will be applied by this modifier (if it is an aura).  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/Convars.GetDOTACommandClient | GetDOTACommandClient]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Modifier_Lua.GetPriority | GetPriority]]  
| <code>handle GetDOTACommandClient() </code>
| <code>int GetPriority()</code>
| GetDOTACommandClient() : returns the DOTA player who issued this console command.
| Return the priority order this modifier will be applied over others.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/Convars.GetFloat | GetFloat]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Modifier_Lua.GetStatusEffectName | GetStatusEffectName]]  
| <code>table GetFloat(string name) </code>
| <code>string GetStatusEffectName()</code>
| GetFloat(name) : returns the convar as a ''float''. May return ''nil'' if no such convar.
| Return the name of the status effect particle system that is created while this modifier is active.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/Convars.GetInt | GetInt]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Modifier_Lua.GetTexture | GetTexture]]  
| <code>table GetInt(string string_1) </code>
| <code>string GetTexture()</code>
| GetInt(name) : returns the convar as an ''int''. May return ''nil'' if no such convar.
| Return the name of the buff icon to be shown for this modifier.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/Convars.GetStr | GetStr]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Modifier_Lua.HeroEffectPriority | HeroEffectPriority]]  
| <code>table GetStr(string variableName) </code>
| <code>int HeroEffectPriority()</code>
| GetStr(name) : returns the convar as a ''string''. May return ''nil'' if no such convar.
| Relationship of this hero effect with those from other buffs (higher is more likely to be shown).  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/Convars.RegisterCommand | RegisterCommand]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Modifier_Lua.IsAura | IsAura]]  
| <code>void RegisterCommand(string variableName, handle function, string helpText, int flags) </code>
| <code>bool IsAura()</code>
| RegisterCommand(name, fn, helpString, flags) : register a console command.
| True/false if this modifier is an aura.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/Convars.RegisterConvar | RegisterConvar]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Modifier_Lua.IsAuraActiveOnDeath | IsAuraActiveOnDeath]]  
| <code>void RegisterConvar(string name, string defaultValue, string helpText, int flags) </code>
| <code>bool IsAuraActiveOnDeath()</code>
| RegisterConvar(name, defaultValue, helpString, flags): register a new console variable.
| True/false if this aura provides buffs when the parent is dead.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/Convars.SetBool | SetBool]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Modifier_Lua.IsDebuff | IsDebuff]]  
| <code>void SetBool(string variableName, bool value) </code>
| <code>bool IsDebuff()</code>
| SetBool(name, val) : sets the value of the convar to the ''bool''.
| True/false if this modifier should be displayed as a debuff.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/Convars.SetFloat | SetFloat]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Modifier_Lua.IsHidden | IsHidden]]  
| <code>void SetFloat(string variableName, float value) </code>
| <code>bool IsHidden()</code>
| SetFloat(name, val) : sets the value of the convar to the ''float''.
| True/false if this modifier should be displayed on the buff bar.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/Convars.SetInt | SetInt]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Modifier_Lua.IsPermanent | IsPermanent]]  
| <code>void SetInt(string string_1, int int_2) </code>
| <code>bool IsPermanent()</code>
| SetInt(name, val) : sets the value of the convar to the ''int''.
|
|-
| [[Dota 2 Workshop Tools/Scripting/API/Convars.SetStr | SetStr]]
| <code>void SetStr(string string_1, string string_2) </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_Modifier_Lua.IsPurgable | IsPurgable]]  
| <code>Vector __add(Vector a, Vector b) </code>
| <code>bool IsPurgable()</code>
| Overloaded +. Adds vectors together
| True/false if this modifier can be purged.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/Vector.__div | __div]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Modifier_Lua.IsPurgeException | IsPurgeException]]  
| <code>Vector __div(Vector a, Vector b) </code>
| <code>bool IsPurgeException()</code>
| Overloaded /. Divides vectors
| True/false if this modifier can be purged by strong dispels.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/Vector.__eq | __eq]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Modifier_Lua.IsStunDebuff | IsStunDebuff]]  
| <code>bool __eq(Vector a, Vector b) </code>
| <code>bool IsStunDebuff()</code>
| Overloaded ==. Tests for Equality
| True/false if this modifier is considered a stun for purge reasons.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/Vector.__len | __len]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Modifier_Lua.OnCreated | OnCreated]]  
| <code>float __len() </code>
| <code>void OnCreated(handle table)</code>
| Overloaded # returns the length of the vector
| Runs when the modifier is created.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/Vector.__mul | __mul]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Modifier_Lua.OnDestroy | OnDestroy]]  
| <code>Vector __mul(Vector a, Vector b) </code>
| <code>void OnDestroy()</code>
| Overloaded * returns the vectors multiplied together
| Runs when the modifier is destroyed (after unit loses modifier).
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/Vector.__sub | __sub]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Modifier_Lua.OnIntervalThink | OnIntervalThink]]  
| <code>Vector __sub(Vector a, Vector b) </code>
| <code>void OnIntervalThink()</code>
| Overloaded -. Subtracts vectors
| Runs when the think interval occurs.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/Vector.__tostring | __tostring]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Modifier_Lua.OnRefresh | OnRefresh]]  
| <code>string __tostring() </code>
| <code>void OnRefresh(handle table)</code>
| Overloaded .. Converts vectors to strings
| Runs when the modifier is refreshed.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/Vector.__unm | __unm]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Modifier_Lua.OnRemoved | OnRemoved]]  
| <code>Vector __unm() </code>
| <code>void OnRemoved()</code>
| Overloaded - operator
| Runs when the modifier is destroyed (before unit loses modifier).
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/Vector.Cross | Cross]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Modifier_Lua.OnStackCountChanged | OnStackCountChanged]]  
| <code>Vector Cross(Vector a, Vector b) </code>
| <code>void OnStackCountChanged(int iStackCount)</code>
| Cross product of two vectors
| Runs when stack count changes (param is old count).
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/Vector.Dot | Dot]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Modifier_Lua.RemoveOnDeath | RemoveOnDeath]]  
| <code>float Dot(Vector a, Vector b) </code>
| <code>bool RemoveOnDeath()</code>
| Dot product of two vectors
| True/false if this modifier is removed when the parent dies.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/Vector.Length | Length]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Modifier_Lua.ShouldUseOverheadOffset | ShouldUseOverheadOffset]]  
| <code>float Length() </code>
| <code>bool ShouldUseOverheadOffset()</code>
| Length of the Vector
| Apply the overhead offset to the attached effect.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/Vector.Length2D | Length2D]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Modifier_Lua.StatusEffectPriority | StatusEffectPriority]]  
| <code>float Length2D() </code>
| <code>int StatusEffectPriority()</code>
| Length of the Vector in the XY plane
| Relationship of this status effect with those from other buffs (higher is more likely to be shown).
|-
| [[Dota 2 Workshop Tools/Scripting/API/Vector.Normalized | Normalized]]
| <code>Vector Normalized() </code>
| Returns the vector normalized
|}
|}


 
==== CDOTA_Modifier_Lua_Horizontal_Motion ====
=== CDOTA_MapTree ===
:::::extends [[#CDOTA_Modifier_Lua|CDOTA_Modifier_Lua]]
:::::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 6,000: Line 5,918:
! Description  
! Description  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_MapTree.CutDown | CutDown]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Modifier_Lua_Horizontal_Motion.ApplyHorizontalMotionController | ApplyHorizontalMotionController]]  
| <code>void CutDown(int TeamNumberKnownTo ) </code>
| <code>bool ApplyHorizontalMotionController()</code>
| Cuts down this tree.
| Starts the horizontal motion controller effects for this buff.  Returns true if successful.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_MapTree.CutDownRegrowAfter | CutDownRegrowAfter]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Modifier_Lua_Horizontal_Motion.GetPriority | GetPriority]]  
| <code>void CutDownRegrowAfter(float RegrowAfter, int TeamNumberKnownTo ) </code>
| <code>int GetPriority()</code>
| Cuts down this tree.  Regrow it after some time
| Get the priority
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_MapTree.GrowBack | GrowBack]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Modifier_Lua_Horizontal_Motion.OnHorizontalMotionInterrupted | OnHorizontalMotionInterrupted]]  
| <code>void GrowBack() </code>
| <code>void OnHorizontalMotionInterrupted()</code>
| Grows back the tree if it was cut down.
| Called when the motion gets interrupted.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_MapTree.IsStanding | IsStanding]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Modifier_Lua_Horizontal_Motion.SetPriority | SetPriority]]  
| <code>bool IsStanding() </code>
| <code>void SetPriority(int nMotionPriority)</code>
| Returns true if the tree is standing, false if it has been cut down
| 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 ====
=== CDOTA_SimpleObstruction ===
:::::extends [[#CDOTA_Modifier_Lua|CDOTA_Modifier_Lua]]
:::::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 6,026: Line 5,947:
! Description  
! Description  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_SimpleObstruction.IsEnabled | IsEnabled]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Modifier_Lua_Motion_Both.ApplyHorizontalMotionController | ApplyHorizontalMotionController]]  
| <code>bool IsEnabled() </code>
| <code>bool ApplyHorizontalMotionController()</code>
| Returns whether the obstruction is currently active
| 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_SimpleObstruction.SetEnabled | SetEnabled]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Modifier_Lua_Motion_Both.OnHorizontalMotionInterrupted | OnHorizontalMotionInterrupted]]  
| <code>void SetEnabled(bool enabled, bool bForce) </code>
| <code>void OnHorizontalMotionInterrupted()</code>
| Enable or disable the obstruction
| Called when the motion gets interrupted.
|}
|-
 
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Modifier_Lua_Motion_Both.OnVerticalMotionInterrupted | OnVerticalMotionInterrupted]]  
 
| <code>void OnVerticalMotionInterrupted()</code>
=== CDOTA_Unit_Courier ===
| Called when the motion gets interrupted.
:::::extends [[#CDOTA_BaseNPC| CDOTA_BaseNPC]]
''Class for Couriers''
{| class="standard-table" style="width: 100%;"
! Function
! Signature
! Description
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Unit_Courier.UpgradeToFlyingCourier | UpgradeToFlyingCourier]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Modifier_Lua_Motion_Both.SetPriority | SetPriority]]  
| <code>bool UpgradeToFlyingCourier() </code>
| <code>void SetPriority(int nMotionPriority)</code>
| Upgrade to a flying courier
| Set the priority
|}
 
 
=== CDOTA_Ability_DataDriven ===
''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_Ability_DataDriven.ApplyDataDrivenModifier | ApplyDataDrivenModifier]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Modifier_Lua_Motion_Both.UpdateHorizontalMotion | UpdateHorizontalMotion]]  
| <code>handle ApplyDataDrivenModifier(handle hCaster, handle hTarget, string pszModifierName, handle hModifierTable) </code>
| <code>void UpdateHorizontalMotion(handle me, float dt)</code>
| Gets the Attack Capabilities of the unit
| Perform any motion from the given interval on the NPC.
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Ability_DataDriven.ApplyDataDrivenThinker | ApplyDataDrivenThinker]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Modifier_Lua_Motion_Both.UpdateVerticalMotion | UpdateVerticalMotion]]  
| <code>handle ApplyDataDrivenThinker(handle hCaster, Vector vLocation, string pszModifierName, handle hModifierTable) </code>
| <code>void UpdateVerticalMotion(handle me, float dt)</code>
| Applies a data driven thinker at the location
| Perform any motion from the given interval on the NPC.
|}
|}


 
==== CDOTA_Modifier_Lua_Vertical_Motion ====
=== CBaseModelEntity ===
:::::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,078: Line 5,988:
! Description  
! Description  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CBaseModelEntity.SetLightGroup | SetLightGroup]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Modifier_Lua_Vertical_Motion.ApplyVerticalMotionController | ApplyVerticalMotionController]]  
| <code>void SetLightGroup(string pLightGroup) </code>
| <code>bool ApplyVerticalMotionController()</code>
| SetLightGroup( string ): Sets the light group of the entity.
| Starts the vertical motion controller effects for this buff.  Returns true if successful.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CBaseModelEntity.SetModel | SetModel]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Modifier_Lua_Vertical_Motion.GetMotionPriority | GetMotionPriority]]  
| <code>void SetModel(string pModelName) </code>
| <code>int GetMotionPriority()</code>
|  
| Get the priority
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CBaseModelEntity.SetRenderColor | SetRenderColor]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Modifier_Lua_Vertical_Motion.OnVerticalMotionInterrupted | OnVerticalMotionInterrupted]]  
| <code>void SetRenderColor(int r, int g, int b) </code>
| <code>void OnVerticalMotionInterrupted()</code>
| SetRenderColor( r, g, b ): Sets the render color of the entity.
| Called when the motion gets interrupted.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CBaseModelEntity.SetRenderMode | SetRenderMode]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Modifier_Lua_Vertical_Motion.SetMotionPriority | SetMotionPriority]]  
| <code>void SetRenderMode(int nMode) </code>
| <code>void SetMotionPriority(int nMotionPriority)</code>
| SetRenderMode( int ): Sets the render mode of the entity.
| Set the priority
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CBaseModelEntity.SetSize | SetSize]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Modifier_Lua_Vertical_Motion.UpdateVerticalMotion | UpdateVerticalMotion]]  
| <code>void SetSize(Vector mins, Vector maxs) </code>
| <code>void UpdateVerticalMotion(handle me, float dt)</code>
|  
| Perform any motion from the given interval on the NPC.
|}
|}


 
==== CDOTA_PlayerResource ====
=== CCustomGameEventManager ===
:::::extends [[#CBaseEntity|CBaseEntity]]
''No Description Set''
''Global accessor variable: <code>PlayerResource</code>''
 
''Global accessor variable:'' <code>CustomGameEventManager</code>
{| class="standard-table" style="width: 100%;"
{| class="standard-table" style="width: 100%;"
! Function  
! Function  
Line 6,109: Line 6,017:
! Description  
! Description  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CCustomGameEventManager.RegisterListener | RegisterListener]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.AddAegisPickup | AddAegisPickup]]  
| <code>int RegisterListener(string string_1, handle handle_2) </code>
| <code>void AddAegisPickup(int iPlayerID)</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.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CCustomGameEventManager.Send_ServerToAllClients | Send_ServerToAllClients]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.AddClaimedFarm | AddClaimedFarm]]  
| <code>void Send_ServerToAllClients(string string_1, handle handle_2) </code>
| <code>void AddClaimedFarm(int iPlayerID, float flFarmValue, bool bEarnedValue)</code>
| ( string EventName, table EventData )
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CCustomGameEventManager.Send_ServerToPlayer | Send_ServerToPlayer]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.AddGoldSpentOnSupport | AddGoldSpentOnSupport]]  
| <code>void Send_ServerToPlayer(handle handle_1, string string_2, handle handle_3) </code>
| <code>void AddGoldSpentOnSupport(int iPlayerID, int iCost)</code>
| ( Entity Player, string EventName, table EventData )
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CCustomGameEventManager.Send_ServerToTeam | Send_ServerToTeam]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.AddRunePickup | AddRunePickup]]  
| <code>void Send_ServerToTeam(int int_1, string string_2, handle handle_3) </code>
| <code>void AddRunePickup(int iPlayerID)</code>
| ( int TeamNumber, string EventName, table EventData )
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CCustomGameEventManager.UnregisterListener | UnregisterListener]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.AreUnitsSharedWithPlayerID | AreUnitsSharedWithPlayerID]]  
| <code>void UnregisterListener(int int_1) </code>
| <code>bool AreUnitsSharedWithPlayerID(int nUnitOwnerPlayerID, int nOtherPlayerID)</code>
| ( int ListnerID ) - Unregister a specific listener
|
|}
 
=== CCustomNetTableManager ===
''No Description Set''
 
''Global accessor variable:'' <code>CustomNetTables</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_PlayerResource.CanRepick | CanRepick]]  
| <code>handle GetTableValue(string string_1, string string_2) </code>
| <code>bool CanRepick(int iPlayerID)</code>
| ( string TableName, string KeyName )
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CCustomNetTableManager.SetTableValue | SetTableValue]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.ClearKillsMatrix | ClearKillsMatrix]]  
| <code>bool SetTableValue(string string_1, string string_2, handle handle_3) </code>
| <code>void ClearKillsMatrix(int iPlayerID)</code>
| ( string TableName, string KeyName, script_table Value )
|
|}
 
=== CDOTATutorial ===
Methods shown here include code examples
 
''Global accessor variable:'' <code>Tutorial</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_PlayerResource.ClearLastHitMultikill | ClearLastHitMultikill]]  
| <code>bool AddBot(string string_1, string string_2, string string_3, bool bool_4) </code>
| <code>void ClearLastHitMultikill(int iPlayerID)</code>
| Add a computer controlled bot.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTATutorial.AddQuest | AddQuest]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.ClearLastHitStreak | ClearLastHitStreak]]  
| <code>void AddQuest(string string_1, int int_2, string string_3, string string_4) </code>
| <code>void ClearLastHitStreak(int iPlayerID)</code>
| Add a quest to the quest log
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTATutorial.AddShopWhitelistItem | AddShopWhitelistItem]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.ClearRawPlayerDamageMatrix | ClearRawPlayerDamageMatrix]]  
| <code>void AddShopWhitelistItem(string string_1) </code>
| <code>void ClearRawPlayerDamageMatrix(int iPlayerID)</code>
| Add an item to the shop whitelist.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTATutorial.CompleteQuest | CompleteQuest]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.ClearStreak | ClearStreak]]  
| <code>void CompleteQuest(string string_1) </code>
| <code>void ClearStreak(int iPlayerID)</code>
| Complete a quest,
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTATutorial.CreateLocationTask | CreateLocationTask]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.GetAegisPickups | GetAegisPickups]]  
| <code>void CreateLocationTask(Vector Vector_1) </code>
| <code>int GetAegisPickups(int iPlayerID)</code>
| Add a task to move to a specific location
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTATutorial.EnableCreepAggroViz | EnableCreepAggroViz]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.GetAssists | GetAssists]]  
| <code>void EnableCreepAggroViz(bool bool_1) </code>
| <code>int GetAssists(int iPlayerID)</code>
| Alert the player when a creep becomes agro to their hero.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTATutorial.EnablePlayerOffscreenTip | EnablePlayerOffscreenTip]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.GetBroadcasterChannel | GetBroadcasterChannel]]  
| <code>void EnablePlayerOffscreenTip(bool bool_1) </code>
| <code>unsigned GetBroadcasterChannel(int iPlayerID)</code>
| Enable the tip to alert players how to find their hero.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTATutorial.EnableTowerAggroViz | EnableTowerAggroViz]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.GetBroadcasterChannelSlot | GetBroadcasterChannelSlot]]  
| <code>void EnableTowerAggroViz(bool bool_1) </code>
| <code>unsigned GetBroadcasterChannelSlot(int iPlayerID)</code>
| Alert the player when a tower becomes agro to their hero.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTATutorial.FinishTutorial | FinishTutorial]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.GetClaimedDenies | GetClaimedDenies]]  
| <code>void FinishTutorial() </code>
| <code>int GetClaimedDenies(int iPlayerID)</code>
| End the tutorial.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTATutorial.ForceGameStart | ForceGameStart]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.GetClaimedFarm | GetClaimedFarm]]  
| <code>void ForceGameStart() </code>
| <code>float GetClaimedFarm(int iPlayerID, bool bOnlyEarned)</code>
| Force the start of the game.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTATutorial.GetTimeFrozen | GetTimeFrozen]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.GetClaimedMisses | GetClaimedMisses]]  
| <code>bool GetTimeFrozen() </code>
| <code>int GetClaimedMisses(int iPlayerID)</code>
| Is our time frozen?
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTATutorial.IsItemInWhiteList | IsItemInWhiteList]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.GetConnectionState | GetConnectionState]]  
| <code>bool IsItemInWhiteList(string string_1) </code>
| <code><unknown> GetConnectionState(int iPlayerID)</code>
| Is this item currently in the white list.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTATutorial.RemoveShopWhitelistItem | RemoveShopWhitelistItem]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.GetCreepDamageTaken | GetCreepDamageTaken]]  
| <code>void RemoveShopWhitelistItem(string string_1) </code>
| <code>int GetCreepDamageTaken(int iPlayerID, bool bTotal)</code>
| Remove an item from the shop whitelist.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTATutorial.SelectHero | SelectHero]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.GetCustomBuybackCooldown | GetCustomBuybackCooldown]]  
| <code>void SelectHero(string string_1) </code>
| <code>float GetCustomBuybackCooldown(int iPlayerID)</code>
| Select a hero for the local player
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTATutorial.SelectPlayerTeam | SelectPlayerTeam]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.GetCustomBuybackCost | GetCustomBuybackCost]]  
| <code>void SelectPlayerTeam(string string_1) </code>
| <code>int GetCustomBuybackCost(int iPlayerID)</code>
| Select the team for the local player
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTATutorial.SetItemGuide | SetItemGuide]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.GetCustomTeamAssignment | GetCustomTeamAssignment]]  
| <code>void SetItemGuide(string string_1) </code>
| <code>int GetCustomTeamAssignment(int iPlayerID)</code>
| Set the current item guide.
| Get the current custom team assignment for this player.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTATutorial.SetOrModifyPlayerGold | SetOrModifyPlayerGold]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.GetDamageDoneToHero | GetDamageDoneToHero]]  
| <code>void SetOrModifyPlayerGold(int int_1, bool bool_2) </code>
| <code>int GetDamageDoneToHero(int iPlayerID, int iVictimID)</code>
| Set gold amount for the tutorial player. (int) GoldAmount, (bool) true=Set, false=Modify
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTATutorial.SetQuickBuy | SetQuickBuy]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.GetDeaths | GetDeaths]]  
| <code>void SetQuickBuy(string string_1) </code>
| <code>int GetDeaths(int iPlayerID)</code>
| Set players quick buy item.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTATutorial.SetShopOpen | SetShopOpen]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.GetDenies | GetDenies]]  
| <code>void SetShopOpen(bool bool_1) </code>
| <code>int GetDenies(int iPlayerID)</code>
| Set the shop open or closed.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTATutorial.SetTimeFrozen | SetTimeFrozen]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.GetEventPointsForPlayerID | GetEventPointsForPlayerID]]  
| <code>void SetTimeFrozen(bool bool_1) </code>
| <code>unsigned GetEventPointsForPlayerID(int nPlayerID)</code>
| Set if we should freeze time or not.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTATutorial.SetTutorialConvar | SetTutorialConvar]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.GetEventPremiumPoints | GetEventPremiumPoints]]  
| <code>void SetTutorialConvar(string string_1, string string_2) </code>
| <code>unsigned GetEventPremiumPoints(int nPlayerID)</code>
| Set a tutorial convar
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTATutorial.SetTutorialUI | SetTutorialUI]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.GetEventRanks | GetEventRanks]]  
| <code>void SetTutorialUI(int int_1) </code>
| <code><unknown> GetEventRanks(int nPlayerID)</code>
| Set the UI to use a reduced version to focus attention to specific elements.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTATutorial.SetWhiteListEnabled | SetWhiteListEnabled]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.GetGold | GetGold]]  
| <code>void SetWhiteListEnabled(bool bool_1) </code>
| <code>int GetGold(int iPlayerID)</code>
| Set if we should whitelist shop items.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTATutorial.StartTutorialMode | StartTutorialMode]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.GetGoldLostToDeath | GetGoldLostToDeath]]  
| <code>void StartTutorialMode() </code>
| <code>int GetGoldLostToDeath(int iPlayerID)</code>
| Initialize Tutorial Mode
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTATutorial.UpgradePlayerAbility | UpgradePlayerAbility]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.GetGoldPerMin | GetGoldPerMin]]  
| <code>void UpgradePlayerAbility(string string_1) </code>
| <code>float GetGoldPerMin(int iPlayerID)</code>
| Upgrade a specific ability for the local hero
|
|}
 
=== CDOTA_Ability_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_Ability_Lua.CastFilterResult | CastFilterResult]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.GetGoldSpentOnBuybacks | GetGoldSpentOnBuybacks]]  
| <code>int CastFilterResult() </code>
| <code>int GetGoldSpentOnBuybacks(int iPlayerID)</code>
| Determine whether an issued command with no target is valid.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Ability_Lua.CastFilterResultLocation | CastFilterResultLocation]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.GetGoldSpentOnConsumables | GetGoldSpentOnConsumables]]  
| <code>int CastFilterResultLocation(Vector vLocation) </code>
| <code>int GetGoldSpentOnConsumables(int iPlayerID)</code>
| (Vector vLocation) Determine whether an issued command on a location is valid.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Ability_Lua.CastFilterResultTarget | CastFilterResultTarget]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.GetGoldSpentOnItems | GetGoldSpentOnItems]]  
| <code>int CastFilterResultTarget(handle hTarget) </code>
| <code>int GetGoldSpentOnItems(int iPlayerID)</code>
| (HSCRIPT hTarget) Determine whether an issued command on a target is valid.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Ability_Lua.GetAssociatedPrimaryAbilities | GetAssociatedPrimaryAbilities]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.GetGoldSpentOnSupport | GetGoldSpentOnSupport]]  
| <code>string GetAssociatedPrimaryAbilities() </code>
| <code>int GetGoldSpentOnSupport(int iPlayerID)</code>
| Returns abilities that are stolen simultaneously, or otherwise related in functionality.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Ability_Lua.GetAssociatedSecondaryAbilities | GetAssociatedSecondaryAbilities]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.GetHealing | GetHealing]]  
| <code>string GetAssociatedSecondaryAbilities() </code>
| <code>float GetHealing(int iPlayerID)</code>
| Returns other abilities that are stolen simultaneously, or otherwise related in functionality. Generally hidden abilities.
|   
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Ability_Lua.GetBehavior | GetBehavior]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.GetHeroDamageTaken | GetHeroDamageTaken]]  
| <code>int GetBehavior() </code>
| <code>int GetHeroDamageTaken(int iPlayerID, bool bTotal)</code>
| Return cast behavior type of this ability.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Ability_Lua.GetCastAnimation | GetCastAnimation]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.GetKills | GetKills]]  
| <code>int GetCastAnimation() </code>
| <code>int GetKills(int iPlayerID)</code>
| Return casting animation of this ability.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Ability_Lua.GetCastRange | GetCastRange]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.GetKillsDoneToHero | GetKillsDoneToHero]]  
| <code>int GetCastRange(Vector vLocation, handle hTarget) </code>
| <code>int GetKillsDoneToHero(int iPlayerID, int iVictimID)</code>
| Return cast range of this ability.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Ability_Lua.GetChannelAnimation | GetChannelAnimation]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.GetLastHitMultikill | GetLastHitMultikill]]  
| <code>int GetChannelAnimation() </code>
| <code>int GetLastHitMultikill(int iPlayerID)</code>
| Return channel animation of this ability.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Ability_Lua.GetChannelledManaCostPerSecond | GetChannelledManaCostPerSecond]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.GetLastHitStreak | GetLastHitStreak]]  
| <code>int GetChannelledManaCostPerSecond(int iLevel) </code>
| <code>int GetLastHitStreak(int iPlayerID)</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_PlayerResource.GetLastHits | GetLastHits]]  
| <code>float GetChannelTime() </code>
| <code>int GetLastHits(int iPlayerID)</code>
| Return the channel time of this ability.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Ability_Lua.GetConceptRecipientType | GetConceptRecipientType]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.GetLevel | GetLevel]]  
| <code>int GetConceptRecipientType() </code>
| <code>int GetLevel(int iPlayerID)</code>
| Return who hears speech when this spell is cast.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Ability_Lua.GetCooldown | GetCooldown]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.GetMisses | GetMisses]]  
| <code>float GetCooldown(int iLevel) </code>
| <code>int GetMisses(int iPlayerID)</code>
| Return cooldown of this ability.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Ability_Lua.GetCustomCastError | GetCustomCastError]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.GetNearbyCreepDeaths | GetNearbyCreepDeaths]]  
| <code>string GetCustomCastError() </code>
| <code>int GetNearbyCreepDeaths(int iPlayerID)</code>
| Return the error string of a failed command with no target.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Ability_Lua.GetCustomCastErrorLocation | GetCustomCastErrorLocation]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.GetNetWorth | GetNetWorth]]  
| <code>string GetCustomCastErrorLocation(Vector vLocation) </code>
| <code>int GetNetWorth(int iPlayerID)</code>
| (Vector vLocation) Return the error string of a failed command on a location.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Ability_Lua.GetCustomCastErrorTarget | GetCustomCastErrorTarget]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.GetNthCourierForTeam | GetNthCourierForTeam]]  
| <code>string GetCustomCastErrorTarget(handle hTarget) </code>
| <code>handle GetNthCourierForTeam(int nCourierIndex, int nTeamNumber)</code>
| (HSCRIPT hTarget) Return the error string of a failed command on a target.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Ability_Lua.GetGoldCost | GetGoldCost]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.GetNthPlayerIDOnTeam | GetNthPlayerIDOnTeam]]  
| <code>int GetGoldCost(int iLevel) </code>
| <code>int GetNthPlayerIDOnTeam(int iTeamNumber, int iNthPlayer)</code>
| Return gold cost at the given level (-1 is current).
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Ability_Lua.GetIntrinsicModifierName | GetIntrinsicModifierName]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.GetNumConsumablesPurchased | GetNumConsumablesPurchased]]  
| <code>string GetIntrinsicModifierName() </code>
| <code>int GetNumConsumablesPurchased(int iPlayerID)</code>
| Returns the name of the modifier applied passively by this ability.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Ability_Lua.GetManaCost | GetManaCost]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.GetNumCouriersForTeam | GetNumCouriersForTeam]]  
| <code>int GetManaCost(int iLevel) </code>
| <code>int GetNumCouriersForTeam(int nTeamNumber)</code>
| Return mana cost at the given level (-1 is current).
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Ability_Lua.GetPlaybackRateOverride | GetPlaybackRateOverride]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.GetNumItemsPurchased | GetNumItemsPurchased]]  
| <code>float GetPlaybackRateOverride() </code>
| <code>int GetNumItemsPurchased(int iPlayerID)</code>
| Return the animation rate of the cast animation.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Ability_Lua.IsHiddenAbilityCastable | IsHiddenAbilityCastable]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.GetPartyID | GetPartyID]]  
| <code>bool IsHiddenAbilityCastable() </code>
| <code>uint64 GetPartyID(int iPlayerID)</code>
| Returns true if this ability can be used when not on the action panel.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Ability_Lua.IsHiddenWhenStolen | IsHiddenWhenStolen]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.GetPlayer | GetPlayer]]  
| <code>bool IsHiddenWhenStolen() </code>
| <code>handle GetPlayer(int iPlayerID)</code>
| Returns true if this ability is hidden when stolen by Spell Steal.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Ability_Lua.IsRefreshable | IsRefreshable]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.GetPlayerCount | GetPlayerCount]]  
| <code>bool IsRefreshable() </code>
| <code>int GetPlayerCount()</code>
| Returns true if this ability is refreshed by Refresher Orb.
| Includes spectators and players not assigned to a team
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Ability_Lua.IsStealable | IsStealable]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.GetPlayerCountForTeam | GetPlayerCountForTeam]]  
| <code>bool IsStealable() </code>
| <code>int GetPlayerCountForTeam(int iTeam)</code>
| Returns true if this ability can be stolen by Spell Steal.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Ability_Lua.OnAbilityPhaseInterrupted | OnAbilityPhaseInterrupted]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.GetPlayerLoadedCompletely | GetPlayerLoadedCompletely]]  
| <code>void OnAbilityPhaseInterrupted() </code>
| <code>bool GetPlayerLoadedCompletely(int iPlayerID)</code>
| Cast time did not complete successfully.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Ability_Lua.OnAbilityPhaseStart | OnAbilityPhaseStart]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.GetPlayerName | GetPlayerName]]  
| <code>bool OnAbilityPhaseStart() </code>
| <code>string GetPlayerName(int iPlayerID)</code>
| Cast time begins (return true for successful cast).
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Ability_Lua.OnChannelFinish | OnChannelFinish]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.GetRawPlayerDamage | GetRawPlayerDamage]]  
| <code>void OnChannelFinish(bool bInterrupted) </code>
| <code>int GetRawPlayerDamage(int iPlayerID)</code>
| (bool bInterrupted) Channel finished.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Ability_Lua.OnChannelThink | OnChannelThink]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.GetReliableGold | GetReliableGold]]  
| <code>void OnChannelThink(float flInterval) </code>
| <code>int GetReliableGold(int iPlayerID)</code>
| (float flInterval) Channeling is taking place.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Ability_Lua.OnHeroCalculateStatBonus | OnHeroCalculateStatBonus]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.GetRespawnSeconds | GetRespawnSeconds]]  
| <code>void OnHeroCalculateStatBonus() </code>
| <code>int GetRespawnSeconds(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_Ability_Lua.OnHeroDiedNearby | OnHeroDiedNearby]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.GetRoshanKills | GetRoshanKills]]  
| <code>void OnHeroDiedNearby(handle unit, handle attacker, handle table) </code>
| <code>int GetRoshanKills(int iPlayerID)</code>
| A hero has died in the vicinity (ie Urn), takes table of params.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Ability_Lua.OnHeroLevelUp | OnHeroLevelUp]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.GetRunePickups | GetRunePickups]]  
| <code>void OnHeroLevelUp() </code>
| <code>int GetRunePickups(int iPlayerID)</code>
| Caster gained a level.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Ability_Lua.OnInventoryContentsChanged | OnInventoryContentsChanged]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.GetSelectedHeroEntity | GetSelectedHeroEntity]]  
| <code>void OnInventoryContentsChanged() </code>
| <code>handle GetSelectedHeroEntity(int iPlayerID)</code>
| Caster inventory changed.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Ability_Lua.OnItemEquipped | OnItemEquipped]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.GetSelectedHeroID | GetSelectedHeroID]]  
| <code>void OnItemEquipped(handle hItem) </code>
| <code>int GetSelectedHeroID(int iPlayerID)</code>
| ( HSCRIPT hItem ) Caster equipped item.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Ability_Lua.OnOwnerDied | OnOwnerDied]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.GetSelectedHeroName | GetSelectedHeroName]]  
| <code>void OnOwnerDied() </code>
| <code>string GetSelectedHeroName(int iPlayerID)</code>
| Caster died.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Ability_Lua.OnOwnerSpawned | OnOwnerSpawned]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.GetSteamAccountID | GetSteamAccountID]]  
| <code>void OnOwnerSpawned() </code>
| <code>unsigned GetSteamAccountID(int iPlayerID)</code>
| Caster respawned or spawned for the first time.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Ability_Lua.OnProjectileHit | OnProjectileHit]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.GetSteamID | GetSteamID]]  
| <code>bool OnProjectileHit(handle hTarget, Vector vLocation) </code>
| <code>uint64 GetSteamID(int iPlayerID)</code>
| (HSCRIPT hTarget, Vector vLocation) Projectile has collided with a given target or reached its destination (target is invalid).
| Get the 64 bit steam ID for a given player.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Ability_Lua.OnProjectileHit_ExtraData | OnProjectileHit_ExtraData]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.GetStreak | GetStreak]]  
| <code>bool OnProjectileHit_ExtraData(handle hTarget, Vector vLocation, handle table) </code>
| <code>int GetStreak(int iPlayerID)</code>
| (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_PlayerResource.GetStuns | GetStuns]]
| <code>float GetStuns(int iPlayerID)</code>
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Ability_Lua.OnProjectileThink | OnProjectileThink]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.GetTeam | GetTeam]]  
| <code>void OnProjectileThink(Vector vLocation) </code>
| <code>int GetTeam(int iPlayerID)</code>
| (Vector vLocation) Projectile is actively moving.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Ability_Lua.OnProjectileThink_ExtraData | OnProjectileThink_ExtraData]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.GetTeamKills | GetTeamKills]]  
| <code>void OnProjectileThink_ExtraData(Vector vLocation, handle table) </code>
| <code>int GetTeamKills(int iTeam)</code>
| (Vector vLocation, table kv ) Projectile is actively moving.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Ability_Lua.OnSpellStart | OnSpellStart]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.GetTeamPlayerCount | GetTeamPlayerCount]]  
| <code>void OnSpellStart() </code>
| <code>int GetTeamPlayerCount()</code>
| Cast time finished, spell effects begin.
| Players on a valid team (radiant, dire, or custom*) who haven't abandoned the game
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Ability_Lua.OnStolen | OnStolen]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.GetTimeOfLastConsumablePurchase | GetTimeOfLastConsumablePurchase]]  
| <code>void OnStolen(handle hSourceAbility) </code>
| <code>float GetTimeOfLastConsumablePurchase(int iPlayerID)</code>
| ( HSCRIPT hAbility ) Special behavior when stolen by Spell Steal.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Ability_Lua.OnToggle | OnToggle]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.GetTimeOfLastDeath | GetTimeOfLastDeath]]  
| <code>void OnToggle() </code>
| <code>float GetTimeOfLastDeath(int iPlayerID)</code>
| Ability is toggled on/off.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Ability_Lua.OnUnStolen | OnUnStolen]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.GetTimeOfLastItemPurchase | GetTimeOfLastItemPurchase]]  
| <code>void OnUnStolen() </code>
| <code>float GetTimeOfLastItemPurchase(int iPlayerID)</code>
| Special behavior when lost by Spell Steal.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Ability_Lua.OnUpgrade | OnUpgrade]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.GetTotalEarnedGold | GetTotalEarnedGold]]  
| <code>void OnUpgrade() </code>
| <code>int GetTotalEarnedGold(int iPlayerID)</code>
| Ability gained a level.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Ability_Lua.ProcsMagicStick | ProcsMagicStick]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.GetTotalEarnedXP | GetTotalEarnedXP]]  
| <code>bool ProcsMagicStick() </code>
| <code>int GetTotalEarnedXP(int iPlayerID)</code>
| Returns true if this ability will generate magic stick charges for nearby enemies.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Ability_Lua.SpeakTrigger | SpeakTrigger]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.GetTotalGoldSpent | GetTotalGoldSpent]]  
| <code>int SpeakTrigger() </code>
| <code>int GetTotalGoldSpent(int iPlayerID)</code>
| Return the type of speech used.
|
|}
 
 
=== CDOTA_CustomUIManager ===
''No Description Set''
 
''Global accessor variable:'' <code>CustomUI</code>
{| class="standard-table" style="width: 100%;"
! Function
! Signature
! Description
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_CustomUIManager.DynamicHud_Create | DynamicHud_Create]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.GetTowerDamageTaken | GetTowerDamageTaken]]  
| <code>void DynamicHud_Create(int int_1, string string_2, string string_3, handle handle_4) </code>
| <code>int GetTowerDamageTaken(int iPlayerID, bool bTotal)</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 */ )
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_CustomUIManager.DynamicHud_Destroy | DynamicHud_Destroy]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.GetTowerKills | GetTowerKills]]  
| <code>void DynamicHud_Destroy(int int_1, string string_2) </code>
| <code>int GetTowerKills(int iPlayerID)</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]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.GetUnitShareMaskForPlayer | GetUnitShareMaskForPlayer]]  
| <code>void DynamicHud_SetDialogVariables(int int_1, string string_2, handle handle_3) </code>
| <code>int GetUnitShareMaskForPlayer(int nPlayerID, int nOtherPlayerID)</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/CDOTA_CustomUIManager.DynamicHud_SetVisible | DynamicHud_SetVisible]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.GetUnreliableGold | GetUnreliableGold]]  
| <code>void DynamicHud_SetVisible(int int_1, string string_2, bool bool_3) </code>
| <code>int GetUnreliableGold(int iPlayerID)</code>
| Toggle the visibility of an existing custom hud element ( int PlayerID /*-1 means everyone*/, string ElementID, bool Visible )
|
|}
|-
 
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.GetXPPerMin | GetXPPerMin]]
=== CPropHMDAvatar ===
| <code>float GetXPPerMin(int iPlayerID)</code>
''No Description Set''
|
 
''Global accessor variable:'' <code>Unknown</code>
{| class="standard-table" style="width: 100%;"
! Function
! Signature
! Description
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CPropHMDAvatar.GetVRHand | GetVRHand]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.HasCustomGameTicketForPlayerID | HasCustomGameTicketForPlayerID]]  
| <code>handle GetVRHand(int nHandID) </code>
| <code>bool HasCustomGameTicketForPlayerID(int iPlayerID)</code>
| Get VR hand by ID
| Does this player have a custom game ticket for this game?
|}
 
 
=== CPropVRHand ===
''No Description Set''
 
''Global accessor variable:'' <code>Unknown</code>
{| class="standard-table" style="width: 100%;"
! Function
! Signature
! Description
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CPropVRHand.GetAttachment | GetAttachment]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.HasRandomed | HasRandomed]]  
| <code>handle GetAttachment() </code>
| <code>bool HasRandomed(int iPlayerID)</code>
| Get the attachment on this hand
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CPropVRHand.SetAttachment | SetAttachment]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.HasSelectedHero | HasSelectedHero]]  
| <code>void SetAttachment(handle hAttachment) </code>
| <code>bool HasSelectedHero(int iPlayerID)</code>
| Set the attachment for this hand
|
|}
 
 
=== CDOTA_Buff ===
''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_Buff.AddParticle | AddParticle]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.HaveAllPlayersJoined | HaveAllPlayersJoined]]  
| <code>void AddParticle(int i, bool bDestroyImmediately, bool bStatusEffect, int iPriority, bool bHeroEffect, bool bOverheadEffect) </code>
| <code>bool HaveAllPlayersJoined()</code>
| Assigns a particle index to a modifier using the booleans on the function. The particle disappears when the modifier is removed.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Buff.DecrementStackCount | DecrementStackCount]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.IncrementAssists | IncrementAssists]]  
| <code>void DecrementStackCount() </code>
| <code>void IncrementAssists(int iPlayerID, int iVictimID)</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.IncrementClaimedDenies | IncrementClaimedDenies]]  
| <code>void Destroy() </code>
| <code>void IncrementClaimedDenies(int iPlayerID)</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.IncrementClaimedMisses | IncrementClaimedMisses]]  
| <code>void ForceRefresh() </code>
| <code>void IncrementClaimedMisses(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.IncrementDeaths | IncrementDeaths]]  
| <code>handle GetAbility() </code>
| <code>void IncrementDeaths(int iPlayerID, int iKillerID)</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.IncrementDenies | IncrementDenies]]  
| <code>handle GetCaster() </code>
| <code>void IncrementDenies(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.IncrementKills | IncrementKills]]  
| <code>string GetClass() </code>
| <code>void IncrementKills(int iPlayerID, int iVictimID)</code>
|  
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Buff.GetCreationTime | GetCreationTime]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.IncrementLastHitMultikill | IncrementLastHitMultikill]]  
| <code>float GetCreationTime() </code>
| <code>void IncrementLastHitMultikill(int iPlayerID)</code>
| Get the Dota game time that the modifier was created in.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Buff.GetDieTime | GetDieTime]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.IncrementLastHitStreak | IncrementLastHitStreak]]  
| <code>float GetDieTime() </code>
| <code>void IncrementLastHitStreak(int iPlayerID)</code>
| Get the Dota game time that the modifier was expires in.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Buff.GetDuration | GetDuration]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.IncrementLastHits | IncrementLastHits]]  
| <code>float GetDuration() </code>
| <code>void IncrementLastHits(int iPlayerID)</code>
| Get the initial duration of the modifier, usually set via AddModifier() by using {duration = x} as a passed table value, or by using SetDuration(). Returns -1 if no duration is set.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Buff.GetElapsedTime | GetElapsedTime]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.IncrementMisses | IncrementMisses]]  
| <code>float GetElapsedTime() </code>
| <code>void IncrementMisses(int iPlayerID)</code>
| Get how many game time seconds have elapsed since the creation of the modifier.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Buff.GetName | GetName]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.IncrementNearbyCreepDeaths | IncrementNearbyCreepDeaths]]  
| <code>string GetName() </code>
| <code>void IncrementNearbyCreepDeaths(int iPlayerID)</code>
|  
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Buff.GetParent | GetParent]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.IncrementStreak | IncrementStreak]]  
| <code>handle GetParent() </code>
| <code>void IncrementStreak(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.IncrementTotalEarnedXP | IncrementTotalEarnedXP]]  
| <code>float GetRemainingTime() </code>
| <code>void IncrementTotalEarnedXP(int iPlayerID, int iXP, int nReason)</code>
| Get how many seconds are remaining until the modifier is going to be expired. Returns -1 if no duration is set.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Buff.GetStackCount | GetStackCount]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.IsBroadcaster | IsBroadcaster]]  
| <code>int GetStackCount() </code>
| <code>bool IsBroadcaster(int iPlayerID)</code>
| Get the amount of stacks in the modifier.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Buff.IncrementStackCount | IncrementStackCount]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.IsDisableHelpSetForPlayerID | IsDisableHelpSetForPlayerID]]  
| <code>void IncrementStackCount() </code>
| <code>bool IsDisableHelpSetForPlayerID(int nPlayerID, int nOtherPlayerID)</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.IsFakeClient | IsFakeClient]]  
| <code>void SetDuration(float flDuration, bool bInformClient) </code>
| <code>bool IsFakeClient(int iPlayerID)</code>
| Set the duration of the modifier. Causes the animation circle to reset when the duration changes.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Buff.SetStackCount | SetStackCount]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.IsHeroSelected | IsHeroSelected]]  
| <code>void SetStackCount(int iCount) </code>
| <code>bool IsHeroSelected(string pHeroname)</code>
| Sets the amount of stacks this modifier has.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Buff.StartIntervalThink | StartIntervalThink]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.IsHeroSharedWithPlayerID | IsHeroSharedWithPlayerID]]  
| <code>void StartIntervalThink(float flInterval) </code>
| <code>bool IsHeroSharedWithPlayerID(int nUnitOwnerPlayerID, int nOtherPlayerID)</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.IsValidPlayer | IsValidPlayer]]  
| <code>bool AllowIllusionDuplicate() </code>
| <code>bool IsValidPlayer(int iPlayerID)</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.IsValidPlayerID | IsValidPlayerID]]  
| <code>bool DestroyOnExpire() </code>
| <code>bool IsValidPlayerID(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.IsValidTeamPlayer | IsValidTeamPlayer]]  
| <code>int GetAttributes() </code>
| <code>bool IsValidTeamPlayer(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.IsValidTeamPlayerID | IsValidTeamPlayerID]]  
| <code>bool GetAuraEntityReject(handle hEntity) </code>
| <code>bool IsValidTeamPlayerID(int iPlayerID)</code>
| Return true/false if this entity should receive the aura under specific conditions
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Modifier_Lua.GetAuraRadius | GetAuraRadius]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.ModifyGold | ModifyGold]]  
| <code>int GetAuraRadius() </code>
| <code>int ModifyGold(int iPlayerID, int iGoldChange, bool bReliable, int nReason)</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.NumPlayers | NumPlayers]]  
| <code>int GetAuraSearchFlags() </code>
| <code>int NumPlayers()</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.NumTeamPlayers | NumTeamPlayers]]  
| <code>int GetAuraSearchTeam() </code>
| <code>int NumTeamPlayers()</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.RecordConsumableAbilityChargeChange | RecordConsumableAbilityChargeChange]]  
| <code>int GetAuraSearchType() </code>
| <code>void RecordConsumableAbilityChargeChange(int iPlayerID, int item_definition_index, int nChargeIncrementOrDecrement)</code>
| Return the unit classifications this aura applies its buff to.
| Increment or decrement consumable charges (nPlayerID, item_definition_index, nChargeIncrementOrDecrement)
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Modifier_Lua.GetEffectAttachType | GetEffectAttachType]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.ReplaceHeroWith | ReplaceHeroWith]]  
| <code>int GetEffectAttachType() </code>
| <code>handle ReplaceHeroWith(int iPlayerID, string pszHeroClass, int nGold, int nXP)</code>
| Return the attach type of the particle system from GetEffectName.
| (playerID, heroClassName, gold, XP) - replaces the player's hero with a new one of the specified class, gold and XP
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Modifier_Lua.GetEffectName | GetEffectName]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.ResetBuybackCostTime | ResetBuybackCostTime]]  
| <code>string GetEffectName() </code>
| <code>void ResetBuybackCostTime(int nPlayerID)</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.ResetTotalEarnedGold | ResetTotalEarnedGold]]  
| <code>string GetHeroEffectName() </code>
| <code>void ResetTotalEarnedGold(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.SetBuybackCooldownTime | SetBuybackCooldownTime]]  
| <code>string GetModifierAura() </code>
| <code>void SetBuybackCooldownTime(int nPlayerID, float flBuybackCooldown)</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.GetPriority | GetPriority]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.SetBuybackGoldLimitTime | SetBuybackGoldLimitTime]]  
| <code>int GetPriority() </code>
| <code>void SetBuybackGoldLimitTime(int nPlayerID, float flBuybackCooldown)</code>
| Return the priority of the modifier, see MODIFIER_PRIORITY_*.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Modifier_Lua.GetStatusEffectName | GetStatusEffectName]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.SetCameraTarget | SetCameraTarget]]  
| <code>string GetStatusEffectName() </code>
| <code>void SetCameraTarget(int nPlayerID, handle hTarget)</code>
| Return the name of the status effect particle system that is created while this modifier is active.
| (playerID, entity) - force the given player's camera to follow the given entity
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Modifier_Lua.GetTexture | GetTexture]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.SetCanRepick | SetCanRepick]]  
| <code>string GetTexture() </code>
| <code>void SetCanRepick(int iPlayerID, bool bCanRepick)</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.SetCustomBuybackCooldown | SetCustomBuybackCooldown]]  
| <code>int HeroEffectPriority() </code>
| <code>void SetCustomBuybackCooldown(int iPlayerID, float flCooldownTime)</code>
| Relationship of this hero effect with those from other buffs (higher is more likely to be shown).
| Set the buyback cooldown for this player.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Modifier_Lua.IsAura | IsAura]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.SetCustomBuybackCost | SetCustomBuybackCost]]  
| <code>bool IsAura() </code>
| <code>void SetCustomBuybackCost(int iPlayerID, int iGoldCost)</code>
| True/false if this modifier is an aura.
| Set the buyback cost for this player.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Modifier_Lua.IsAuraActiveOnDeath | IsAuraActiveOnDeath]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.SetCustomPlayerColor | SetCustomPlayerColor]]  
| <code>bool IsAuraActiveOnDeath() </code>
| <code>void SetCustomPlayerColor(int iPlayerID, int r, int g, int b)</code>
| True/false if this aura provides buffs when the parent is dead.
| Set custom color for player (minimap, scoreboard, etc)
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Modifier_Lua.IsDebuff | IsDebuff]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.SetCustomTeamAssignment | SetCustomTeamAssignment]]  
| <code>bool IsDebuff() </code>
| <code>void SetCustomTeamAssignment(int iPlayerID, int iTeamAssignment)</code>
| True/false if this modifier should be displayed as a debuff.
| Set custom team assignment for this player.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Modifier_Lua.IsHidden | IsHidden]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.SetGold | SetGold]]  
| <code>bool IsHidden() </code>
| <code>void SetGold(int iPlayerID, int iGold, bool bReliable)</code>
| True/false if this modifier should be displayed on the buff bar.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Modifier_Lua.IsPermanent | IsPermanent]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.SetHasRandomed | SetHasRandomed]]  
| <code>bool IsPermanent() </code>
| <code>void SetHasRandomed(int iPlayerID)</code>
| True/false if this modifier is permanent.
|
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Modifier_Lua.IsPurgable | IsPurgable]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.SetLastBuybackTime | SetLastBuybackTime]]  
| <code>bool IsPurgable() </code>
| <code>void SetLastBuybackTime(int iPlayerID, int iLastBuybackTime)</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.SetOverrideSelectionEntity | SetOverrideSelectionEntity]]  
| <code>bool IsPurgeException() </code>
| <code>void SetOverrideSelectionEntity(int nPlayerID, handle hEntity)</code>
| True/false if this modifier can be purged by strong dispels.
| Set the forced selection entity for a player.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Modifier_Lua.IsStunDebuff | IsStunDebuff]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_PlayerResource.SetUnitShareMaskForPlayer | SetUnitShareMaskForPlayer]]  
| <code>bool IsStunDebuff() </code>
| <code>void SetUnitShareMaskForPlayer(int nPlayerID, int nOtherPlayerID, int nFlag, bool bState)</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.SpendGold | SpendGold]]  
| <code>void OnCreated(handle table) </code>
| <code>void SpendGold(int iPlayerID, int iCost, int iReason)</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.UpdateTeamSlot | UpdateTeamSlot]]  
| <code>void OnDestroy() </code>
| <code>void UpdateTeamSlot(int iPlayerID, int iTeamNumber, int desiredSlot)</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.WhoSelectedHero | WhoSelectedHero]]  
| <code>void OnIntervalThink() </code>
| <code>int WhoSelectedHero(string pHeroFilename)</code>
| Runs when the think interval occurs.
|
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Modifier_Lua.OnRefresh | OnRefresh]]
| <code>void OnRefresh(handle table) </code>
| Runs when the modifier is refreshed.
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Modifier_Lua.OnRemoved | OnRemoved]]
| <code>void OnRemoved() </code>
| Runs when the modifier is removed, before it is actually removed from the unit (OnDestroy runs after).
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Modifier_Lua.OnStackCountChanged | OnStackCountChanged]]
| <code>void OnStackCountChanged(int iStackCount) </code>
| Runs when the modifier stack count changed.
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Modifier_Lua.RemoveOnDeath | RemoveOnDeath]]
| <code>bool RemoveOnDeath() </code>
| True/false if this modifier is removed when the parent dies.
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Modifier_Lua.StatusEffectPriority | StatusEffectPriority]]
| <code>int StatusEffectPriority() </code>
| Relationship of this status effect with those from other buffs (higher is more likely to be shown).
|}
|}


 
==== CDOTA_ShopTrigger ====
=== CDOTA_Modifier_Lua_Horizontal_Motion ===
:::::extends [[#CBaseTrigger|CBaseTrigger]]
''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,748: Line 6,558:
! Description  
! Description  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Modifier_Lua_Horizontal_Motion.ApplyHorizontalMotionController | ApplyHorizontalMotionController]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_ShopTrigger.GetShopType | GetShopType]]  
| <code>bool ApplyHorizontalMotionController() </code>
| <code>int GetShopType()</code>
| Starts the horizontal motion controller effects for this buff.  Returns true if successful.
| Get the DOTA_SHOP_TYPE
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Modifier_Lua_Horizontal_Motion.GetPriority | GetPriority]]
| <code>int GetPriority() </code>
| Get the priority
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Modifier_Lua_Horizontal_Motion.OnHorizontalMotionInterrupted | OnHorizontalMotionInterrupted]]
| <code>void OnHorizontalMotionInterrupted() </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_ShopTrigger.SetShopType | SetShopType]]  
| <code>void SetPriority(int nMotionPriority) </code>
| <code>void SetShopType(int eShopType)</code>
| Set the priority
| Set the DOTA_SHOP_TYPE.  
|-
| [[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_SimpleObstruction ====
=== CDOTA_Modifier_Lua_Motion_Both ===
:::::extends [[#CBaseEntity|CBaseEntity]]
''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,779: Line 6,575:
! Description  
! Description  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Modifier_Lua_Motion_Both.ApplyHorizontalMotionController | ApplyHorizontalMotionController]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_SimpleObstruction.IsEnabled | IsEnabled]]  
| <code>bool ApplyHorizontalMotionController() </code>
| <code>bool IsEnabled()</code>
| Starts the horizontal motion controller effects for this buff.  Returns true if successful.
| Returns whether the obstruction is currently active
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Modifier_Lua_Motion_Both.ApplyVerticalMotionController | ApplyVerticalMotionController]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_SimpleObstruction.SetEnabled | SetEnabled]]  
| <code>bool ApplyVerticalMotionController() </code>
| <code>void SetEnabled(bool bEnabled, bool bForce)</code>
| Starts the vertical motion controller effects for this buff.  Returns true if successful.
| Enable or disable the obstruction
|-
| [[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_Unit_Courier ====
:::::extends [[#CDOTA_BaseNPC|CDOTA_BaseNPC]]
''No Description Set''
{| class="standard-table" style="width: 100%;"
! Function
! Signature
! Description
|}


=== CDOTA_Modifier_Lua_Vertical_Motion ===
==== CDOTA_Unit_Nian ====
:::::extends [[#CDOTA_BaseNPC_Creature|CDOTA_BaseNPC_Creature]]
''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,822: Line 6,601:
! Description  
! Description  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Modifier_Lua_Vertical_Motion.ApplyVerticalMotionController | ApplyVerticalMotionController]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Unit_Nian.GetHorn | GetHorn]]  
| <code>bool ApplyVerticalMotionController() </code>
| <code>handle GetHorn()</code>
| Starts the vertical motion controller effects for this buff.  Returns true if successful.
| Is the Nian horn?
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Modifier_Lua_Vertical_Motion.GetMotionPriority | GetMotionPriority]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Unit_Nian.GetTail | GetTail]]  
| <code>int GetMotionPriority() </code>
| <code>handle GetTail()</code>
| Get the priority
| Is the Nian's tail broken?
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Modifier_Lua_Vertical_Motion.OnVerticalMotionInterrupted | OnVerticalMotionInterrupted]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Unit_Nian.IsHornAlive | IsHornAlive]]  
| <code>void OnVerticalMotionInterrupted() </code>
| <code>bool IsHornAlive()</code>
| Called when the motion gets interrupted.
| Is the Nian's horn broken?
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Modifier_Lua_Vertical_Motion.SetMotionPriority | SetMotionPriority]]
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Unit_Nian.IsTailAlive | IsTailAlive]]  
| <code>void SetMotionPriority(int nMotionPriority) </code>
| <code>bool IsTailAlive()</code>
| Set the priority
| Is the Nian's tail broken?
|-
| [[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.
|}
|}


 
==== CDebugOverlayScriptHelper ====
=== CDOTA_Item_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,853: Line 6,625:
! Description  
! Description  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item_Lua.CastFilterResult | CastFilterResult]]
| [[Dota 2 Workshop Tools/Scripting/API/CDebugOverlayScriptHelper.Axis | Axis]]  
| <code>int CastFilterResult() </code>
| <code>void Axis(Vector Vector_1, Quaternion Quaternion_2, float float_3, bool bool_4, float float_5)</code>
| Determine whether an issued command with no target is valid.
| Draws an axis. Specify origin + orientation in world space.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item_Lua.CastFilterResultLocation | CastFilterResultLocation]]
| [[Dota 2 Workshop Tools/Scripting/API/CDebugOverlayScriptHelper.Box | Box]]  
| <code>int CastFilterResultLocation(Vector vLocation) </code>
| <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>
| (Vector vLocation) Determine whether an issued command on a location is valid.
| Draws a world-space axis-aligned box. Specify bounds in world space.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item_Lua.CastFilterResultTarget | CastFilterResultTarget]]
| [[Dota 2 Workshop Tools/Scripting/API/CDebugOverlayScriptHelper.BoxAngles | BoxAngles]]  
| <code>int CastFilterResultTarget(handle hTarget) </code>
| <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>
| (HSCRIPT hTarget) Determine whether an issued command on a target is valid.
| Draws an oriented box at the origin. Specify bounds in local space.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item_Lua.GetAssociatedPrimaryAbilities | GetAssociatedPrimaryAbilities]]
| [[Dota 2 Workshop Tools/Scripting/API/CDebugOverlayScriptHelper.Capsule | Capsule]]  
| <code>string GetAssociatedPrimaryAbilities() </code>
| <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>
| Returns abilities that are stolen simultaneously by Rubick's Spell Steal, or otherwise related in functionality.
| Draws a capsule. Specify base in world space.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item_Lua.GetAssociatedSecondaryAbilities | GetAssociatedSecondaryAbilities]]
| [[Dota 2 Workshop Tools/Scripting/API/CDebugOverlayScriptHelper.Circle | Circle]]  
| <code>string GetAssociatedSecondaryAbilities() </code>
| <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>
| Returns other abilities that are stolen simultaneously by Rubick's Spell Steal, or otherwise related in functionality.  Generally hidden abilities.
| Draws a circle. Specify center in world space.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item_Lua.GetBehavior | GetBehavior]]
| [[Dota 2 Workshop Tools/Scripting/API/CDebugOverlayScriptHelper.CircleScreenOriented | CircleScreenOriented]]  
| <code>int GetBehavior() </code>
| <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>
| Return cast behavior type of this ability.
| Draws a circle oriented to the screen. Specify center in world space.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item_Lua.GetCastRange | GetCastRange]]
| [[Dota 2 Workshop Tools/Scripting/API/CDebugOverlayScriptHelper.Cone | Cone]]  
| <code>int GetCastRange(Vector vLocation, handle hTarget) </code>
| <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>
| Return cast range of this ability.
| Draws a wireframe cone. Specify endpoint and direction in world space.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item_Lua.GetChannelledManaCostPerSecond | GetChannelledManaCostPerSecond]]
| [[Dota 2 Workshop Tools/Scripting/API/CDebugOverlayScriptHelper.Cross | Cross]]  
| <code>int GetChannelledManaCostPerSecond(int iLevel) </code>
| <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>
| Return mana cost at the given level per second while channeling (-1 is current).
| Draws a screen-aligned cross. Specify origin in world space.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item_Lua.GetChannelTime | GetChannelTime]]
| [[Dota 2 Workshop Tools/Scripting/API/CDebugOverlayScriptHelper.Cross3D | Cross3D]]  
| <code>float GetChannelTime() </code>
| <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>
| Return the channel time of this ability.
| Draws a world-aligned cross. Specify origin in world space.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item_Lua.GetConceptRecipientType | GetConceptRecipientType]]
| [[Dota 2 Workshop Tools/Scripting/API/CDebugOverlayScriptHelper.Cross3DOriented | Cross3DOriented]]  
| <code>int GetConceptRecipientType() </code>
| <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>
| Return who hears speech when this spell is cast.
| Draws an oriented cross. Specify origin in world space.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item_Lua.GetCooldown | GetCooldown]]
| [[Dota 2 Workshop Tools/Scripting/API/CDebugOverlayScriptHelper.DrawTickMarkedLine | DrawTickMarkedLine]]  
| <code>float GetCooldown(int iLevel) </code>
| <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>
| Return cooldown of this ability.
| Draws a dashed line. Specify endpoints in world space.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item_Lua.GetCustomCastError | GetCustomCastError]]
| [[Dota 2 Workshop Tools/Scripting/API/CDebugOverlayScriptHelper.EntityAttachments | EntityAttachments]]  
| <code>string GetCustomCastError() </code>
| <code>void EntityAttachments(ehandle ehandle_1, float float_2, float float_3)</code>
| Return the error string of a failed command with no target.
| Draws the attachments of the entity
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item_Lua.GetCustomCastErrorLocation | GetCustomCastErrorLocation]]
| [[Dota 2 Workshop Tools/Scripting/API/CDebugOverlayScriptHelper.EntityAxis | EntityAxis]]  
| <code>string GetCustomCastErrorLocation(Vector vLocation) </code>
| <code>void EntityAxis(ehandle ehandle_1, float float_2, bool bool_3, float float_4)</code>
| (Vector vLocation) Return the error string of a failed command on a location.
| Draws the axis of the entity origin
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item_Lua.GetCustomCastErrorTarget | GetCustomCastErrorTarget]]
| [[Dota 2 Workshop Tools/Scripting/API/CDebugOverlayScriptHelper.EntityBounds | EntityBounds]]  
| <code>string GetCustomCastErrorTarget(handle hTarget) </code>
| <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>
| (HSCRIPT hTarget) Return the error string of a failed command on a target.
| Draws bounds of an entity
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item_Lua.GetGoldCost | GetGoldCost]]
| [[Dota 2 Workshop Tools/Scripting/API/CDebugOverlayScriptHelper.EntitySkeleton | EntitySkeleton]]  
| <code>int GetGoldCost(int iLevel) </code>
| <code>void EntitySkeleton(ehandle ehandle_1, float float_2)</code>
| Return gold cost at the given level (-1 is current).
| Draws the skeleton of the entity
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item_Lua.GetIntrinsicModifierName | GetIntrinsicModifierName]]
| [[Dota 2 Workshop Tools/Scripting/API/CDebugOverlayScriptHelper.EntityText | EntityText]]  
| <code>string GetIntrinsicModifierName() </code>
| <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>
| Returns the name of the modifier applied passively by this ability.
| Draws text on an entity
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item_Lua.GetManaCost | GetManaCost]]
| [[Dota 2 Workshop Tools/Scripting/API/CDebugOverlayScriptHelper.FilledRect2D | FilledRect2D]]  
| <code>int GetManaCost(int iLevel) </code>
| <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>
| Return mana cost at the given level (-1 is current).
| Draws a screen-space filled 2D rectangle. Coordinates are in pixels.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item_Lua.GetPlaybackRateOverride | GetPlaybackRateOverride]]
| [[Dota 2 Workshop Tools/Scripting/API/CDebugOverlayScriptHelper.HorzArrow | HorzArrow]]  
| <code>float GetPlaybackRateOverride() </code>
| <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>
| Return the animation rate of the cast animation.
| Draws a horizontal arrow. Specify endpoints in world space.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item_Lua.IsHiddenAbilityCastable | IsHiddenAbilityCastable]]
| [[Dota 2 Workshop Tools/Scripting/API/CDebugOverlayScriptHelper.Line | Line]]  
| <code>bool IsHiddenAbilityCastable() </code>
| <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>
| Returns true if this ability can be used when not on the action panel.
| Draws a line between two points
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item_Lua.IsHiddenWhenStolen | IsHiddenWhenStolen]]
| [[Dota 2 Workshop Tools/Scripting/API/CDebugOverlayScriptHelper.Line2D | Line2D]]  
| <code>bool IsHiddenWhenStolen() </code>
| <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>
| Returns true if this ability is hidden when stolen by Spell Steal.
| Draws a line between two points in screenspace
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item_Lua.IsRefreshable | IsRefreshable]]
| [[Dota 2 Workshop Tools/Scripting/API/CDebugOverlayScriptHelper.PopDebugOverlayScope | PopDebugOverlayScope]]  
| <code>bool IsRefreshable() </code>
| <code>void PopDebugOverlayScope()</code>
| Returns true if this ability is refreshed by Refresher Orb.
| Pops the identifier used to group overlays. Overlays marked with this identifier can be deleted in a big batch.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item_Lua.IsStealable | IsStealable]]
| [[Dota 2 Workshop Tools/Scripting/API/CDebugOverlayScriptHelper.PushAndClearDebugOverlayScope | PushAndClearDebugOverlayScope]]  
| <code>bool IsStealable() </code>
| <code>void PushAndClearDebugOverlayScope(utlstringtoken utlstringtoken_1)</code>
| Returns true if this ability can be stolen by Spell Steal.
| Pushes an identifier used to group overlays. Deletes all existing overlays using this overlay id.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item_Lua.OnAbilityPhaseInterrupted | OnAbilityPhaseInterrupted]]
| [[Dota 2 Workshop Tools/Scripting/API/CDebugOverlayScriptHelper.PushDebugOverlayScope | PushDebugOverlayScope]]  
| <code>void OnAbilityPhaseInterrupted() </code>
| <code>void PushDebugOverlayScope(utlstringtoken utlstringtoken_1)</code>
| Cast time did not complete successfully.
| 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/CDOTA_Item_Lua.OnAbilityPhaseStart | OnAbilityPhaseStart]]
| [[Dota 2 Workshop Tools/Scripting/API/CDebugOverlayScriptHelper.RemoveAllInScope | RemoveAllInScope]]  
| <code>bool OnAbilityPhaseStart() </code>
| <code>void RemoveAllInScope(utlstringtoken utlstringtoken_1)</code>
| Cast time begins (return true for successful cast).
| Removes all overlays marked with a specific identifier, regardless of their lifetime.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item_Lua.OnChannelFinish | OnChannelFinish]]
| [[Dota 2 Workshop Tools/Scripting/API/CDebugOverlayScriptHelper.SolidCone | SolidCone]]  
| <code>void OnChannelFinish(bool bInterrupted) </code>
| <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>
| (bool bInterrupted) Channel finished.
| Draws a solid cone. Specify endpoint and direction in world space.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item_Lua.OnChannelThink | OnChannelThink]]
| [[Dota 2 Workshop Tools/Scripting/API/CDebugOverlayScriptHelper.Sphere | Sphere]]  
| <code>void OnChannelThink(float flInterval) </code>
| <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>
| (float flInterval) Channeling is taking place.
| Draws a wireframe sphere. Specify center in world space.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item_Lua.OnHeroCalculateStatBonus | OnHeroCalculateStatBonus]]
| [[Dota 2 Workshop Tools/Scripting/API/CDebugOverlayScriptHelper.SweptBox | SweptBox]]  
| <code>void OnHeroCalculateStatBonus() </code>
| <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>
| Caster (hero only) gained a level, skilled an ability, or received a new stat bonus.
| Draws a swept box. Specify endpoints in world space and the bounds in local space.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item_Lua.OnHeroDiedNearby | OnHeroDiedNearby]]
| [[Dota 2 Workshop Tools/Scripting/API/CDebugOverlayScriptHelper.Text | Text]]  
| <code>void OnHeroDiedNearby(handle unit, handle attacker, handle table) </code>
| <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>
| A hero has died in the vicinity (ie Urn), takes table of params.
| Draws 2D text. Specify origin in world space.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item_Lua.OnHeroLevelUp | OnHeroLevelUp]]
| [[Dota 2 Workshop Tools/Scripting/API/CDebugOverlayScriptHelper.Texture | Texture]]  
| <code>void OnHeroLevelUp() </code>
| <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>
| Caster gained a level.
| Draws a screen-space texture. Coordinates are in pixels.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item_Lua.OnInventoryContentsChanged | OnInventoryContentsChanged]]
| [[Dota 2 Workshop Tools/Scripting/API/CDebugOverlayScriptHelper.Triangle | Triangle]]  
| <code>void OnInventoryContentsChanged() </code>
| <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>
| Caster inventory changed.
| Draws a filled triangle. Specify vertices in world space.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item_Lua.OnItemEquipped | OnItemEquipped]]
| [[Dota 2 Workshop Tools/Scripting/API/CDebugOverlayScriptHelper.UnitTestCycleOverlayRenderType | UnitTestCycleOverlayRenderType]]  
| <code>void OnItemEquipped(handle hItem) </code>
| <code>void UnitTestCycleOverlayRenderType()</code>
| ( HSCRIPT hItem ) Caster equipped item.
| Toggles the overlay render type, for unit tests
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item_Lua.OnOwnerDied | OnOwnerDied]]
| [[Dota 2 Workshop Tools/Scripting/API/CDebugOverlayScriptHelper.VectorText3D | VectorText3D]]  
| <code>void OnOwnerDied() </code>
| <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>
| Caster died.
| Draws 3D text. Specify origin + orientation in world space.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item_Lua.OnOwnerSpawned | OnOwnerSpawned]]
| [[Dota 2 Workshop Tools/Scripting/API/CDebugOverlayScriptHelper.VertArrow | VertArrow]]  
| <code>void OnOwnerSpawned() </code>
| <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>
| Caster respawned or spawned for the first time.
| Draws a vertical arrow. Specify endpoints in world space.  
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item_Lua.OnProjectileHit | OnProjectileHit]]
| [[Dota 2 Workshop Tools/Scripting/API/CDebugOverlayScriptHelper.YawArrow | YawArrow]]  
| <code>bool OnProjectileHit(handle hTarget, Vector vLocation) </code>
| <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>
| (HSCRIPT hTarget, Vector vLocation) Projectile has collided with a given target or reached its destination (target is invalid).
| Draws a arrow associated with a specific yaw. Specify endpoints in world space.  
|-
|}
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item_Lua.OnProjectileThink | OnProjectileThink]]
 
| <code>void OnProjectileThink(Vector vLocation) </code>
==== CDotaQuest ====
| (Vector vLocation) Projectile is actively moving.
:::::extends [[#CBaseEntity|CBaseEntity]]
''No Description Set''
{| class="standard-table" style="width: 100%;"
! Function
! Signature
! Description
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item_Lua.OnSpellStart | OnSpellStart]]
| [[Dota 2 Workshop Tools/Scripting/API/CDotaQuest.AddSubquest | AddSubquest]]  
| <code>void OnSpellStart() </code>
| <code>void AddSubquest(handle hSubquest)</code>
| Cast time finished, spell effects begin.
| Add a subquest to this quest
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item_Lua.OnStolen | OnStolen]]
| [[Dota 2 Workshop Tools/Scripting/API/CDotaQuest.CompleteQuest | CompleteQuest]]  
| <code>void OnStolen(handle hSourceAbility) </code>
| <code>void CompleteQuest()</code>
| ( HSCRIPT hAbility ) Special behavior when stolen by Spell Steal.
| Mark this quest complete
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item_Lua.OnToggle | OnToggle]]
| [[Dota 2 Workshop Tools/Scripting/API/CDotaQuest.GetSubquest | GetSubquest]]  
| <code>void OnToggle() </code>
| <code>handle GetSubquest(int nIndex)</code>
| Ability is toggled on/off.
| Finds a subquest from this quest by index
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item_Lua.OnUnStolen | OnUnStolen]]
| [[Dota 2 Workshop Tools/Scripting/API/CDotaQuest.GetSubquestByName | GetSubquestByName]]  
| <code>void OnUnStolen() </code>
| <code>handle GetSubquestByName(string pszName)</code>
| Special behavior when lost by Spell Steal.
| Finds a subquest from this quest by name
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item_Lua.OnUpgrade | OnUpgrade]]
| [[Dota 2 Workshop Tools/Scripting/API/CDotaQuest.RemoveSubquest | RemoveSubquest]]  
| <code>void OnUpgrade() </code>
| <code>void RemoveSubquest(handle hSubquest)</code>
| Ability gained a level.
| Remove a subquest from this quest
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item_Lua.ProcsMagicStick | ProcsMagicStick]]
| [[Dota 2 Workshop Tools/Scripting/API/CDotaQuest.SetTextReplaceString | SetTextReplaceString]]  
| <code>bool ProcsMagicStick() </code>
| <code>void SetTextReplaceString(string pszString)</code>
| Returns true if this ability will generate magic stick charges for nearby enemies.
| Set the text replace string for this quest
|-
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDOTA_Item_Lua.SpeakTrigger | SpeakTrigger]]
| [[Dota 2 Workshop Tools/Scripting/API/CDotaQuest.SetTextReplaceValue | SetTextReplaceValue]]  
| <code>int SpeakTrigger() </code>
| <code>void SetTextReplaceValue(int valueSlot, int value)</code>
| Return the type of speech used.
| Set a quest value
|}
|}


 
==== CDotaSubquestBase ====
=== Constants ===
:::::extends [[#CBaseEntity|CBaseEntity]]
==== AbilityLearnResult_t ====
''No Description Set''
{| class="standard-table" style="width: 50%;"
{| class="standard-table" style="width: 100%;"
! Name
! Function
! Value
! Signature
! Description
! Description  
|-
| [[Dota 2 Workshop Tools/Scripting/API/CDotaSubquestBase.CompleteSubquest | CompleteSubquest]]
| <code>void CompleteSubquest()</code>
| Mark this subquest complete
|-
|-
| ABILITY_CAN_BE_UPGRADED
| [[Dota 2 Workshop Tools/Scripting/API/CDotaSubquestBase.SetTextReplaceString | SetTextReplaceString]]
| 0
| <code>void SetTextReplaceString(string pszString)</code>
|  
| Set the text replace string for this subquest
|-
|-
| ABILITY_CANNOT_BE_UPGRADED_NOT_UPGRADABLE
| [[Dota 2 Workshop Tools/Scripting/API/CDotaSubquestBase.SetTextReplaceValue | SetTextReplaceValue]]
| 1
| <code>void SetTextReplaceValue(int valueSlot, int value)</code>
|  
| Set a subquest value
|-
|}
| ABILITY_CANNOT_BE_UPGRADED_AT_MAX
 
| 2
==== CEntities ====
|  
''Global accessor variable: <code>Entities</code>''
|-
{| class="standard-table" style="width: 100%;"
| ABILITY_CANNOT_BE_UPGRADED_REQUIRES_LEVEL
! Function
| 3
! Signature
|  
! Description
|-
|-
| ABILITY_NOT_LEARNABLE
| [[Dota 2 Workshop Tools/Scripting/API/CEntities.CreateByClassname | CreateByClassname]]
| 4
| <code>handle CreateByClassname(string string_1)</code>
|  
| Creates an entity by classname
|}
|-
 
| [[Dota 2 Workshop Tools/Scripting/API/CEntities.FindAllByClassname | FindAllByClassname]]
==== Attributes ====
| <code>table FindAllByClassname(string string_1)</code>
| Finds all entities by class name. Returns an array containing all the found entities.
|-
| [[Dota 2 Workshop Tools/Scripting/API/CEntities.FindAllByClassnameWithin | FindAllByClassnameWithin]]
| <code>table FindAllByClassnameWithin(string string_1, Vector Vector_2, float float_3)</code>
| Find entities by class name within a radius.
|-
| [[Dota 2 Workshop Tools/Scripting/API/CEntities.FindAllByModel | FindAllByModel]]
| <code>table FindAllByModel(string string_1)</code>
| Find entities by model name.
|-
| [[Dota 2 Workshop Tools/Scripting/API/CEntities.FindAllByName | FindAllByName]]
| <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 2 Workshop Tools/Scripting/API/CEntities.FindAllByTarget | FindAllByTarget]]
| <code>table FindAllByTarget(string string_1)</code>
| Find entities by targetname.
|-
| [[Dota 2 Workshop Tools/Scripting/API/CEntities.FindAllInSphere | FindAllInSphere]]
| <code>table FindAllInSphere(Vector Vector_1, float float_2)</code>
| Find entities within a radius.
|-
| [[Dota 2 Workshop Tools/Scripting/API/CEntities.FindByClassname | FindByClassname]]
| <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 2 Workshop Tools/Scripting/API/CEntities.FindByClassnameNearest | FindByClassnameNearest]]
| <code>handle FindByClassnameNearest(string string_1, Vector Vector_2, float float_3)</code>
| Find entities by class name nearest to a point.
|-
| [[Dota 2 Workshop Tools/Scripting/API/CEntities.FindByClassnameWithin | FindByClassnameWithin]]
| <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 2 Workshop Tools/Scripting/API/CEntities.FindByModel | FindByModel]]
| <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 2 Workshop Tools/Scripting/API/CEntities.FindByModelWithin | FindByModelWithin]]
| <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 2 Workshop Tools/Scripting/API/CEntities.FindByName | FindByName]]
| <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 2 Workshop Tools/Scripting/API/CEntities.FindByNameNearest | FindByNameNearest]]
| <code>handle FindByNameNearest(string string_1, Vector Vector_2, float float_3)</code>
| Find entities by name nearest to a point.
|-
| [[Dota 2 Workshop Tools/Scripting/API/CEntities.FindByNameWithin | FindByNameWithin]]
| <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 2 Workshop Tools/Scripting/API/CEntities.FindByTarget | FindByTarget]]
| <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 2 Workshop Tools/Scripting/API/CEntities.FindInSphere | FindInSphere]]
| <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 2 Workshop Tools/Scripting/API/CEntities.First | First]]
| <code>handle First()</code>
| Begin an iteration over the list of entities
|-
| [[Dota 2 Workshop Tools/Scripting/API/CEntities.GetLocalPlayer | GetLocalPlayer]]
| <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 2 Workshop Tools/Scripting/API/CEntityInstance.ConnectOutput | ConnectOutput]]
| <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 2 Workshop Tools/Scripting/API/CEntityInstance.Destroy | Destroy]]
| <code>void Destroy()</code>
|-
| [[Dota 2 Workshop Tools/Scripting/API/CEntityInstance.DisconnectOutput | DisconnectOutput]]
| <code>void DisconnectOutput(string string_1, string string_2)</code>
| Removes a connected script function from an I/O event on this entity.
|-
| [[Dota 2 Workshop Tools/Scripting/API/CEntityInstance.DisconnectRedirectedOutput | DisconnectRedirectedOutput]]
| <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 2 Workshop Tools/Scripting/API/CEntityInstance.FireOutput | FireOutput]]
| <code>void FireOutput(string string_1, handle handle_2, handle handle_3, table table_4, float float_5)</code>
| Fire an entity output
|-
| [[Dota 2 Workshop Tools/Scripting/API/CEntityInstance.GetClassname | GetClassname]]
| <code>string GetClassname()</code>
|-
| [[Dota 2 Workshop Tools/Scripting/API/CEntityInstance.GetDebugName | GetDebugName]]
| <code>string GetDebugName()</code>
| Get the entity name w/help if not defined (i.e. classname/etc)
|-
| [[Dota 2 Workshop Tools/Scripting/API/CEntityInstance.GetEntityHandle | GetEntityHandle]]
| <code>ehandle GetEntityHandle()</code>
| Get the entity as an EHANDLE
|-
| [[Dota 2 Workshop Tools/Scripting/API/CEntityInstance.GetEntityIndex | GetEntityIndex]]
| <code>int GetEntityIndex()</code>
|-
| [[Dota 2 Workshop Tools/Scripting/API/CEntityInstance.GetIntAttr | GetIntAttr]]
| <code>int GetIntAttr(string string_1)</code>
| Get Integer Attribute
|-
| [[Dota 2 Workshop Tools/Scripting/API/CEntityInstance.GetName | GetName]]
| <code>string GetName()</code>
|-
| [[Dota 2 Workshop Tools/Scripting/API/CEntityInstance.GetOrCreatePrivateScriptScope | GetOrCreatePrivateScriptScope]]
| <code>handle GetOrCreatePrivateScriptScope()</code>
| Retrieve, creating if necessary, the private per-instance script-side data associated with an entity
|-
| [[Dota 2 Workshop Tools/Scripting/API/CEntityInstance.GetOrCreatePublicScriptScope | GetOrCreatePublicScriptScope]]
| <code>handle GetOrCreatePublicScriptScope()</code>
| Retrieve, creating if necessary, the public script-side data associated with an entity
|-
| [[Dota 2 Workshop Tools/Scripting/API/CEntityInstance.GetPrivateScriptScope | GetPrivateScriptScope]]
| <code>handle GetPrivateScriptScope()</code>
| Retrieve the private per-instance script-side data associated with an entity
|-
| [[Dota 2 Workshop Tools/Scripting/API/CEntityInstance.GetPublicScriptScope | GetPublicScriptScope]]
| <code>handle GetPublicScriptScope()</code>
| Retrieve the public script-side data associated with an entity
|-
| [[Dota 2 Workshop Tools/Scripting/API/CEntityInstance.RedirectOutput | RedirectOutput]]
| <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 2 Workshop Tools/Scripting/API/CEntityInstance.RemoveSelf | RemoveSelf]]
| <code>void RemoveSelf()</code>
| Delete this entity
|-
| [[Dota 2 Workshop Tools/Scripting/API/CEntityInstance.SetIntAttr | SetIntAttr]]
| <code>void SetIntAttr(string string_1, int int_2)</code>
| Set Integer Attribute
|-
| [[Dota 2 Workshop Tools/Scripting/API/CEntityInstance.entindex | entindex]]
| <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 2 Workshop Tools/Scripting/API/CEnvEntityMaker.SpawnEntity | SpawnEntity]]
| <code>void SpawnEntity()</code>
| Create an entity at the location of the maker
|-
| [[Dota 2 Workshop Tools/Scripting/API/CEnvEntityMaker.SpawnEntityAtEntityOrigin | SpawnEntityAtEntityOrigin]]
| <code>void SpawnEntityAtEntityOrigin(handle hEntity)</code>
| Create an entity at the location of a specified entity instance
|-
| [[Dota 2 Workshop Tools/Scripting/API/CEnvEntityMaker.SpawnEntityAtLocation | SpawnEntityAtLocation]]
| <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 2 Workshop Tools/Scripting/API/CEnvEntityMaker.SpawnEntityAtNamedEntityOrigin | SpawnEntityAtNamedEntityOrigin]]
| <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 2 Workshop Tools/Scripting/API/CEnvProjectedTexture.SetFarRange | SetFarRange]]
| <code>void SetFarRange(float flRange)</code>
| Set light maximum range
|-
| [[Dota 2 Workshop Tools/Scripting/API/CEnvProjectedTexture.SetLinearAttenuation | SetLinearAttenuation]]
| <code>void SetLinearAttenuation(float flAtten)</code>
| Set light linear attenuation value
|-
| [[Dota 2 Workshop Tools/Scripting/API/CEnvProjectedTexture.SetNearRange | SetNearRange]]
| <code>void SetNearRange(float flRange)</code>
| Set light minimum range
|-
| [[Dota 2 Workshop Tools/Scripting/API/CEnvProjectedTexture.SetQuadraticAttenuation | SetQuadraticAttenuation]]
| <code>void SetQuadraticAttenuation(float flAtten)</code>
| Set light quadratic attenuation value
|-
| [[Dota 2 Workshop Tools/Scripting/API/CEnvProjectedTexture.SetVolumetrics | SetVolumetrics]]
| <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 2 Workshop Tools/Scripting/API/CInfoData.QueryColor | QueryColor]]
| <code>Vector QueryColor(utlstringtoken tok, Vector vDefault)</code>
| Query color data for this key
|-
| [[Dota 2 Workshop Tools/Scripting/API/CInfoData.QueryFloat | QueryFloat]]
| <code>float QueryFloat(utlstringtoken tok, float flDefault)</code>
| Query float data for this key
|-
| [[Dota 2 Workshop Tools/Scripting/API/CInfoData.QueryInt | QueryInt]]
| <code>int QueryInt(utlstringtoken tok, int nDefault)</code>
| Query int data for this key
|-
| [[Dota 2 Workshop Tools/Scripting/API/CInfoData.QueryNumber | QueryNumber]]
| <code>float QueryNumber(utlstringtoken tok, float flDefault)</code>
| Query number data for this key
|-
| [[Dota 2 Workshop Tools/Scripting/API/CInfoData.QueryString | QueryString]]
| <code>string QueryString(utlstringtoken tok, string pDefault)</code>
| Query string data for this key
|-
| [[Dota 2 Workshop Tools/Scripting/API/CInfoData.QueryVector | QueryVector]]
| <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 2 Workshop Tools/Scripting/API/CInfoWorldLayer.HideWorldLayer | HideWorldLayer]]
| <code>void HideWorldLayer()</code>
| Hides this layer
|-
| [[Dota 2 Workshop Tools/Scripting/API/CInfoWorldLayer.ShowWorldLayer | ShowWorldLayer]]
| <code>void ShowWorldLayer()</code>
| Shows this layer
|}
 
==== CLogicScript ====
:::::extends [[#CBaseEntity|CBaseEntity]]
''No Description Set''
{| class="standard-table" style="width: 100%;"
! Function
! Signature
! Description
|}
 
==== CMarkupVolumeTagged ====
:::::extends [[#CBaseEntity|CBaseEntity]]
''No Description Set''
{| class="standard-table" style="width: 100%;"
! Function
! Signature
! Description
|-
| [[Dota 2 Workshop Tools/Scripting/API/CMarkupVolumeTagged.HasTag | HasTag]]
| <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 2 Workshop Tools/Scripting/API/CNativeOutputs.AddOutput | AddOutput]]
| <code>void AddOutput(string string_1, string string_2)</code>
| Add an output
|-
| [[Dota 2 Workshop Tools/Scripting/API/CNativeOutputs.Init | Init]]
| <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 2 Workshop Tools/Scripting/API/CPhysicsProp.EnableMotion | EnableMotion]]
| <code>void EnableMotion()</code>
| Enable motion for the prop
|-
| [[Dota 2 Workshop Tools/Scripting/API/CPhysicsProp.SetDynamicVsDynamicContinuous | SetDynamicVsDynamicContinuous]]
| <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 2 Workshop Tools/Scripting/API/CPointClientUIWorldPanel.AcceptUserInput | AcceptUserInput]]
| <code>void AcceptUserInput()</code>
| Tells the panel to accept user input.
|-
| [[Dota 2 Workshop Tools/Scripting/API/CPointClientUIWorldPanel.AddCSSClasses | AddCSSClasses]]
| <code>void AddCSSClasses(string pszClasses)</code>
| Adds CSS class(es) to the panel
|-
| [[Dota 2 Workshop Tools/Scripting/API/CPointClientUIWorldPanel.IgnoreUserInput | IgnoreUserInput]]
| <code>void IgnoreUserInput()</code>
| Tells the panel to ignore user input.
|-
| [[Dota 2 Workshop Tools/Scripting/API/CPointClientUIWorldPanel.IsGrabbable | IsGrabbable]]
| <code>bool IsGrabbable()</code>
| Returns whether this entity is grabbable.
|-
| [[Dota 2 Workshop Tools/Scripting/API/CPointClientUIWorldPanel.RemoveCSSClasses | RemoveCSSClasses]]
| <code>void RemoveCSSClasses(string pszClasses)</code>
| Remove CSS class(es) from the panel
|}
 
==== CPointTemplate ====
:::::extends [[#CBaseEntity|CBaseEntity]]
''No Description Set''
{| class="standard-table" style="width: 100%;"
! Function
! Signature
! Description
|-
| [[Dota 2 Workshop Tools/Scripting/API/CPointTemplate.DeleteCreatedSpawnGroups | DeleteCreatedSpawnGroups]]
| <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 2 Workshop Tools/Scripting/API/CPointTemplate.GetSpawnedEntities | GetSpawnedEntities]]
| <code>handle GetSpawnedEntities()</code>
| GetSpawnedEntities() : Get the list of the most recent spawned entities
|-
| [[Dota 2 Workshop Tools/Scripting/API/CPointTemplate.SetSpawnCallback | SetSpawnCallback]]
| <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 2 Workshop Tools/Scripting/API/CPointWorldText.SetMessage | SetMessage]]
| <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 2 Workshop Tools/Scripting/API/CPropHMDAvatar.GetVRHand | GetVRHand]]
| <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 2 Workshop Tools/Scripting/API/CPropVRHand.AddHandAttachment | AddHandAttachment]]
| <code>void AddHandAttachment(handle hAttachment)</code>
| Add the attachment to this hand
|-
| [[Dota 2 Workshop Tools/Scripting/API/CPropVRHand.AddHandModelOverride | AddHandModelOverride]]
| <code>handle AddHandModelOverride(string pModelName)</code>
| Add a model override for this hand
|-
| [[Dota 2 Workshop Tools/Scripting/API/CPropVRHand.FindHandModelOverride | FindHandModelOverride]]
| <code>handle FindHandModelOverride(string pModelName)</code>
| Find a specific model override for this hand
|-
| [[Dota 2 Workshop Tools/Scripting/API/CPropVRHand.FireHapticPulse | FireHapticPulse]]
| <code>void FireHapticPulse(int nStrength)</code>
| Fire a haptic pulse on this hand. [0,2] for strength.
|-
| [[Dota 2 Workshop Tools/Scripting/API/CPropVRHand.FireHapticPulsePrecise | FireHapticPulsePrecise]]
| <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 2 Workshop Tools/Scripting/API/CPropVRHand.GetLiteralHandType | GetLiteralHandType]]
| <code>int GetLiteralHandType()</code>
| Get literal type for this hand
|-
| [[Dota 2 Workshop Tools/Scripting/API/CPropVRHand.GetPlayer | GetPlayer]]
| <code>handle GetPlayer()</code>
| Get the player for this hand
|-
| [[Dota 2 Workshop Tools/Scripting/API/CPropVRHand.GetVelocity | GetVelocity]]
| <code>Vector GetVelocity()</code>
| Get the filtered controller velocity.
|-
| [[Dota 2 Workshop Tools/Scripting/API/CPropVRHand.RemoveAllHandModelOverrides | RemoveAllHandModelOverrides]]
| <code>void RemoveAllHandModelOverrides()</code>
| Remove all model overrides for this hand
|-
| [[Dota 2 Workshop Tools/Scripting/API/CPropVRHand.RemoveHandAttachmentByHandle | RemoveHandAttachmentByHandle]]
| <code>void RemoveHandAttachmentByHandle(handle hAttachment)</code>
| Remove hand attachment by handle
|-
| [[Dota 2 Workshop Tools/Scripting/API/CPropVRHand.RemoveHandModelOverride | RemoveHandModelOverride]]
| <code>void RemoveHandModelOverride(string pModelName)</code>
| Remove a model override for this hand
|-
| [[Dota 2 Workshop Tools/Scripting/API/CPropVRHand.SetHandAttachment | SetHandAttachment]]
| <code>void SetHandAttachment(handle hAttachment)</code>
| Set the attachment for this hand
|}
 
==== CSceneEntity ====
:::::extends [[#CBaseEntity|CBaseEntity]]
''No Description Set''
{| class="standard-table" style="width: 100%;"
! 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 2 Workshop Tools/Scripting/API/CSceneEntity.FindNamedEntity | FindNamedEntity]]
| <code>handle FindNamedEntity(string string_1)</code>
| given an entity reference, such as !target, get actual entity from scene object
|-
| [[Dota 2 Workshop Tools/Scripting/API/CSceneEntity.IsPaused | IsPaused]]
| <code>bool IsPaused()</code>
| If this scene is currently paused.
|-
| [[Dota 2 Workshop Tools/Scripting/API/CSceneEntity.IsPlayingBack | IsPlayingBack]]
| <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
|}
 
==== CScriptHeroList ====
''Global accessor variable: <code>HeroList</code>''
{| class="standard-table" style="width: 100%;"
! Function
! Signature
! Description
|-
| [[Dota 2 Workshop Tools/Scripting/API/CScriptHeroList.GetAllHeroes | GetAllHeroes]]
| <code>table GetAllHeroes()</code>
| Returns all the heroes in the world
|-
| [[Dota 2 Workshop Tools/Scripting/API/CScriptHeroList.GetHero | GetHero]]
| <code>handle GetHero(int int_1)</code>
| Get the Nth hero in the Hero List
|-
| [[Dota 2 Workshop Tools/Scripting/API/CScriptHeroList.GetHeroCount | GetHeroCount]]
| <code>int GetHeroCount()</code>
| Returns the number of heroes in the world
|}
 
==== CScriptKeyValues ====
''No Description Set''
{| class="standard-table" style="width: 100%;"
! Function
! Signature
! Description
|-
| [[Dota 2 Workshop Tools/Scripting/API/CScriptKeyValues.GetValue | GetValue]]
| <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 2 Workshop Tools/Scripting/API/CScriptParticleManager.CreateParticle | CreateParticle]]
| <code>int CreateParticle(string string_1, int int_2, handle handle_3)</code>
| Creates a new particle effect
|-
| [[Dota 2 Workshop Tools/Scripting/API/CScriptParticleManager.CreateParticleForPlayer | CreateParticleForPlayer]]
| <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 2 Workshop Tools/Scripting/API/CScriptParticleManager.CreateParticleForTeam | CreateParticleForTeam]]
| <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 2 Workshop Tools/Scripting/API/CScriptParticleManager.DestroyParticle | DestroyParticle]]
| <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 2 Workshop Tools/Scripting/API/CScriptParticleManager.GetParticleReplacement | GetParticleReplacement]]
| <code>string GetParticleReplacement(string string_1, handle handle_2)</code>
|-
| [[Dota 2 Workshop Tools/Scripting/API/CScriptParticleManager.ReleaseParticleIndex | ReleaseParticleIndex]]
| <code>void ReleaseParticleIndex(int int_1)</code>
| Frees the specified particle index
|-
| [[Dota 2 Workshop Tools/Scripting/API/CScriptParticleManager.SetParticleAlwaysSimulate | SetParticleAlwaysSimulate]]
| <code>void SetParticleAlwaysSimulate(int int_1)</code>
|-
| [[Dota 2 Workshop Tools/Scripting/API/CScriptParticleManager.SetParticleControl | SetParticleControl]]
| <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 2 Workshop Tools/Scripting/API/CScriptParticleManager.SetParticleControlEnt | SetParticleControlEnt]]
| <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 2 Workshop Tools/Scripting/API/CScriptParticleManager.SetParticleControlFallback | SetParticleControlFallback]]
| <code>void SetParticleControlFallback(int int_1, int int_2, Vector Vector_3)</code>
| (int iIndex, int iPoint, Vector vecPosition)
|-
| [[Dota 2 Workshop Tools/Scripting/API/CScriptParticleManager.SetParticleControlForward | SetParticleControlForward]]
| <code>void SetParticleControlForward(int int_1, int int_2, Vector Vector_3)</code>
| (int nFXIndex, int nPoint, vForward)
|-
| [[Dota 2 Workshop Tools/Scripting/API/CScriptParticleManager.SetParticleControlOrientation | SetParticleControlOrientation]]
| <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 2 Workshop Tools/Scripting/API/CScriptParticleManager.SetParticleControlOrientationFLU | SetParticleControlOrientationFLU]]
| <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 2 Workshop Tools/Scripting/API/CScriptParticleManager.SetParticleFoWProperties | SetParticleFoWProperties]]
| <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 2 Workshop Tools/Scripting/API/CScriptParticleManager.SetParticleShouldCheckFoW | SetParticleShouldCheckFoW]]
| <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 2 Workshop Tools/Scripting/API/CScriptPrecacheContext.AddResource | AddResource]]
| <code>void AddResource(string string_1)</code>
| Precaches a specific resource
|-
| [[Dota 2 Workshop Tools/Scripting/API/CScriptPrecacheContext.GetValue | GetValue]]
| <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 2 Workshop Tools/Scripting/API/Convars.GetBool | GetBool]]
| <code>table GetBool(string string_1)</code>
| GetBool(name) : returns the convar as a boolean flag.
|-
| [[Dota 2 Workshop Tools/Scripting/API/Convars.GetCommandClient | GetCommandClient]]
| <code>handle GetCommandClient()</code>
| GetCommandClient() : returns the player who issued this console command.
|-
| [[Dota 2 Workshop Tools/Scripting/API/Convars.GetDOTACommandClient | GetDOTACommandClient]]
| <code>handle GetDOTACommandClient()</code>
| GetDOTACommandClient() : returns the DOTA player who issued this console command.
|-
| [[Dota 2 Workshop Tools/Scripting/API/Convars.GetFloat | GetFloat]]
| <code>table GetFloat(string string_1)</code>
| GetFloat(name) : returns the convar as a float. May return null if no such convar.
|-
| [[Dota 2 Workshop Tools/Scripting/API/Convars.GetInt | GetInt]]
| <code>table GetInt(string string_1)</code>
| GetInt(name) : returns the convar as an int. May return null if no such convar.
|-
| [[Dota 2 Workshop Tools/Scripting/API/Convars.GetStr | GetStr]]
| <code>table GetStr(string string_1)</code>
| GetStr(name) : returns the convar as a string. May return null if no such convar.
|-
| [[Dota 2 Workshop Tools/Scripting/API/Convars.RegisterCommand | RegisterCommand]]
| <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 2 Workshop Tools/Scripting/API/Convars.RegisterConvar | RegisterConvar]]
| <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 2 Workshop Tools/Scripting/API/Convars.SetBool | SetBool]]
| <code>void SetBool(string string_1, bool bool_2)</code>
| SetBool(name, val) : sets the value of the convar to the bool.
|-
| [[Dota 2 Workshop Tools/Scripting/API/Convars.SetFloat | SetFloat]]
| <code>void SetFloat(string string_1, float float_2)</code>
| SetFloat(name, val) : sets the value of the convar to the float.
|-
| [[Dota 2 Workshop Tools/Scripting/API/Convars.SetInt | SetInt]]
| <code>void SetInt(string string_1, int int_2)</code>
| SetInt(name, val) : sets the value of the convar to the int.
|-
| [[Dota 2 Workshop Tools/Scripting/API/Convars.SetStr | SetStr]]
| <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 2 Workshop Tools/Scripting/API/GlobalSys.CommandLineCheck | CommandLineCheck]]
| <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 2 Workshop Tools/Scripting/API/GlobalSys.CommandLineStr | CommandLineStr]]
| <code>table CommandLineStr(string string_1, string string_2)</code>
| CommandLineStr(name) : returns the command line param as a string.
|}
 
==== GridNav ====
:::::extends [[#GridNav|GridNav]]
''No Description Set''
{| class="standard-table" style="width: 100%;"
! 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 2 Workshop Tools/Scripting/API/GridNav.DestroyTreesAroundPoint | DestroyTreesAroundPoint]]
| <code>void DestroyTreesAroundPoint(Vector Vector_1, float float_2, bool bool_3)</code>
| Destroy all trees in the area(vPosition, flRadius, bFullCollision
|-
| [[Dota 2 Workshop Tools/Scripting/API/GridNav.FindPathLength | FindPathLength]]
| <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 2 Workshop Tools/Scripting/API/GridNav.GetAllTreesAroundPoint | GetAllTreesAroundPoint]]
| <code>table GetAllTreesAroundPoint(Vector Vector_1, float float_2, bool bool_3)</code>
| Returns a table full of tree HSCRIPTS (vPosition, flRadius, bFullCollision).
|-
| [[Dota 2 Workshop Tools/Scripting/API/GridNav.GridPosToWorldCenterX | GridPosToWorldCenterX]]
| <code>float GridPosToWorldCenterX(int int_1)</code>
| Get the X position of the center of a given X index
|-
| [[Dota 2 Workshop Tools/Scripting/API/GridNav.GridPosToWorldCenterY | GridPosToWorldCenterY]]
| <code>float GridPosToWorldCenterY(int int_1)</code>
| Get the Y position of the center of a given Y index
|-
| [[Dota 2 Workshop Tools/Scripting/API/GridNav.IsBlocked | IsBlocked]]
| <code>bool IsBlocked(Vector Vector_1)</code>
| Checks whether the given position is blocked
|-
| [[Dota 2 Workshop Tools/Scripting/API/GridNav.IsNearbyTree | IsNearbyTree]]
| <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 2 Workshop Tools/Scripting/API/GridNav.IsTraversable | IsTraversable]]
| <code>bool IsTraversable(Vector Vector_1)</code>
| Checks whether the given position is traversable
|-
| [[Dota 2 Workshop Tools/Scripting/API/GridNav.RegrowAllTrees | RegrowAllTrees]]
| <code>void RegrowAllTrees()</code>
| Causes all trees in the map to regrow
|-
| [[Dota 2 Workshop Tools/Scripting/API/GridNav.WorldToGridPosX | WorldToGridPosX]]
| <code>int WorldToGridPosX(float float_1)</code>
| Get the X index of a given world X position
|-
| [[Dota 2 Workshop Tools/Scripting/API/GridNav.WorldToGridPosY | WorldToGridPosY]]
| <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 2 Workshop Tools/Scripting/API/ProjectileManager.ChangeTrackingProjectileSpeed | ChangeTrackingProjectileSpeed]]
| <code>void ChangeTrackingProjectileSpeed(handle handle_1, int int_2)</code>
| Update speed
|-
| [[Dota 2 Workshop Tools/Scripting/API/ProjectileManager.CreateLinearProjectile | CreateLinearProjectile]]
| <code>int CreateLinearProjectile(handle handle_1)</code>
| Creates a linear projectile and returns the projectile ID
|-
| [[Dota 2 Workshop Tools/Scripting/API/ProjectileManager.CreateTrackingProjectile | CreateTrackingProjectile]]
| <code>void CreateTrackingProjectile(handle handle_1)</code>
| Creates a tracking projectile
|-
| [[Dota 2 Workshop Tools/Scripting/API/ProjectileManager.DestroyLinearProjectile | DestroyLinearProjectile]]
| <code>void DestroyLinearProjectile(int int_1)</code>
| Destroys the linear projectile matching the argument ID
|-
| [[Dota 2 Workshop Tools/Scripting/API/ProjectileManager.GetLinearProjectileLocation | GetLinearProjectileLocation]]
| <code>Vector GetLinearProjectileLocation(int int_1)</code>
| Returns current location of projectile
|-
| [[Dota 2 Workshop Tools/Scripting/API/ProjectileManager.GetLinearProjectileRadius | GetLinearProjectileRadius]]
| <code>float GetLinearProjectileRadius(int int_1)</code>
| Returns current radius of projectile
|-
| [[Dota 2 Workshop Tools/Scripting/API/ProjectileManager.GetLinearProjectileVelocity | GetLinearProjectileVelocity]]
| <code>Vector GetLinearProjectileVelocity(int int_1)</code>
| Returns a vector representing the current velocity of the projectile.
|-
| [[Dota 2 Workshop Tools/Scripting/API/ProjectileManager.ProjectileDodge | ProjectileDodge]]
| <code>void ProjectileDodge(handle handle_1)</code>
| Makes the specified unit dodge projectiles
|-
| [[Dota 2 Workshop Tools/Scripting/API/ProjectileManager.UpdateLinearProjectileDirection | UpdateLinearProjectileDirection]]
| <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 2 Workshop Tools/Scripting/API/SteamInfo.IsPublicUniverse | IsPublicUniverse]]
| <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
|
|-
| 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 ====
{| class="standard-table" style="width: 50%;"
! 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 ====
{| class="standard-table" style="width: 50%;"
! 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 ====
{| class="standard-table" style="width: 50%;"
! 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 ====
{| class="standard-table" style="width: 50%;"
{| class="standard-table" style="width: 50%;"
! Name
! Name
Line 7,057: Line 7,815:
! Description
! Description
|-
|-
| DOTA_ATTRIBUTE_INVALID
| DOTA_ABILITY_SPEAK_START_ACTION_PHASE
| -1
| 0
|  
|  
|-
|-
| DOTA_ATTRIBUTE_STRENGTH
| DOTA_ABILITY_SPEAK_CAST
| 0
| Strength attribute.
|-
| DOTA_ATTRIBUTE_AGILITY
| 1
| 1
| Agility attribute.
|-
| DOTA_ATTRIBUTE_INTELLECT
| 2
| Intelligence attribute.
|-
| DOTA_ATTRIBUTE_MAX
| 3
|  
|  
|}
|}


==== DAMAGE_TYPES ====
==== DOTADamageFlag_t ====
{| class="standard-table" style="width: 50%;"
{| class="standard-table" style="width: 50%;"
! Name
! Name
Line 7,084: Line 7,830:
! Description
! Description
|-
|-
| DAMAGE_TYPE_NONE
| DOTA_DAMAGE_FLAG_NONE
| 0
| 0
|  
|  
|-
|-
| DAMAGE_TYPE_PHYSICAL
| DOTA_DAMAGE_FLAG_IGNORES_MAGIC_ARMOR
| 1
| 1
| Physical, reduced by armor.
|  
|-
|-
| DAMAGE_TYPE_MAGICAL
| DOTA_DAMAGE_FLAG_IGNORES_PHYSICAL_ARMOR
| 2
| 2
| Magical, reduced by magic resistance.
|  
|-
|-
| DAMAGE_TYPE_PURE
| DOTA_DAMAGE_FLAG_BYPASSES_INVULNERABILITY
| 4
| 4
| Pure, not reduced by anything.
|  
|-
| DAMAGE_TYPE_ALL
| 7
|
|-
| DAMAGE_TYPE_HP_REMOVAL
| 8
| Deprecated.
|}
 
==== DOTAAbilitySpeakTrigger_t ====
{| class="standard-table" style="width: 50%;"
! Name
! Value
! Description
|-
| DOTA_ABILITY_SPEAK_START_ACTION_PHASE
| 0
|
|-
| DOTA_ABILITY_SPEAK_CAST
| 1
|
|}
 
==== DOTADamageFlag_t ====
{| class="standard-table" style="width: 50%;"
! 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
| DOTA_DAMAGE_FLAG_BYPASSES_BLOCK
Line 9,079: Line 9,779:
| 5
| 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
| DOTA_STASH_SLOT_1
| 6
| 9
|  
|  
|-
|-
| DOTA_STASH_SLOT_2
| DOTA_STASH_SLOT_2
| 7
| 10
|  
|  
|-
|-
| DOTA_STASH_SLOT_3
| DOTA_STASH_SLOT_3
| 8
| 11
|  
|  
|-
|-
| DOTA_STASH_SLOT_4
| DOTA_STASH_SLOT_4
| 9
| 12
|  
|  
|-
|-
| DOTA_STASH_SLOT_5
| DOTA_STASH_SLOT_5
| 10
| 13
|  
|  
|-
|-
| DOTA_STASH_SLOT_6
| DOTA_STASH_SLOT_6
| 11
| 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
|  
|  
|}
|}
Line 10,031: Line 10,763:


==== modifierfunction ====
==== modifierfunction ====
{| class="standard-table" style="width: 85%;"
{| class="standard-table" style="width: 100%;"
! Name
! Name
! Value
! Value
Line 10,299: Line 11,031:
| MODIFIER_PROPERTY_BASE_MANA_REGEN
| MODIFIER_PROPERTY_BASE_MANA_REGEN
| 52
| 52
| GetModifierBaseRegen
| GetModifierBaseManaRegen
| Increases the base mana regeneration of the parent by a constant returned to it. Can return negative values.
| Set the base mana regeneration of the parent by a constant returned to it. Can return negative values.
|-
|-
| MODIFIER_PROPERTY_MANA_REGEN_CONSTANT
| MODIFIER_PROPERTY_MANA_REGEN_CONSTANT
Line 10,440: Line 11,172:
| 80
| 80
| GetModifierPercentageCasttime
| GetModifierPercentageCasttime
| Increases the cast time of the parent's abilities by a percentage returned to it. Can return negative values.
| Decreases the cast time of the parent's abilities by a percentage returned to it. Can return negative values.
|-
|-
| MODIFIER_PROPERTY_MANACOST_PERCENTAGE
| MODIFIER_PROPERTY_MANACOST_PERCENTAGE
Line 10,959: Line 11,691:


{{shortpagetitle}}
{{shortpagetitle}}
[[Category: Dota 2 Workshop Tools]]
[[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