Skip to content

Lua API — Interfaces & Classes

Global Singletons

Name Type Description
CustomGameEventManager CCustomGameEventManager
CustomNetTables CCustomNetTableManager
debugoverlay CDebugOverlayScriptHelper
CustomUI CustomUIManager
PlayerResource PlayerResourceType
DOTAGameManager GameManager
GameRules GameRulesType
Tutorial TutorialType
VoteSystem VoteSystemType
Entities CEntities
NativeFunctions CEntityScriptFramework
Convars ConvarsType
HeroList CScriptHeroList
ParticleManager CScriptParticleManager
GlobalSys GlobalSysType
GridNav GridNavType
ProjectileManager ProjectileManagerType
SteamInfo SteamInfoType

CBaseAnimatingActivity

Extends: CBaseModelEntity

Properties

Property Type Native Name Description
cycle var Float GetCycle / SetCycle Get the cycle of the animation.
sequence var String GetSequence / SetSequence Returns the name of the active sequence.
isSequenceFinished val Boolean IsSequenceFinished Ask whether the main sequence is done playing.

Methods

Method Return Type Native Name Description
activeSequenceDuration() Float ActiveSequenceDuration Returns the duration in seconds of the active sequence.
resetSequence(sequenceName: String) Unit ResetSequence Sets the active sequence by name, resetting the current cycle.
sequenceDuration(sequenceName: String) Float SequenceDuration Returns the duration in seconds of the given sequence name.
setPoseParameter(name: String, value: Float,) Float SetPoseParameter Set the specified pose parameter to the specified value.
stopAnimation() Unit StopAnimation Stop the current animation by setting playback rate to 0.0.

CBaseAnimatingOverlay

Extends: CBaseAnimatingActivity


CBaseAnimGraph

Extends: CBaseModelEntity


CBaseCombatCharacter

Extends: CBaseAnimatingOverlay


CBaseEntity

Extends: CEntityInstance

Properties

Property Type Native Name Description
absOrigin var Vector GetAbsOrigin / SetAbsOrigin
absScale var Float GetAbsScale / SetAbsScale
angles val QAngle GetAngles
anglesAsVector val Vector GetAnglesAsVector Get entity pitch, yaw, roll as a vector.
angularVelocity val Vector GetAngularVelocity Get the local angular velocity - returns a vector of pitch,yaw,roll.
baseVelocity val Vector GetBaseVelocity Get Base? velocity.
boundingMaxs val Vector GetBoundingMaxs Get a vector containing max bounds, centered on object.
boundingMins val Vector GetBoundingMins Get a vector containing min bounds, centered on object.
bounds val EntityBounds GetBounds Get a table containing the 'Mins' & 'Maxs' vector bounds, centered on object.
center val Vector GetCenter Get vector to center of object - absolute coords.
children val Array<CBaseEntity> GetChildren Get the entities parented to this entity.
forwardVector var Vector GetForwardVector / SetForwardVector Get the forward vector of the entity.
health var Int GetHealth / SetHealth Get the health of this entity.
leftVector val Vector GetLeftVector Get the left vector of the entity.
localAngles val QAngle GetLocalAngles Get entity local pitch, yaw, roll as a QAngle.
localAngularVelocity val QAngle GetLocalAngularVelocity Maybe local angvel.
localOrigin var Vector GetLocalOrigin / SetLocalOrigin Get entity local origin as a Vector.
localScale var Float GetLocalScale / SetLocalScale
localVelocity val Vector GetLocalVelocity Get Entity relative velocity.
mass var Float GetMass / SetMass Get the mass of an entity. (returns 0 if it doesn't have a physics object).
maxHealth var Int GetMaxHealth / SetMaxHealth Get the maximum health of this entity.
modelName val String GetModelName Returns the name of the model.
moveParent val CBaseEntity GetMoveParent If in hierarchy, retrieves the entity's parent.
origin var Vector GetOrigin / SetOrigin Set the unit's origin.
owner var CBaseEntity GetOwner / SetOwner Gets this entity's owner.
ownerEntity val CBaseEntity GetOwnerEntity Get the owner entity, if there is one.
rightVector val Vector GetRightVector Get the right vector of the entity. WARNING: This produces a left-handed coordinate system. Use GetLeftVector instead (which is aligned with the y axis of the entity).
rootMoveParent val CBaseEntity GetRootMoveParent If in hierarchy, walks up the hierarchy to find the root parent.
spawnGroupHandle val SpawnGroupHandle GetSpawnGroupHandle Returns the spawn group handle of this entity.
team var DOTATeam GetTeam / SetTeam Get the team number of this entity.
teamNumber val DOTATeam GetTeamNumber Get the team number of this entity.
upVector val Vector GetUpVector Get the up vector of the entity.
velocity var Vector GetVelocity / SetVelocity
isAlive val Boolean IsAlive Is this entity alive?
isBaseNPC val Boolean IsBaseNPC Is this entity an CDOTA_BaseNPC?
isDOTANPC val Boolean IsDOTANPC Is this entity a Dota NPC?
isNPC val Boolean IsNPC Is this entity an CAI_BaseNPC?
isPlayer val Boolean IsPlayer Back compat: Is this entity a player pawn or controller?
isPlayerController val Boolean IsPlayerController Is this entity a player controller?
isPlayerPawn val Boolean IsPlayerPawn Is this entity a player pawn?

Methods

Method Return Type Native Name Description
addEffects(flags: EntityEffects) Unit AddEffects Adds the render effect flag.
applyAbsVelocityImpulse(vecImpulse: Vector) Unit ApplyAbsVelocityImpulse Apply a Velocity Impulse.
applyLocalAngularVelocityImpulse(angImpulse: Vector) Unit ApplyLocalAngularVelocityImpulse Apply an Ang Velocity Impulse.
attributeGetFloatValue(name: String, default: Float,) Float Attribute_GetFloatValue Get float value for an entity attribute.
attributeGetIntValue(name: String, default: Int,) Int Attribute_GetIntValue Get int value for an entity attribute.
attributeSetFloatValue(name: String, value: Float,) Unit Attribute_SetFloatValue Set float value for an entity attribute.
attributeSetIntValue(name: String, value: Int,) Unit Attribute_SetIntValue Set int value for an entity attribute.
deleteAttribute(name: String) Unit DeleteAttribute Delete an entity attribute.
emitSound(soundname: String) Unit EmitSound Plays a sound from this entity.
emitSoundParams(soundName: String, pitch: Int, volume: Float, delay: Float,) Unit EmitSoundParams 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() CBaseEntity FirstMoveChild
followEntity(entity: CBaseEntity, boneMerge: Boolean,) Unit FollowEntity
followEntityMerge(ent: Any, boneOrAttachName: String,) Unit FollowEntityMerge HEntity to follow, string BoneOrAttachName.
gatherCriteria(result: Any) Unit GatherCriteria 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.
getContext(name: String) String? GetContext Looks up a context and returns it if available. May return string, float, or null (if the context isn't found).
getSoundDuration(soundname: String, actormodel: String,) Float GetSoundDuration Returns float duration of the sound. Takes soundname and optional actormodelname.
hasAttribute(name: String) Boolean HasAttribute See if an entity has a particular attribute.
isInstance(classOrClassName: String) Boolean IsInstance
kill() Unit Kill Kills this NPC, with the params Ability and Attacker.
nextMovePeer() CBaseEntity NextMovePeer
precacheScriptSound(soundname: String) Unit PrecacheScriptSound Precache a sound for later playing.
removeEffects(flags: EntityEffects) Unit RemoveEffects Removes the render effect flag.
setAbsAngles(pitch: Float, yaw: Float, roll: Float,) Unit SetAbsAngles Set entity pitch, yaw, roll by component.
setAngles(pitch: Float, yaw: Float, roll: Float,) Unit SetAngles Set entity pitch, yaw, roll by component.
setAngularVelocity(pitchVel: Float, yawVel: Float, rollVel: Float,) Unit SetAngularVelocity Set the local angular velocity.
setConstraint(pos: Vector) Unit SetConstraint Set the position of the constraint.
setContext(name: String, value: String, duration: Float,) Unit SetContext 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(name: String, value: Float, duration: Float,) Unit SetContextNum 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').
setEntityName(name: String) Unit SetEntityName Set the name of an entity.
setFriction(friction: Float) Unit SetFriction Set PLAYER friction, ignored for objects.
setGravity(gravity: Float) Unit SetGravity Set PLAYER gravity, ignored for objects.
setLocalAngles(pitch: Float, yaw: Float, roll: Float,) Unit SetLocalAngles Set entity local pitch, yaw, roll by component.
setParent(parent: CBaseEntity, attachmentname: String,) Unit SetParent Set the parent for this entity.
stopSound(soundname: String) Unit StopSound Stops a named sound playing from this entity.
stopThink(contextName: String) Unit StopThink Stops thinker created with CBaseEntity.SetThink. Alias for CBaseEntity:SetContextThink(contextName, nil, 0).
takeDamage(damageInfo: CTakeDamageInfo) Int TakeDamage Apply damage to this entity. Use CreateDamageInfo() to create a damageinfo object.
transformPointEntityToWorld(point: Vector) Vector TransformPointEntityToWorld Returns the input Vector transformed from entity to world space.
transformPointWorldToEntity(point: Vector) Vector TransformPointWorldToEntity Returns the input Vector transformed from world to entity space.
trigger() Unit Trigger Fires off this entity's OnTrigger responses.
validatePrivateScriptScope() Unit ValidatePrivateScriptScope Validates the private script scope and creates it if one doesn't exist.

CBaseModelEntity

Extends: CBaseEntity

Properties

Property Type Native Name Description
materialGroupHash var UInt GetMaterialGroupHash / SetMaterialGroupHash Get the material group hash of this entity.
materialGroupMask var Uint64 GetMaterialGroupMask / SetMaterialGroupMask Get the mesh group mask of this entity.
modelScale var Float GetModelScale / SetModelScale Get scale of entity's model.
renderAlpha var Int GetRenderAlpha / SetRenderAlpha Get the alpha modulation of this entity.
renderColor val Vector GetRenderColor Get the render color of the entity.

Methods

Method Return Type Native Name Description
getAttachmentAngles(attachment: Int) Vector GetAttachmentAngles Get the attachment id's angles as a p,y,r vector.
getAttachmentForward(attachment: Int) Vector GetAttachmentForward Get the attachment id's forward vector.
getAttachmentOrigin(attachment: Int) Vector GetAttachmentOrigin Get the attachment id's origin vector.
scriptLookupAttachment(attachmentName: String) Int ScriptLookupAttachment Get the named attachment id.
setBodygroup(bodyGroup: Int, choice: Int,) Unit SetBodygroup Sets a bodygroup.
setBodygroupByName(name: String, value: Int,) Unit SetBodygroupByName Sets a bodygroup by name.
setMaterialGroup(materialGroup: String) Unit SetMaterialGroup Set the material group of this entity.
setModel(modelName: String) Unit SetModel
setRenderColor(r: Int, g: Int, b: Int,) Unit SetRenderColor Sets the render color of the entity.
setRenderMode(mode: Int) Unit SetRenderMode Sets the render mode of the entity.
setSingleMeshGroup(meshGroupName: String) Unit SetSingleMeshGroup Set a single mesh group for this entity.
setSize(mins: Vector, maxs: Vector,) Unit SetSize
setSkin(skin: Int) Unit SetSkin

CBasePlayerController

Extends: CBaseEntity

Properties

Property Type Native Name Description
pawn val Any GetPawn Returns the pawn for this controller.

CBasePlayerPawn

Extends: CBaseCombatCharacter

Properties

Property Type Native Name Description
controller val Any GetController Returns the controller for this pawn.
equippedWeapons val Any GetEquippedWeapons Returns an array of all the equipped weapons.
weaponCount val Int GetWeaponCount Gets the number of weapons currently equipped.
isNoclipping val Boolean IsNoclipping Returns true if the player is in noclip mode.

CBaseTrigger

Extends: CBaseEntity

Methods

Method Return Type Native Name Description
disable() Unit Disable Disable's the trigger.
enable() Unit Enable Enable the trigger.
isTouching(ent: CBaseEntity) Boolean IsTouching Checks whether the passed entity is touching the trigger.

CBodyComponent

Properties

Property Type Native Name Description
isAttachedToParent val Boolean IsAttachedToParent Is attached to parent.

Methods

Method Return Type Native Name Description
addImpulseAtPosition(arg1: Vector, arg2: Vector,) Unit AddImpulseAtPosition Apply an impulse at a worldspace position to the physics.
addVelocity(arg1: Vector, arg2: Vector,) Unit AddVelocity Add linear and angular velocity to the physics object.
detachFromParent() Unit DetachFromParent Detach from its parent.
setAngularVelocity(arg1: Vector) Unit SetAngularVelocity
setMaterialGroup(arg1: String) Unit SetMaterialGroup
setVelocity(arg1: Vector) Unit SetVelocity

CCustomGameEventManager

Methods

Method Return Type Native Name Description
sendServerToAllClients(eventName: String, eventData: Any,) Unit Send_ServerToAllClients
sendServerToPlayer(player: PlayerController, eventName: String, eventData: Any,) Unit Send_ServerToPlayer
sendServerToTeam(team: DOTATeam, eventName: String, eventData: Any,) Unit Send_ServerToTeam
unregisterListener(listenerId: CustomGameEventListenerID) Unit UnregisterListener Unregister a specific listener.

CCustomNetTableManager

Methods

Method Return Type Native Name Description
getTableValue(tableName: String, keyName: String,) Any GetTableValue
setTableValue(tableName: String, keyName: String, value: Any,) Boolean SetTableValue

CDebugOverlayScriptHelper

Methods

Method Return Type Native Name Description
axis(arg1: Vector, arg2: Vector, arg3: Float, arg4: Boolean, arg5: Float,) Unit Axis Draws an axis. Specify origin + orientation in world space.
box(arg1: Vector, arg2: Vector, arg3: Int, arg4: Int, arg5: Int, arg6: Int, arg7: Boolean, arg8: Float,) Unit Box Draws a world-space axis-aligned box. Specify bounds in world space.
boxAngles(arg1: Vector, arg2: Vector, arg3: Vector, arg4: Vector, arg5: Int, arg6: Int, arg7: Int, arg8: Int, arg9: Boolean, arg10: Float,) Unit BoxAngles Draws an oriented box at the origin. Specify bounds in local space.
capsule(arg1: Vector, arg2: Vector, arg3: Float, arg4: Float, arg5: Int, arg6: Int, arg7: Int, arg8: Int, arg9: Boolean, arg10: Float,) Unit Capsule Draws a capsule. Specify base in world space.
circle(arg1: Vector, arg2: Vector, arg3: Float, arg4: Int, arg5: Int, arg6: Int, arg7: Int, arg8: Boolean, arg9: Float,) Unit Circle Draws a circle. Specify center in world space.
circleScreenOriented(arg1: Vector, arg2: Float, arg3: Int, arg4: Int, arg5: Int, arg6: Int, arg7: Boolean, arg8: Float,) Unit CircleScreenOriented Draws a circle oriented to the screen. Specify center in world space.
cone(arg1: Vector, arg2: Vector, arg3: Float, arg4: Float, arg5: Int, arg6: Int, arg7: Int, arg8: Int, arg9: Boolean, arg10: Float,) Unit Cone Draws a wireframe cone. Specify endpoint and direction in world space.
cross(arg1: Vector, arg2: Float, arg3: Int, arg4: Int, arg5: Int, arg6: Int, arg7: Boolean, arg8: Float,) Unit Cross Draws a screen-aligned cross. Specify origin in world space.
cross3D(arg1: Vector, arg2: Float, arg3: Int, arg4: Int, arg5: Int, arg6: Int, arg7: Boolean, arg8: Float,) Unit Cross3D Draws a world-aligned cross. Specify origin in world space.
cross3DOriented(arg1: Vector, arg2: Vector, arg3: Float, arg4: Int, arg5: Int, arg6: Int, arg7: Int, arg8: Boolean, arg9: Float,) Unit Cross3DOriented Draws an oriented cross. Specify origin in world space.
drawTickMarkedLine(arg1: Vector, arg2: Vector, arg3: Float, arg4: Int, arg5: Int, arg6: Int, arg7: Int, arg8: Int, arg9: Boolean, arg10: Float,) Unit DrawTickMarkedLine Draws a dashed line. Specify endpoints in world space.
entityAttachments(arg1: Any, arg2: Float, arg3: Float,) Unit EntityAttachments Draws the attachments of the entity.
entityAxis(arg1: Any, arg2: Float, arg3: Boolean, arg4: Float,) Unit EntityAxis Draws the axis of the entity origin.
entityBounds(arg1: Any, arg2: Int, arg3: Int, arg4: Int, arg5: Int, arg6: Boolean, arg7: Float,) Unit EntityBounds Draws bounds of an entity.
entitySkeleton(arg1: Any, arg2: Float,) Unit EntitySkeleton Draws the skeleton of the entity.
entityText(arg1: Any, arg2: Int, arg3: String, arg4: Int, arg5: Int, arg6: Int, arg7: Int, arg8: Float,) Unit EntityText Draws text on an entity.
filledRect2D(arg1: Vector2D, arg2: Vector2D, arg3: Int, arg4: Int, arg5: Int, arg6: Int, arg7: Float,) Unit FilledRect2D Draws a screen-space filled 2D rectangle. Coordinates are in pixels.
horzArrow(arg1: Vector, arg2: Vector, arg3: Float, arg4: Int, arg5: Int, arg6: Int, arg7: Int, arg8: Boolean, arg9: Float,) Unit HorzArrow Draws a horizontal arrow. Specify endpoints in world space.
line(arg1: Vector, arg2: Vector, arg3: Int, arg4: Int, arg5: Int, arg6: Int, arg7: Boolean, arg8: Float,) Unit Line Draws a line between two points.
line2D(arg1: Vector2D, arg2: Vector2D, arg3: Int, arg4: Int, arg5: Int, arg6: Int, arg7: Float,) Unit Line2D Draws a line between two points in screenspace.
popDebugOverlayScope() Unit PopDebugOverlayScope Pops the identifier used to group overlays. Overlays marked with this identifier can be deleted in a big batch.
pushAndClearDebugOverlayScope(arg1: String) Unit PushAndClearDebugOverlayScope Pushes an identifier used to group overlays. Deletes all existing overlays using this overlay id.
pushDebugOverlayScope(arg1: String) Unit PushDebugOverlayScope Pushes an identifier used to group overlays. Overlays marked with this identifier can be deleted in a big batch.
removeAllInScope(arg1: String) Unit RemoveAllInScope Removes all overlays marked with a specific identifier, regardless of their lifetime.
solidCone(arg1: Vector, arg2: Vector, arg3: Float, arg4: Float, arg5: Int, arg6: Int, arg7: Int, arg8: Int, arg9: Boolean, arg10: Float,) Unit SolidCone Draws a solid cone. Specify endpoint and direction in world space.
sphere(arg1: Vector, arg2: Float, arg3: Int, arg4: Int, arg5: Int, arg6: Int, arg7: Boolean, arg8: Float,) Unit Sphere Draws a wireframe sphere. Specify center in world space.
sweptBox(arg1: Vector, arg2: Vector, arg3: Vector, arg4: Vector, arg5: Vector, arg6: Int, arg7: Int, arg8: Int, arg9: Int, arg10: Float,) Unit SweptBox Draws a swept box. Specify endpoints in world space and the bounds in local space.
text(arg1: Vector, arg2: Int, arg3: String, arg4: Float, arg5: Int, arg6: Int, arg7: Int, arg8: Int, arg9: Float,) Unit Text Draws 2D text. Specify origin in world space.
texture(arg1: String, arg2: Vector2D, arg3: Vector2D, arg4: Int, arg5: Int, arg6: Int, arg7: Int, arg8: Vector2D, arg9: Vector2D, arg10: Float,) Unit Texture Draws a screen-space texture. Coordinates are in pixels.
triangle(arg1: Vector, arg2: Vector, arg3: Vector, arg4: Int, arg5: Int, arg6: Int, arg7: Int, arg8: Boolean, arg9: Float,) Unit Triangle Draws a filled triangle. Specify vertices in world space.
vectorText3D(arg1: Vector, arg2: Vector, arg3: String, arg4: Int, arg5: Int, arg6: Int, arg7: Int, arg8: Boolean, arg9: Float,) Unit VectorText3D Draws 3D text. Specify origin + orientation in world space.
vertArrow(arg1: Vector, arg2: Vector, arg3: Float, arg4: Int, arg5: Int, arg6: Int, arg7: Int, arg8: Boolean, arg9: Float,) Unit VertArrow Draws a vertical arrow. Specify endpoints in world space.
yawArrow(arg1: Vector, arg2: Float, arg3: Float, arg4: Float, arg5: Int, arg6: Int, arg7: Int, arg8: Int, arg9: Boolean, arg10: Float,) Unit YawArrow Draws a arrow associated with a specific yaw. Specify endpoints in world space.

AbilityAghanimSpear

Native name: CDOTA_Ability_Aghanim_Spear

Extends: BaseAbility

Methods

Method Return Type Native Name Description
launchSpear(target: Vector, start: Vector,) Unit LaunchSpear Launch Spear to a target position from a source position.

AbilityAnimationAttack

Native name: CDOTA_Ability_Animation_Attack

Extends: BaseAbility

Methods

Method Return Type Native Name Description
setPlaybackRate(rate: Float) Unit SetPlaybackRate Override playbackrate.

AbilityAnimationTailSpin

Native name: CDOTA_Ability_Animation_TailSpin

Extends: BaseAbility

Methods

Method Return Type Native Name Description
setPlaybackRate(rate: Float) Unit SetPlaybackRate Override playbackrate.

AbilityDataDriven

Native name: CDOTA_Ability_DataDriven

Extends: BaseAbility

Methods

Method Return Type Native Name Description
applyDataDrivenModifier(caster: BaseNPC, target: BaseNPC, modifierName: String, modifierTable: Any?,) Buff ApplyDataDrivenModifier Applies a data driven modifier to the target.
applyDataDrivenThinker(caster: BaseNPC, location: Vector, modifierName: String, modifierTable: Any?,) Buff ApplyDataDrivenThinker Applies a data driven thinker at the location.

AbilityLua

Native name: CDOTA_Ability_Lua

Extends: BaseAbility

Properties

Property Type Native Name Description
abilityTextureName val String GetAbilityTextureName Allows code overriding of the ability texture shown in the HUD.
castAnimation val GameActivity GetCastAnimation Return casting animation of this ability.
channelAnimation val GameActivity GetChannelAnimation Return channel animation of this ability.
customCastError val String GetCustomCastError Return the error string of a failed command with no target.
isHiddenAbilityCastable val Boolean IsHiddenAbilityCastable Returns true if this ability can be used when not on the action panel.

Methods

Method Return Type Native Name Description
castFilterResult() UnitFilterResult CastFilterResult Determine whether an issued command with no target is valid.
castFilterResultLocation(location: Vector) UnitFilterResult CastFilterResultLocation Determine whether an issued command on a location is valid.
castFilterResultTarget(target: BaseNPC) UnitFilterResult CastFilterResultTarget Determine whether an issued command on a target is valid.
getCastRangeBonus(target: Any, pseudoCastRange: Int,) Int GetCastRangeBonus
getCustomCastErrorLocation(location: Vector) String GetCustomCastErrorLocation Return the error string of a failed command on a location.
getCustomCastErrorTarget(target: BaseNPC) String GetCustomCastErrorTarget Return the error string of a failed command on a target.
getCustomHudErrorMessage(reason: Int) String GetCustomHudErrorMessage (DOTA_INVALID_ORDERS nReason) Return the error string of a failed order.
isCosmetic(entity: Any) Boolean IsCosmetic Is this a cosmetic only ability?
onAbilityUpgrade(upgradeAbility: Any) Unit OnAbilityUpgrade
onHeroDiedNearby(unit: BaseNPC, attacker: BaseNPC, event: GameEvent,) Unit OnHeroDiedNearby A hero has died in the vicinity (ie Urn), takes table of params.
onInventoryContentsChanged() Unit OnInventoryContentsChanged Caster inventory changed.
onItemEquipped(item: Item) Unit OnItemEquipped Caster equipped item.
onProjectileHit(target: BaseNPC?, location: Vector,) Boolean? OnProjectileHit Projectile has collided with a given target or reached its destination. If 'true` is returned, projectile would be destroyed.
onProjectileHitExtraData(target: BaseNPC?, location: Vector, extraData: Any,) Boolean? OnProjectileHit_ExtraData Projectile has collided with a given target or reached its destination. If 'true` is returned, projectile would be destroyed.
onProjectileHitHandle(target: BaseNPC?, location: Vector, projectileHandle: ProjectileID,) Boolean? OnProjectileHitHandle Projectile has collided with a given target or reached its destination. If 'true` is returned, projectile would be destroyed.
onProjectileThink(location: Vector) Unit OnProjectileThink Projectile is actively moving.
onProjectileThinkExtraData(location: Vector, extraData: Any,) Unit OnProjectileThink_ExtraData Projectile is actively moving.
onProjectileThinkHandle(projectileHandle: ProjectileID) Unit OnProjectileThinkHandle Projectile is actively moving.
onStolen(sourceAbility: BaseAbility) Unit OnStolen Special behavior when stolen by Spell Steal.
onUnStolen() Unit OnUnStolen Special behavior when lost by Spell Steal.
otherAbilitiesAlwaysInterruptChanneling() Boolean OtherAbilitiesAlwaysInterruptChanneling
init() Unit Init Called first when ability entity is created.
precache(context: CScriptPrecacheContext) Unit Precache
spawn() Unit Spawn Called when ability entity is created, after Init.

AbilityNianDive

Native name: CDOTA_Ability_Nian_Dive

Extends: BaseAbility

Methods

Method Return Type Native Name Description
setPlaybackRate(rate: Float) Unit SetPlaybackRate Override playbackrate.

AbilityNianLeap

Native name: CDOTA_Ability_Nian_Leap

Extends: BaseAbility

Methods

Method Return Type Native Name Description
setPlaybackRate(rate: Float) Unit SetPlaybackRate Override playbackrate.

AbilityNianRoar

Native name: CDOTA_Ability_Nian_Roar

Extends: BaseAbility

Properties

Property Type Native Name Description
castCount val Int GetCastCount Number of times Nian has used the roar.

BaseNPC

Native name: CDOTA_BaseNPC

Extends: CBaseAnimatingOverlay

Properties

Property Type Native Name Description
canBeSeenByAnyOpposingTeam val Boolean CanBeSeenByAnyOpposingTeam
canSellItems var Boolean CanSellItems / SetCanSellItems Query if this unit can sell items.
abilityCount val Int GetAbilityCount
acquisitionRange var Float GetAcquisitionRange / SetAcquisitionRange Gets the range at which this unit will auto-acquire.
additionalBattleMusicWeight var Float GetAdditionalBattleMusicWeight / SetAdditionalBattleMusicWeight Combat involving this creature will have this weight added to the music calcuations.
aggroTarget var BaseNPC? GetAggroTarget / SetAggroTarget Returns this unit's aggro target.
attackAnimationPoint val Float GetAttackAnimationPoint
attackCapability var DOTAUnitAttackCapability GetAttackCapability / SetAttackCapability
attackDamage val Int GetAttackDamage Returns a random integer between the minimum and maximum base damage of the unit.
attackRangeBuffer val Float GetAttackRangeBuffer Gets the attack range buffer.
attackTarget val BaseNPC? GetAttackTarget
baseAttackRange val Int GetBaseAttackRange
baseAttackTime var Float GetBaseAttackTime / SetBaseAttackTime
baseDamageMax var Int GetBaseDamageMax / SetBaseDamageMax Get the maximum attack damage of this unit.
baseDamageMin var Int GetBaseDamageMin / SetBaseDamageMin Get the minimum attack damage of this unit.
baseDayTimeVisionRange val Int GetBaseDayTimeVisionRange Returns the vision range before modifiers.
baseHealthBarOffset val Int GetBaseHealthBarOffset
baseHealthRegen var Float GetBaseHealthRegen / SetBaseHealthRegen
baseMagicalResistanceValue var Float GetBaseMagicalResistanceValue / SetBaseMagicalResistanceValue Returns base magical armor value.
baseMaxHealth var Float GetBaseMaxHealth / SetBaseMaxHealth Gets the base max health value.
baseMoveSpeed var Float GetBaseMoveSpeed / SetBaseMoveSpeed
baseNightTimeVisionRange val Int GetBaseNightTimeVisionRange Returns the vision range after modifiers.
bonusManaRegen val Float GetBonusManaRegen This Mana regen is derived from constant bonuses like Basilius.
castRangeBonus val Float GetCastRangeBonus
cloneSource val BaseNPC? GetCloneSource Get clone source (Meepo Prime, if this is a Meepo).
collisionPadding val Float GetCollisionPadding Returns the size of the collision padding around the hull.
cooldownReduction val Float GetCooldownReduction
creationTime val Float GetCreationTime
currentActiveAbility val BaseAbility? GetCurrentActiveAbility Get the ability this unit is currently casting.
currentVisionRange val Int GetCurrentVisionRange Gets the current vision range.
cursorCastTarget var BaseNPC? GetCursorCastTarget / SetCursorCastTarget
cursorPosition var Vector GetCursorPosition / SetCursorPosition
cursorTargetingNothing var Boolean GetCursorTargetingNothing / SetCursorTargetingNothing
damageMax val Int GetDamageMax Get the maximum attack damage of this unit.
damageMin val Int GetDamageMin Get the minimum attack damage of this unit.
dayTimeVisionRange var Int GetDayTimeVisionRange / SetDayTimeVisionRange Returns the vision range after modifiers.
deathXP var Int GetDeathXP / SetDeathXP Get the XP bounty on this unit.
displayAttackSpeed val Float GetDisplayAttackSpeed Attack speed expressed as constant value.
evasion val Float GetEvasion
forceAttackTarget var BaseNPC? GetForceAttackTarget / SetForceAttackTarget
goldBounty val Int GetGoldBounty Get the gold bounty on this unit.
hasteFactor val Float GetHasteFactor
healthDeficit val Int GetHealthDeficit Returns integer amount of health missing from max.
healthPercent val Int GetHealthPercent Get the current health percent of the unit.
healthRegen val Float GetHealthRegen
hullRadius var Float GetHullRadius / SetHullRadius Get the collision hull radius of this NPC.
idealSpeed val Float GetIdealSpeed Returns speed after all modifiers.
idealSpeedNoSlows val Float GetIdealSpeedNoSlows Returns speed after all modifiers, but excluding those that reduce speed.
initialGoalEntity var CBaseEntity? GetInitialGoalEntity / SetInitialGoalEntity Returns the initial waypoint goal for this NPC.
initialGoalPosition var Vector GetInitialGoalPosition / SetInitialGoalPosition Get waypoint position for this NPC.
lastAttackTime val Float GetLastAttackTime
lastDamageTime val Float GetLastDamageTime Get the last time this NPC took damage.
lastIdleChangeTime val Float GetLastIdleChangeTime Get the last game time that this unit switched to/from idle state.
level val Int GetLevel Returns the level of this unit.
mainControllingPlayer val Int GetMainControllingPlayer Returns the player ID of the controlling player.
mana var Float GetMana / SetMana Get the mana on this unit.
manaPercent val Int GetManaPercent Get the percent of mana remaining.
manaRegen val Float GetManaRegen
maximumGoldBounty var Int GetMaximumGoldBounty / SetMaximumGoldBounty Get the maximum gold bounty for this unit.
maxMana var Float GetMaxMana / SetMaxMana Get the maximum mana of this unit.
minimumGoldBounty var Int GetMinimumGoldBounty / SetMinimumGoldBounty Get the minimum gold bounty for this unit.
modelRadius val Float GetModelRadius
modifierCount val Int GetModifierCount How many modifiers does this unit have?
mustReachEachGoalEntity var Boolean GetMustReachEachGoalEntity / SetMustReachEachGoalEntity Set whether this NPC is required to reach each goal entity, rather than being allowed to unkink their path.
neutralSpawnerName val String GetNeutralSpawnerName Get the name of this camp's neutral spawner.
neverMoveToClearSpace var Boolean GetNeverMoveToClearSpace / SetNeverMoveToClearSpace If set to true, we will never attempt to move this unit to clear space, even when it unphases.
nightTimeVisionRange var Int GetNightTimeVisionRange / SetNightTimeVisionRange Returns the vision range after modifiers.
opposingTeamNumber val DOTATeam GetOpposingTeamNumber
paddedCollisionRadius val Float GetPaddedCollisionRadius Get the collision hull radius (including padding) of this NPC.
physicalArmorBaseValue var Float GetPhysicalArmorBaseValue / SetPhysicalArmorBaseValue Returns base physical armor value.
playerOwner val PlayerController GetPlayerOwner Returns the player that owns this unit.
playerOwnerID val PlayerID GetPlayerOwnerID Get the owner player ID for this unit.
projectileSpeed val Int GetProjectileSpeed
rangedProjectileName var String GetRangedProjectileName / SetRangedProjectileName
remainingPathLength val Float GetRemainingPathLength
statusResistance val Float GetStatusResistance
totalPurchasedUpgradeGoldCost val Int GetTotalPurchasedUpgradeGoldCost Get how much gold has been spent on ability upgrades.
unitLabel val String GetUnitLabel
unitLocToken val String GetUnitLocToken Get the localization token for this unit's name.
unitName var String GetUnitName / SetUnitName Get the name of this unit.
hasAnyActiveAbilities val Boolean HasAnyActiveAbilities
hasAttackCapability val Boolean HasAttackCapability
hasFlyingVision val Boolean HasFlyingVision
hasFlyMovementCapability val Boolean HasFlyMovementCapability
hasGroundMovementCapability val Boolean HasGroundMovementCapability
hasInventory var Boolean HasInventory / SetHasInventory Does this unit have an inventory.
hasMovementCapability val Boolean HasMovementCapability
hasScepter val Boolean HasScepter
isAncient val Boolean IsAncient Is this unit an Ancient?
isAttackImmune val Boolean IsAttackImmune
isAttacking var Boolean IsAttacking / SetAttacking
isBarracks val Boolean IsBarracks Is this unit a Barracks?
isBlind val Boolean IsBlind
isBlockDisabled val Boolean IsBlockDisabled
isBoss val Boolean IsBoss Is this unit a boss?
isBossCreature val Boolean IsBossCreature Is this unit a Boss Creature? (used by custom games).
isBuilding val Boolean IsBuilding Is this unit a building?
isChanneling val Boolean IsChanneling Is this unit currently channeling a spell?
isClone val Boolean IsClone Is this unit a clone? (Meepo).
isCommandRestricted val Boolean IsCommandRestricted
isConsideredHero val Boolean IsConsideredHero Is this unit a considered a hero for targeting purposes?
isControllableByAnyPlayer val Boolean IsControllableByAnyPlayer Is this unit controlled by any non-bot player?
isCourier val Boolean IsCourier Is this unit a courier?
isCreature val Boolean IsCreature Is this a Creature type NPC?
isCreep val Boolean IsCreep Is this unit a creep?
isCreepHero val Boolean IsCreepHero Is this unit a creep hero?
isCurrentlyHorizontalMotionControlled val Boolean IsCurrentlyHorizontalMotionControlled
isCurrentlyVerticalMotionControlled val Boolean IsCurrentlyVerticalMotionControlled
isDebuffImmune val Boolean IsDebuffImmune
isDisarmed val Boolean IsDisarmed
isDominated val Boolean IsDominated
isEvadeDisabled val Boolean IsEvadeDisabled
isFeared val Boolean IsFeared
isFort val Boolean IsFort Is this unit an Ancient?
isFrozen val Boolean IsFrozen
isHero val Boolean IsHero Is this a hero or hero illusion?
isHeroWard val Boolean IsHeroWard Is this a Hero Ward?
isHexed val Boolean IsHexed
isIdle val Boolean IsIdle Is this creature currently idle?
isIllusion val Boolean IsIllusion
isInventoryEnabled val Boolean IsInventoryEnabled Does this unit have an inventory.
isInvisible val Boolean IsInvisible
isInvulnerable val Boolean IsInvulnerable
isLowAttackPriority val Boolean IsLowAttackPriority
isMagicImmune val Boolean IsMagicImmune
isMovementImpaired val Boolean IsMovementImpaired
isMoving val Boolean IsMoving Is this unit moving?
isMuted val Boolean IsMuted
isNeutralUnitType val Boolean IsNeutralUnitType Is this a neutral?
isNightmared val Boolean IsNightmared
isOther val Boolean IsOther Is this unit a ward-type unit?
isOutOfGame val Boolean IsOutOfGame
isOwnedByAnyPlayer val Boolean IsOwnedByAnyPlayer Is this unit owned by any non-bot player?
isPhantom val Boolean IsPhantom Is this a phantom unit?
isPhantomBlocker val Boolean IsPhantomBlocker
isPhased val Boolean IsPhased
isRangedAttacker val Boolean IsRangedAttacker Is this unit a ranged attacker?
isRealHero val Boolean IsRealHero Is this a real hero?
isReincarnating val Boolean IsReincarnating Is this creature respawning?
isRooted val Boolean IsRooted
isShrine val Boolean IsShrine Is this a shrine?
isSilenced val Boolean IsSilenced
isSpeciallyDeniable val Boolean IsSpeciallyDeniable
isSpeciallyUndeniable val Boolean IsSpeciallyUndeniable
isStrongIllusion val Boolean IsStrongIllusion
isStunned val Boolean IsStunned
isSummoned val Boolean IsSummoned Is this unit summoned?
isTaunted val Boolean IsTaunted
isTempestDouble val Boolean IsTempestDouble
isTower val Boolean IsTower Is this a tower?
isUnableToMiss val Boolean IsUnableToMiss
isUnselectable val Boolean IsUnselectable
isUntargetable val Boolean IsUntargetable
isWard val Boolean IsWard Is this a Ward?
isZombie val Boolean IsZombie Is this entity an Undying Zombie?
noHealthBar val Boolean NoHealthBar
noTeamMoveTo val Boolean NoTeamMoveTo
noTeamSelect val Boolean NoTeamSelect
noUnitCollision val Boolean NoUnitCollision
shouldIdleAcquire var Boolean ShouldIdleAcquire / SetIdleAcquire

Methods

Method Return Type Native Name Description
addAbility(abilityName: String) BaseAbility AddAbility Add an ability to this unit by name.
addActivityModifier(name: String) Unit AddActivityModifier Add an activity modifier that affects future StartGesture calls.
addItem(item: Item) Item AddItem Add an item to this unit's inventory.
addItemByName(itemName: String) Item AddItemByName Add an item to this unit's inventory.
addNewModifier(caster: BaseNPC?, ability: BaseAbility?, modifierName: String, modifierTable: Any?,) Buff AddNewModifier Add a modifier to this unit.
addNoDraw() Unit AddNoDraw Adds the no draw flag.
addSpeechBubble(bubble: Int, speech: String, duration: Float, offsetX: UInt, offsetY: UInt,) Unit AddSpeechBubble Add a speech bubble(1-4 live at a time) to this NPC.
alertNearbyUnits(attacker: BaseNPC, ability: BaseAbility,) Unit AlertNearbyUnits
angerNearbyUnits() Unit AngerNearbyUnits
attackNoEarlierThan(time: Float, timeDisparityTolerance: Float,) Unit AttackNoEarlierThan
attackReady() Boolean AttackReady
boundingRadius2D() Float BoundingRadius2D
calculateGenericBonuses() Unit CalculateGenericBonuses
canEntityBeSeenByMyTeam(entity: BaseNPC) Boolean CanEntityBeSeenByMyTeam Check FoW to see if an entity is visible.
castAbilityImmediately(ability: BaseAbility, playerIndex: Int,) Unit CastAbilityImmediately Cast an ability immediately.
castAbilityNoTarget(ability: BaseAbility, playerIndex: Int,) Unit CastAbilityNoTarget Cast an ability with no target.
castAbilityOnPosition(position: Vector, ability: BaseAbility, playerIndex: Int,) Unit CastAbilityOnPosition Cast an ability on a position.
castAbilityOnTarget(target: BaseNPC, ability: BaseAbility, playerIndex: Int,) Unit CastAbilityOnTarget Cast an ability on a target entity.
castAbilityToggle(ability: BaseAbility, playerIndex: Int,) Unit CastAbilityToggle Toggle an ability.
changeTeam(teamNum: Int) Unit ChangeTeam
clearActivityModifiers() Unit ClearActivityModifiers Clear Activity modifiers.
consumeItem(item: Any) Unit ConsumeItem Consume the item, deleting it from the inventory and granting the hero the specified bonuses.
destroyAllSpeechBubbles() Unit DestroyAllSpeechBubbles
disassembleItem(item: Item) Unit DisassembleItem Disassemble the passed item in this unit's inventory.
dropItemAtPosition(dest: Vector, item: Item,) Unit DropItemAtPosition Drop an item at a given point.
dropItemAtPositionImmediate(item: Item, position: Vector,) Unit DropItemAtPositionImmediate Immediately drop a carried item at a given position.
ejectItemFromStash(item: Item) Unit EjectItemFromStash Drops the selected item out of this unit's stash.
faceTowards(target: Vector) Unit FaceTowards This unit will be set to face the target point.
fadeGesture(activity: GameActivity) Unit FadeGesture Fade and remove the given gesture activity.
findAbilityByName(abilityName: String) BaseAbility? FindAbilityByName Retrieve an ability by name from the unit.
findAllModifiers() Array<Buff> FindAllModifiers Returns a table of all of the modifiers on the NPC.
findAllModifiersByName(modifierName: String) Array<Buff> FindAllModifiersByName Returns a table of all of the modifiers on the NPC with the passed name (modifierName).
findItemInInventory(itemName: String) Item? FindItemInInventory Get handle to first item in inventory, else nil.
findModifierByName(modifierName: String) Buff? FindModifierByName Return a handle to the modifier of the given name if found, else nil (string Name ).
findModifierByNameAndCaster(modifierName: String, caster: BaseNPC,) Buff? FindModifierByNameAndCaster Return a handle to the modifier of the given name from the passed caster if found, else nil.
forceKill(reincarnate: Boolean) Unit ForceKill Kill this unit immediately.
forcePlayActivityOnce(activity: GameActivity) Unit ForcePlayActivityOnce Play an activity once, and then go back to idle.
getAbilityByIndex(index: Int) BaseAbility? GetAbilityByIndex Retrieve an ability by index from the unit.
getAttackSpeed(ignoreTempAttackSpeed: Boolean) Float GetAttackSpeed
getAttacksPerSecond(ignoreTempAttackSpeed: Boolean) Float GetAttacksPerSecond
getAverageTrueAttackDamage(target: BaseNPC?) Int GetAverageTrueAttackDamage Returns the average value of the minimum and maximum damage values.
getCastPoint(attack: Boolean) Float GetCastPoint
getIncreasedAttackSpeed(ignoreTempAttackSpeed: Boolean) Float GetIncreasedAttackSpeed Hero attack speed is also affected by agility.
getItemInSlot(slot: Int) Item? GetItemInSlot Returns nth item in inventory slot (index is zero based).
getModifierNameByIndex(index: Int) String GetModifierNameByIndex Get a modifier name by index.
getModifierStackCount(modifierName: String, caster: BaseNPC,) Int GetModifierStackCount Gets the stack count of a given modifier.
getMoveSpeedModifier(baseSpeed: Float, returnUnslowed: Boolean,) Float GetMoveSpeedModifier
getPhysicalArmorValue(ignoreBase: Boolean) Float GetPhysicalArmorValue Returns current physical armor value.
getRangeToUnit(npc: BaseNPC) Float GetRangeToUnit
getSecondsPerAttack(ignoreTempAttackSpeed: Boolean) Float GetSecondsPerAttack
getSpellAmplification(baseOnly: Boolean) Float GetSpellAmplification
giveMana(mana: Float) Unit GiveMana Give mana to this unit, this can be used for mana gained by abilities or item usage.
hasAbility(abilityName: String) Boolean HasAbility See whether this unit has an ability by name.
hasItemInInventory(itemName: String) Boolean HasItemInInventory See whether this unit has an item by name.
hasModifier(scriptName: String) Boolean HasModifier Sees if this unit has a given modifier.
heal(amount: Float, inflictor: BaseAbility?,) Unit Heal Heal this unit.
healWithParams(amount: Float, inflictor: Any, lifesteal: Boolean, amplify: Boolean, source: Any, spellLifesteal: Boolean,) Unit HealWithParams Heal this unit (with more parameters).
hold() Unit Hold Hold position.
interrupt() Unit Interrupt
interruptChannel() Unit InterruptChannel
interruptMotionControllers(findClearSpace: Boolean) Unit InterruptMotionControllers
isAttackingEntity(entity: BaseNPC) Boolean IsAttackingEntity
isInRangeOfShop(shopType: DotaShopType, physical: Boolean,) Boolean IsInRangeOfShop Ask whether this unit is in range of the specified shop.
isOpposingTeam(team: DOTATeam) Boolean IsOpposingTeam
isPositionInRange(position: Vector, range: Float,) Boolean IsPositionInRange
isUntargetableFrom(targettingSource: Any) Boolean IsUntargetableFrom
kill(ability: BaseAbility?, attacker: BaseNPC?,) Unit Kill Kills this NPC, with the params Ability and Attacker.
makeIllusion() Unit MakeIllusion
makePhantomBlocker() Unit MakePhantomBlocker
makeVisibleDueToAttack(team: DOTATeam, radius: Float,) Unit MakeVisibleDueToAttack
makeVisibleToTeam(team: DOTATeam, duration: Float,) Unit MakeVisibleToTeam
manageModelChanges() Unit ManageModelChanges
modifyHealth(desiredHealthValue: Int, ability: BaseAbility?, lethal: Boolean, additionalFlags: Int,) Unit ModifyHealth Sets the health to a specific value, with optional flags or inflictors.
moveToNPC(npc: BaseNPC) Unit MoveToNPC Move to follow a unit.
moveToNPCToGiveItem(npc: BaseNPC, item: Item,) Unit MoveToNPCToGiveItem Give an item to another unit.
moveToPosition(dest: Vector) Unit MoveToPosition Issue a Move-To command.
moveToPositionAggressive(dest: Vector) Unit MoveToPositionAggressive Issue an Attack-Move-To command.
moveToTargetToAttack(target: BaseNPC) Unit MoveToTargetToAttack Move to a target to attack.
notifyWearablesOfModelChange(originalModel: Boolean) Unit NotifyWearablesOfModelChange
notOnMinimap() Boolean NotOnMinimap
notOnMinimapForEnemies() Boolean NotOnMinimapForEnemies
onCommandMoveToDirection(pos: Vector) Unit OnCommandMoveToDirection Tells the underlying AI to move in the given direction, skipping Dota orders.
passivesDisabled() Boolean PassivesDisabled
patrolToPosition(dest: Vector) Unit PatrolToPosition Issue a Patrol-To command.
performAttack(target: BaseNPC, useCastAttackOrb: Boolean, processProcs: Boolean, skipCooldown: Boolean, ignoreInvis: Boolean, useProjectile: Boolean, fakeAttack: Boolean, neverMiss: Boolean,) Unit PerformAttack Performs an attack on a target.
pickupDroppedItem(item: Item) Unit PickupDroppedItem Pick up a dropped item.
pickupRune(item: Item) Unit PickupRune Pick up a rune.
playVCD(vcd: String) Unit PlayVCD Play a VCD on the NPC.
providesVision() Boolean ProvidesVision
purge(removePositiveBuffs: Boolean, removeDebuffs: Boolean, frameOnly: Boolean, removeStuns: Boolean, removeExceptions: Boolean,) Unit Purge
removeAbility(abilityName: String) Unit RemoveAbility Remove an ability from this unit by name.
removeAbilityByHandle(ability: BaseAbility) Unit RemoveAbilityByHandle Remove the passed ability from this unit.
removeAbilityFromIndexByName(abilityName: String) Unit RemoveAbilityFromIndexByName
removeAllModifiers(targets: Int, now: Boolean, permanent: Boolean, death: Boolean,) Unit RemoveAllModifiers
removeAllModifiersOfName(scriptName: String) Unit RemoveAllModifiersOfName Removes all copies of a modifier.
removeGesture(activity: GameActivity) Unit RemoveGesture Remove the given gesture activity.
removeHorizontalMotionController(buff: Buff) Unit RemoveHorizontalMotionController
removeItem(item: Item) Unit RemoveItem Removes the passed item from this unit's inventory and deletes it.
removeModifierByName(scriptName: String) Unit RemoveModifierByName Removes a modifier.
removeModifierByNameAndCaster(scriptName: String, caster: BaseNPC,) Unit RemoveModifierByNameAndCaster Removes a modifier that was cast by the given caster.
removeNoDraw() Unit RemoveNoDraw Remove the no draw flag.
removeVerticalMotionController(buff: Buff) Unit RemoveVerticalMotionController
respawnUnit() Unit RespawnUnit Respawns the target unit if it can be respawned.
scriptGetAttackRange() Float Script_GetAttackRange Gets this unit's attack range after all modifiers.
scriptGetMagicalArmorValue(inflictor: Any) Float Script_GetMagicalArmorValue Returns current magical armor value.
scriptIsDeniable() Boolean Script_IsDeniable
scriptReduceMana(mana: Float, ability: Any,) Float Script_ReduceMana Remove mana from this unit, this can be used for involuntary mana loss, not for mana that is spent.
sellItem(item: Item) Unit SellItem Sells the passed item in this unit's inventory.
setAbilityByIndex(ability: BaseAbility, index: Int,) Unit SetAbilityByIndex Set the ability by index.
setBaseManaRegen(manaRegen: Float) Unit SetBaseManaRegen
setControllableByAllPlayers(controllableByAllPlayers: Boolean) Unit SetControllableByAllPlayers Set this unit controllable by all players.
setControllableByPlayer(playerId: PlayerID, skipAdjustingPosition: Boolean,) Unit SetControllableByPlayer Set this unit controllable by the player with the passed ID.
setCustomHealthLabel(label: String, r: Int, g: Int, b: Int,) Unit SetCustomHealthLabel
setFollowRange(followRange: Float) Unit SetFollowRange
setForceAttackTargetAlly(npc: BaseNPC?) Unit SetForceAttackTargetAlly
setHealthBarOffsetOverride(offset: Int) Unit SetHealthBarOffsetOverride
setModifierStackCount(scriptName: String, caster: BaseNPC, stackCount: Int,) Unit SetModifierStackCount Sets the stack count of a given modifier.
setMoveCapability(moveCapabilities: DOTAUnitMoveCapability) Unit SetMoveCapability
setOriginalModel(modelName: String) Unit SetOriginalModel Sets the original model of this entity, which it will tend to fall back to anytime its state changes.
setRevealRadius(revealRadius: Float) Unit SetRevealRadius Sets the client side map reveal radius for this unit.
setShouldComputeRemainingPathLength(compute: Boolean) Unit SetShouldComputeRemainingPathLength
setShouldDoFlyHeightVisual(shouldVisuallyFly: Boolean) Unit SetShouldDoFlyHeightVisual
setStolenScepter(stolenScepter: Boolean) Unit SetStolenScepter
setUnitCanRespawn(canRespawn: Boolean) Unit SetUnitCanRespawn
speakConcept(criteriaTable: Any) Unit SpeakConcept Speak a response system concept with the TLK_DOTA_CUSTOM concept.
spendMana(manaSpent: Float, ability: BaseAbility,) Unit SpendMana Spend mana from this unit, this can be used for spending mana from abilities or item usage.
startGesture(activity: GameActivity) Unit StartGesture Add the given gesture activity.
startGestureFadeWithSequenceSettings(activity: GameActivity) Unit StartGestureFadeWithSequenceSettings Add the given gesture activity faded according to its sequence settings.
startGestureWithFade(activity: GameActivity, fadeIn: Float, fadeOut: Float,) Unit StartGestureWithFade Add the given gesture activity faded according to to the parameters.
startGestureWithFadeAndPlaybackRate(activity: Int, fadeIn: Float, fadeOut: Float, rate: Float,) Unit StartGestureWithFadeAndPlaybackRate Add the given gesture activity faded according to to the parameters and with a playback rate override.
startGestureWithPlaybackRate(activity: GameActivity, rate: Float,) Unit StartGestureWithPlaybackRate Add the given gesture activity with a playback rate override.
stop() Unit Stop Stop the current order.
stopFacing() Unit StopFacing
swapAbilities(abilityName1: String, abilityName2: String, enable1: Boolean, enable2: Boolean,) Unit SwapAbilities Swaps the slots of the two passed abilities and sets them enabled/disabled.
swapItems(slot1: Int, slot2: Int,) Unit SwapItems Swap the contents of two item slots (slot1, slot2).
takeItem(item: Item) Item TakeItem Removed the passed item from this unit's inventory. Returns the passed item.
timeUntilNextAttack() Float TimeUntilNextAttack
triggerModifierDodge(ability: Any, buff: Any,) Boolean TriggerModifierDodge
triggerSpellAbsorb(ability: BaseAbility) Boolean TriggerSpellAbsorb
triggerSpellReflect(ability: BaseAbility) Unit TriggerSpellReflect Trigger the Lotus Orb-like effect.(hAbility).
unHideAbilityToSlot(abilityName: String, replacedAbilityName: String,) Unit UnHideAbilityToSlot 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() Boolean UnitCanRespawn Can the unit respawn?
wasKilledPassively() Boolean WasKilledPassively

BaseNPCBuilding

Native name: CDOTA_BaseNPC_Building

Extends: BaseNPC

Properties

Property Type Native Name Description
invulnCount var Int GetInvulnCount / SetInvulnCount Get the invulnerability count for a building.

BaseNPCCreature

Native name: CDOTA_BaseNPC_Creature

Extends: BaseNPC

Properties

Property Type Native Name Description
disableResistance var Float GetDisableResistance / SetDisableResistance Set creature's current disable resistance.
ultimateDisableResistance var Float GetUltimateDisableResistance / SetUltimateDisableResistance Set creature's current disable resistance from ultimates.
isChampion var Boolean IsChampion / SetChampion Is this unit a champion?

Methods

Method Return Type Native Name Description
addItemDrop(dropData: Any) Unit AddItemDrop Add the specified item drop to this creature.
creatureLevelUp(levels: Int) Unit CreatureLevelUp Level the creature up by the specified number of levels.
removeAllItemDrops() Unit RemoveAllItemDrops Remove all item drops from this creature.
setAggroOnOwnerOnDamage(aggro: Boolean) Unit SetAggroOnOwnerOnDamage Does this creature aggro on the owner of the attacking unit when taking damage?
setArmorGain(armorGain: Float) Unit SetArmorGain Set the armor gained per level on this creature.
setAttackTimeGain(attackTimeGain: Float) Unit SetAttackTimeGain Set the attack time gained per level on this creature.
setBountyGain(bountyGain: Int) Unit SetBountyGain Set the bounty gold gained per level on this creature.
setDamageGain(damageGain: Int) Unit SetDamageGain Set the damage gained per level on this creature.
setDisableResistanceGain(disableResistanceGain: Float) Unit SetDisableResistanceGain Set the disable resistance gained per level on this creature.
setEconItemGroup(group: Int) Unit SetEconItemGroup Switches visible econ item group.
setHPGain(hpGain: Int) Unit SetHPGain Set the hit points gained per level on this creature.
setHPRegenGain(hpRegenGain: Float) Unit SetHPRegenGain Set the hit points regen gained per level on this creature.
setMagicResistanceGain(magicResistanceGain: Float) Unit SetMagicResistanceGain Set the magic resistance gained per level on this creature.
setManaGain(manaGain: Int) Unit SetManaGain Set the mana points gained per level on this creature.
setManaRegenGain(manaRegenGain: Float) Unit SetManaRegenGain Set the mana points regen gained per level on this creature.
setMoveSpeedGain(moveSpeedGain: Int) Unit SetMoveSpeedGain Set the move speed gained per level on this creature.
setRequiresReachingEndPath(requiresReachingEndPath: Boolean) Unit SetRequiresReachingEndPath Set whether creatures require reaching their end path before becoming idle.
setXPGain(xpGain: Int) Unit SetXPGain Set the XP gained per level on this creature.

BaseNPCHero

Native name: CDOTA_BaseNPC_Hero

Extends: BaseNPC

Properties

Property Type Native Name Description
canEarnGold val Boolean CanEarnGold Returns boolean value result of buyback gold limit time less than game time.
abilityPoints var Int GetAbilityPoints / SetAbilityPoints Gets the current unspent ability points.
additionalOwnedUnits val Array<BaseNPC> GetAdditionalOwnedUnits
agility val Float GetAgility
agilityGain val Float GetAgilityGain
assists val Int GetAssists Value is stored in PlayerResource.
baseAgility var Float GetBaseAgility / SetBaseAgility
baseIntellect var Float GetBaseIntellect / SetBaseIntellect
baseManaRegen val Float GetBaseManaRegen Returns the base mana regen.
baseStrength var Float GetBaseStrength / SetBaseStrength
bonusDamageFromPrimaryStat val Int GetBonusDamageFromPrimaryStat
buybackCooldownTime var Float GetBuybackCooldownTime / SetBuybackCooldownTime Return float value for the amount of time left on cooldown for this hero's buyback.
buybackCost val Int GetBuybackCost Return integer value for the gold cost of a buyback.
buybackGoldLimitTime var Float GetBuybackGoldLimitTime / SetBuybackGoldLimitTime Returns the amount of time gold gain is limited after buying back.
currentXP val Int GetCurrentXP Returns the amount of XP.
deathGoldCost val Int GetDeathGoldCost
deaths val Int GetDeaths Value is stored in PlayerResource.
denies val Int GetDenies Value is stored in PlayerResource.
gold val Int GetGold Returns gold amount for the player owning this hero.
heroFacetID val UInt GetHeroFacetID
heroID val Int GetHeroID
intellectGain val Float GetIntellectGain
kills val Int GetKills Value is stored in PlayerResource.
lastHits val Int GetLastHits Value is stored in PlayerResource.
mostRecentDamageTime val Float GetMostRecentDamageTime
multipleKillCount val Int GetMultipleKillCount
numAttackers val Int GetNumAttackers
numItemsInInventory val Int GetNumItemsInInventory
numItemsInStash val Int GetNumItemsInStash
playerID var PlayerID GetPlayerID / SetPlayerID Returns player ID of the player owning this hero.
primaryAttribute var Attributes GetPrimaryAttribute / SetPrimaryAttribute Set this hero's primary attribute value.
primaryStatValue val Float GetPrimaryStatValue
replicatingOtherHero val BaseNPCHero? GetReplicatingOtherHero If hero is under Replicate effect, returns original hero entity.
respawnsDisabled var Boolean GetRespawnsDisabled / SetRespawnsDisabled Is this hero prevented from respawning?
respawnTime val Float GetRespawnTime
streak val Int GetStreak Value is stored in PlayerResource.
strength val Float GetStrength
strengthGain val Float GetStrengthGain
timeUntilRespawn var Float GetTimeUntilRespawn / SetTimeUntilRespawn
hasAnyAvailableInventorySpace val Boolean HasAnyAvailableInventorySpace
hasOwnerAbandoned val Boolean HasOwnerAbandoned
isBuybackDisabledByDevilsBargain val Boolean IsBuybackDisabledByDevilsBargain
isStashEnabled var Boolean IsStashEnabled / SetStashEnabled
shouldDoFlyHeightVisual val Boolean ShouldDoFlyHeightVisual
willReincarnate val Boolean WillReincarnate

Methods

Method Return Type Native Name Description
addExperience(xp: Float, reason: ModifyXPReason, applyBotDifficultyScaling: Boolean, incrementTotal: Boolean, cloneCount: Int,) Boolean AddExperience
buyback() Unit Buyback Spend the gold and buyback with this hero.
calculateStatBonus(force: Boolean) Unit CalculateStatBonus Recalculate all stats after the hero gains stats.
clearLastHitMultikill() Unit ClearLastHitMultikill Value is stored in PlayerResource.
clearLastHitStreak() Unit ClearLastHitStreak Value is stored in PlayerResource.
clearStreak() Unit ClearStreak Value is stored in PlayerResource.
getAttacker(index: Int) Int GetAttacker
getIntellect(skipNoConsume: Boolean) Float GetIntellect
getTogglableWearable(slotType: DOTASlotType) CBaseAnimatingActivity? GetTogglableWearable Get wearable entity in slot (slot).
hasRoomForItem(itemName: String, includeStashCombines: Boolean, allowSelling: Boolean,) Int HasRoomForItem
heroLevelUp(playEffects: Boolean) Unit HeroLevelUp Levels up the hero, true or false to play effects.
incrementAssists(killerId: PlayerID) Unit IncrementAssists Value is stored in PlayerResource.
incrementDeaths(killerId: PlayerID) Unit IncrementDeaths Value is stored in PlayerResource.
incrementDenies() Unit IncrementDenies Value is stored in PlayerResource.
incrementKills(victimId: PlayerID) Unit IncrementKills Passed ID is for the victim, killer ID is ID of the current hero. Value is stored in PlayerResource.
incrementLastHitMultikill() Unit IncrementLastHitMultikill Value is stored in PlayerResource.
incrementLastHits() Unit IncrementLastHits Value is stored in PlayerResource.
incrementLastHitStreak() Unit IncrementLastHitStreak Value is stored in PlayerResource.
incrementNearbyCreepDeaths() Unit IncrementNearbyCreepDeaths Value is stored in PlayerResource.
incrementStreak() Unit IncrementStreak Value is stored in PlayerResource.
killedHero(hero: BaseNPCHero, inflictor: BaseAbility?,) Unit KilledHero
modifyAgility(newAgility: Float) Unit ModifyAgility Adds passed value to base attribute value, then calls CalculateStatBonus.
modifyGold(goldChange: Int, reliable: Boolean, reason: ModifyGoldReason,) Int ModifyGold Gives this hero some gold.
modifyGoldFiltered(goldChange: Int, reliable: Boolean, reason: ModifyGoldReason,) Int ModifyGoldFiltered Gives this hero some gold, using the gold filter if extra filtering is on.
modifyIntellect(newIntellect: Float) Unit ModifyIntellect Adds passed value to base attribute value, then calls CalculateStatBonus.
modifyStrength(newStrength: Float) Unit ModifyStrength Adds passed value to base attribute value, then calls CalculateStatBonus.
performTaunt() Unit PerformTaunt
recordLastHit() Unit RecordLastHit
respawnHero(buyBack: Boolean, respawnPenalty: Boolean,) Unit RespawnHero Respawn this hero.
setBotDifficulty(difficulty: Int) Unit SetBotDifficulty
setBuyBackDisabledByDevilsBargain(buybackDisabled: Boolean) Unit SetBuyBackDisabledByDevilsBargain
setCustomDeathXP(value: Int) Unit SetCustomDeathXP Sets a custom experience value for this hero. Note, GameRules boolean must be set for this to work!
setGold(gold: Int, reliable: Boolean,) Unit SetGold Sets the gold amount for the player owning this hero.
setRespawnPosition(origin: Vector) Unit SetRespawnPosition
spendGold(cost: Int, reason: ModifyGoldReason,) Unit SpendGold
upgradeAbility(ability: BaseAbility) Unit UpgradeAbility This upgrades the passed ability if it exists and the hero has enough ability points.

BaseNPCLotusPool

Native name: CDOTA_BaseNPC_LotusPool

Extends: BaseNPCBuilding


BaseNPCNeutralItemStash

Native name: CDOTA_BaseNPC_NeutralItemStash

Extends: BaseNPCBuilding


BaseNPCShop

Native name: CDOTA_BaseNPC_Shop

Extends: BaseNPCBuilding

Properties

Property Type Native Name Description
shopType var DotaShopType GetShopType / SetShopType Get the DOTA_SHOP_TYPE.

BaseNPCTrapWard

Native name: CDOTA_BaseNPC_Trap_Ward

Extends: BaseNPCCreature

Properties

Property Type Native Name Description
trapTarget val Vector GetTrapTarget Get the trap target for this entity.

Methods

Method Return Type Native Name Description
setAnimation(animation: String) Unit SetAnimation Set the animation sequence for this entity.

BaseNPCWatchTower

Native name: CDOTA_BaseNPC_Watch_Tower

Extends: BaseNPCBuilding

Properties

Property Type Native Name Description
interactAbilityName var String GetInteractAbilityName / SetInteractAbilityName The name of the ability used when triggering interaction on the outpost.

Buff

Native name: CDOTA_Buff

Properties

Property Type Native Name Description
ability val BaseAbility? GetAbility Get the ability that generated the modifier.
auraDuration val Float GetAuraDuration Returns aura stickiness (default 0.5).
auraOwner val BaseNPC? GetAuraOwner Returns the owner of the aura modifier, that applied this modifier. Always nil on the client.
caster val BaseNPC? GetCaster Get the owner of the ability responsible for the modifier.
creationTime val Float GetCreationTime
dieTime val Float GetDieTime
duration val Float GetDuration
elapsedTime val Float GetElapsedTime
lastAppliedTime val Float GetLastAppliedTime
name val String GetName
parent val BaseNPC GetParent Get the unit the modifier is parented to.
remainingTime val Float GetRemainingTime
serialNumber val Int GetSerialNumber
stackCount var Int GetStackCount / SetStackCount
isDebuff val Boolean IsDebuff True/false if this modifier should be displayed as a debuff.
isHexDebuff val Boolean IsHexDebuff
isNull val Boolean IsNull Has underlying C++ entity object been deleted?
isStunDebuff val Boolean IsStunDebuff True/false if this modifier is considered a stun for purge reasons.

Methods

Method Return Type Native Name Description
addParticle(index: Int, destroyImmediately: Boolean, statusEffect: Boolean, priority: Int, heroEffect: Boolean, overheadEffect: Boolean,) Unit AddParticle
checkStateToTable(table: Any) Unit CheckStateToTable
decrementStackCount() Unit DecrementStackCount Decrease this modifier's stack count by 1.
destroy() Unit Destroy Run all associated destroy functions, then remove the modifier.
destroyOnExpire() Boolean DestroyOnExpire True/false if this buff is removed when the duration expires.
forceRefresh() Unit ForceRefresh Run all associated refresh functions on this modifier as if it was re-applied.
hasFunction(function: Modifierfunction) Boolean HasFunction
incrementStackCount() Unit IncrementStackCount Increase this modifier's stack count by 1.
sendBuffRefreshToClients() Unit SendBuffRefreshToClients
setDuration(duration: Float, informClient: Boolean,) Unit SetDuration
setOverheadEffectOffset(offset: Float) Boolean SetOverheadEffectOffset
startIntervalThink(interval: Float) Unit StartIntervalThink Start this modifier's think function (OnIntervalThink) with the given interval (float). To stop, call with -1.

CustomUIManager

Native name: CDOTA_CustomUIManager

Methods

Method Return Type Native Name Description
dynamicHudCreate(playerId: PlayerID, elementId: String, layoutFileName: String, dialogVariables: Any,) Unit DynamicHud_Create Create a new custom UI HUD element for the specified player(s).
dynamicHudDestroy(playerId: PlayerID, elementId: String,) Unit DynamicHud_Destroy Destroy a custom hud element.
dynamicHudSetDialogVariables(playerId: PlayerID, elementId: String, dialogVariables: Any,) Unit DynamicHud_SetDialogVariables Add or modify dialog variables for an existing custom hud element.
dynamicHudSetVisible(playerId: PlayerID, elementId: String, visible: Boolean,) Unit DynamicHud_SetVisible Toggle the visibility of an existing custom hud element.

Item

Native name: CDOTA_Item

Extends: BaseAbility

Properties

Property Type Native Name Description
canBeUsedOutOfInventory var Boolean CanBeUsedOutOfInventory / SetCanBeUsedOutOfInventory
canOnlyPlayerHeroPickup var Boolean CanOnlyPlayerHeroPickup / SetOnlyPlayerHeroPickup
container val ItemPhysical? GetContainer Get the container for this item.
cost val Int GetCost
currentCharges var Int GetCurrentCharges / SetCurrentCharges Get the number of charges this item currently has.
initialCharges val Int GetInitialCharges Get the initial number of charges this item has.
itemSlot val Int GetItemSlot
itemState var Int GetItemState / SetItemState Gets whether item is unequipped or ready.
parent val Any GetParent Get the parent for this item.
purchaser var BaseNPC? GetPurchaser / SetPurchaser Get the purchaser for this item.
purchaseTime var Float GetPurchaseTime / SetPurchaseTime Get the purchase time of this item.
secondaryCharges var Int GetSecondaryCharges / SetSecondaryCharges Get the number of secondary charges this item currently has.
shareability var EShareAbility GetShareability / SetShareability
valuelessCharges val Int GetValuelessCharges Get the number of valueless charges this item currently has.
isActiveNeutral val Boolean IsActiveNeutral
isAlertableItem val Boolean IsAlertableItem
isCastOnPickup var Boolean IsCastOnPickup / SetCastOnPickup
isCombinable val Boolean IsCombinable
isCombineLocked var Boolean IsCombineLocked / SetCombineLocked
isDisassemblable val Boolean IsDisassemblable
isDroppable var Boolean IsDroppable / SetDroppable
isInBackpack val Boolean IsInBackpack
isKillable val Boolean IsKillable
isMuted val Boolean IsMuted Returns whether this item is muted or not.
isPermanent val Boolean IsPermanent Is this a permanent item?
isPurchasable val Boolean IsPurchasable
isRecipe val Boolean IsRecipe
isRecipeGenerated val Boolean IsRecipeGenerated
isSellable var Boolean IsSellable / SetSellable
isStackable val Boolean IsStackable

Methods

Method Return Type Native Name Description
launchLoot(autoUse: Boolean, height: Float, duration: Float, endPoint: Vector, teleportOwner: BaseNPCHero?,) Unit LaunchLoot
launchLootInitialHeight(autoUse: Boolean, initialHeight: Float, launchHeight: Float, duration: Float, endPoint: Vector,) Unit LaunchLootInitialHeight
launchLootRequiredHeight(autoUse: Boolean, requiredHeight: Float, height: Float, duration: Float, endPoint: Vector,) Unit LaunchLootRequiredHeight
modifyNumValuelessCharges(charges: Int) Unit ModifyNumValuelessCharges Modifies the number of valueless charges on this item.
onEquip() Unit OnEquip
onUnequip() Unit OnUnequip
requiresCharges() Boolean RequiresCharges
setStacksWithOtherOwners(stacksWithOtherOwners: Boolean) Unit SetStacksWithOtherOwners
spendCharge(delayRemove: Float) Unit SpendCharge
stacksWithOtherOwners() Boolean StacksWithOtherOwners
think() Unit Think Think this item.

ItemBagOfGold

Native name: CDOTA_Item_BagOfGold

Extends: Item

Methods

Method Return Type Native Name Description
setLifeTime(time: Float) Unit SetLifeTime Set the life time of this item.

ItemDataDriven

Native name: CDOTA_Item_DataDriven

Extends: Item

Methods

Method Return Type Native Name Description
applyDataDrivenModifier(caster: BaseNPC, target: BaseNPC, modifierName: String, modifierTable: Any?,) Unit ApplyDataDrivenModifier Applies a data driven modifier to the target.
applyDataDrivenThinker(caster: BaseNPC, location: Vector, modifierName: String, modifierTable: Any?,) Buff ApplyDataDrivenThinker Applies a data driven thinker at the location.

ItemEmptyBottle

Native name: CDOTA_Item_EmptyBottle

Extends: Item

Methods

Method Return Type Native Name Description
clearStoredRune() Unit ClearStoredRune Clear the stored rune.
onRune(runeType: Int) Boolean OnRune Place a rune in the bottle.
setStoredRune(runeType: Int) Unit SetStoredRune Set the stored rune.

ItemLua

Native name: CDOTA_Item_Lua

Extends: Item

Properties

Property Type Native Name Description
abilityTextureName val String GetAbilityTextureName Allows code overriding of the item texture shown in the HUD.
customCastError val String GetCustomCastError Return the error string of a failed command with no target.
isHiddenAbilityCastable val Boolean IsHiddenAbilityCastable Returns true if this ability can be used when not on the action panel.

Methods

Method Return Type Native Name Description
canUnitPickUp(unit: BaseNPC) Boolean CanUnitPickUp Returns true if this item can be picked up by the target unit.
castFilterResult() UnitFilterResult CastFilterResult Determine whether an issued command with no target is valid.
castFilterResultLocation(location: Vector) UnitFilterResult CastFilterResultLocation Determine whether an issued command on a location is valid.
castFilterResultTarget(target: BaseNPC) UnitFilterResult CastFilterResultTarget Determine whether an issued command on a target is valid.
getCustomCastErrorLocation(location: Vector) String GetCustomCastErrorLocation Return the error string of a failed command on a location.
getCustomCastErrorTarget(target: BaseNPC) String GetCustomCastErrorTarget Return the error string of a failed command on a target.
getCustomHudErrorMessage(reason: Int) String GetCustomHudErrorMessage (DOTA_INVALID_ORDERS nReason) Return the error string of a failed order.
onChargeCountChanged() Unit OnChargeCountChanged Runs when item's charge count changes.
onHeroDiedNearby(unit: BaseNPC, attacker: BaseNPC, event: GameEvent,) Unit OnHeroDiedNearby A hero has died in the vicinity (ie Urn), takes table of params.
onInventoryContentsChanged() Unit OnInventoryContentsChanged Caster inventory changed.
onItemEquipped(item: Item) Unit OnItemEquipped Caster equipped item.
onProjectileHit(target: BaseNPC?, location: Vector,) Boolean? OnProjectileHit Projectile has collided with a given target or reached its destination. If 'true` is returned, projectile would be destroyed.
onProjectileThink(location: Vector) Unit OnProjectileThink Projectile is actively moving.
onStolen(sourceAbility: BaseAbility) Unit OnStolen Special behavior when stolen by Spell Steal.
onUnStolen() Unit OnUnStolen Special behavior when lost by Spell Steal.
precache(context: CScriptPrecacheContext) Unit Precache
spawn() Unit Spawn Called when ability entity is created, after Init.

ItemPhysical

Native name: CDOTA_Item_Physical

Extends: CBaseAnimatingActivity

Properties

Property Type Native Name Description
containedItem var Item GetContainedItem / SetContainedItem Returned the contained item.
creationTime val Float GetCreationTime Returns the game time when this item was created in the world.
isLoot var Boolean IsLoot / SetIsLoot Is this drop flagged as a loot drop?

ItemSpawner

Native name: CDOTA_ItemSpawner

Extends: CBaseEntity

Properties

Property Type Native Name Description
itemName val String GetItemName Returns the item name.

MapTree

Native name: CDOTA_MapTree

Extends: CBaseEntity

Properties

Property Type Native Name Description
isStanding val Boolean IsStanding Returns true if the tree is standing, false if it has been cut down.

Methods

Method Return Type Native Name Description
cutDown(teamNumberKnownTo: Int) Unit CutDown Cuts down this tree.
cutDownRegrowAfter(regrowAfter: Float, teamNumberKnownTo: Int,) Unit CutDownRegrowAfter Cuts down this tree.
growBack() Unit GrowBack Grows back the tree if it was cut down.

ModifierLua

Native name: CDOTA_Modifier_Lua

Extends: Buff

Properties

Property Type Native Name Description
canParentBeAutoAttacked val Boolean CanParentBeAutoAttacked
attributes val DOTAModifierAttribute GetAttributes Return the types of attributes applied to this modifier.
auraRadius val Float GetAuraRadius Return the range around the parent this aura tries to apply its buff.
auraSearchFlags val DotaUnitTargetFlags GetAuraSearchFlags Return the unit flags this aura respects when placing buffs.
auraSearchTeam val DotaUnitTargetTeam GetAuraSearchTeam Return the teams this aura applies its buff to.
auraSearchType val DotaUnitTargetType GetAuraSearchType Return the unit classifications this aura applies its buff to.
critDamage val Float GetCritDamage A Modifier that listens to MODIFIER_PROPERTY_PREATTACK_CRITICALSTRIKE has to have a GetCritDamage implementation so we can know when to evaluate it. Value should be in 'times the original value format' e.g: 1.5 not 150.
effectAttachType val ParticleAttachment GetEffectAttachType Return the attach type of the particle system from GetEffectName.
effectName val String GetEffectName Return the name of the particle system that is created while this modifier is active.
heroEffectName val String GetHeroEffectName Return the name of the hero effect particle system that is created while this modifier is active.
modifierAura val String GetModifierAura The name of the secondary modifier that will be applied by this modifier (if it is an aura).
priority val Modifierpriority GetPriority Return the priority order this modifier will be applied over others.
statusEffectName val String GetStatusEffectName Return the name of the status effect particle system that is created while this modifier is active.
texture val String GetTexture Return the name of the buff icon to be shown for this modifier.
isAura val Boolean IsAura True/false if this modifier is an aura.
isAuraActiveOnDeath val Boolean IsAuraActiveOnDeath True/false if this aura provides buffs when the parent is dead.
isHidden val Boolean IsHidden True/false if this modifier should be displayed on the buff bar.
isPermanent val Boolean IsPermanent
isPurgable val Boolean IsPurgable True/false if this modifier can be purged.
isPurgeException val Boolean IsPurgeException True/false if this modifier can be purged by strong dispels.
shouldUseOverheadOffset val Boolean ShouldUseOverheadOffset Apply the overhead offset to the attached effect.
activityTranslationModifiers val String GetActivityTranslationModifiers
allowEtherealAttack val Unit GetAllowEtherealAttack
alwaysAllowAttack val Int GetAlwaysAllowAttack
alwaysAutoAttackWhileHoldPosition val Unit GetAlwaysAutoAttackWhileHoldPosition
attackSound val String GetAttackSound
baseAttackPostBonus val Unit GetBaseAttackPostBonus
bonusDayVision val Float GetBonusDayVision
bonusDayVisionPercentage val Unit GetBonusDayVisionPercentage
bonusNightVision val Float GetBonusNightVision
bonusNightVisionUnique val Float GetBonusNightVisionUnique
bonusVisionPercentage val Float GetBonusVisionPercentage
buffAmplification val Unit GetBuffAmplification
convertAttackPhysicalToPure val Unit GetConvertAttackPhysicalToPure
criticalStrikeBonus val Unit GetCriticalStrikeBonus
disableAutoAttack val Int GetDisableAutoAttack
disableHealing val Int GetDisableHealing
disableManaGain val Unit GetDisableManaGain
fixedDayVision val Float GetFixedDayVision
fixedNightVision val Float GetFixedNightVision
forceDrawOnMinimap val Int GetForceDrawOnMinimap
isIllusion val Int GetIsIllusion
magicalArmorPiercingPercentageTarget val Unit GetMagicalArmorPiercingPercentageTarget
minHealth val Float GetMinHealth
minMana val Unit GetMinMana
modifierAbilityLayout val Float GetModifierAbilityLayout
modifierAbilityPoints val Unit GetModifierAbilityPoints
modifierAdditionalNutralItemDrops val Unit GetModifierAdditionalNutralItemDrops
modifierAoEBonusConstant val Unit GetModifierAoEBonusConstant
modifierAoEBonusConstantStacking val Unit GetModifierAoEBonusConstantStacking
modifierAoEBonusPercentage val Float GetModifierAoEBonusPercentage
modifierAttackHeightBonus val Unit GetModifierAttackHeightBonus
modifierAttackPointConstant val Float GetModifierAttackPointConstant
modifierAttackRangeBonus val Float GetModifierAttackRangeBonus
modifierAttackRangeBonusPercentage val Float GetModifierAttackRangeBonusPercentage
modifierAttackRangeBonusUnique val Float GetModifierAttackRangeBonusUnique
modifierAttackRangeOverride val Float GetModifierAttackRangeOverride
modifierAttackSpeedLimit val Unit GetModifierAttackSpeed_Limit
modifierAttackSpeedAbsoluteMax val Unit GetModifierAttackSpeedAbsoluteMax
modifierAttackSpeedBaseOverride val Float GetModifierAttackSpeedBaseOverride
modifierAttackSpeedBonusConstant val Float GetModifierAttackSpeedBonus_Constant
modifierAttackSpeedPercentage val Float GetModifierAttackSpeedPercentage
modifierAttackSpeedReductionPercentage val Float GetModifierAttackSpeedReductionPercentage
modifierAvoidAttackProcs val Unit GetModifierAvoidAttackProcs
modifierBaseArmorPerAgiBonusPercentage val Unit GetModifierBaseArmorPerAgiBonusPercentage
modifierBaseAttackBonusDamage val Float GetModifierBaseAttack_BonusDamage
modifierBaseAttackSpeedPerAgiBonusPercentage val Unit GetModifierBaseAttackSpeedPerAgiBonusPercentage
modifierBaseAttackTimeConstant val Float GetModifierBaseAttackTimeConstant
modifierBaseAttackTimeConstantAdjust val Float GetModifierBaseAttackTimeConstant_Adjust
modifierBaseAttackTimePercentage val Float GetModifierBaseAttackTimePercentage
modifierBaseHpRegenPerStrBonusPercentage val Unit GetModifierBaseHpRegenPerStrBonusPercentage
modifierBaseMagicResistPerIntBonusPercentage val Unit GetModifierBaseMagicResistPerIntBonusPercentage
modifierBaseManaRegenPerIntBonusPercentage val Unit GetModifierBaseManaRegenPerIntBonusPercentage
modifierBaseRegen val Float GetModifierBaseRegen
modifierBecomeAgility val Unit GetModifierBecomeAgility
modifierBecomeIntelligence val Unit GetModifierBecomeIntelligence
modifierBecomeStrength val Unit GetModifierBecomeStrength
modifierBecomeUniversal val Int GetModifierBecomeUniversal
modifierBonusDamageOutgoingPercentage val Unit GetModifierBonusDamageOutgoing_Percentage
modifierBonusLotusHeal val Unit GetModifierBonusLotusHeal
modifierBonusStatsAgility val Float GetModifierBonusStats_Agility
modifierBonusStatsAgilityPercentage val Float GetModifierBonusStats_Agility_Percentage
modifierBonusStatsIntellect val Float GetModifierBonusStats_Intellect
modifierBonusStatsIntellectPercentage val Float GetModifierBonusStats_Intellect_Percentage
modifierBonusStatsStrength val Float GetModifierBonusStats_Strength
modifierBonusStatsStrengthPercentage val Float GetModifierBonusStats_Strength_Percentage
modifierBonusUphillMissChance val Unit GetModifierBonusUphillMissChance
modifierBuybackPenaltyPercent val Unit GetModifierBuybackPenaltyPercent
modifierCanAttackTrees val Int GetModifierCanAttackTrees
modifierChangeAbilityValue val Unit GetModifierChangeAbilityValue
modifierConstantDeathGoldCost val Float GetModifierConstantDeathGoldCost
modifierConstantHealthRegen val Float GetModifierConstantHealthRegen
modifierConstantManaRegen val Float GetModifierConstantManaRegen
modifierConstantManaRegenUnique val Float GetModifierConstantManaRegenUnique
modifierConstantRespawnTime val Float GetModifierConstantRespawnTime
modifierConvertManaCostToHealthCost val Unit GetModifierConvertManaCostToHealthCost
modifierCreateBonusIllusionChance val Unit GetModifierCreateBonusIllusionChance
modifierCreateBonusIllusionCount val Unit GetModifierCreateBonusIllusionCount
modifierCreepDenyPercent val Unit GetModifierCreepDenyPercent
modifierDamageOutgoingPercentageIllusionAmplify val Unit GetModifierDamageOutgoing_Percentage_Illusion_Amplify
modifierDamageOutgoingPercentageMultiplicative val Unit GetModifierDamageOutgoing_PercentageMultiplicative
modifierDisableTurning val Int GetModifierDisableTurning
modifierDisassembleAnything val Unit GetModifierDisassembleAnything
modifierDodgeProjectile val Int GetModifierDodgeProjectile
modifierExtraHealthBonus val Float GetModifierExtraHealthBonus
modifierExtraHealthPercentage val Float GetModifierExtraHealthPercentage
modifierExtraManaBonus val Float GetModifierExtraManaBonus
modifierExtraManaBonusPercentage val Unit GetModifierExtraManaBonusPercentage
modifierExtraManaPercentage val Unit GetModifierExtraManaPercentage
modifierExtraStrengthBonus val Float GetModifierExtraStrengthBonus
modifierFixedAttackRate val Float GetModifierFixedAttackRate
modifierFixedManaRegen val Unit GetModifierFixedManaRegen
modifierForceMaxHealth val Unit GetModifierForceMaxHealth
modifierForceMaxMana val Unit GetModifierForceMaxMana
modifierFoWTeam val Unit GetModifierFoWTeam
modifierHasBonusNeutralItemChoice val Unit GetModifierHasBonusNeutralItemChoice
modifierHealAmplifyPercentageSource val Unit GetModifierHealAmplify_PercentageSource
modifierHealAmplifyPercentageTarget val Unit GetModifierHealAmplify_PercentageTarget
modifierHealthBonus val Float GetModifierHealthBonus
modifierHealthcostReductionConstant val Unit GetModifierHealthcostReduction_Constant
modifierHealthRegenPercentage val Float GetModifierHealthRegenPercentage
modifierHealthRegenPercentageUnique val Float GetModifierHealthRegenPercentageUnique
modifierHeroFacetOverride val Unit GetModifierHeroFacetOverride
modifierHeroLevelScale val Unit GetModifierHeroLevelScale
modifierHPRegenAmplifyPercentage val Float GetModifierHPRegenAmplify_Percentage
modifierHPRegenMultiplierPreAmplification val Unit GetModifierHPRegenMultiplierPreAmplification
modifierIgnoreCastAngle val Int GetModifierIgnoreCastAngle
modifierIgnoreCooldown val Int GetModifierIgnoreCooldown
modifierIgnoreMovespeedLimit val Int GetModifierIgnoreMovespeedLimit
modifierIllusionLabel val Int GetModifierIllusionLabel
modifierInnateDamageBlockPctOverride val Unit GetModifierInnateDamageBlockPctOverride
modifierIntellectNone val Unit GetModifierIntellectNone
modifierInventorySlotRestricted val Unit GetModifierInventorySlotRestricted
modifierInvisibilityAttackBehaviorException val Unit GetModifierInvisibilityAttackBehaviorException
modifierInvisibilityLevel val Float GetModifierInvisibilityLevel
modifierIsPackRat val Unit GetModifierIsPackRat
modifierItemSellbackCost val Unit GetModifierItemSellbackCost
modifierKillStreakBonusGoldPercentage val Unit GetModifierKillStreakBonusGoldPercentage
modifierKnockbackAmplificationPercentage val Unit GetModifierKnockbackAmplification_Percentage
modifierLifestealRegenAmplifyPercentage val Unit GetModifierLifestealRegenAmplify_Percentage
modifierMagicalResistanceBaseReduction val Unit GetModifierMagicalResistanceBaseReduction
modifierMagicalResistanceBonusIllusions val Unit GetModifierMagicalResistanceBonusIllusions
modifierMagicalResistanceBonusUnique val Unit GetModifierMagicalResistanceBonusUnique
modifierManaBonus val Float GetModifierManaBonus
modifierManaDrainAmplifyPercentage val Unit GetModifierManaDrainAmplify_Percentage
modifierMaxAttackRange val Float GetModifierMaxAttackRange
modifierMinPhysicalArmor val Unit GetModifierMinPhysicalArmor
modifierMissPercentage val Float GetModifierMiss_Percentage
modifierMissPercentageTarget val Unit GetModifierMiss_Percentage_Target
modifierModelChange val String GetModifierModelChange
modifierModelScale val Float GetModifierModelScale
modifierModelScaleAnimateTime val Unit GetModifierModelScaleAnimateTime
modifierModelScaleConstant val Unit GetModifierModelScaleConstant
modifierModelScaleUseInOutEase val Unit GetModifierModelScaleUseInOutEase
modifierMoveSpeedAbsolute val Float GetModifierMoveSpeed_Absolute
modifierMoveSpeedAbsoluteMax val Unit GetModifierMoveSpeed_AbsoluteMax
modifierMoveSpeedAbsoluteMin val Float GetModifierMoveSpeed_AbsoluteMin
modifierMoveSpeedLimit val Float GetModifierMoveSpeed_Limit
modifierMoveSpeedMaxOverride val Unit GetModifierMoveSpeed_MaxOverride
modifierMoveSpeedMinOverride val Unit GetModifierMoveSpeed_MinOverride
modifierMoveSpeedBonusConstant val Float GetModifierMoveSpeedBonus_Constant
modifierMoveSpeedBonusConstantUnique val Unit GetModifierMoveSpeedBonus_Constant_Unique
modifierMoveSpeedBonusConstantUnique2 val Float GetModifierMoveSpeedBonus_Constant_Unique_2
modifierMoveSpeedBonusPercentage val Float GetModifierMoveSpeedBonus_Percentage
modifierMoveSpeedBonusPercentageUnique val Float GetModifierMoveSpeedBonus_Percentage_Unique
modifierMoveSpeedBonusSpecialBoots val Float GetModifierMoveSpeedBonus_Special_Boots
modifierMoveSpeedBonusSpecialBoots2 val Float GetModifierMoveSpeedBonus_Special_Boots_2
modifierMoveSpeedMaxBonusConstant val Unit GetModifierMoveSpeedMax_BonusConstant
modifierMoveSpeedOverride val Float GetModifierMoveSpeedOverride
modifierMoveSpeedPostMultiplierBonusConstant val Unit GetModifierMoveSpeedPostMultiplierBonus_Constant
modifierMoveSpeedReductionPercentage val Unit GetModifierMoveSpeedReductionPercentage
modifierMPRegenAmplifyPercentage val Float GetModifierMPRegenAmplify_Percentage
modifierMPRegenAmplifyPercentageUnique val Unit GetModifierMPRegenAmplify_Percentage_Unique
modifierMPRestoreAmplifyPercentage val Float GetModifierMPRestoreAmplify_Percentage Total amplify value is clamped to 0.
modifierNegativeEvasionConstant val Float GetModifierNegativeEvasion_Constant
modifierNeutralEnhancementOptions val Unit GetModifierNeutralEnhancementOptions
modifierNeutralTrinketOptions val Unit GetModifierNeutralTrinketOptions
modifierNoFreeTPScrollOnDeath val Unit GetModifierNoFreeTPScrollOnDeath
modifierNoVisionOfAttacker val Unit GetModifierNoVisionOfAttacker
modifierOverrideAttackDamage val Float GetModifierOverrideAttackDamage
modifierOverrideBaseDamage val Unit GetModifierOverrideBaseDamage
modifierOverrideCreepBounty val Unit GetModifierOverrideCreepBounty
modifierOverrideUntargetableFrom val Unit GetModifierOverrideUntargetableFrom
modifierOverrideUntargetableTo val Unit GetModifierOverrideUntargetableTo
modifierPercentageAttackAnimTime val Float GetModifierPercentageAttackAnimTime
modifierPercentageConvertExpToGold val Unit GetModifierPercentageConvertExpToGold
modifierPercentageDeathGoldCost val Unit GetModifierPercentageDeathGoldCost
modifierPercentageExpRateBoost val Float GetModifierPercentageExpRateBoost
modifierPercentageGoldRateBoost val Unit GetModifierPercentageGoldRateBoost
modifierPercentageKillAssistGoldBoost val Unit GetModifierPercentageKillAssistGoldBoost
modifierPercentageManacostStacking val Float GetModifierPercentageManacostStacking
modifierPercentageRespawnTime val Float GetModifierPercentageRespawnTime
modifierPersistentInvisibility val Float GetModifierPersistentInvisibility
modifierPhysicalConstantBlockBonus val Unit GetModifierPhysical_ConstantBlockBonus
modifierPhysicalConstantBlockSpecial val Float GetModifierPhysical_ConstantBlockSpecial
modifierPhysicalArmorBasePercentage val Float GetModifierPhysicalArmorBase_Percentage Values above 100% are ignored.
modifierPhysicalArmorBonusPost val Unit GetModifierPhysicalArmorBonusPost
modifierPhysicalArmorTotalPercentage val Unit GetModifierPhysicalArmorTotal_Percentage
modifierPhysicalDamageOutgoingPercentage val Unit GetModifierPhysicalDamageOutgoing_Percentage
modifierPreAttackBonusDamage val Float GetModifierPreAttack_BonusDamage
modifierPreAttackBonusDamageProc val Float GetModifierPreAttack_BonusDamage_Proc
modifierPreAttackBonusDamageTarget val Unit GetModifierPreAttack_BonusDamage_Target
modifierPreAttackDeadlyBlow val Unit GetModifierPreAttack_DeadlyBlow
modifierPreAttackTargetCriticalStrike val Float GetModifierPreAttack_Target_CriticalStrike
modifierPrereduceIncomingDamageMult val Unit GetModifierPrereduceIncomingDamage_Mult
modifierPreserveNeutralItemPassives val Unit GetModifierPreserveNeutralItemPassives
modifierProcAttackBonusDamageMagicalTarget val Unit GetModifierProcAttack_BonusDamage_Magical_Target
modifierProcAttackConvertPhysicalToMagical val Unit GetModifierProcAttack_ConvertPhysicalToMagical
modifierProjectileName val String GetModifierProjectileName
modifierProjectileSpeed val Float GetModifierProjectileSpeed
modifierProjectileSpeedBonus val Float GetModifierProjectileSpeedBonus
modifierProjectileSpeedBonusPercentage val Float GetModifierProjectileSpeedBonusPercentage
modifierProjectileSpeedTarget val Unit GetModifierProjectileSpeedTarget
modifierPropertyMagicalLifesteal val Unit GetModifierProperty_MagicalLifesteal
modifierPropertyPhysicalLifesteal val Unit GetModifierProperty_PhysicalLifesteal
modifierPropertyConsumableUseSpeed val Unit GetModifierPropertyConsumableUseSpeed
modifierPropertyForbidIllusions val Unit GetModifierPropertyForbidIllusions
modifierPropertyHealingAmplificationUnique val Unit GetModifierPropertyHealingAmplificationUnique
modifierPropertyManacostOverride val Unit GetModifierPropertyManacostOverride
modifierPropertyRestorationAmplification val Unit GetModifierPropertyRestorationAmplification
modifierPropertyRestorationAmplificationUnique val Unit GetModifierPropertyRestorationAmplificationUnique
modifierPropertySuppressInvalidMoveAttackOrders val Unit GetModifierPropertySuppressInvalidMoveAttackOrders
modifierPropertyUpgradeNeutralArtifacts val Unit GetModifierPropertyUpgradeNeutralArtifacts
modifierPropetyFailAttack val Unit GetModifierPropetyFailAttack
modifierProvidesFOWVision val Int GetModifierProvidesFOWVision
modifierRadarCooldownReduction val Float GetModifierRadarCooldownReduction
modifierScepter val Int GetModifierScepter Applies scepter when this property is active
modifierShard val Int GetModifierShard Applies shard when this property is active
modifierShareXPRune val Unit GetModifierShareXPRune
modifierSlowResistanceStacking val Unit GetModifierSlowResistance_Stacking
modifierSlowResistanceAppliesToAttacks val Unit GetModifierSlowResistanceAppliesToAttacks
modifierSpellAmplifyPercentageTarget val Unit GetModifierSpellAmplify_PercentageTarget
modifierSpellAmplifyPercentageUnique val Float GetModifierSpellAmplify_PercentageUnique
modifierSpellLifestealRegenAmplifyPercentage val Unit GetModifierSpellLifestealRegenAmplify_Percentage
modifierSpellLifestealRegenAmplifyPercentageUnique val Unit GetModifierSpellLifestealRegenAmplify_Percentage_Unique
modifierSpellRedirectTarget val Unit GetModifierSpellRedirectTarget
modifierSpellsRequireHP val Float GetModifierSpellsRequireHP
modifierStackingRespawnTime val Float GetModifierStackingRespawnTime
modifierStatusResistance val Float GetModifierStatusResistance
modifierStatusResistanceStacking val Float GetModifierStatusResistanceStacking
modifierStrongIllusion val Unit GetModifierStrongIllusion
modifierSuperIllusion val Int GetModifierSuperIllusion
modifierSuperIllusionWithItems val Unit GetModifierSuperIllusionWithItems
modifierSuperIllusionWithUltimate val Int GetModifierSuperIllusionWithUltimate
modifierSuppressFullscreenDeathFX val Unit GetModifierSuppressFullscreenDeathFX
modifierTempestDouble val Int GetModifierTempestDouble
modifierTickGoldMultiplier val Unit GetModifierTickGold_Multiplier
modifierTotalConstantBlockStacking val Unit GetModifierTotal_ConstantBlockStacking
modifierTotalPercentageManaRegen val Float GetModifierTotalPercentageManaRegen
modifierTurnRateOverride val Float GetModifierTurnRate_Override
modifierTurnRatePercentage val Float GetModifierTurnRate_Percentage
modifierTurnRateConstant val Float GetModifierTurnRateConstant
modifierUnitDisllowUpgrading val Int GetModifierUnitDisllowUpgrading
modifierUnitStatsNeedsRefresh val Int GetModifierUnitStatsNeedsRefresh
modifierXPDuringDeath val Unit GetModifierXPDuringDeath
modifierXPFountainCountdownTimeOverride val Unit GetModifierXPFountainCountdownTimeOverride
modofierPropertyPseudoRandomBonus val Unit GetModofierPropertyPseudoRandomBonus
overrideAnimation val GameActivity GetOverrideAnimation
overrideAnimationRate val Float GetOverrideAnimationRate
overrideAttackMagical val Int GetOverrideAttackMagical
physicalArmorPiercingPercentageTarget val Unit GetPhysicalArmorPiercingPercentageTarget
primaryStatDamageMultiplier val Float GetPrimaryStatDamageMultiplier
redirectSpell val Unit GetRedirectSpell
requiredLevel val Unit GetRequiredLevel
skipAttackRegulator val Unit GetSkipAttackRegulator
suppressAttackProcs val Unit GetSuppressAttackProcs
suppressCrit val Unit GetSuppressCrit
suppressIncomingCrit val Unit GetSuppressIncomingCrit
suppressTeleport val Int GetSuppressTeleport
tierTokenReroll val Unit GetTierTokenReroll
triggerCosmeticAndEndAttack val Unit GetTriggerCosmeticAndEndAttack
unitLifetimeFraction val Float GetUnitLifetimeFraction
visionDegreeRestriction val Unit GetVisionDegreeRestriction
visualZDelta val Float GetVisualZDelta
visualZSpeedBaseOverride val Unit GetVisualZSpeedBaseOverride
hasBonusNeutralItemPassive val Unit HasBonusNeutralItemPassive

Methods

Method Return Type Native Name Description
allowIllusionDuplicate() Boolean AllowIllusionDuplicate True/false if this modifier is active on illusions.
getAuraEntityReject(entity: BaseNPC) Boolean GetAuraEntityReject Return true/false if this entity should receive the aura under specific conditions.
heroEffectPriority() Modifierpriority HeroEffectPriority Relationship of this hero effect with those from other buffs (higher is more likely to be shown).
onCreated(params: Any) Unit OnCreated Runs when the modifier is created.
onDestroy() Unit OnDestroy Runs when the modifier is destroyed (after unit loses modifier).
onIntervalThink() Unit OnIntervalThink Runs when the think interval occurs.
onRefresh(params: Any) Unit OnRefresh Runs when the modifier is refreshed.
onRemoved(death: Boolean) Unit OnRemoved Runs when the modifier is destroyed (before unit loses modifier).
onStackCountChanged(stackCount: Int) Unit OnStackCountChanged Runs when stack count changes (param is old count).
removeOnDeath() Boolean RemoveOnDeath True/false if this modifier is removed when the parent dies.
setHasCustomTransmitterData(hasCustomData: Boolean) Unit SetHasCustomTransmitterData
statusEffectPriority() Modifierpriority StatusEffectPriority Relationship of this status effect with those from other buffs (higher is more likely to be shown).
botAttackScoreBonus() Unit BotAttackScoreBonus
checkState() Map<Modifierstate, Boolean> CheckState Return a map of enabled/disabled states.
declareFunctions() Array<Modifierfunction> DeclareFunctions Return a list of modifier functions this modifier implements.
getAbsoluteNoDamageMagical(event: ModifierAttackEvent) Int GetAbsoluteNoDamageMagical
getAbsoluteNoDamagePhysical(event: ModifierAttackEvent) Int GetAbsoluteNoDamagePhysical
getAbsoluteNoDamagePure(event: ModifierAttackEvent) Int GetAbsoluteNoDamagePure
getAbsorbSpell(event: ModifierAbilityEvent) Int GetAbsorbSpell
getModifierAvoidDamage(event: ModifierAttackEvent) Float GetModifierAvoidDamage
getModifierAvoidDamageAfterReductions(event: ModifierAttackEvent) Float GetModifierAvoidDamageAfterReductions
getModifierAvoidSpell(event: ModifierAttackEvent) Int GetModifierAvoidSpell
getModifierBaseDamageOutgoingPercentage(event: ModifierAttackEvent) Float GetModifierBaseDamageOutgoing_Percentage
getModifierBaseDamageOutgoingPercentageUnique(event: ModifierAttackEvent) Float GetModifierBaseDamageOutgoing_PercentageUnique
getModifierCastRangeBonus(event: ModifierAbilityEvent) Float GetModifierCastRangeBonus
getModifierCastRangeBonusPercentage(event: ModifierAbilityEvent) Float GetModifierCastRangeBonusPercentage
getModifierCastRangeBonusStacking(event: ModifierAbilityEvent) Float GetModifierCastRangeBonusStacking
getModifierCastRangeBonusTarget(event: ModifierAbilityEvent) Float GetModifierCastRangeBonusTarget
getModifierCooldownReductionConstant(event: ModifierAbilityEvent) Float GetModifierCooldownReduction_Constant
getModifierDamageOutgoingPercentage(event: ModifierAttackEvent) Float GetModifierDamageOutgoing_Percentage
getModifierDamageOutgoingPercentageIllusion(event: ModifierAttackEvent) Float GetModifierDamageOutgoing_Percentage_Illusion
getModifierEvasionConstant(event: ModifierAttackEvent) Float GetModifierEvasion_Constant
getModifierHealthBarPips(event: ModifierAttackEvent) Float GetModifierHealthBarPips Return value is a count of pips.
getModifierIgnorePhysicalArmor(event: ModifierAttackEvent) Float GetModifierIgnorePhysicalArmor
getModifierIncomingDamagePercentage(event: ModifierAttackEvent) Float GetModifierIncomingDamage_Percentage
getModifierIncomingDamageConstant(event: ModifierAttackEvent) Float GetModifierIncomingDamageConstant This property controls 'universal' shield, if defined both on client and server. Return value on client should be current shield health, as a positive integer, on server - amount of damage blocked.
getModifierIncomingPhysicalDamagePercentage(event: ModifierAttackEvent) Float GetModifierIncomingPhysicalDamage_Percentage
getModifierIncomingPhysicalDamageConstant(event: ModifierAttackEvent) Float GetModifierIncomingPhysicalDamageConstant This property controls 'physical' shield, if defined both on client and server. Return value on client should be current shield health, as a positive integer, on server - amount of damage blocked.
getModifierIncomingSpellDamageConstant(event: ModifierAttackEvent) Float GetModifierIncomingSpellDamageConstant This property controls 'spell' shield, if defined both on client and server. Return value on client should be current shield health, as a positive integer, on server - amount of damage blocked.
getModifierMagicalConstantBlock(event: ModifierAttackEvent) Float GetModifierMagical_ConstantBlock
getModifierMagicalResistanceBonus(event: ModifierAttackEvent) Float GetModifierMagicalResistanceBonus
getModifierMagicalResistanceDecrepifyUnique(event: ModifierAttackEvent) Float GetModifierMagicalResistanceDecrepifyUnique
getModifierMagicalResistanceDirectModification(event: ModifierAttackEvent) Float GetModifierMagicalResistanceDirectModification
getModifierManacostReductionConstant(event: ModifierAbilityEvent) Float GetModifierManacostReduction_Constant
getModifierOverrideAbilitySpecial(event: ModifierOverrideAbilitySpecialEvent) Int GetModifierOverrideAbilitySpecial
getModifierOverrideAbilitySpecialValue(event: ModifierOverrideAbilitySpecialEvent) Float GetModifierOverrideAbilitySpecialValue
getModifierPercentageCasttime(event: ModifierAbilityEvent) Float GetModifierPercentageCasttime
getModifierPercentageCooldown(event: ModifierAbilityEvent) Float GetModifierPercentageCooldown
getModifierPercentageCooldownOngoing(event: ModifierAbilityEvent) Float GetModifierPercentageCooldownOngoing
getModifierPercentageCooldownStacking(event: ModifierAbilityEvent) Float GetModifierPercentageCooldownStacking
getModifierPercentageHealthcost(event: ModifierAbilityEvent) Float GetModifierPercentageHealthcost
getModifierPercentageHealthcostStacking(event: ModifierAbilityEvent) Float GetModifierPercentageHealthcostStacking
getModifierPercentageManacost(event: ModifierAbilityEvent) Float GetModifierPercentageManacost
getModifierPhysicalConstantBlock(event: ModifierAttackEvent) Float GetModifierPhysical_ConstantBlock
getModifierPhysicalConstantBlockUnavoidablePreArmor(event: ModifierAttackEvent) Float GetModifierPhysical_ConstantBlockUnavoidablePreArmor
getModifierPhysicalArmorBonus(event: ModifierAttackEvent) Float GetModifierPhysicalArmorBonus
getModifierPhysicalArmorBonusUnique(event: ModifierAttackEvent) Float GetModifierPhysicalArmorBonusUnique
getModifierPhysicalArmorBonusUniqueActive(event: ModifierAttackEvent) Float GetModifierPhysicalArmorBonusUniqueActive
getModifierPreAttack(event: ModifierAttackEvent) Float GetModifierPreAttack
getModifierPreAttackBonusDamagePostCrit(event: ModifierAttackEvent) Float GetModifierPreAttack_BonusDamagePostCrit
getModifierPreAttackCriticalStrike(event: ModifierAttackEvent) Float GetModifierPreAttack_CriticalStrike
getModifierProcAttackBonusDamageMagical(event: ModifierAttackEvent) Float GetModifierProcAttack_BonusDamage_Magical
getModifierProcAttackBonusDamagePhysical(event: ModifierAttackEvent) Float GetModifierProcAttack_BonusDamage_Physical
getModifierProcAttackBonusDamagePure(event: ModifierAttackEvent) Float GetModifierProcAttack_BonusDamage_Pure
getModifierProcAttackFeedback(event: ModifierAttackEvent) Float GetModifierProcAttack_Feedback
gEtModifierSlowResistanceUnique() Unit GEtModifierSlowResistance_Unique
getModifierSpellAmplifyPercentage(event: ModifierAttackEvent) Float GetModifierSpellAmplify_Percentage
getModifierStatusResistanceCaster(event: ModifierUnitEvent) Float GetModifierStatusResistanceCaster
getModifierTotalConstantBlock(event: ModifierAttackEvent) Float GetModifierTotal_ConstantBlock
getModifierTotalDamageOutgoingPercentage(event: ModifierAttackEvent) Float GetModifierTotalDamageOutgoing_Percentage
getReflectSpell(event: ModifierAbilityEvent) Int GetReflectSpell
getSuppressCleave(event: ModifierAttackEvent) Int GetSuppressCleave
minAttributeLevel() Unit MinAttributeLevel
modifierPropertyIncomingDamageConstantPost() Unit MODIFIER_PROPERTY_INCOMING_DAMAGE_CONSTANT_POST
onAbilityEndChannel(event: ModifierAbilityEvent) Unit OnAbilityEndChannel
onAbilityExecuted(event: ModifierAbilityEvent) Unit OnAbilityExecuted
onAbilityFullyCast(event: ModifierAbilityEvent) Unit OnAbilityFullyCast
onAbilityStart(event: ModifierAbilityEvent) Unit OnAbilityStart
onAbilitySwapped(event: ModifierAbilityEvent) Unit OnAbilitySwapped
onAbilityToggled(event: ModifierAbilityEvent) Unit OnAbilityToggled
onAssist(event: ModifierUnitEvent) Unit OnAssist
onAttack(event: ModifierAttackEvent) Unit OnAttack
onAttackAllied(event: ModifierAttackEvent) Unit OnAttackAllied Happens even if attack can't be issued.
onAttackCancelled(event: ModifierAttackEvent) Unit OnAttackCancelled
onAttacked(event: ModifierAttackEvent) Unit OnAttacked
onAttackFail(event: ModifierAttackEvent) Unit OnAttackFail
onAttackFinished(event: ModifierAttackEvent) Unit OnAttackFinished
onAttackLanded(event: ModifierAttackEvent) Unit OnAttackLanded
onAttackRecord(event: ModifierAttackEvent) Unit OnAttackRecord
onAttackRecordDestroy(event: ModifierAttackEvent) Unit OnAttackRecordDestroy
onAttackStart(event: ModifierAttackEvent) Unit OnAttackStart
onAttemptProjectileDodge() Unit OnAttemptProjectileDodge
onBreakInvisibility() Unit OnBreakInvisibility
onBuildingKilled(event: ModifierInstanceEvent) Unit OnBuildingKilled
onCleaveAttackLanded() Unit OnCleaveAttackLanded
onDamageCalculated(event: ModifierAttackEvent) Unit OnDamageCalculated
onDamageHPLoss(event: ModifierAttackEvent) Unit OnDamageHPLoss
onDamagePrevented(event: ModifierAttackEvent) Unit OnDamagePrevented
onDayStarted() Unit OnDayStarted
onDeath(event: ModifierInstanceEvent) Unit OnDeath
onDeathCompleted(event: ModifierInstanceEvent) Unit OnDeathCompleted
onDominated(event: ModifierUnitEvent) Unit OnDominated
onForceProcMagicStick() Unit OnForceProcMagicStick
onFoWTeamChanged() Unit OnFoWTeamChanged
onHealReceived(event: ModifierHealEvent) Unit OnHealReceived
onHealthGained(event: ModifierHealEvent) Unit OnHealthGained
onHeroBeginDying(event: ModifierAttackEvent) Unit OnHeroBeginDying
onHeroKilled(event: ModifierAttackEvent) Unit OnHeroKilled
onIllusionCreated(event: ModifierUnitEvent) Unit OnIllusionCreated
onKill(event: ModifierUnitEvent) Unit OnKill
onKnockbackAttempted() Unit OnKnockbackAttempted
onMagicDamageCalculated(event: ModifierAttackEvent) Unit OnMagicDamageCalculated
onManaGained(event: ModifierUnitEvent) Unit OnManaGained
onModelChanged(event: ModifierUnitEvent) Unit OnModelChanged
onModifierAdded(event: ModifierAddedEvent) Unit OnModifierAdded
onModifierRefreshed(event: ModifierAddedEvent) Unit OnModifierRefreshed
onModifierRemoved(event: ModifierAddedEvent) Unit OnModifierRemoved
onMuteDamageAbilities() Unit OnMuteDamageAbilities
onNightStarted() Unit OnNightStarted
onOrder(event: ModifierUnitEvent) Unit OnOrder
onOrderReceived() Unit OnOrderReceived
onProcessCleave() Unit OnProcessCleave
onProjectileDodge(event: ModifierAttackEvent) Unit OnProjectileDodge
onProjectileObstructionHit() Unit OnProjectileObstructionHit
onPureDamageCalculated() Unit OnPureDamageCalculated
onPurged(event: ModifierUnitEvent) Unit OnPurged
onRespawn(event: ModifierUnitEvent) Unit OnRespawn
onRuneSpawn(event: ModifierUnitEvent) Unit OnRuneSpawn
onScepterUpgradeSelected() Unit OnScepterUpgradeSelected
onSetLocation(event: ModifierUnitEvent) Unit OnSetLocation
onShardUpgradeSelected() Unit OnShardUpgradeSelected
onSpellAppliedSuccessfully(event: ModifierAbilityEvent) Unit OnSpellAppliedSuccessfully
onSpellTargetReady() Unit OnSpellTargetReady
onSpentHealth(event: ModifierAbilityEvent) Unit OnSpentHealth
onSpentItemCharge() Unit OnSpentItemCharge
onSpentMana(event: ModifierAbilityEvent) Unit OnSpentMana
onStateChanged(event: ModifierUnitEvent) Unit OnStateChanged
onTakeDamage(event: ModifierInstanceEvent) Unit OnTakeDamage
onTakeDamageKillCredit(event: ModifierAttackEvent) Unit OnTakeDamageKillCredit
onTakeDamagePostUnavoidableBlock() Unit OnTakeDamagePostUnavoidableBlock
onTeleported(event: ModifierUnitEvent) Unit OnTeleported
onTeleporting(event: ModifierUnitEvent) Unit OnTeleporting
onTierTokenRerolled() Unit OnTierTokenRerolled
onTooltip() Float OnTooltip
onTooltip2() Float OnTooltip2
onTreeCutDown(event: ModifierUnitEvent) Unit OnTreeCutDown
onUnitMoved(event: ModifierUnitEvent) Unit OnUnitMoved
preserveParticlesOnModelChanged() Int PreserveParticlesOnModelChanged
reincarnateSuppressFX() Unit ReincarnateSuppressFX
reincarnateTime() Float ReincarnateTime

ModifierLuaHorizontalMotion

Native name: CDOTA_Modifier_Lua_Horizontal_Motion

Extends: ModifierLua

Methods

Method Return Type Native Name Description
applyHorizontalMotionController() Boolean ApplyHorizontalMotionController Starts the horizontal motion controller effects for this buff. Returns true if successful.
onHorizontalMotionInterrupted() Unit OnHorizontalMotionInterrupted Called when the motion gets interrupted.
updateHorizontalMotion(me: BaseNPC, dt: Float,) Unit UpdateHorizontalMotion Perform any motion from the given interval on the NPC.

ModifierLuaMotionBoth

Native name: CDOTA_Modifier_Lua_Motion_Both

Extends: ModifierLua

Methods

Method Return Type Native Name Description
applyHorizontalMotionController() Boolean ApplyHorizontalMotionController Starts the horizontal motion controller effects for this buff. Returns true if successful.
applyVerticalMotionController() Boolean ApplyVerticalMotionController Starts the vertical motion controller effects for this buff. Returns true if successful.
onHorizontalMotionInterrupted() Unit OnHorizontalMotionInterrupted Called when the motion gets interrupted.
onVerticalMotionInterrupted() Unit OnVerticalMotionInterrupted Called when the motion gets interrupted.
updateHorizontalMotion(me: BaseNPC, dt: Float,) Unit UpdateHorizontalMotion Perform any motion from the given interval on the NPC.
updateVerticalMotion(me: BaseNPC, dt: Float,) Unit UpdateVerticalMotion Perform any motion from the given interval on the NPC.

ModifierLuaVerticalMotion

Native name: CDOTA_Modifier_Lua_Vertical_Motion

Extends: ModifierLua

Properties

Property Type Native Name Description
motionPriority var Modifierpriority GetMotionPriority / SetMotionPriority Get the priority.

Methods

Method Return Type Native Name Description
applyVerticalMotionController() Boolean ApplyVerticalMotionController Starts the vertical motion controller effects for this buff. Returns true if successful.
onVerticalMotionInterrupted() Unit OnVerticalMotionInterrupted Called when the motion gets interrupted.
updateVerticalMotion(me: BaseNPC, dt: Float,) Unit UpdateVerticalMotion Perform any motion from the given interval on the NPC.

NeutralSpawner

Native name: CDOTA_NeutralSpawner

Extends: CPointEntity

Methods

Method Return Type Native Name Description
createPendingUnits() Unit CreatePendingUnits
selectSpawnType() Unit SelectSpawnType
spawnNextBatch(ignoreBlockers: Boolean) Unit SpawnNextBatch

PlayerResourceType

Native name: CDOTA_PlayerResource

Extends: CBaseEntity

Properties

Property Type Native Name Description
numConnectedHumanPlayers val Int GetNumConnectedHumanPlayers Players on a valid team (radiant, dire, or custom*) who haven't abandoned the game.
playerCount val Int GetPlayerCount Includes spectators and players not assigned to a team.
teamPlayerCount val Int GetTeamPlayerCount (Deprecated: use GetNumConnectedHumanPlayers) Players on a valid team (radiant, dire, or custom*) who haven't abandoned the game.
hasSetNetworkedEventActionClaimCount val Boolean HasSetNetworkedEventActionClaimCount

Methods

Method Return Type Native Name Description
addAegisPickup(playerId: PlayerID) Unit AddAegisPickup
addCandyEvent(playerId: PlayerID, reason: Int,) Unit AddCandyEvent
addClaimedFarm(playerId: PlayerID, farmValue: Float, earnedValue: Boolean,) Unit AddClaimedFarm
addGoldSpentOnSupport(playerId: PlayerID, cost: Int,) Unit AddGoldSpentOnSupport
addNeutralItemToStash(playerId: PlayerID, teamNumber: DOTATeam, item: Item,) Unit AddNeutralItemToStash
addRunePickup(playerId: PlayerID, runes: Int,) Unit AddRunePickup
areUnitsSharedWithPlayerID(unitOwnerPlayerId: PlayerID, otherPlayerId: PlayerID,) Boolean AreUnitsSharedWithPlayerID
canRepick(playerId: PlayerID) Boolean CanRepick
clearKillsMatrix(playerId: PlayerID) Unit ClearKillsMatrix
clearLastHitMultikill(playerId: PlayerID) Unit ClearLastHitMultikill
clearLastHitStreak(playerId: PlayerID) Unit ClearLastHitStreak
clearPlayer(playerId: PlayerID) Unit ClearPlayer
clearRawPlayerDamageMatrix(playerId: PlayerID) Unit ClearRawPlayerDamageMatrix
clearStreak(playerId: PlayerID) Unit ClearStreak
getAegisPickups(playerId: PlayerID) Int GetAegisPickups
getAssists(playerId: PlayerID) Int GetAssists
getBroadcasterChannel(playerId: PlayerID) UInt GetBroadcasterChannel
getBroadcasterChannelSlot(playerId: PlayerID) UInt GetBroadcasterChannelSlot
getClaimedDenies(playerId: PlayerID) Int GetClaimedDenies
getClaimedFarm(playerId: PlayerID, onlyEarned: Boolean,) Float GetClaimedFarm
getClaimedMisses(playerId: PlayerID) Int GetClaimedMisses
getConnectionState(playerId: PlayerID) DOTAConnectionState GetConnectionState
getCreepDamageTaken(playerId: PlayerID, total: Boolean,) Float GetCreepDamageTaken
getCustomBuybackCooldown(playerId: PlayerID) Float GetCustomBuybackCooldown
getCustomBuybackCost(playerId: PlayerID) Int GetCustomBuybackCost
getCustomTeamAssignment(playerId: PlayerID) Int GetCustomTeamAssignment Get the current custom team assignment for this player.
getDamageDoneToHero(playerId: PlayerID, victimId: PlayerID,) Float GetDamageDoneToHero
getDeaths(playerId: PlayerID) Int GetDeaths
getDenies(playerId: PlayerID) Int GetDenies
getEventGameUpgrades(playerId: PlayerID) Any GetEventGameUpgrades (nPlayerID).
getEventPointsForPlayerID(playerId: PlayerID) UInt GetEventPointsForPlayerID
getEventPremiumPoints(playerId: PlayerID) UInt GetEventPremiumPoints
getEventRanks(playerId: PlayerID) Any GetEventRanks
getGold(playerId: PlayerID) Int GetGold
getGoldLostToDeath(playerId: PlayerID) Int GetGoldLostToDeath
getGoldPerMin(playerId: PlayerID) Float GetGoldPerMin
getGoldSpentOnBuybacks(playerId: PlayerID) Int GetGoldSpentOnBuybacks
getGoldSpentOnConsumables(playerId: PlayerID) Int GetGoldSpentOnConsumables
getGoldSpentOnItems(playerId: PlayerID) Int GetGoldSpentOnItems
getGoldSpentOnSupport(playerId: PlayerID) Int GetGoldSpentOnSupport
getHealing(playerId: PlayerID) Float GetHealing
getHeroDamageTaken(playerId: PlayerID, total: Boolean,) Float GetHeroDamageTaken
getKills(playerId: PlayerID) Int GetKills
getKillsDoneToHero(playerId: PlayerID, victimId: PlayerID,) Int GetKillsDoneToHero
getLabyrinthEventGameHeroUnlocks(playerId: PlayerID) Any GetLabyrinthEventGameHeroUnlocks (nPlayerID).
getLastHitMultikill(playerId: PlayerID) Int GetLastHitMultikill
getLastHits(playerId: PlayerID) Int GetLastHits
getLastHitStreak(playerId: PlayerID) Int GetLastHitStreak
getLevel(playerId: PlayerID) Int GetLevel
getLiveSpectatorTeam(playerId: PlayerID) DOTATeam GetLiveSpectatorTeam
getMisses(playerId: PlayerID) Int GetMisses
getNearbyCreepDeaths(playerId: PlayerID) Int GetNearbyCreepDeaths
getNetworkedEventActionClaimCount(playerId: PlayerID, eventId: Int, actionId: UInt,) Int GetNetworkedEventActionClaimCount
getNetworkedEventActionClaimCountByName(playerId: PlayerID, eventId: Int, actionName: String,) Int GetNetworkedEventActionClaimCountByName
getNetWorth(playerId: PlayerID) Int GetNetWorth
getNthCourierForTeam(courierIndex: Int, teamNumber: DOTATeam,) UnitCourier? GetNthCourierForTeam
getNthPlayerIDOnTeam(teamNumber: DOTATeam, nthPlayer: Int,) PlayerID GetNthPlayerIDOnTeam
getNumConsumablesPurchased(playerId: PlayerID) Int GetNumConsumablesPurchased
getNumCouriersForTeam(teamNumber: DOTATeam) Int GetNumCouriersForTeam
getNumItemsPurchased(playerId: PlayerID) Int GetNumItemsPurchased
getPartyID(playerId: PlayerID) Uint64 GetPartyID
getPlayer(playerId: PlayerID) PlayerController? GetPlayer Returns player entity for a player with specified id. Player entity represents a single connection, so a different entity might be returned. When player is disconnected nil would be returned.
getPlayerCountForTeam(team: DOTATeam) Int GetPlayerCountForTeam
getPlayerLoadedCompletely(playerId: PlayerID) Boolean GetPlayerLoadedCompletely
getPlayerName(playerId: PlayerID) String GetPlayerName
getPreferredCourierForPlayer(playerId: PlayerID) Any GetPreferredCourierForPlayer
getRawPlayerDamage(playerId: PlayerID) Float GetRawPlayerDamage
getReliableGold(playerId: PlayerID) Int GetReliableGold
getRespawnSeconds(playerId: PlayerID) Int GetRespawnSeconds
getRoshanKills(playerId: PlayerID) Int GetRoshanKills
getRunePickups(playerId: PlayerID) Int GetRunePickups
getSelectedHeroEntity(playerId: PlayerID) BaseNPCHero? GetSelectedHeroEntity
getSelectedHeroID(playerId: PlayerID) Int GetSelectedHeroID
getSelectedHeroName(playerId: PlayerID) String GetSelectedHeroName
getSteamAccountID(playerId: PlayerID) UInt GetSteamAccountID
getSteamID(playerId: PlayerID) Uint64 GetSteamID Get the 64 bit steam ID for a given player.
getStreak(playerId: PlayerID) Int GetStreak
getStuns(playerId: PlayerID) Float GetStuns
getTeam(playerId: PlayerID) DOTATeam GetTeam
getTeamKills(team: DOTATeam) Int GetTeamKills
getTimeOfLastConsumablePurchase(playerId: PlayerID) Float GetTimeOfLastConsumablePurchase
getTimeOfLastDeath(playerId: PlayerID) Float GetTimeOfLastDeath
getTimeOfLastItemPurchase(playerId: PlayerID) Float GetTimeOfLastItemPurchase
getTotalEarnedGold(playerId: PlayerID) Int GetTotalEarnedGold
getTotalEarnedXP(playerId: PlayerID) Int GetTotalEarnedXP
getTotalGoldSpent(playerId: PlayerID) Int GetTotalGoldSpent
getTowerDamageTaken(playerId: PlayerID, total: Boolean,) Float GetTowerDamageTaken
getTowerKills(playerId: PlayerID) Int GetTowerKills
getUnitShareMaskForPlayer(playerId: PlayerID, otherPlayerId: PlayerID,) Int GetUnitShareMaskForPlayer
getUnreliableGold(playerId: PlayerID) Int GetUnreliableGold
getXPPerMin(playerId: PlayerID) Float GetXPPerMin
hasCustomGameTicketForPlayerID(playerId: PlayerID) Boolean HasCustomGameTicketForPlayerID Does this player have a custom game ticket for this game?
hasRandomed(playerId: PlayerID) Boolean HasRandomed
hasSelectedHero(playerId: PlayerID) Boolean HasSelectedHero
haveAllPlayersJoined() Boolean HaveAllPlayersJoined
incrementAssists(playerId: PlayerID, victimId: PlayerID,) Unit IncrementAssists
incrementClaimedDenies(playerId: PlayerID, value: Int,) Unit IncrementClaimedDenies
incrementClaimedMisses(playerId: PlayerID, value: Int,) Unit IncrementClaimedMisses
incrementDeaths(playerId: PlayerID, killerId: PlayerID,) Unit IncrementDeaths
incrementDenies(playerId: PlayerID, value: Int,) Unit IncrementDenies
incrementKills(playerId: PlayerID, victimId: PlayerID,) Unit IncrementKills
incrementLastHitMultikill(playerId: PlayerID, count: Int,) Unit IncrementLastHitMultikill
incrementLastHits(playerId: PlayerID, count: Int,) Unit IncrementLastHits
incrementLastHitStreak(playerId: PlayerID, count: Int,) Unit IncrementLastHitStreak
incrementMisses(playerId: PlayerID, value: Int,) Unit IncrementMisses
incrementNearbyCreepDeaths(playerId: PlayerID, creeps: Int,) Unit IncrementNearbyCreepDeaths
incrementStreak(playerId: PlayerID, count: Int,) Unit IncrementStreak
incrementTotalEarnedXP(playerId: PlayerID, xp: Int, reason: ModifyXPReason,) Unit IncrementTotalEarnedXP
isBroadcaster(playerId: PlayerID) Boolean IsBroadcaster
isDisableHelpSetForPlayerID(playerId: PlayerID, otherPlayerId: PlayerID,) Boolean IsDisableHelpSetForPlayerID
isFakeClient(playerId: PlayerID) Boolean IsFakeClient
isHeroSelected(heroname: String, ignoreUnrevealedPick: Boolean,) Boolean IsHeroSelected
isHeroSharedWithPlayerID(unitOwnerPlayerId: PlayerID, otherPlayerId: PlayerID,) Boolean IsHeroSharedWithPlayerID
isValidPlayer(playerId: Int) Boolean IsValidPlayer
isValidPlayerID(playerId: Int) Boolean IsValidPlayerID
isValidTeamPlayer(playerId: Int) Boolean IsValidTeamPlayer
isValidTeamPlayerID(playerId: Int) Boolean IsValidTeamPlayerID
modifyGold(playerId: PlayerID, goldChange: Int, reliable: Boolean, reason: ModifyGoldReason,) Int ModifyGold
numPlayers() Int NumPlayers
numTeamPlayers() Int NumTeamPlayers
recordConsumableAbilityChargeChange(playerId: PlayerID, itemDefinitionIndex: Int, chargeIncrementOrDecrement: Int,) Unit RecordConsumableAbilityChargeChange Increment or decrement consumable charges (nPlayerID, item_definition_index, nChargeIncrementOrDecrement).
recordEventActionGrant(playerId: PlayerID, event: Int, actionId: Int, audit: Int, quantity: UInt, auditData: UInt,) Unit RecordEventActionGrant
recordEventActionGrantForPrimaryEvent(playerId: PlayerID, actionName: String, audit: Int, quantity: UInt, auditData: UInt,) Unit RecordEventActionGrantForPrimaryEvent
replaceHeroWith(playerId: PlayerID, heroClass: String, gold: Int, xp: Int,) BaseNPCHero ReplaceHeroWith Replaces the player's hero with a new one of the specified class, gold and XP.
replaceHeroWithNoTransfer(playerId: PlayerID, heroClass: String, gold: Int, xp: Int,) Any ReplaceHeroWithNoTransfer Replaces the player's hero with a new one of the specified class, gold and XP, without transferring items/abilities if same hero.
resetBuybackCostTime(playerId: PlayerID) Unit ResetBuybackCostTime
resetTotalEarnedGold(playerId: PlayerID) Unit ResetTotalEarnedGold
setBuybackCooldownTime(playerId: PlayerID, buybackCooldown: Float,) Unit SetBuybackCooldownTime
setBuybackGoldLimitTime(playerId: PlayerID, buybackCooldown: Float,) Unit SetBuybackGoldLimitTime
setCameraTarget(playerId: PlayerID, target: CBaseEntity?,) Unit SetCameraTarget Force the given player's camera to follow the given entity.
setCanRepick(playerId: PlayerID, canRepick: Boolean,) Unit SetCanRepick
setCustomBuybackCooldown(playerId: PlayerID, cooldownTime: Float,) Unit SetCustomBuybackCooldown Set the buyback cooldown for this player.
setCustomBuybackCost(playerId: PlayerID, goldCost: Int,) Unit SetCustomBuybackCost Set the buyback cost for this player.
setCustomIntParam(playerId: PlayerID, param: Int,) Unit SetCustomIntParam
setCustomPlayerColor(playerId: PlayerID, r: Int, g: Int, b: Int,) Unit SetCustomPlayerColor Set custom color for player.
setCustomTeamAssignment(playerId: PlayerID, teamAssignment: DOTATeam,) Unit SetCustomTeamAssignment Set custom team assignment for this player.
setGold(playerId: PlayerID, gold: Int, reliable: Boolean,) Unit SetGold
setHasRandomed(playerId: PlayerID) Unit SetHasRandomed
setLastBuybackTime(playerId: PlayerID, lastBuybackTime: Float,) Unit SetLastBuybackTime
setOverrideSelectionEntity(playerId: PlayerID, entity: BaseNPC,) Unit SetOverrideSelectionEntity Set the forced selection entity for a player.
setUnitShareMaskForPlayer(playerId: PlayerID, otherPlayerId: PlayerID, flag: Int, state: Boolean,) Unit SetUnitShareMaskForPlayer
spendGold(playerId: PlayerID, cost: Int, reason: ModifyGoldReason,) Unit SpendGold
updateTeamSlot(playerId: PlayerID, teamNumber: DOTATeam, desiredSlot: Int,) Unit UpdateTeamSlot
whoSelectedHero(heroFilename: String, ignoreUnrevealedPick: Boolean,) PlayerID WhoSelectedHero

ShopTrigger

Native name: CDOTA_ShopTrigger

Extends: CBaseTrigger

Properties

Property Type Native Name Description
shopType var DotaShopType GetShopType / SetShopType Get the DOTA_SHOP_TYPE.

SimpleObstruction

Native name: CDOTA_SimpleObstruction

Extends: CBaseEntity

Properties

Property Type Native Name Description
isEnabled val Boolean IsEnabled Returns whether the obstruction is currently active.

Methods

Method Return Type Native Name Description
setEnabled(enabled: Boolean, force: Boolean,) Unit SetEnabled Enable or disable the obstruction.

UnitCourier

Native name: CDOTA_Unit_Courier

Extends: BaseNPC

Methods

Method Return Type Native Name Description
respawnCourier() Unit RespawnCourier Respawn the courier.
upgradeCourier(level: Int) Unit UpgradeCourier Upgrade the courier ( int param ) times.

UnitCustomGameAnnouncer

Native name: CDOTA_Unit_CustomGameAnnouncer

Extends: BaseNPC

Methods

Method Return Type Native Name Description
setServerAuthoritative(isServerAuthoritative: Boolean) Unit SetServerAuthoritative Determines whether response criteria is matched on server or client.

UnitCustomGameAnnouncerAghanim

Native name: CDOTA_Unit_CustomGameAnnouncerAghanim

Extends: BaseNPC

Methods

Method Return Type Native Name Description
setAnimation(animation: String) Unit SetAnimation Set the animation sequence for this entity.
setServerAuthoritative(isServerAuthoritative: Boolean) Unit SetServerAuthoritative Determines whether response criteria is matched on server or client.

UnitNian

Native name: CDOTA_Unit_Nian

Extends: BaseNPCCreature

Properties

Property Type Native Name Description
horn val Any GetHorn Is the Nian horn?
tail val Any GetTail Is the Nian's tail broken?
isHornAlive val Boolean IsHornAlive Is the Nian's horn broken?
isTailAlive val Boolean IsTailAlive Is the Nian's tail broken?

UnitScout

Native name: CDOTA_Unit_Scout

Extends: BaseNPC


BaseAbility

Native name: CDOTABaseAbility

Extends: CBaseEntity

Properties

Property Type Native Name Description
canAbilityBeUpgraded val Boolean CanAbilityBeUpgraded
abilityDamage val Int GetAbilityDamage
abilityDamageType val DamageTypes GetAbilityDamageType
abilityIndex var Int GetAbilityIndex / SetAbilityIndex
abilityKeyValues val Any GetAbilityKeyValues Gets the key values definition for this ability.
abilityName val String GetAbilityName Returns the name of this ability.
abilityTargetFlags val DotaUnitTargetFlags GetAbilityTargetFlags
abilityTargetTeam val DotaUnitTargetTeam GetAbilityTargetTeam
abilityTargetType val DotaUnitTargetType GetAbilityTargetType
abilityType val Int GetAbilityType
animationIgnoresModelScale val Boolean GetAnimationIgnoresModelScale
aOERadius val Float GetAOERadius Controls the size of the AOE casting cursor.
associatedPrimaryAbilities val String GetAssociatedPrimaryAbilities Returns abilities that are stolen simultaneously, or otherwise related in functionality.
associatedSecondaryAbilities val String GetAssociatedSecondaryAbilities Returns other abilities that are stolen simultaneously, or otherwise related in functionality. Generally hidden abilities.
autoCastState val Boolean GetAutoCastState
backswingTime val Float GetBackswingTime
behavior val DotaAbilityBehavior GetBehavior Return cast behavior type of this ability.
behaviorInt val DotaAbilityBehavior GetBehaviorInt Get ability behavior flags as an int for compatability.
caster val BaseNPC GetCaster Get the owner of this ability.
castPoint val Float GetCastPoint Return cast point of this ability.
castPointModifier val Float GetCastPointModifier
channelStartTime val Float GetChannelStartTime Return the channel start time of this ability.
channelTime val Float GetChannelTime Return the channel time of this ability.
cloneSource val BaseNPC? GetCloneSource
conceptRecipientType val Int GetConceptRecipientType Return who hears speech when this spell is cast.
cooldownTime val Float GetCooldownTime
cooldownTimeRemaining val Float GetCooldownTimeRemaining
currentAbilityCharges var Int GetCurrentAbilityCharges / SetCurrentAbilityCharges The number of charges remaining on this ability.
cursorPosition val Vector GetCursorPosition
cursorTarget val BaseNPC? GetCursorTarget
cursorTargetingNothing val Boolean GetCursorTargetingNothing
duration val Float GetDuration
heroLevelRequiredToUpgrade val Int GetHeroLevelRequiredToUpgrade
intrinsicModifierName val String GetIntrinsicModifierName Returns the name of the modifier applied passively by this ability.
level var Int GetLevel / SetLevel Get the current level of the ability.
maxLevel val Int GetMaxLevel
modifierValue val Float GetModifierValue
modifierValueBonus val Float GetModifierValueBonus
playbackRateOverride val Float GetPlaybackRateOverride Return the animation rate of the cast animation.
sharedCooldownName val String GetSharedCooldownName
stolenActivityModifier val String GetStolenActivityModifier
toggleState val Boolean GetToggleState Whether or not this ability is toggled.
upgradeRecommended var Boolean GetUpgradeRecommended / SetUpgradeRecommended
isActivated var Boolean IsActivated / SetActivated
isAttributeBonus val Boolean IsAttributeBonus Is this ability an Attribute Bonus.
isChanneling var Boolean IsChanneling / SetChanneling Returns whether the ability is currently channeling.
isCooldownReady val Boolean IsCooldownReady
isFullyCastable val Boolean IsFullyCastable Returns whether the ability can be cast.
isHidden var Boolean IsHidden / SetHidden
isHiddenAsSecondaryAbility val Boolean IsHiddenAsSecondaryAbility
isHiddenWhenStolen val Boolean IsHiddenWhenStolen Returns true if this ability is hidden when stolen by Spell Steal.
isInAbilityPhase var Boolean IsInAbilityPhase / SetInAbilityPhase Returns whether the ability is currently casting.
isItem val Boolean IsItem Whether or not this ability is an item.
isOwnersGoldEnoughForUpgrade val Boolean IsOwnersGoldEnoughForUpgrade
isOwnersManaEnough val Boolean IsOwnersManaEnough
isPassive val Boolean IsPassive
isRefreshable val Boolean IsRefreshable Returns true if this ability is refreshed by Refresher Orb.
isSharedWithTeammates val Boolean IsSharedWithTeammates
isStealable var Boolean IsStealable / SetStealable Returns true if this ability can be stolen by Spell Steal.
isStolen var Boolean IsStolen / SetStolen
isToggle val Boolean IsToggle
isTrained val Boolean IsTrained
shouldUseResources val Boolean ShouldUseResources

Methods

Method Return Type Native Name Description
castAbility() Boolean CastAbility
continueCasting() Boolean ContinueCasting
createVisibilityNode(location: Vector, radius: Float, duration: Float,) Unit CreateVisibilityNode
decrementModifierRefCount() Unit DecrementModifierRefCount
enableAbilityChargesOnTalentUpgrade(ability: Any, talentName: String,) Unit EnableAbilityChargesOnTalentUpgrade
endChannel(interrupted: Boolean) Unit EndChannel
endCooldown() Unit EndCooldown Clear the cooldown remaining on this ability.
forceSetFrozenCooldown(value: Int) Unit ForceSetFrozenCooldown
getAbilityChargeRestoreTime(level: Int) Float GetAbilityChargeRestoreTime
getCastRange(location: Vector?, target: BaseNPC?,) Int GetCastRange Gets the cast range of the ability.
getChannelledHealthCostPerSecond(level: Int) Int GetChannelledHealthCostPerSecond Return health cost per second of channeling at the given level (-1 is current).
getChannelledManaCostPerSecond(level: Int) Int GetChannelledManaCostPerSecond Return mana cost at the given level per second while channeling (-1 is current).
getCooldown(level: Int) Float GetCooldown Get the cooldown duration for this ability at a given level, not the amount of cooldown actually left.
getEffectiveCastRange(location: Vector, target: Any,) Int GetEffectiveCastRange Gets the cast range of the ability, taking modifiers into account.
getEffectiveCooldown(level: Int) Float GetEffectiveCooldown
getEffectiveHealthCost(level: Int) Int GetEffectiveHealthCost
getEffectiveManaCost(level: Int) Int GetEffectiveManaCost
getGoldCost(level: Int) Int GetGoldCost Return gold cost at the given level (-1 is current).
getGoldCostForUpgrade(level: Int) Int GetGoldCostForUpgrade
getHealthCost(level: Int) Int GetHealthCost Return health cost at the given level (-1 is current).
getInitialAbilityCharges(level: Int) Int GetInitialAbilityCharges
getLevelSpecialValueFor(name: String, level: Int,) Float GetLevelSpecialValueFor Gets a value from this ability's special value block for passed level.
getLevelSpecialValueNoOverride(name: String, level: Int,) Float GetLevelSpecialValueNoOverride Gets a value from this ability's special value block for passed level, ignoring MODIFIER_PROPERTY_OVERRIDE_ABILITY_SPECIAL.
getManaCost(level: Int) Int GetManaCost Return mana cost at the given level (-1 is current).
getMaxAbilityCharges(level: Int) Int GetMaxAbilityCharges
getSpecialValueFor(name: String) Float GetSpecialValueFor Gets a value from this ability's special value block for its current level.
heroXPChange(xp: Float) Boolean HeroXPChange
incrementModifierRefCount() Unit IncrementModifierRefCount
isCosmetic(entity: CBaseEntity) Boolean IsCosmetic Is this a cosmetic only ability?
isOwnersGoldEnough(issuerPlayerId: PlayerID) Boolean IsOwnersGoldEnough
markAbilityButtonDirty() Unit MarkAbilityButtonDirty Mark the ability button for this ability as needing a refresh.
numModifiersUsingAbility() Int NumModifiersUsingAbility
onAbilityPhaseInterrupted() Unit OnAbilityPhaseInterrupted Cast time did not complete successfully.
onAbilityPhaseStart() Boolean OnAbilityPhaseStart Cast time begins (return true for successful cast).
onAbilityPinged(playerId: PlayerID, ctrlHeld: Boolean,) Unit OnAbilityPinged The ability was pinged.
onChannelFinish(interrupted: Boolean) Unit OnChannelFinish Channel finished.
onChannelThink(interval: Float) Unit OnChannelThink Channeling is taking place.
onHeroCalculateStatBonus() Unit OnHeroCalculateStatBonus Caster (hero only) gained a level, skilled an ability, or received a new stat bonus.
onHeroLevelUp() Unit OnHeroLevelUp Caster gained a level.
onOwnerDied() Unit OnOwnerDied Caster died.
onOwnerSpawned() Unit OnOwnerSpawned Caster respawned or spawned for the first time.
onSpellStart() Unit OnSpellStart Cast time finished, spell effects begin.
onToggle() Unit OnToggle Ability is toggled on/off.
onUpgrade() Unit OnUpgrade Ability gained a level.
payGoldCost() Unit PayGoldCost
payGoldCostForUpgrade() Unit PayGoldCostForUpgrade
payHealthCost() Unit PayHealthCost
payManaCost() Unit PayManaCost
playsDefaultAnimWhenStolen() Boolean PlaysDefaultAnimWhenStolen
procsMagicStick() Boolean ProcsMagicStick Returns true if this ability will generate magic stick charges for nearby enemies.
refCountsModifiers() Boolean RefCountsModifiers
refreshCharges() Unit RefreshCharges
refreshIntrinsicModifier() Unit RefreshIntrinsicModifier
refundHealthCost() Unit RefundHealthCost
refundManaCost() Unit RefundManaCost
requiresFacing() Boolean RequiresFacing Does this ability need the caster to face the target before executing?
resetToggleOnRespawn() Boolean ResetToggleOnRespawn Returns true if this ability should return to the default toggle state when its parent respawns.
setFrozenCooldown(frozenCooldown: Boolean) Unit SetFrozenCooldown
setOverrideCastPoint(castPoint: Float) Unit SetOverrideCastPoint
setRefCountsModifiers(refCounts: Boolean) Unit SetRefCountsModifiers
speakAbilityConcept(concept: Int) Unit SpeakAbilityConcept
speakTrigger() Any SpeakTrigger Return the type of speech used.
startCooldown(cooldown: Float) Unit StartCooldown
toggleAbility() Unit ToggleAbility
toggleAutoCast() Unit ToggleAutoCast
upgradeAbility(supressSpeech: Boolean) Unit UpgradeAbility
useResources(mana: Boolean, useHealth: Boolean, gold: Boolean, cooldown: Boolean,) Unit UseResources

BaseGameMode

Native name: CDOTABaseGameMode

Extends: CBaseEntity

Properties

Property Type Native Name Description
areWeatherEffectsDisabled var Boolean AreWeatherEffectsDisabled / SetWeatherEffectsDisabled Get if weather effects are disabled on the client.
alwaysShowPlayerInventory var Boolean GetAlwaysShowPlayerInventory / SetAlwaysShowPlayerInventory Show the player hero's inventory in the HUD, regardless of what unit is selected.
alwaysShowPlayerNames var Boolean GetAlwaysShowPlayerNames / SetAlwaysShowPlayerNames Get whether player names are always shown, regardless of client setting.
announcerDisabled var Boolean GetAnnouncerDisabled / SetAnnouncerDisabled Are in-game announcers disabled?
announcerGameModeAnnounceDisabled var Boolean GetAnnouncerGameModeAnnounceDisabled / SetAnnouncerGameModeAnnounceDisabled Is the announcer announcing the mode / saying Choose Your Hero on start of custom games disabled?
cameraDistanceOverride var Float GetCameraDistanceOverride / SetCameraDistanceOverride Set a different camera distance; dota default is 1134.
customBackpackCooldownPercent var Float GetCustomBackpackCooldownPercent / SetCustomBackpackCooldownPercent Get the current rate cooldown ticks down for items in the backpack.
customBackpackSwapCooldown var Float GetCustomBackpackSwapCooldown / SetCustomBackpackSwapCooldown Get the current custom backpack swap cooldown.
customBuybackCooldownEnabled var Boolean GetCustomBuybackCooldownEnabled / SetCustomBuybackCooldownEnabled Turns on capability to define custom buyback cooldowns.
customBuybackCostEnabled var Boolean GetCustomBuybackCostEnabled / SetCustomBuybackCostEnabled Turns on capability to define custom buyback costs.
customDireScore var Int GetCustomDireScore / SetCustomDireScore Get the topbar score display value for dire.
customGlyphCooldown var Float GetCustomGlyphCooldown / SetCustomGlyphCooldown Get the current custom glyph cooldown.
customHeroMaxLevel var Int GetCustomHeroMaxLevel / SetCustomHeroMaxLevel Allows definition of the max level heroes can achieve (default is 25).
customRadiantScore var Int GetCustomRadiantScore / SetCustomRadiantScore Get the topbar score display value for radiant.
customScanCooldown var Float GetCustomScanCooldown / SetCustomScanCooldown Get the current custom scan cooldown.
daynightCycleAdvanceRate var Float GetDaynightCycleAdvanceRate / SetDaynightCycleAdvanceRate Get the rate at which the day/night cycle advances (1.0 = default).
eventGameSeed val Int GetEventGameSeed Get the Game Seed passed from the GC.
eventWindowStartTime val UInt GetEventWindowStartTime Get the Event Window Start Time passed from the GC.
fixedRespawnTime var Float GetFixedRespawnTime / SetFixedRespawnTime Gets the fixed respawn time.
fogOfWarDisabled var Boolean GetFogOfWarDisabled / SetFogOfWarDisabled Turn the fog of war on or off.
goldSoundDisabled var Boolean GetGoldSoundDisabled / SetGoldSoundDisabled Turn the sound when gold is acquired off/on.
maximumAttackSpeed var Int GetMaximumAttackSpeed / SetMaximumAttackSpeed Get the maximum attack speed for units.
minimumAttackSpeed var Int GetMinimumAttackSpeed / SetMinimumAttackSpeed Get the minimum attack speed for units.
recommendedItemsDisabled var Boolean GetRecommendedItemsDisabled / SetRecommendedItemsDisabled Turn the panel for showing recommended items at the shop off/on.
respawnTimeScale var Float GetRespawnTimeScale / SetRespawnTimeScale Returns the scale applied to non-fixed respawn times.
stashPurchasingDisabled var Boolean GetStashPurchasingDisabled / SetStashPurchasingDisabled 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.
stickyItemDisabled var Boolean GetStickyItemDisabled / SetStickyItemDisabled Hide the sticky item in the quickbuy.
topBarTeamValuesOverride var Boolean GetTopBarTeamValuesOverride / SetTopBarTeamValuesOverride Override the values of the team values on the top game bar.
topBarTeamValuesVisible var Boolean GetTopBarTeamValuesVisible / SetTopBarTeamValuesVisible Turning on/off the team values on the top game bar.
towerBackdoorProtectionEnabled var Boolean GetTowerBackdoorProtectionEnabled / SetTowerBackdoorProtectionEnabled Gets whether tower backdoor protection is enabled or not.
useCustomHeroLevels var Boolean GetUseCustomHeroLevels / SetUseCustomHeroLevels Are custom-defined XP values for hero level ups in use?
waterRuneLastSpawnTime var Float GetWaterRuneLastSpawnTime / SetWaterRuneLastSpawnTime Gets the time from game start during which water runes spawn.
isBuybackEnabled var Boolean IsBuybackEnabled / SetBuybackEnabled Enables or disables buyback completely.
isDaynightCycleDisabled var Boolean IsDaynightCycleDisabled / SetDaynightCycleDisabled Is the day/night cycle disabled?
shouldGiveFreeTPOnDeath var Boolean ShouldGiveFreeTPOnDeath / SetGiveFreeTPOnDeath Bool bGive.

Methods

Method Return Type Native Name Description
addAbilityUpgradeToWhitelist(abilityName: String) Unit AddAbilityUpgradeToWhitelist Const char* pszAbilityName.
addItemToCustomShop(itemName: String, shopName: String, category: String,) Unit AddItemToCustomShop Add an item to purchase at a custom shop.
addRealTimeCombatAnalyzerQuery(queryTable: Any, player: PlayerController, queryName: String,) CombatAnalyzerQueryID AddRealTimeCombatAnalyzerQuery Begin tracking a sequence of events using the real time combat analyzer.
allocateFowBlockerRegion(minX: Float, minY: Float, maxX: Float, maxY: Float, gridSize: Float,) CFoWBlockerRegion AllocateFowBlockerRegion Allocates an entity which can be used by custom games to control FoW occlusion volumes.
clearBountyRunePickupFilter() Unit ClearBountyRunePickupFilter Clear the script filter that controls bounty rune pickup behavior.
clearDamageFilter() Unit ClearDamageFilter Clear the script filter that controls how a unit takes damage.
clearExecuteOrderFilter() Unit ClearExecuteOrderFilter Clear the script filter that controls when a unit picks up an item.
clearHealingFilter() Unit ClearHealingFilter Clear the script filter that controls how a unit heals.
clearItemAddedToInventoryFilter() Unit ClearItemAddedToInventoryFilter Clear the script filter that controls the item added to inventory filter.
clearModifierGainedFilter() Unit ClearModifierGainedFilter Clear the script filter that controls the modifier filter.
clearModifyExperienceFilter() Unit ClearModifyExperienceFilter Clear the script filter that controls how hero experience is modified.
clearModifyGoldFilter() Unit ClearModifyGoldFilter Clear the script filter that controls how hero gold is modified.
clearRuneSpawnFilter() Unit ClearRuneSpawnFilter Clear the script filter that controls what rune spawns.
clearTrackingProjectileFilter() Unit ClearTrackingProjectileFilter Clear the script filter that controls when tracking projectiles are launched.
disableClumpingBehaviorByDefault(disabled: Boolean) Unit DisableClumpingBehaviorByDefault Disable npc_dota_creature clumping behavior by default.
disableHudFlip(disable: Boolean) Unit DisableHudFlip Use to disable hud flip for this mod.
enableAbilityUpgradeWhitelist(enabled: Boolean) Unit EnableAbilityUpgradeWhitelist Bool bEnabled.
getCustomAttributeDerivedStatValue(derivedStatType: AttributeDerivedStats) Float GetCustomAttributeDerivedStatValue Get current derived stat value constant.
getHUDVisible(element: Int) Boolean GetHUDVisible Returns the HUD element visibility.
isAbilityUpgradeWhitelisted(abilityName: String) Boolean IsAbilityUpgradeWhitelisted Const char* pszAbilityName.
removeAbilityUpgradeFromWhitelist(abilityName: String) Unit RemoveAbilityUpgradeFromWhitelist Const char* pszAbilityName.
removeItemFromCustomShop(itemName: String, shopName: String,) Unit RemoveItemFromCustomShop Remove an item to purchase at a custom shop.
removeRealTimeCombatAnalyzerQuery(queryId: CombatAnalyzerQueryID) Unit RemoveRealTimeCombatAnalyzerQuery Stop tracking a combat analyzer query.
setAllowNeutralItemDrops(enabled: Boolean) Unit SetAllowNeutralItemDrops If set to true, neutral items will be dropped on killing neutral monsters. Otherwise nothing will be dropped.
setBotsAlwaysPushWithHuman(alwaysPush: Boolean) Unit SetBotsAlwaysPushWithHuman Set if the bots should try their best to push with a human player.
setBotsInLateGame(lateGame: Boolean) Unit SetBotsInLateGame Set if bots should enable their late game behavior.
setBotsMaxPushTier(maxTier: Int) Unit SetBotsMaxPushTier Set the max tier of tower that bots want to push. (-1 to disable).
setBotThinkingEnabled(enabled: Boolean) Unit SetBotThinkingEnabled Enables/Disables bots in custom games. Note: this will only work with default heroes in the dota map.
setBountyRuneSpawnInterval(interval: Float) Unit SetBountyRuneSpawnInterval Set bounty rune spawn rate.
setCameraSmoothCountOverride(smoothCount: Int) Unit SetCameraSmoothCountOverride Set a different camera smooth count; dota default is 8.
setCameraZRange(minZ: Float, maxZ: Float,) Unit SetCameraZRange Sets the camera Z range.
setCanSellAnywhere(allow: Boolean) Unit SetCanSellAnywhere Bool bAllow.
setCustomAttributeDerivedStatValue(statType: AttributeDerivedStats, newValue: Float,) Unit SetCustomAttributeDerivedStatValue Modify derived stat value constants.
setCustomGameForceHero(heroName: String) Unit SetCustomGameForceHero Force all players to use the specified hero and disable the normal hero selection process. Must be used before hero selection.
setCustomScanMaxCharges(maxCharges: Int) Unit SetCustomScanMaxCharges Set a custom max charges for team Scan ability.
setCustomTerrainWeatherEffect(effectName: String) Unit SetCustomTerrainWeatherEffect Set the effect used as a custom weather effect, when units are on non-default terrain, in this mode.
setCustomXPRequiredToReachNextLevel(table: Map<Int, Int>) Unit SetCustomXPRequiredToReachNextLevel Allows definition of a table of hero XP values. Requires SetUseCustomHeroLevels to be enabled.
setDeathOverlayDisabled(disabled: Boolean) Unit SetDeathOverlayDisabled Specify whether the full screen death overlay effect plays when the selected hero dies.
setDeathTipsDisabled(disabled: Boolean) Unit SetDeathTipsDisabled Disables chat tips on death.
setDefaultStickyItem(item: String) Unit SetDefaultStickyItem Sets the default sticky item in the quickbuy.
setDraftingBanningTimeOverride(value: Float) Unit SetDraftingBanningTimeOverride Set drafting hero banning time.
setDraftingHeroPickSelectTimeOverride(value: Float) Unit SetDraftingHeroPickSelectTimeOverride Set drafting hero pick time.
setForcedHeroCapOnReset(cap: Int) Unit SetForcedHeroCapOnReset Caps the number of players spawned when the game is reset. Used in tutorials where players are spawned in the script.
setForcedHUDSkin(value: String) Unit SetForcedHUDSkin Specify a HUD skin that is forced on for this game mode.
setForceRightClickAttackDisabled(disabled: Boolean) Unit SetForceRightClickAttackDisabled Prevent users from using the right click deny setting.
setFountainConstantManaRegen(constantManaRegen: Float) Unit SetFountainConstantManaRegen Set the constant rate that the fountain will regen mana. (-1 for default).
setFountainPercentageHealthRegen(percentageHealthRegen: Float) Unit SetFountainPercentageHealthRegen Set the percentage rate that the fountain will regen health. (-1 for default).
setFountainPercentageManaRegen(percentageManaRegen: Float) Unit SetFountainPercentageManaRegen Set the percentage rate that the fountain will regen mana. (-1 for default).
setFreeCourierModeEnabled(enabled: Boolean) Unit SetFreeCourierModeEnabled If set to true, enable 7.23 free courier mode.
setFriendlyBuildingMoveToEnabled(enabled: Boolean) Unit SetFriendlyBuildingMoveToEnabled Allows clicks on friendly buildings to be handled normally.
setHudCombatEventsDisabled(disabled: Boolean) Unit SetHudCombatEventsDisabled Specify whether the default combat events will show in the HUD.
setHUDVisible(hudElement: DOTAHUDVisibility, visible: Boolean,) Unit SetHUDVisible Set the HUD element visibility.
setInnateMeleeDamageBlockAmount(amount: Int) Unit SetInnateMeleeDamageBlockAmount Set the amount blocked innately by melee heroes.
setInnateMeleeDamageBlockPercent(percent: Int) Unit SetInnateMeleeDamageBlockPercent Set the percent chance a melee hero will innately block damage.
setInnateMeleeDamageBlockPerLevelAmount(perLevelAmount: Int) Unit SetInnateMeleeDamageBlockPerLevelAmount Set the amount innately blocked by melee heroes gained per level.
setKillableTombstones(enabled: Boolean) Unit SetKillableTombstones Set whether tombstones can be channeled to be removed by enemy heroes.
setKillingSpreeAnnouncerDisabled(disabled: Boolean) Unit SetKillingSpreeAnnouncerDisabled Mutes the in-game killing spree announcer.
setLoseGoldOnDeath(enabled: Boolean) Unit SetLoseGoldOnDeath Use to disable gold loss on death.
setLuaGameMode(script: Any) Unit SetLuaGameMode
setNeutralItemHideUndiscoveredEnabled(enable: Boolean) Unit SetNeutralItemHideUndiscoveredEnabled When enabled, undiscovered items in the neutral item stash are hidden.
setNeutralStashEnabled(enable: Boolean) Unit SetNeutralStashEnabled Allow items to be sent to the neutral stash.
setNeutralStashTeamViewOnlyEnabled(enable: Boolean) Unit SetNeutralStashTeamViewOnlyEnabled When enabled, the all neutral items tab cannot be viewed.
setOverrideSelectionEntity(overrideEntity: BaseNPC?) Unit SetOverrideSelectionEntity Set an override for the default selection entity, instead of each player's hero.
setPauseEnabled(enabled: Boolean) Unit SetPauseEnabled Set pausing enabled/disabled.
setPlayerHeroAvailabilityFiltered(filter: Boolean) Unit SetPlayerHeroAvailabilityFiltered Bool bFilter.
setPowerRuneSpawnInterval(interval: Float) Unit SetPowerRuneSpawnInterval Set power rune spawn rate.
setRandomHeroBonusItemGrantDisabled(disabled: Boolean) Unit SetRandomHeroBonusItemGrantDisabled Disables bonus items for randoming a hero.
setRemoveIllusionsOnDeath(remove: Boolean) Unit SetRemoveIllusionsOnDeath Make it so illusions are immediately removed upon death, rather than sticking around for a few seconds.
setRuneEnabled(rune: DotaRunes, enabled: Boolean,) Unit SetRuneEnabled Set if a given type of rune is enabled.
setSelectionGoldPenaltyEnabled(enabled: Boolean) Unit SetSelectionGoldPenaltyEnabled Enable/disable gold penalty for late picking.
setSendToStashEnabled(enable: Boolean) Unit SetSendToStashEnabled Allow items to be sent to the stash.
setTopBarTeamValue(team: DOTATeam, value: Int,) Unit SetTopBarTeamValue Set the team values on the top game bar.
setTPScrollSlotItemOverride(itemName: String) Unit SetTPScrollSlotItemOverride Sets the item which goes in the TP scroll slot.
setUnseenFogOfWarEnabled(enabled: Boolean) Unit SetUnseenFogOfWarEnabled 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.
setUseDefaultDOTARuneSpawnLogic(enabled: Boolean) Unit SetUseDefaultDOTARuneSpawnLogic If set to true, use current rune spawn rules. Either setting respects custom spawn intervals.
setUseTurboCouriers(enabled: Boolean) Unit SetUseTurboCouriers Enables or disables turbo couriers.
setXPRuneSpawnInterval(interval: Float) Unit SetXPRuneSpawnInterval Set xp rune spawn rate.

GameManager

Native name: CDOTAGameManager

Methods

Method Return Type Native Name Description
getHeroDataByNameScript(heroName: String) Any GetHeroDataByName_Script Get the hero unit.
getHeroIDByName(heroName: String) Int GetHeroIDByName Get the hero ID given the hero name.
getHeroLocTokenByID(arg1: Int) String GetHeroLocTokenByID Get the localization token for the given hero ID.
getHeroNameByID(heroId: Int) String GetHeroNameByID Get the hero name given a hero ID.
getHeroNameForUnitName(unitName: String) String GetHeroNameForUnitName Get the hero name given a unit name.
getHeroUnitNameByID(heroId: Int) String GetHeroUnitNameByID Get the hero unit name given the hero ID.

GameRulesType

Native name: CDOTAGameRules

Properties

Property Type Native Name Description
didMatchSignoutTimeOut val Boolean DidMatchSignoutTimeOut True when we have waited some time after end of the game and not received signout.
bannedHeroes val Array<String> GetBannedHeroes Returns the hero unit names banned in this game, if any.
bannedHeroIDs val Any GetBannedHeroIDs Returns the hero unit IDs banned in this game, if any.
customGameDifficulty var Int GetCustomGameDifficulty / SetCustomGameDifficulty Returns the difficulty level of the custom game mode.
difficulty val Int GetDifficulty Returns difficulty level of the custom game mode.
gameFrameTime val 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.
gameModeEntity val BaseGameMode GetGameModeEntity Get the game mode entity.
gameTime val Float GetGameTime Returns the number of seconds elapsed since map start. This time doesn't count up when the game is paused.
matchSignoutComplete val Boolean GetMatchSignoutComplete Have we received the post match signout message that includes reward information.
neutralInitialSpawnOffset var Float GetNeutralInitialSpawnOffset / SetNeutralInitialSpawnOffset Gets the extra offset to initial neutral creep spawn delay.
nextBountyRuneSpawnTime var Float GetNextBountyRuneSpawnTime / SetNextBountyRuneSpawnTime Gets next bounty rune spawn time.
nextRuneSpawnTime var Float GetNextRuneSpawnTime / SetNextRuneSpawnTime Gets next rune spawn time.
nianTotalDamageTaken val Int GetNianTotalDamageTaken For New Bloom, get total damage taken by the Nian / Year Beast.
stateTransitionTime val Float GetStateTransitionTime Get time remaining between state changes.
timeOfDay var Float GetTimeOfDay / SetTimeOfDay Get the time of day.
weatherWindDirection var Vector GetWeatherWindDirection / SetWeatherWindDirection Get Weather Wind Direction Vector.
isCheatMode val Boolean IsCheatMode Are cheats enabled on the server.
isDaytime val Boolean IsDaytime Is it day time?
isDev val Boolean IsDev
isGamePaused val Boolean IsGamePaused Returns whether the game is paused.
isHeroRespawnEnabled var Boolean IsHeroRespawnEnabled / SetHeroRespawnEnabled Returns whether hero respawn is enabled.
isInBanPhase val Boolean IsInBanPhase Are we in the ban phase of hero pick?
isNightstalkerNight val Boolean IsNightstalkerNight Is it night stalker night-time?
isSuggestAbilitiesEnabled var Boolean IsSuggestAbilitiesEnabled / SetSuggestAbilitiesEnabled Returns whether Dota Plus ability suggestions are enabled or disabled.
isSuggestItemsEnabled var Boolean IsSuggestItemsEnabled / SetSuggestItemsEnabled Returns whether Dota Plus item suggestions are enabled or disabled.
isTemporaryNight val Boolean IsTemporaryNight Is it temporarily night-time?
shouldHideBlacklistedHeroes var Boolean ShouldHideBlacklistedHeroes / SetHideBlacklistedHeroes Are blacklisted heroes hidden, or just dimmed, in hero picking?

Methods

Method Return Type Native Name Description
addBotPlayerWithEntityScript(heroName: String, playerName: String, team: DOTATeam, entityScript: String, arg5: Boolean,) BaseNPCHero? AddBotPlayerWithEntityScript Spawn a bot player of the passed hero name, player name, and team.
addEventMetadataLeaderboardEntry(nameSuffix: String, stars: UInt, maxStars: UInt, extraData1: UInt, extraData2: UInt, extraData3: UInt, extraData4: UInt, extraData5: UInt, extraData6: UInt,) Boolean AddEventMetadataLeaderboardEntry Event-only.
addEventMetadataLeaderboardEntryRawScore(nameSuffix: String, score: UInt, extraData1: UInt, extraData2: UInt, extraData3: UInt, extraData4: UInt, extraData5: UInt, extraData6: UInt,) Boolean AddEventMetadataLeaderboardEntryRawScore Event-only.
addHeroIDToBlacklist(arg1: Int) Unit AddHeroIDToBlacklist Add the hero ID to the hero blacklist if it is not already present.
addHeroIDToWhitelist(arg1: Int) Unit AddHeroIDToWhitelist Add the hero ID to the hero whitelist if it is not already present.
addHeroToBlacklist(arg1: String) Unit AddHeroToBlacklist Add the hero to the hero blacklist if it is not already present.
addHeroToPlayerAvailability(arg1: Int, arg2: Int,) Unit AddHeroToPlayerAvailability Adds hero of given ID to available heroes of player of given ID.
addHeroToWhitelist(arg1: String) Unit AddHeroToWhitelist Add the hero to the hero whitelist if it is not already present.
addItemToWhiteList(itemName: String) Unit AddItemToWhiteList Add an item to the whitelist.
addMinimapDebugPoint(arg1: Int, arg2: Vector, arg3: Int, arg4: Int, arg5: Int, arg6: Int, arg7: Float,) Unit AddMinimapDebugPoint Add a point on the minimap.
addMinimapDebugPointForTeam(arg1: Int, arg2: Vector, arg3: Int, arg4: Int, arg5: Int, arg6: Int, arg7: Float, arg8: Int,) Unit AddMinimapDebugPointForTeam Add a point on the minimap for a specific team.
beginNightstalkerNight(duration: Float) Unit BeginNightstalkerNight Begin night stalker night.
beginTemporaryNight(duration: Float, arg2: Int,) Unit BeginTemporaryNight Begin temporary night.
botPopulate() Unit BotPopulate Fills all the teams with bots if cheat mode is enabled.
clearHeroBlacklist() Unit ClearHeroBlacklist Clears the hero blacklist.
clearHeroWhitelist() Unit ClearHeroWhitelist Clears the hero whitelist.
clearPlayerHeroAvailability(arg1: Int) Unit ClearPlayerHeroAvailability Clears available heroes of player of given ID.
clearRiverPaint() Unit ClearRiverPaint Clears the current river paint.
defeated() Unit Defeated Kills the ancient, etc.
enableCustomGameSetupAutoLaunch(enabled: Boolean) Unit EnableCustomGameSetupAutoLaunch Enabled (true) or disable (false) auto launch for custom game setup.
executeTeamPing(team: DOTATeam, xCoord: Float, yCoord: Float, entity: CBaseEntity?, type: Int,) Unit ExecuteTeamPing Sends a minimap ping to all players on the team.
finishCustomGameSetup() Unit FinishCustomGameSetup Indicate that the custom game setup phase is complete, and advance to the game.
forceCreepSpawn() Unit ForceCreepSpawn Spawn the next wave of creeps.
forceGameStart() Unit ForceGameStart Transition game state to DOTA_GAMERULES_STATE_GAME_IN_PROGRESS.
getAnnouncer(team: DOTATeam) BaseNPC? GetAnnouncer Get the announcer for a team.
getCustomGameTeamMaxPlayers(team: DOTATeam) Int GetCustomGameTeamMaxPlayers Get whether a team is selectable during game setup.
getDOTATime(includePreGame: Boolean, includeNegativeTime: Boolean,) Float GetDOTATime Returns the actual DOTA in-game clock time.
getDroppedItem(index: Int) ItemPhysical? GetDroppedItem Gets the Xth dropped item.
getGameSessionConfigValue(arg1: String, arg2: String,) String GetGameSessionConfigValue Get a string value from the game session config (map options).
getIetmStockDuration(arg1: Int, arg2: String, arg3: Int,) Float GetIetmStockDuration Get the time it takes to add a new item to stock.
getItemStockCount(team: DOTATeam, itemName: String, playerId: PlayerID,) Int GetItemStockCount Get the stock count of the item.
getItemStockTime(team: DOTATeam, itemName: String, playerId: PlayerID,) Float GetItemStockTime Get the time an item will be added to stock.
getPlayerCustomGameAccountRecord(playerId: PlayerID) Any GetPlayerCustomGameAccountRecord Gets the player's custom game account record, as it looked at the start of this session.
increaseItemStock(team: DOTATeam, itemName: String, count: Int, playerId: PlayerID,) Unit IncreaseItemStock Increase an item's stock count, clamped to item max.
isHeroEnabledViaLists(arg1: String) Boolean IsHeroEnabledViaLists Is the hero not blacklisted, and is it either whitelisted or the whitelist is empty?
isItemInWhiteList(itemName: String) Boolean IsItemInWhiteList Query an item in the whitelist.
lockCustomGameSetupTeamAssignment(locked: Boolean) Unit LockCustomGameSetupTeamAssignment Lock (true) or unlock (false) team assignemnt. If team assignment is locked players cannot change teams.
makeTeamLose(team: DOTATeam) Unit MakeTeamLose Makes the specified team lose.
modifyGoldFiltered(playerId: PlayerID, goldChange: Int, reliable: Boolean, reason: ModifyGoldReason,) Int ModifyGoldFiltered Like ModifyGold, but will use the gold filter if SetFilterMoreGold has been set true.
numDroppedItems() Int NumDroppedItems Returns the number of items currently dropped on the ground.
playerHasCustomGameHostPrivileges(player: PlayerController) Boolean PlayerHasCustomGameHostPrivileges Whether a player has custom game host privileges (shuffle teams, etc.).
playtestingUpdateAddOnKeyValues() Unit Playtesting_UpdateAddOnKeyValues Updates custom hero, unit and ability KeyValues in memory with the latest values from disk.
prepareSpawners(arg1: Float) Unit PrepareSpawners Prepare Dota lane style spawners with a given interval.
removeFakeClient(playerId: PlayerID) Unit RemoveFakeClient Removes a fake client.
removeHeroFromBlacklist(arg1: String) Unit RemoveHeroFromBlacklist Remove the hero from the hero blacklist if present.
removeHeroFromWhitelist(arg1: String) Unit RemoveHeroFromWhitelist Remove the hero from the hero whitelist if present.
removeHeroIDFromBlacklist(arg1: Int) Unit RemoveHeroIDFromBlacklist Remove the hero ID from the hero blacklist if present.
removeHeroIDFromWhitelist(arg1: Int) Unit RemoveHeroIDFromWhitelist Remove the hero ID from the hero whitelist if present.
removeItemFromWhiteList(itemName: String) Unit RemoveItemFromWhiteList Remove an item from the whitelist.
resetDefeated() Unit ResetDefeated Restart after killing the ancient, etc.
resetGameTime() Unit ResetGameTime Restart gametime from 0.
resetPlayer(arg1: Int) Unit ResetPlayer Resets the player of a given ID.
resetToCustomGameSetup() Unit ResetToCustomGameSetup Restart at custom game setup.
resetToHeroSelection() Unit ResetToHeroSelection Restart the game at hero selection.
scriptGetMatchID() Uint64 Script_GetMatchID Get the MatchID for this game.
sendCustomMessage(arg1: String, arg2: Int, arg3: Int,) Unit SendCustomMessage Sends a message on behalf of a player.
sendCustomMessageToTeam(arg1: String, arg2: Int, arg3: Int, arg4: Int,) Unit SendCustomMessageToTeam Sends a message on behalf of a player to the specified team.
setAllowOutpostBonuses(arg1: Boolean) Unit SetAllowOutpostBonuses Allow Outposts granting XP.
setCreepMinimapIconScale(scale: Float) Unit SetCreepMinimapIconScale Scale the creep icons on the minimap.
setCreepSpawningEnabled(arg1: Boolean) Unit SetCreepSpawningEnabled Sets whether the regular Dota creeps spawn.
setCustomGameAccountRecordSaveFunction(arg1: Any, arg2: Any,) Unit SetCustomGameAccountRecordSaveFunction Sets a callback to handle saving custom game account records (callback is passed a Player ID and should return a flat simple table).
setCustomGameAllowBattleMusic(allow: Boolean) Unit SetCustomGameAllowBattleMusic Sets a flag to enable/disable the default music handling code for custom games.
setCustomGameAllowHeroPickMusic(allow: Boolean) Unit SetCustomGameAllowHeroPickMusic Sets a flag to enable/disable the default music handling code for custom games.
setCustomGameAllowMusicAtGameStart(allow: Boolean) Unit SetCustomGameAllowMusicAtGameStart Sets a flag to enable/disable the default music handling code for custom games.
setCustomGameAllowSecondaryAbilitiesOnOtherUnits(arg1: Boolean) Unit SetCustomGameAllowSecondaryAbilitiesOnOtherUnits Sets a flag to enable/disable the casting secondary abilities from units other than the player's own hero.
setCustomGameBansPerTeam(arg1: Int) Unit SetCustomGameBansPerTeam Set number of hero bans each team gets.
setCustomGameEndDelay(delay: Float) Unit SetCustomGameEndDelay Sets the game end delay.
setCustomGameSetupAutoLaunchDelay(delay: Float) Unit SetCustomGameSetupAutoLaunchDelay Set the amount of time to wait for auto launch.
setCustomGameSetupRemainingTime(remainingTime: Float) Unit SetCustomGameSetupRemainingTime Set the amount of remaining time, in seconds, for custom game setup. 0 = finish immediately, -1 = wait forever.
setCustomGameSetupTimeout(timeout: Float) Unit SetCustomGameSetupTimeout Setup (pre-gameplay) phase timeout. 0 = instant, -1 = forever (until FinishCustomGameSetup is called).
setCustomGameTeamMaxPlayers(team: DOTATeam, maxPlayers: Int,) Unit SetCustomGameTeamMaxPlayers Set whether a team is selectable during game setup.
setCustomVictoryMessage(message: String) Unit SetCustomVictoryMessage Sets the victory message.
setCustomVictoryMessageDuration(duration: Float) Unit SetCustomVictoryMessageDuration Sets the victory message duration.
setEnableAlternateHeroGrids(arg1: Boolean) Unit SetEnableAlternateHeroGrids Allow alternate hero grids to be used (DOTA+, etc). True by default.
setEventMetadataCustomTable(metadataTable: Any) Boolean SetEventMetadataCustomTable Event-only.
setEventSignoutCustomTable(metadataTable: Any) Boolean SetEventSignoutCustomTable Event-only.
setFilterMoreGold(arg1: Boolean) Unit SetFilterMoreGold Sets whether to filter more gold events than normal.
setFirstBloodActive(active: Boolean) Unit SetFirstBloodActive Sets whether First Blood has been triggered.
setGameWinner(team: DOTATeam) Unit SetGameWinner Makes the specified team win.
setGlyphCooldown(team: DOTATeam, cooldown: Float,) Unit SetGlyphCooldown Set Glyph cooldown for team.
setGoldPerTick(amount: Int) Unit SetGoldPerTick Set the auto gold increase per timed interval.
setGoldTickTime(time: Float) Unit SetGoldTickTime Set the time interval between auto gold increases.
setHeroMinimapIconScale(scale: Float) Unit SetHeroMinimapIconScale Scale the hero minimap icons on the minimap.
setHeroSelectionTime(selectionTime: Float) Unit SetHeroSelectionTime Sets the amount of time players have to pick their hero.
setHeroSelectPenaltyTime(arg1: Float) Unit SetHeroSelectPenaltyTime Sets amount of penalty time before randoming a hero.
setHideKillMessageHeaders(hideHeaders: Boolean) Unit SetHideKillMessageHeaders Sets whether the multikill, streak, and first-blood banners appear at the top of the screen.
setIgnoreLobbyTeamsInCustomGame(arg1: Boolean) Unit SetIgnoreLobbyTeamsInCustomGame Set whether custom and event games should ignore Lobby teams when assigning players to teams. Defaults to true.
setItemStockCount(count: Int, team: DOTATeam, itemName: String, playerId: PlayerID,) Unit SetItemStockCount Set the stock count of the item.
setOverlayHealthBarUnit(unit: BaseNPC, style: Int,) Unit SetOverlayHealthBarUnit Show this unit's health on the overlay health bar.
setPostGameColumns(arg1: Any) Boolean SetPostGameColumns Set columns to show in post game.
setPostGameLayout(arg1: Int) Unit SetPostGameLayout Configure post game to be single or double column layout.
setPostGameTeamScores(arg1: Any) Boolean SetPostGameTeamScores Set score value for each team. First element is for DOTA_TEAM_GOODGUYS.
setPostGameTime(time: Float) Unit SetPostGameTime Sets the amount of time players have between the game ending and the server disconnecting them.
setPreGameTime(time: Float) Unit SetPreGameTime Sets the amount of time players have between picking their hero and game start.
setRiverPaint(arg1: Int, arg2: Float,) Unit SetRiverPaint Paints the river for a duration.
setRuneMinimapIconScale(minimapRuneIconScale: Float) Unit SetRuneMinimapIconScale Scale the rune icons on the minimap.
setRuneSpawnTime(time: Float) Unit SetRuneSpawnTime Sets the amount of time between rune spawns.
setSafeToLeave(safeToLeave: Boolean) Unit SetSafeToLeave Mark this game as safe to leave.
setSameHeroSelectionEnabled(enabled: Boolean) Unit SetSameHeroSelectionEnabled When true, players can repeatedly pick the same hero.
setShowcaseTime(time: Float) Unit SetShowcaseTime Sets the amount of time players have between the strategy phase and entering the pre-game phase.
setSpeechUseSpawnInsteadOfRespawnConcept(arg1: Boolean) Unit SetSpeechUseSpawnInsteadOfRespawnConcept Set whether to speak a Spawn concept instead of a Respawn concept on respawn.
setStartingGold(amount: Int) Unit SetStartingGold Set the starting gold amount.
setStrategyTime(time: Float) Unit SetStrategyTime Sets the amount of time players have between the hero selection and entering the showcase phase.
setTreeRegrowTime(time: Float) Unit SetTreeRegrowTime Sets the tree regrow time in seconds.
setUseBaseGoldBountyOnHeroes(useBaseGoldBounties: Boolean) Unit SetUseBaseGoldBountyOnHeroes Heroes will use the basic NPC functionality for determining their bounty, rather than DOTA specific formulas.
setUseCustomHeroXPValues(useCustomXPValues: Boolean) Unit SetUseCustomHeroXPValues Allows heroes in the map to give a specific amount of XP (this value must be set).
setUseUniversalShopMode(useUniversalShopMode: Boolean) Unit SetUseUniversalShopMode When true, all items are available at as long as any shop is in range.
setWhiteListEnabled(whiteListEnabled: Boolean) Unit SetWhiteListEnabled Item whitelist functionality enable/disable.
spawnAndReleaseCreeps() Unit SpawnAndReleaseCreeps Spawn and release the next creep wave from Dota lane style spawners.
spawnNeutralCreeps() Unit SpawnNeutralCreeps Spawn and release the next set of neutral camps.
stateGet() DOTAGameState State_Get Get the current Gamerules state.

PlayerController

Native name: CDOTAPlayerController

Extends: CBaseAnimatingActivity

Properties

Property Type Native Name Description
activeAbility val Any GetActiveAbility
assignedHero val BaseNPCHero GetAssignedHero Get the player's hero.
clickBehaviors val Any GetClickBehaviors
playerID val PlayerID GetPlayerID Get the player's official PlayerID; notably is -1 when the player isn't yet on a team.
queryUnit val Any GetQueryUnit
shouldDisplayInWorldUIElements val Boolean ShouldDisplayInWorldUIElements

Methods

Method Return Type Native Name Description
checkForCourierSpawning(hero: BaseNPCHero) Any CheckForCourierSpawning Attempt to spawn the appropriate couriers for this mode.
makeRandomHeroSelection() Unit MakeRandomHeroSelection Randoms this player's hero.
setAssignedHeroEntity(hero: Any) Unit SetAssignedHeroEntity Sets this player's hero .
setKillCamUnit(entity: BaseNPC) Unit SetKillCamUnit Set the kill cam unit for this hero.
setMusicStatus(musicStatus: Int, intensity: Float,) Unit SetMusicStatus Set the music status for this player, note this will only really apply if dota_music_battle_enable is off.
setSelectedHero(heroName: String) Unit SetSelectedHero Sets this player's hero selection.
spawnCourierAtPosition(location: Vector) UnitCourier SpawnCourierAtPosition Spawn a courier for this player at the given position.

CDotaQuest

Extends: CBaseEntity

Methods

Method Return Type Native Name Description
addSubquest(subquest: Any) Unit AddSubquest Add a subquest to this quest.
completeQuest() Unit CompleteQuest Mark this quest complete.
getSubquest(index: Int) Any GetSubquest Finds a subquest from this quest by index.
getSubquestByName(name: String) Any GetSubquestByName Finds a subquest from this quest by name.
removeSubquest(subquest: Any) Unit RemoveSubquest Remove a subquest from this quest.
setTextReplaceString(string: String) Unit SetTextReplaceString Set the text replace string for this quest.
setTextReplaceValue(valueSlot: Int, value: Int,) Unit SetTextReplaceValue Set a quest value.

CDotaSubquestBase

Extends: CBaseEntity

Methods

Method Return Type Native Name Description
completeSubquest() Unit CompleteSubquest Mark this subquest complete.
setTextReplaceString(string: String) Unit SetTextReplaceString Set the text replace string for this subquest.
setTextReplaceValue(valueSlot: Int, value: Int,) Unit SetTextReplaceValue Set a subquest value.

TutorialType

Native name: CDOTATutorial

Methods

Method Return Type Native Name Description
addBot(heroName: String, arg2: String, arg3: String, arg4: Boolean,) Boolean AddBot Add a computer controlled bot.
addQuest(arg1: String, arg2: Int, arg3: String, arg4: String,) Unit AddQuest Add a quest to the quest log.
addShopWhitelistItem(itemName: String) Unit AddShopWhitelistItem Add an item to the shop whitelist.
completeQuest(arg1: String) Unit CompleteQuest Complete a quest,.
createLocationTask(arg1: Vector) Unit CreateLocationTask Add a task to move to a specific location.
enableCreepAggroViz(arg1: Boolean) Unit EnableCreepAggroViz Alert the player when a creep becomes agro to their hero.
enablePlayerOffscreenTip(arg1: Boolean) Unit EnablePlayerOffscreenTip Enable the tip to alert players how to find their hero.
enableTowerAggroViz(arg1: Boolean) Unit EnableTowerAggroViz Alert the player when a tower becomes agro to their hero.
finishTutorial() Unit FinishTutorial End the tutorial.
forceGameStart() Unit ForceGameStart Force the start of the game.
isItemInWhiteList(itemName: String) Boolean IsItemInWhiteList Is this item currently in the white list.
moveCameraToLocation(arg1: Vector) Unit MoveCameraToLocation Moves the camera to a position.
removeShopWhitelistItem(itemName: String) Unit RemoveShopWhitelistItem Remove an item from the shop whitelist.
selectHero(heroName: String) Unit SelectHero Select a hero for the local player.
selectPlayerTeam(arg1: String) Unit SelectPlayerTeam Select the team for the local player.
setItemGuide(arg1: String) Unit SetItemGuide Set the current item guide.
setOrModifyPlayerGold(goldAmount: Int, setNotModify: Boolean,) Unit SetOrModifyPlayerGold Set gold amount for the tutorial player.
setQuickBuy(itemName: String) Unit SetQuickBuy Set players quick buy item.
setShopOpen(open: Boolean) Unit SetShopOpen Set the shop open or closed.
setTutorialConvar(arg1: String, arg2: String,) Unit SetTutorialConvar Set a tutorial convar.
setTutorialUI(arg1: Int) Unit SetTutorialUI Set the UI to use a reduced version to focus attention to specific elements.
setWhiteListEnabled(whiteListEnabled: Boolean) Unit SetWhiteListEnabled Set if we should whitelist shop items.
startTutorialMode() Unit StartTutorialMode Initialize Tutorial Mode.
upgradePlayerAbility(abilityName: String) Unit UpgradePlayerAbility Upgrade a specific ability for the local hero.

CDotaTutorialNPCBlocker

Extends: CBaseAnimatingOverlay

Methods

Method Return Type Native Name Description
setEnabled(enabled: Boolean) Unit SetEnabled
setOtherBlocker(blocker: Any) Unit SetOtherBlocker

VoteSystemType

Native name: CDOTAVoteSystem

Methods

Method Return Type Native Name Description
startVote(arg1: Any) Unit StartVote Starts a vote, based upon a table of parameters.

CEntities

Properties

Property Type Native Name Description
localPlayer val PlayerController GetLocalPlayer Get the local player controller (backcompat).
localPlayerController val Any GetLocalPlayerController Get the local player controller.
localPlayerPawn val Any GetLocalPlayerPawn Get the local player pawn.

Methods

Method Return Type Native Name Description
createByClassname(className: String) CBaseEntity CreateByClassname Creates an entity by classname.
findAllByClassname(className: String) Array<CBaseEntity> FindAllByClassname Finds all entities by class name. Returns an array containing all the found entities.
findAllByClassnameWithin(arg1: String, location: Vector, arg3: Float,) Any FindAllByClassnameWithin Find entities by class name within a radius.
findAllByModel(modelName: String) Array<CBaseEntity> FindAllByModel Find entities by model name.
findAllByName(name: String) Array<CBaseEntity> FindAllByName Find all entities by name. Returns an array containing all the found entities in it.
findAllByNameWithin(arg1: String, location: Vector, arg3: Float,) Any FindAllByNameWithin Find entities by name within a radius.
findAllByTarget(target: String) Array<CBaseEntity> FindAllByTarget Find entities by targetname.
findAllInSphere(location: Vector, arg2: Float,) Any FindAllInSphere Find entities within a radius.
findByClassname(previous: CBaseEntity?, className: String,) CBaseEntity? FindByClassname Find entities by class name. Pass 'null' to start an iteration, or reference to a previously found entity to continue a search.
findByClassnameNearest(arg1: String, location: Vector, arg3: Float,) Any FindByClassnameNearest Find entities by class name nearest to a point.
findByClassnameWithin(arg1: Any, arg2: String, location: Vector, arg4: Float,) Any FindByClassnameWithin 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(previous: CBaseEntity?, modelName: String,) CBaseEntity? FindByModel Find entities by model name. Pass 'null' to start an iteration, or reference to a previously found entity to continue a search.
findByModelWithin(arg1: Any, arg2: String, location: Vector, arg4: Float,) Any FindByModelWithin 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(previous: CBaseEntity?, name: String,) CBaseEntity? FindByName Find entities by name. Pass 'null' to start an iteration, or reference to a previously found entity to continue a search.
findByNameNearest(arg1: String, location: Vector, arg3: Float,) Any FindByNameNearest Find entities by name nearest to a point.
findByNameWithin(arg1: Any, arg2: String, location: Vector, arg4: Float,) Any FindByNameWithin 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(previous: CBaseEntity?, target: String,) CBaseEntity? FindByTarget Find entities by targetname. Pass 'null' to start an iteration, or reference to a previously found entity to continue a search.
findInSphere(arg1: Any, location: Vector, arg3: Float,) Any FindInSphere Find entities within a radius. Pass 'null' to start an iteration, or reference to a previously found entity to continue a search.
first() CBaseEntity First Begin an iteration over the list of entities.
next(previous: CBaseEntity?) CBaseEntity? Next Continue an iteration over the list of entities, providing reference to a previously found entity.

CEntityInstance

Properties

Property Type Native Name Description
classname val String GetClassname
debugName val String GetDebugName Get the entity name w/help if not defined (i.e. classname/etc).
entityHandle val Any GetEntityHandle Get the entity as an EHANDLE.
entityIndex val EntityIndex GetEntityIndex
name val String GetName Get the entity name.
orCreatePrivateScriptScope val Any GetOrCreatePrivateScriptScope Retrieve, creating if necessary, the private per-instance script-side data associated with an entity.
orCreatePublicScriptScope val Any GetOrCreatePublicScriptScope Retrieve, creating if necessary, the public script-side data associated with an entity.
privateScriptScope val Any GetPrivateScriptScope Retrieve the private per-instance script-side data associated with an entity.
publicScriptScope val Any GetPublicScriptScope Retrieve the public script-side data associated with an entity.
isNull val Boolean IsNull Has underlying C++ entity object been deleted?

Methods

Method Return Type Native Name Description
connectOutput(arg1: String, arg2: String,) Unit ConnectOutput Adds an I/O connection that will call the named function on this entity when the specified output fires.
destroy() Unit Destroy
disconnectOutput(arg1: String, arg2: String,) Unit DisconnectOutput Removes a connected script function from an I/O event on this entity.
disconnectRedirectedOutput(arg1: String, arg2: String, arg3: Any,) Unit DisconnectRedirectedOutput Removes a connected script function from an I/O event on the passed entity.
entindex() EntityIndex
fireOutput(arg1: String, arg2: Any, arg3: Any, arg4: Any, arg5: Float,) Unit FireOutput Fire an entity output.
getIntAttr(arg1: String) Int GetIntAttr Get Integer Attribute.
redirectOutput(arg1: String, arg2: String, arg3: Any,) Unit RedirectOutput Adds an I/O connection that will call the named function on the passed entity when the specified output fires.
removeSelf() Unit RemoveSelf Delete this entity.
setIntAttr(arg1: String, arg2: Int,) Unit SetIntAttr Set Integer Attribute.

CEntityScriptFramework


CEnvEntityMaker

Extends: CBaseEntity

Methods

Method Return Type Native Name Description
spawnEntity() Unit SpawnEntity Create an entity at the location of the maker.
spawnEntityAtEntityOrigin(entity: Any) Unit SpawnEntityAtEntityOrigin Create an entity at the location of a specified entity instance.
spawnEntityAtLocation(vecAlternateOrigin: Vector, vecAlternateAngles: Vector,) Unit SpawnEntityAtLocation Create an entity at a specified location and orientaton, orientation is Euler angle in degrees.
spawnEntityAtNamedEntityOrigin(name: String) Unit SpawnEntityAtNamedEntityOrigin Create an entity at the location of a named entity.

CFoWBlockerRegion

Extends: CBaseEntity

Methods

Method Return Type Native Name Description
addRectangularBlocker(mins: Vector, maxs: Vector, clearRegion: Boolean,) Unit AddRectangularBlocker Sets or clears a blocker rectangle.
addRectangularOutlineBlocker(mins: Vector, maxs: Vector, clearRegion: Boolean,) Unit AddRectangularOutlineBlocker Sets or clears a blocker rectangle outline.

CInfoData

Extends: CBaseEntity

Methods

Method Return Type Native Name Description
queryColor(tok: String, default: Vector,) Vector QueryColor Query color data for this key.
queryFloat(tok: String, default: Float,) Float QueryFloat Query float data for this key.
queryInt(tok: String, default: Int,) Int QueryInt Query int data for this key.
queryNumber(tok: String, default: Float,) Float QueryNumber Query number data for this key.
queryString(tok: String, default: String,) String QueryString Query string data for this key.
queryVector(tok: String, default: Vector,) Vector QueryVector Query vector data for this key.

CInfoPlayerStartDota

Extends: CPointEntity

Properties

Property Type Native Name Description
isEnabled var Boolean IsEnabled / SetEnabled Returns whether the object is currently active.

CInfoWorldLayer

Extends: CBaseEntity

Methods

Method Return Type Native Name Description
hideWorldLayer() Unit HideWorldLayer Hides this layer.
showWorldLayer() Unit ShowWorldLayer Shows this layer.

CLogicRelay

Extends: CBaseEntity

Methods

Method Return Type Native Name Description
trigger(activator: CBaseEntity?, caller: CBaseEntity?,) Unit Trigger Triggers the logic_relay.

CLogicScript

Extends: CBaseEntity


CMarkupVolumeTagged

Extends: CBaseEntity

Methods

Method Return Type Native Name Description
hasTag(tagName: Any) Boolean HasTag Does this volume have the given tag.

CNativeOutputs

Methods

Method Return Type Native Name Description
addOutput(arg1: String, arg2: String,) Unit AddOutput Add an output.
init(arg1: Int) Unit Init Initialize with number of outputs.

ConvarsType

Native name: Convars

Properties

Property Type Native Name Description
commandClient val PlayerController GetCommandClient Returns the player who issued this console command.
dOTACommandClient val PlayerController GetDOTACommandClient Returns the DOTA player who issued this console command.

Methods

Method Return Type Native Name Description
getBool(name: String) Boolean? GetBool Returns the convar as a boolean flag.
getFloat(name: String) Float? GetFloat Returns the convar as a float. May return null if no such convar.
getInt(name: String) Int? GetInt Returns the convar as an int. May return null if no such convar.
getStr(name: String) String? GetStr Returns the convar as a string. May return null if no such convar.
registerConvar(name: String, defaultValue: String, helpString: String, flags: ConVarFlags,) Unit RegisterConvar Register a new console variable.
setBool(name: String, value: Boolean,) Unit SetBool Sets the value of the convar to the bool.
setFloat(name: String, value: Float,) Unit SetFloat Sets the value of the convar to the float.
setInt(name: String, value: Int,) Unit SetInt Sets the value of the convar to the int.
setStr(name: String, value: String,) Unit SetStr Sets the value of the convar to the string.

CParticleSystem

Extends: CBaseModelEntity


CPhysicsProp

Extends: CBaseAnimatingActivity

Methods

Method Return Type Native Name Description
disableMotion() Unit DisableMotion Disable motion for the prop.
enableMotion() Unit EnableMotion Enable motion for the prop.

CPointClientUIWorldPanel

Extends: CBaseModelEntity

Properties

Property Type Native Name Description
isGrabbable val Boolean IsGrabbable Returns whether this entity is grabbable.

Methods

Method Return Type Native Name Description
acceptUserInput() Unit AcceptUserInput Tells the panel to accept user input.
addCSSClasses(classes: String) Unit AddCSSClasses Adds CSS class(es) to the panel.
ignoreUserInput() Unit IgnoreUserInput Tells the panel to ignore user input.
removeCSSClasses(classes: String) Unit RemoveCSSClasses Remove CSS class(es) from the panel.

CPointEntity

Extends: CBaseEntity


CPointTemplate

Extends: CBaseEntity

Properties

Property Type Native Name Description
spawnedEntities val Any GetSpawnedEntities Get the list of the most recent spawned entities.

Methods

Method Return Type Native Name Description
deleteCreatedSpawnGroups() Unit DeleteCreatedSpawnGroups Deletes any spawn groups that this point_template has spawned. Note: The point_template will not be deleted by this.
forceSpawn() Unit ForceSpawn Spawns all of the entities the point_template is pointing at.
setSpawnCallback(callbackFunc: Any, callbackScope: Any,) Unit SetSpawnCallback Set a callback for when the template spawns entities. The spawned entities will be passed in as an array.

CPointWorldText

Extends: CBaseModelEntity

Methods

Method Return Type Native Name Description
setMessage(message: String) Unit SetMessage Set the message on this entity.

CSceneEntity

Extends: CBaseEntity

Properties

Property Type Native Name Description
isPaused val Boolean IsPaused If this scene is currently paused.
isPlayingBack val Boolean IsPlayingBack If this scene is currently playing.

Methods

Method Return Type Native Name Description
addBroadcastTeamTarget(arg1: Int) Unit AddBroadcastTeamTarget Adds a team (by index) to the broadcast list.
cancel() Unit Cancel Cancel scene playback.
estimateLength() Float EstimateLength Returns length of this scene in seconds.
findNamedEntity(arg1: String) Any FindNamedEntity Given an entity reference, such as !target, get actual entity from scene object.
removeBroadcastTeamTarget(arg1: Int) Unit RemoveBroadcastTeamTarget Removes a team (by index) from the broadcast list.
start(arg1: Any) Unit Start Start scene playback, takes activatorEntity as param.

CScriptHeroList

Properties

Property Type Native Name Description
allHeroes val Array<BaseNPCHero> GetAllHeroes Returns all the heroes in the world.
heroCount val Int GetHeroCount Returns the number of heroes in the world.

Methods

Method Return Type Native Name Description
getHero(nth: Int) BaseNPCHero? GetHero Get the Nth hero in the Hero List.

CScriptHTTPRequest

Note: Actual CScriptHTTPRequest global exists only after CreateHTTPRequest is called.

Methods

Method Return Type Native Name Description
setHTTPRequestAbsoluteTimeoutMS(milliseconds: UInt) Boolean SetHTTPRequestAbsoluteTimeoutMS Set the total timeout on the request.
setHTTPRequestGetOrPostParameter(name: String, value: String,) Boolean SetHTTPRequestGetOrPostParameter Set a POST or GET parameter on the request.
setHTTPRequestHeaderValue(name: String, value: String,) Boolean SetHTTPRequestHeaderValue Set a header value on the request.
setHTTPRequestNetworkActivityTimeout(seconds: UInt) Boolean SetHTTPRequestNetworkActivityTimeout Set the network timeout on the request - this timer is reset when any data is received.
setHTTPRequestRawPostBody(contentType: String, body: String,) Boolean SetHTTPRequestRawPostBody Set the literal body of a post - invalid after setting a post parameter.

CScriptKeyValues

Methods

Method Return Type Native Name Description
getValue(arg1: String) Any GetValue Reads a spawn key.

CScriptParticleManager

Methods

Method Return Type Native Name Description
createParticle(particleName: String, particleAttach: ParticleAttachment, owner: CBaseEntity?,) ParticleID CreateParticle Creates a new particle effect.
createParticleForPlayer(particleName: String, particleAttach: ParticleAttachment, owner: CBaseEntity?, player: PlayerController,) ParticleID CreateParticleForPlayer Creates a new particle effect that only plays for the specified player.
createParticleForTeam(particleName: String, particleAttach: ParticleAttachment, owner: CBaseEntity?, team: DOTATeam,) ParticleID CreateParticleForTeam Creates a new particle effect that only plays for the specified team.
destroyParticle(particle: ParticleID, immediate: Boolean,) Unit DestroyParticle Destroy a particle, if bDestroyImmediately destroy it without playing end caps.
getParticleReplacement(particleName: String, hero: BaseNPCHero?,) String GetParticleReplacement
releaseParticleIndex(particle: ParticleID) Unit ReleaseParticleIndex Frees the specified particle index.
setParticleAlwaysSimulate(particle: ParticleID) Unit SetParticleAlwaysSimulate
setParticleControl(particle: ParticleID, controlPoint: Int, value: Vector,) Unit SetParticleControl Set the control point data for a control on a particle effect.
setParticleControlEnt(particle: ParticleID, controlPoint: Int, unit: CBaseEntity, particleAttach: ParticleAttachment, attachment: String, offset: Vector, lockOrientation: Boolean,) Unit SetParticleControlEnt
setParticleControlFallback(particle: ParticleID, controlPoint: Int, vecPosition: Vector,) Unit SetParticleControlFallback
setParticleControlForward(particle: ParticleID, controlPoint: Int, arg3: Vector,) Unit SetParticleControlForward [OBSOLETE - Use SetParticleControlTransformForward] (int nFXIndex, int nPoint, vForward).
setParticleControlOrientation(particle: ParticleID, controlPoint: Int, arg3: Vector, arg4: Vector, arg5: Vector,) Unit SetParticleControlOrientation [OBSOLETE - Use SetParticleControlTransform] (int nFXIndex, int nPoint, vForward, vRight, vUp) - Set the orientation for a control on a particle effect (NOTE: This is left handed -- bad!!).
setParticleControlOrientationFLU(particle: ParticleID, controlPoint: Int, arg3: Vector, arg4: Vector, arg5: Vector,) Unit SetParticleControlOrientationFLU [OBSOLETE - Use SetParticleControlTransform] (int nFXIndex, int nPoint, Vector vecForward, Vector vecLeft, Vector vecUp) - Set the orientation for a control on a particle effect.
setParticleControlTransform(fxIndex: Int, point: Int, origin: Vector, qAngles: QAngle,) Unit SetParticleControlTransform
setParticleControlTransformForward(fxIndex: Int, point: Int, origin: Vector, forward: Vector,) Unit SetParticleControlTransformForward
setParticleFoWProperties(particle: ParticleID, controlPoint: Int, controlPoint2: Int, radius: Float,) Unit SetParticleFoWProperties
setParticleShouldCheckFoW(particle: ParticleID, checkFoW: Boolean,) Boolean SetParticleShouldCheckFoW

CScriptPrecacheContext

Methods

Method Return Type Native Name Description
addResource(resource: String) Unit AddResource Precaches a specific resource.
getValue(key: String) Any GetValue Reads a spawn key.

CScriptUniformRandomStream

Methods

Method Return Type Native Name Description
randomFloat(minVal: Float, maxVal: Float,) Float RandomFloat
randomFloatExp(minVal: Float, maxVal: Float, exponent: Float,) Float RandomFloatExp
randomInt(minVal: Int, maxVal: Int,) Int RandomInt
rollPercentage(percentage: Int) Boolean RollPercentage

CTakeDamageInfo

Properties

Property Type Native Name Description
ammoType var Int GetAmmoType / SetAmmoType
attacker var Any GetAttacker / SetAttacker
damage var Float GetDamage / SetDamage
damageCustom var Int GetDamageCustom / SetDamageCustom
damageForce var Vector GetDamageForce / SetDamageForce
damagePosition var Vector GetDamagePosition / SetDamagePosition
damageType var DamageTypes GetDamageType / SetDamageType
inflictor val Any GetInflictor
originalDamage var Float GetOriginalDamage / SetOriginalDamage
reportedPosition var Vector GetReportedPosition / SetReportedPosition
totalledDamage val Float GetTotalledDamage

Methods

Method Return Type Native Name Description
addDamage(addAmount: Float) Unit AddDamage
addDamageType(damageType: Int) Unit AddDamageType
hasDamageType(damageType: Int) Boolean HasDamageType
scaleDamage(scaleAmount: Float) Unit ScaleDamage

GlobalSysType

Native name: GlobalSys

Methods

Method Return Type Native Name Description
commandLineCheck(name: String) Any CommandLineCheck Returns true if the command line param was used, otherwise false.
commandLineFloat(arg1: String, arg2: Float,) Any CommandLineFloat Returns the command line param as a float.
commandLineInt(arg1: String, arg2: Int,) Any CommandLineInt Returns the command line param as an int.
commandLineStr(arg1: String, arg2: String,) Any CommandLineStr Returns the command line param as a string.

GridNavType

Native name: GridNav

Methods

Method Return Type Native Name Description
canFindPath(start: Vector, end: Vector,) Boolean CanFindPath Determine if it is possible to reach the specified end point from the specified start point. bool.
destroyTreesAroundPoint(arg1: Vector, arg2: Float, arg3: Boolean,) Unit DestroyTreesAroundPoint Destroy all trees in the area(vPosition, flRadius, bFullCollision.
findPathLength(start: Vector, end: Vector,) Float FindPathLength 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.
getAllTreesAroundPoint(position: Vector, radius: Float, fullCollision: Boolean,) Array<MapTree> GetAllTreesAroundPoint Returns a table full of tree HSCRIPTS.
gridPosToWorldCenterX(arg1: Int) Float GridPosToWorldCenterX Get the X position of the center of a given X index.
gridPosToWorldCenterY(arg1: Int) Float GridPosToWorldCenterY Get the Y position of the center of a given Y index.
isBlocked(arg1: Vector) Boolean IsBlocked Checks whether the given position is blocked.
isNearbyTree(position: Vector, radius: Float, checkFullTreeRadius: Boolean,) Boolean IsNearbyTree Checks whether there are any trees overlapping the given point.
isTraversable(arg1: Vector) Boolean IsTraversable Checks whether the given position is traversable.
regrowAllTrees() Unit RegrowAllTrees Causes all trees in the map to regrow.
worldToGridPosX(arg1: Float) Int WorldToGridPosX Get the X index of a given world X position.
worldToGridPosY(arg1: Float) Int WorldToGridPosY Get the Y index of a given world Y position.

ProjectileManagerType

Native name: ProjectileManager

Methods

Method Return Type Native Name Description
changeTrackingProjectileSpeed(ability: BaseAbility, speed: Int,) Unit ChangeTrackingProjectileSpeed Update speed.
createLinearProjectile(options: CreateLinearProjectileOptions) ProjectileID CreateLinearProjectile Creates a linear projectile and returns the projectile ID.
createTrackingProjectile(options: CreateTrackingProjectileOptions) ProjectileID CreateTrackingProjectile Creates a tracking projectile.
destroyLinearProjectile(projectile: ProjectileID) Unit DestroyLinearProjectile Destroys the linear projectile matching the argument ID.
destroyTrackingProjectile(projectile: ProjectileID) Unit DestroyTrackingProjectile Destroy a tracking projectile early.
getLinearProjectileLocation(projectile: ProjectileID) Vector GetLinearProjectileLocation Returns current location of projectile.
getLinearProjectileRadius(projectile: ProjectileID) Float GetLinearProjectileRadius Returns current radius of projectile.
getLinearProjectileVelocity(projectile: ProjectileID) Vector GetLinearProjectileVelocity Returns a vector representing the current velocity of the projectile.
getTrackingProjectileLocation(projectile: ProjectileID) Vector GetTrackingProjectileLocation Returns current location of projectile.
isValidProjectile(value: Int) Boolean IsValidProjectile Is this a valid projectile?
projectileDodge(unit: BaseNPC) Unit ProjectileDodge Makes the specified unit dodge projectiles.
updateLinearProjectileDirection(projectile: ProjectileID, direction: Vector, speed: Float,) Unit UpdateLinearProjectileDirection Update velocity.

Global

Global VScripts functions

Methods

Method Return Type Native Name Description
add(b: QAngle) QAngle = externalSource() __add Overloaded +. Adds angles together.
eq(b: QAngle) Boolean = externalSource() __eq Overloaded ==. Tests for Equality.
tostring() String = externalSource() __tostring Overloaded .. Converts the QAngles to strings.
forward() Vector = externalSource() Forward Returns the forward vector.
left() Vector = externalSource() Left Returns the left vector.
up() Vector = externalSource() Up Returns the up vector.
add(b: Vector) Vector = externalSource() __add Overloaded +. Adds vectors together.
div(b: Vector) Vector = externalSource() __div Overloaded /. Divides vectors.
eq(b: Vector) Boolean = externalSource() __eq Overloaded ==. Tests for Equality.
len() Float = externalSource() __len Overloaded # returns the length of the vector.
mul(b: Vector) Vector = externalSource() __mul Overloaded * returns the vectors multiplied together. Can also be used to multiply with scalars.
sub(b: Vector) Vector = externalSource() __sub Overloaded -. Subtracts vectors.
tostring() String = externalSource() __tostring Overloaded .. Converts vectors to strings.
unm() Vector = externalSource() __unm Overloaded - operator. Reverses the vector.
cross(b: Vector) Vector = externalSource() Cross Cross product of two vectors.
dot(b: Vector) Float = externalSource() Dot Dot product of two vectors.
length() Float = externalSource() Length Length of the Vector.
length2D() Float = externalSource() Length2D Length of the Vector in the XY plane.
normalized() Vector = externalSource() Normalized Returns the vector normalized.
anglesToVector(arg1: QAngle) Vector AnglesToVector Generate a vector given a QAngles.
applyDamage(options: ApplyDamageOptions) Float ApplyDamage Damage an npc.
cancelEntityIOEvents(arg1: Any) Unit CancelEntityIOEvents Create all I/O events for a particular entity.
clearTeamCustomHealthbarColor(team: DOTATeam) Unit ClearTeamCustomHealthbarColor
createEffect(arg1: Any) Boolean CreateEffect Pass table - Inputs: entity, effect.
createSceneEntity(arg1: String) CBaseAnimatingActivity CreateSceneEntity Create a scene entity to play the specified scene.
createUniformRandomStream(seed: Int) CScriptUniformRandomStream CreateUniformRandomStream Creates a separate random number stream.
cvarGetf(arg1: String) Float cvar_getf Gets the value of the given cvar, as a float.
debugBreak() Unit DebugBreak Breaks in the debugger.
debugChangeTeam(arg1: Any) Unit DebugChangeTeam Changes the team of the hero.
debugDrawClear() Unit DebugDrawClear Try to clear all the debug overlay info.
deepPrintTable(table: Any?) Unit DeepPrintTable Print out a table (and subtables) to the console.
destroyDamageInfo(damageInfo: CTakeDamageInfo) Unit DestroyDamageInfo Free a damageinfo object that was created with CreateDamageInfo().
doUniqueString(seed: String) String DoUniqueString 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.
emitAnnouncerSound(soundName: String) Unit EmitAnnouncerSound Emit an announcer sound for all players.
emitGlobalSound(soundName: String) Unit EmitGlobalSound Play named sound for all players.
entIndexToHScript(entityIndex: EntityIndex) CBaseEntity? EntIndexToHScript Turn an entity index integer to an HScript representing that entity's script instance.
executeOrderFromTable(order: ExecuteOrderOptions) Unit ExecuteOrderFromTable Issue an order from a script table.
findSpawnEntityForTeam(team: DOTATeam) CBaseEntity? FindSpawnEntityForTeam Find a spawn point for the given team.
frameTime() Float FrameTime Get the time spent on the server in the last frame.
getAbilityKeyValuesByName(arg1: String) Any GetAbilityKeyValuesByName Get ability data by ability name.
getAbilityTextureNameForAbility(abilityName: String) String GetAbilityTextureNameForAbility Gets the ability texture name for an ability.
getDedicatedServerKey(version: String) String GetDedicatedServerKey
getDedicatedServerKeyV2(version: String) String GetDedicatedServerKeyV2
getDedicatedServerKeyV3(version: String) String GetDedicatedServerKeyV3
getEntityIndexForTreeId(treeId: UInt) EntityIndex GetEntityIndexForTreeId Get the enity index for a tree id specified as the entindex_target of a DOTA_UNIT_ORDER_CAST_TARGET_TREE.
getItemCost(arg1: String) Int GetItemCost Get the cost of an item by name.
getLocalPlayerTeam(arg1: Int) DOTATeam GetLocalPlayerTeam Get the local player team.
getPhysAngularVelocity(arg1: Any) Vector GetPhysAngularVelocity 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(arg1: Any) Vector GetPhysVelocity Get Velocity for VPHYS or normal object.
getTeamHeroKills(team: DOTATeam) Int GetTeamHeroKills
getTeamName(team: DOTATeam) String GetTeamName
getTreeIdForEntityIndex(entityIndex: EntityIndex) Int GetTreeIdForEntityIndex Given and entity index of a tree, get the tree id for use for use with with unit orders.
getUnitKeyValuesByName(arg1: String) Any GetUnitKeyValuesByName Get unit data by ability name.
getXPNeededToReachNextLevel(level: Int) Int GetXPNeededToReachNextLevel Get amount of XP required to reach the next level.
heroMaxLevel(arg1: Any) Unit HeroMaxLevel Max out a hero's level and give them all appropriate abilities and talents.
isMangoTree(entity: CBaseEntity) Boolean IsMangoTree Is this entity a mango tree? (hEntity).
isMarkedForDeletion(entity: CBaseEntity) Boolean IsMarkedForDeletion Returns true if the entity is valid and marked for deletion.
isUnitInValidPosition(unit: CBaseEntity) Boolean IsUnitInValidPosition Returns true if the unit is in a valid position in the gridnav.
limitPathingSearchDepth(arg1: Float) Unit LimitPathingSearchDepth Set the limit on the pathfinding search space.
loadKeyValues(filePath: String) Any LoadKeyValues Creates a table from the specified keyvalues text file.
loadKeyValuesFromString(kvString: String) Any LoadKeyValuesFromString Creates a table from the specified keyvalues string.
localTime() LocalTime LocalTime Get the current local time.
makeStringToken(arg1: String) Int MakeStringToken Checks to see if the given hScript is a valid entity.
manuallyTriggerSpawnGroupCompletion(handle: SpawnGroupHandle) Unit ManuallyTriggerSpawnGroupCompletion Triggers the creation of entities in a manually-completed spawn group.
msg(message: String) Unit Msg Print a message.
pauseGame(paused: Boolean) Unit PauseGame Pause or unpause the game.
platFloatTime() Float Plat_FloatTime Get the current float time from the engine.
playerInstanceFromIndex(entityIndex: EntityIndex) PlayerController? PlayerInstanceFromIndex Get a script instance of a player by index.
randomVector(length: Float) Vector RandomVector Get a random 2D vector of the given length.
registerSpawnGroupFilterProxy(arg1: String) Unit RegisterSpawnGroupFilterProxy Create a C proxy for a script-based spawn group filter.
reloadMOTD() Unit ReloadMOTD Reloads the MotD file.
removeSpawnGroupFilterProxy(arg1: String) Unit RemoveSpawnGroupFilterProxy Remove the C proxy for a script-based spawn group filter.
rollPercentage(successPercentage: Int) Boolean RollPercentage Rolls a number from 1 to 100 and returns true if the roll is less than or equal to the number specified.
sendToConsole(arg1: String) Unit SendToConsole Send a string to the console as a client command.
sendToServerConsole(arg1: String) Unit SendToServerConsole Send a string to the console as a server command.
setQuestName(arg1: String) Unit SetQuestName Set the current quest name.
setQuestPhase(arg1: Int) Unit SetQuestPhase Set the current quest phase.
showMessage(arg1: String) Unit ShowMessage Print a hud message on all clients.
spawnEntityListFromTableSynchronous(arg1: Any) Any SpawnEntityListFromTableSynchronous Synchronously spawn an entity group from a list of spawn tables.
stopGlobalSound(arg1: String) Unit StopGlobalSound Stop named sound for all players.
stopListeningToAllGameEvents(arg1: Any) Unit StopListeningToAllGameEvents Stop listening to all game events within a specific context.
stopListeningToGameEvent(listenerId: EventListenerID) Boolean StopListeningToGameEvent Stop listening to a particular game event.
time() Float Time Get the current server time.
traceCollideable(query: TraceCollideableInputs) Boolean TraceCollideable
traceHull(query: TraceHullInputs) Boolean TraceHull
traceLine(query: TraceLineInputs) Boolean TraceLine
unloadSpawnGroup(arg1: String) Unit UnloadSpawnGroup Unload a spawn group by name.
unloadSpawnGroupByHandle(handle: SpawnGroupHandle) Unit UnloadSpawnGroupByHandle Unload a spawn group by handle.
updateEventPoints(eventPointData: Any) Unit UpdateEventPoints
userIDToControllerHScript(arg1: Int) Any UserIDToControllerHScript Turn a userid integer (typically, fields named 'userid' in game events) to an HScript representing the associated player controller's script instance.
utilRemove(entity: CBaseEntity?) Unit UTIL_Remove Removes the specified entity.
utilRemoveImmediate(entity: CBaseEntity?) Unit UTIL_RemoveImmediate Immediately removes the specified entity.
utilResetMessageText(arg1: Int) Unit UTIL_ResetMessageText Clear all message text on one client.
utilResetMessageTextAll() Unit UTIL_ResetMessageTextAll Clear all message text from all clients.
vectorAngles(arg1: Vector) QAngle VectorAngles
vectorToAngles(arg1: Vector) QAngle VectorToAngles Get Qangles (with no roll) for a Vector.
warning(message: String) Unit Warning Print a warning.

SteamInfoType

Native name: SteamInfo

Properties

Property Type Native Name Description
isPublicUniverse val Boolean IsPublicUniverse Is the script connected to the public Steam universe.

Uint64

Integer with binary operations.

Methods

Method Return Type Native Name Description
eq(b: Uint64) Boolean __eq
tostring() String __tostring Overloaded .. Converts Uint64s to strings.
bitwiseAnd(operand: Uint64) Uint64 BitwiseAnd Performs bitwise AND between two integers.
bitwiseOr(operand: Uint64) Uint64 BitwiseOr Performs bitwise OR between two integers.
bitwiseXor(operand: Uint64) Uint64 BitwiseXor Performs bitwise XOR between two integers.
bitwiseNot() Uint64 BitwiseNot Performs bitwise NOT.
setBit(bitvalue: Int) Unit SetBit Sets the specified bit.
clearBit(bitvalue: Int) Int ClearBit Clears the specified bit.
isBitSet(bitvalue: Int) Int? IsBitSet Checks if bit is set.
toggleBit(bitvalue: Int) Int ToggleBit Toggles the specified bit.
toHexString() String ToHexString Returns a hexadecimal string representation of the integer.

Global

Global VScripts functions

Methods

Method Return Type Native Name Description
isValidEntity(entity: Any?) Boolean { IsValidEntity Checks to see if the given hScript is a valid entity.

GameEvent


PanoramaEvent