Dota 2.fgd
From Valve Developer Community
(Redirected from Dota.fgd)
Jump to: navigation, search
This is the Hammer FGD for Dota 2 (Source 2).
FGD
- This is a FGD (Forge Game Data) file used to define all of the entities of a game for a map editor (such as Hammer).
To add a FGD file to the map editor, copy the following text into a text editor such as Notepad++, and save it with "save as type" being "all files" and.fgd
appended to the file name. Then open your map editor, in this case, Valve Hammer Editor, go to Tools > Options..., and add the FGD file on Game Data Files.
dota.fgd
Forge Game Data
//-------------------------------------------------------------------------
//
// Game data for DOTA!
//
//-------------------------------------------------------------------------
@include "base.fgd"
@gridnav(64, 32, 32, 16384)
@BaseClass = teamnumber
[
teamnumber(choices) :"Team Number" : 0 =
[
0: "Unassigned"
1: "Spectators"
2: "Good Guys"
3: "Bad Guys"
4: "Neutrals"
5: "No Team"
6: "Custom 1"
7: "Custom 2"
8: "Custom 3"
9: "Custom 4"
10: "Custom 5"
11: "Custom 6"
12: "Custom 7"
13: "Custom 8"
]
]
@SolidClass base(worldbase) = worldspawn :
"This is the world entity. Each map can only contain one, and it's automatically created for you."
[
pvstype(choices) : "Precomputed Visibility" : 0 : "" =
[
0 : "Disabled"
1 : "Test map (open space, no skybox)"
10 : "Full visibility solve"
]
OptimizedHeightFieldName(string) : "Optimized Heightfield Name" : "" : "Optional name of an optimized heightfield to use for ground traces. An example is maps/someheightfield.bin."
]
@OverrideClass = prop_dynamic_base
[
StartingAnim(sequence) { is_preview_animation=true preview_animation_priority = 2 } : "Starting Animation" : "" : "The name of a starting animation that this prop will start with when it spawns. After completion, it will switch to the Idle sequence, if it is specified."
StartingAnimationLoopMode(choices) : "Start Animation Loop Mode" : "ANIM_LOOP_MODE_USE_SEQUENCE_SETTINGS" =
[
"ANIM_LOOP_MODE_NOT_LOOPING" : "Do Not Loop"
"ANIM_LOOP_MODE_LOOPING" : "Loop"
"ANIM_LOOP_MODE_USE_SEQUENCE_SETTINGS" : "Use Sequence Settings"
]
IdleAnim(sequence) { is_preview_animation=true } : "Idle Animation" : "" : "The name of the idle animation that this prop will revert to whenever it finishes a random or forced animation."
AnimationLoopMode(choices) : "Animation Loop Mode" : "ANIM_LOOP_MODE_USE_SEQUENCE_SETTINGS" =
[
"ANIM_LOOP_MODE_NOT_LOOPING" : "Do Not Loop"
"ANIM_LOOP_MODE_LOOPING" : "Loop"
"ANIM_LOOP_MODE_USE_SEQUENCE_SETTINGS" : "Use Sequence Settings"
]
RandomAnimation(boolean) : "Randomly Animate" : 0 : "If set, this prop will randomly choose and play animations, based upon the times specified in 'Min/Max Random Anim Time'. Inbetween the random animations, it will revert to playing the 'Default Animation'."
MinAnimTime(float) : "Min Random Anim Time" : "5" : "Minimum time between random animations."
MaxAnimTime(float) : "Max Random Anim Time" : "10" : "Maximum time between random animations."
// Inputs
input SetAnimationLooping(string) : "Force the prop to play an animation and force it to loop. The parameter should be the name of the animation."
input SetAnimationNoResetLooping(string) : "Force the prop to play an animation and force it to loop unless the prop is already playing the animation. The parameter should be the name of the animation."
input SetIdleAnimationLooping(string) : "Changes the Idle Animation to the one specified in the parameter and force it to loop."
input SetAnimationNotLooping(string) : "Force the prop to play an animation and force it to not loop. The parameter should be the name of the animation."
input SetAnimationNoResetNotLooping(string) : "Force the prop to play an animation and force it to not loop unless the prop is already playing the animation. The parameter should be the name of the animation."
input SetIdleAnimationNotLooping(string) : "Changes the Idle Animation to the one specified in the parameter and force it to not loop."
input SetAnimation(string) : "[OBSOLETE] Force the prop to play an animation. The parameter should be the name of the animation."
input SetAnimationNoReset(string) : "[OBSOLETE] Force the prop to play an animation unless the prop is already playing the animation. The parameter should be the name of the animation."
input SetDefaultAnimation(string) : "[OBSOLETE] Set the Default Animation to the one specified in the parameter."
]
@PointClass base(Targetname) = ent_dota_game_events :
"An entity that fires outputs based on game events."
[
// Outputs
output OnDayStarted(void) : "Fired when the day starts."
output OnNightStarted(void) : "Fired when the night starts."
output OnRadiantFortDestroyed(void) : "Fired when the Radiant Ancient is destroyed."
output OnDireFortDestroyed(void) : "Fired when the Dire Ancient is destroyed."
output OnGameEnded(void) : "Fired when the game ends."
output OnGameStarted(void) : "Fired when game starts."
input SetTimeOfDay(float) : "Sets the time of day (0.0->1.0)"
]
@PointClass base(Targetname) = dota_displacement_visibility:
"Entity that can hide a displacement"
[
input HideDisplacement(integer) : "Hides the specified displacement."
]
@PointClass base(Targetname) = dota_minimap_boundary:
"Used by the console command dota_minimap_create to define the min/max coordinates for taking minimap images. Two are required per map in opposite corners. The z difference between the two defines the image depth."
[
]
@PointClass base(Targetname) = npc_dota_roshan_spawner:
"Spawns Roshan, the big boss in the standard Dota2 PvP map."
[
]
@PointClass base(Targetname) = npc_dota_miniboss_spawner:
"Spawns Roshan, the big boss in the standard Dota2 PvP map."
[
]
@PointClass base(Targetname) = ent_sugar_rush:
"Sugar Rush spot for Roshan."
[
]
@PointClass base(Targetname) sphere(inner_radius) sphere(outer_radius) dotaLightInfoHelper() = ent_dota_lightinfo:
"Localized lighting settings to control lighting parameters in a radius."
[
color_day(color255) : "Color - Day" : "0 0 0" : "Daytime color."
color_night(color255) : "Color - Night" : "0 0 0" : "Nighttime color."
light_scale_day(float) : "Light Scale - Day" : "1" : "Daytime light scale."
light_scale_night(float) : "Light Scale - Night" : "1" : "Daytime light scale."
ambient_color_day(color255) : "Ambient Color - Day" : "0 0 0" : "Ambient Daytime color."
ambient_color_night(color255) : "Ambient Color - Night" : "0 0 0" : "Ambient Nighttime color."
ambient_scale_day(float) : "Ambient Scale - Day" : "0" : "Ambient Daytime scale."
ambient_scale_night(float) : "Ambient Scale - Night" : "0" : "Ambient Nighttime scale."
shadow_color_day(color255) : "Shadow Color - Day" : "0 0 0" : "Shadow Daytime color."
shadow_color_night(color255) : "Shadow Color - Night" : "0 0 0" : "Shadow Nighttime color."
shadow_secondary_color_day(color255) : "Shadow Secondary Color - Day" : "0 0 0" : "Shadow Daytime color."
shadow_secondary_color_night(color255) : "Shadow Secondary Color - Night" : "0 0 0" : "Shadow Nighttime color."
shadow_scale_day(float) : "Shadow Scale - Day" : "0" : "Shadow Daytime scale."
shadow_scale_night(float) : "Shadow Scale - Night" : "0" : "Shadow Nighttime scale."
shadow_ground_scale_day(float) : "Shadow Ground Scale - Day" : "0" : "Shadow Daytime ground scale."
shadow_ground_scale_night(float) : "Shadow Ground Scale - Night" : "0" : "Shadow Nighttime ground scale."
specular_color_day(color255) : "Specular Color - Day" : "0 0 0" : "Specular Daytime color."
specular_color_night(color255) : "Specular Color - Night" : "0 0 0" : "Specular Nighttime color."
specular_power_day(float) : "Specular Power - Day" : "-1" : "Daytime Specular Power."
specular_power_night(float) : "Specular Power - Night" : "-1" : "Night Specular Power."
specular_independence_day(float) : "Specular Independence - Day" : "0" : "Daytime specular light independence from diffuse."
specular_independence_night(float) : "Specular Independence - Night" : "0" : "Night specular light independence from diffuse."
specular_direction_day(angle) : "Specular Direction - Day" : "90 0 0" : "Daytime specular light direction."
specular_direction_night(angle) : "Specular Direction - Night" : "90 0 0" : "Nighttime specular light direction."
inspector_specular_direction_day(angle) : "Inspector View Specular Direction - Day" : "90 0 0" : "Inspector View daytime specular light direction."
inspector_specular_direction_night(angle) : "Inspector View Specular Direction - Night" : "90 0 0" : "Inspector View nighttime specular light direction."
light_direction_day(angle) : "Light Direction - Day" : "0 0 0" : "Light Daytime direction."
light_direction_night(angle) : "Light Direction - Night" : "0 0 0" : "Light Nighttime direction."
ambient_direction_day(angle) : "Ambient Direction - Day" : "0 0 0" : "Ambient Daytime direction."
ambient_direction_night(angle) : "Ambient Direction - Night" : "0 0 0" : "Ambient Nighttime direction."
ambient_shadow_amount(float) : "Ambient Shadow Amount" : "0" : "Ambient Shadow Amount"
fog_color_day(color255) : "Fog Color - Day" : "0 0 0" : "Fog Daytime color."
fog_color_night(color255) : "Fog Color - Night" : "0 0 0" : "Fog Nighttime color."
inspector_view_fog_color_day(color255) : "Inspector View Fog Color - Day" : "0 0 0 0" : "Fog color for inspector view - day"
inspector_view_fog_color_night(color255) : "Inspector View Fog Color - Night" : "0 0 0 0" : "Fog color for inspector view - night"
fog_start_day(float) : "Fog Start - Day" : "0" : "Daytime Fog Start distance."
fog_start_night(float) : "Fog Start - Night" : "0" : "Night Fog Start distance."
fog_end_day(float) : "Fog End - Day" : "0" : "Daytime Fog Start distance."
fog_end_night(float) : "Fog End - Night" : "0" : "Night Fog End distance."
fog_height_day(float) : "Height Fog - Day" : "0" : "Daytime Fog Height."
fog_height_night(float) : "Height Fog - Night" : "0" : "Night Fog Height."
fog_hight_color_day(color255) : "Height Fog Color - Day" : "0" : "Daytime Height Fog Color"
fog_hight_color_night(color255) : "Height Fog Color - Night" : "0" : "Night Height Fog Color"
fow_darkess_day(float) : "FoW Darkness - Day" : "0" : "Daytime FoW Darkness."
fow_darkess_night(float) : "FoW Darkness - Night" : "0" : "Night FoW Darkness."
fow_color_r_day(float) : "FoW Color R - Day" : "0" : "Daytime FoW Color R"
fow_color_g_day(float) : "FoW Color G - Day" : "0" : "Daytime FoW Color G"
fow_color_b_day(float) : "FoW Color B - Day" : "0" : "Daytime FoW Color B"
fow_color_r_night(float) : "FoW Color R - Night" : "0" : "Night FoW Color R"
fow_color_g_night(float) : "FoW Color G - Night" : "0" : "Night FoW Color G"
fow_color_b_night(float) : "FoW Color B - Night" : "0" : "Night FoW Color B"
farz_override(float) : "FarZ Override" : "0" : "FarZ Override"
inner_radius(float) : "Inner Radius" : "0" : "Radius inside which the global light is exactly the specified color."
outer_radius(float) : "Outer Radius" : "0" : "Radius inside which the global light is partially the specified color."
weather_type(choices) :"Client Weather Type" : -1 =
[
-2: "Dynamic Weather - On"
-1: "All - Always On"
0: "Default Weather Only"
1: "Snow Weather Only"
2: "Rain Weather Only"
3: "Magical Weather Only"
4: "Pestilence Weather Only"
5: "Harvest Weather Only"
6: "Sirocco Weather Only"
7: "Spring Weather Only"
8: "Fire Weather Only"
9: "Northern Lights Weather Only"
]
lightning_spec_pow_scale_min(float) [ group="Lightning" ] : "Lightning Specular Power Scale Minimum" : "1" : "The minimum amount to scale the specular power for lightning events."
lightning_spec_pow_scale_max(float) [ group="Lightning" ] : "Lightning Specular Power Scale Maximum" : "1" : "The maximum amount to scale the specular power for lightning events."
lightning_period_min(float) [ group="Lightning" ] : "Lightning Period Minimum" : "0" : "The minimum amount between lightning events."
lightning_period_max(float) [ group="Lightning" ] : "Lightning Period Maximum" : "0" : "The maximum amount between lightning events."
lightning_duration_min(float) [ group="Lightning" ] : "Lightning Duration Minimum" : "0" : "The minimum duration of a single lightning event."
lightning_duration_max(float) [ group="Lightning" ] : "Lightning Duration Maximum" : "0" : "The maximum duration of a single lightning event."
lightning_fluctuation_min(float) [ group="Lightning" ] : "Lightning Fluctuation Minimum" : "0" : "The minimum number of fluctuations in a single lightning event."
lightning_fluctuation_max(float) [ group="Lightning" ] : "Lightning Fluctuation Maximum" : "0" : "The maximum number of fluctuations in a single lightning event."
lightning_sound(sound) [ group="Lightning" ] : "Thunder Sound Effect" : "" : "During lightning events, this sound will be played."
lightning_color(color255) [ group="Lightning" ] : "Lightning Color" : "255 255 255" : "Lightning Color"
lightning_intensity_min(float) [ group="Lightning" ] : "Lightning Color Intensity Minimum" : "0" : "Minimum lightning color intensity"
lightning_intensity_max(float) [ group="Lightning" ] : "Lightning Color Intensity Maximum" : "0" : "Maximum lightning color intensity"
lightning_elevation(float) [ group="Lightning" ] : "Lightning Elevation (Pitch)" : "60.0" : "Elevation"
lightning_specular_intensity(float) [ group="Lightning" ] : "Lightning Specular Intensity" : "1.0" : "Specular Intensity"
// Wind-related params
wind_angle(angle) [ group="Wind Params" ] : "Wind Angle" : "0 45 0" : "Wind Angles"
wind_amount_day(float) [ group="Wind Params" ] : "Wind Amount - Day" : "1.0" : "Wind Amount - day"
wind_amount_night(float) [ group="Wind Params" ] : "Wind Amount - Night" : "1.0" : "Wind Amount - night"
min_wind(float) [ group="Wind Params" ] : "Min Wind" : "25.0" : "Min normal wind speed"
max_wind(float) [ group="Wind Params" ] : "Max Wind" : "50.0" : "Max normal wind speed"
min_gust(float) [ group="Wind Params" ] : "Min Gust" : "60.0" : "Min gust speed"
max_gust(float) [ group="Wind Params" ] : "Min Gust" : "90.0" : "Max gust speed"
min_gust_delay(float) [ group="Wind Params" ] : "Min Gust Delay" : "10.0" : "Min gust delay"
max_gust_delay(float) [ group="Wind Params" ] : "Max Gust Delay" : "10.0" : "Max gust delay"
gust_duration(float) [ group="Wind Params" ] : "Gust Duration" : "10.0" : "Gust duration"
gust_dir_change(float) [ group="Wind Params" ] : "Gust Direction Change" : "20.0" : "Gust direction change degrees"
// Skybox related params
skybox_angle_day(angle) [ group="Skybox Params" ] : "Skybox Angles - Day" : "0 0 0" : "Skybox angles - day"
skybox_angle_night(angle) [ group="Skybox Params" ] : "Skybox Angles - Night" : "0 0 0" : "Skybox angles - night"
skybox_material_day(resource:material) [ group="Skybox Params" ] : "Skybox Material - Day" : "materials/skybox/sky_dota_000.vmat"
skybox_material_night(resource:material) [ group="Skybox Params" ] : "Skybox Material - Night" : "materials/skybox/sky_dota_000.vmat"
skybox_tint_color_day(color255) [ group="Skybox Params" ] : "Skybox Tint - Day" : "255 255 255 0"
skybox_tint_color_night(color255) [ group="Skybox Params" ] : "Skybox Tint - Night" : "255 255 255 0"
skybox_fog_type(choices) [ group="Skybox Params" ] : "Fog Type" : 2 =
[
0: "None"
1: "Distance Based"
2: "Angular"
]
skybox_angular_fog_max_end(float) [ group="Skybox Params" ] : "Skybox Angular Fog Max End" : "12.0"
skybox_angular_fog_max_start(float) [ group="Skybox Params" ] : "Skybox Angular Fog Max Start" : "0.0"
skybox_angular_fog_min_start(float) [ group="Skybox Params" ] : "Skybox Angular Fog Min Start" : "0.0"
skybox_angular_fog_min_end(float) [ group="Skybox Params" ] : "Skybox Angular Fog Min End" : "-95.0"
// Height fog related
height_fog_color_day(color255) [ group="Height Fog" ] : "Height Fog Color - Day" : "255 255 255 0" : "Height Fog Color - Day"
height_fog_color_night(color255) [ group="Height Fog" ] : "Height Fog Color - Night" : "255 255 255 0" : "Height Fog Color - Night"
height_fog_max_z(float) [ group="Height Fog" ] : "Height Fog Max Z" : "512.0" : "Z value where height fog stops"
height_fog_density_day(float) [ group="Height Fog" ] : "Height Fog Density - Day" : "0.0" : "Height Fog Density - Day"
height_fog_density_night(float) [ group="Height Fog" ] : "Height Fog Density - Night" : "0.0" : "Height Fog Density - Night"
height_fog_falloff(float) [ group="Height Fog" ] : "Height Fog Falloff" : "1.0" : "Height fog falloff param. Higher values = sharper falloff."
height_fog_texture0(resource:texture) [ group="Height Fog" ] : "Height Fog Texture Layer 0" : "materials/dev/fow_clouds_00.vtex"
height_fog_texture1(resource:texture) [ group="Height Fog" ] : "Height Fog Texture Layer 1" : "materials/dev/fow_drifts_00.vtex"
height_fog_rotation0(float) [ group="Height Fog" ] : "Height Fog Rotation Layer 0" : "0.0"
height_fog_scale0(float) [ group="Height Fog" ] : "Height Fog Scale Layer 0" : "4096.0"
height_fog_scroll0U_day(float) [ group="Height Fog" ] : "Height Fog Scroll U Layer 0 - Day" : "5"
height_fog_scroll0V_day(float) [ group="Height Fog" ] : "Height Fog Scroll V Layer 0 - Day" : "-5"
height_fog_scroll0U_night(float) [ group="Height Fog" ] : "Height Fog Scroll U Layer 0 - Night" : "5"
height_fog_scroll0V_night(float) [ group="Height Fog" ] : "Height Fog Scroll V Layer 0 - Night" : "-5"
height_fog_rotation1(float) [ group="Height Fog" ] : "Height Fog Rotation Layer 1" : "0.0"
height_fog_scale1(float) [ group="Height Fog" ] : "Height Fog Scale Layer 1" : "2048.0"
height_fog_scroll1U_day(float) [ group="Height Fog" ] : "Height Fog Scroll U Layer 1 - Day" : "10"
height_fog_scroll1V_day(float) [ group="Height Fog" ] : "Height Fog Scroll V Layer 1 - Day" : "-10"
height_fog_scroll1U_night(float) [ group="Height Fog" ] : "Height Fog Scroll U Layer 1 - Night" : "10"
height_fog_scroll1V_night(float) [ group="Height Fog" ] : "Height Fog Scroll V Layer 1 - Night" : "-10"
height_fog_exclusion_inner_radius(float) [ group="Height Fog" ] : "Height Fog Inner Exclusion Radius" : "0"
height_fog_exclusion_height_bias(float) [ group="Height Fog" ] : "Height Fog Exclusion Height Bias" : "128"
height_fog_type(choices) [ group="Height Fog" ] : "Height Fog Type" : 0 =
[
0: "Height Fog"
1: "Caustics"
]
height_fog_caustic_speed_scale(float) [ group="Height Fog" ] : "Caustics Speed Scale" : "1"
height_fog_caustic_amplitude_scale(float) [ group="Height Fog" ] : "Caustics Amplitude Scale" : "0.1"
weather_effect(particlesystem) : "Weather Effect" : "" : "Weather effect override for this lightinfo"
color_warp_texture(resource:texture) : "Color Warp"
color_warp_blend_to_full(float) : "Color Warp Blend To Full" : "1"
preview_day_or_night(choices) :"Preview" : 0 =
[
0: "Day"
1: "Night"
]
preview_inspector_view(boolean) : "Inspector View" : "0" : "Inspector View Preview"
SkyboxSlot(string) : "SkyboxSlot" : "" : "Name of the skybox this camera belongs to. Leave blank for non-skybox lights."
]
@PointClass base(Targetname) = ent_fow_blocker_node:
"Blocks fog of war along a line to its target."
[
TargetNode(string) : "Target Node" : "" : "Name of the entity between which FoW is blocked."
]
@PointClass base(Targetname, teamnumber) sphere(visionrange) = ent_fow_revealer:
"Reveals fog of war in a radius."
[
visionrange(integer) : "Vision Range" : 500 : "Radius of vision to reveal"
]
@PointClass base(Targetname) = npc_dota_neutral_spawner:
"Spawns neutral units."
[
NeutralType(choices) :"Camp Type" : 0 =
[
0: "Easy"
1: "Moderate"
2: "Hard"
3: "Ancient"
]
PullType(choices) :"Pull Type" : 0 =
[
0: "Normal"
1: "Fast"
2: "Slow"
3: "Sorta Fast"
4: "Small Lane Camp"
5: "Just Enough"
]
AggroType(choices) :"Aggro Type" : 0 =
[
0: "Never"
1: "Always"
]
ForcedSubType(choices) :"Force Spawn Type" : 0 =
[
0: "Random (Normal Gamerules)"
1: "Kobolds (E), Ogres (M), Centaurs (H), Drakes (A)"
2: "Gnolls (E), Wolves (M), Troll Warlord (H), Rock Golems (A)"
3: "Troll Priest (E), Mud Golems (M), Ursa (H), Lizards (A)"
4: "Trolls & Kobold (E), Satyrs (M), Satyrs (H)"
5: "Ghosts (E), Centaurs (M), Wildkin (H)"
6: "Harpies (E)"
]
BatchLimit(integer) : "Spawn Limit" : 0 : "The max number of times this spawner is allowed to spawn its creeps. If 0, will spawn infinitely."
VolumeName(target_destination) : "Volume Name" : "" : "Name of the volume used to determine whether to spawn."
output OnSpawnerExhausted(void) : "Fired when a spawner with a batch limit has run out of batches."
]
@PointClass base(Targetname) = npc_dota_spawner_good_top:
"Spawns Radiant creeps in the top lane of the standard Dota2 PvP map."
[
NPCScriptName(string) : "NPC Script" : "" : "Name of the NPC script used to spawn this character."
NPCUniqueName(string) : "Unique NPC Name" : "" : "Name of the NPC."
NPCFirstWaypoint(target_destination) : "First Waypoint" : "" : "First Waypoint the creeps will head to"
input SpawnNPCFromScript(integer) : "Spawn X npcs from the script."
]
@PointClass base(Targetname) = npc_dota_spawner_good_mid:
"Spawns Radiant creeps in the middle lane of the standard Dota2 PvP map."
[
NPCScriptName(string) : "NPC Script" : "" : "Name of the NPC script used to spawn this character."
NPCUniqueName(string) : "Unique NPC Name" : "" : "Name of the NPC."
NPCFirstWaypoint(target_destination) : "First Waypoint" : "" : "First Waypoint the creeps will head to"
input SpawnNPCFromScript(integer) : "Spawn X npcs from the script."
]
@PointClass base(Targetname) = npc_dota_spawner_good_bot:
"Spawns Radiant creeps in the bottom lane of the standard Dota2 PvP map."
[
NPCScriptName(string) : "NPC Script" : "" : "Name of the NPC script used to spawn this character."
NPCUniqueName(string) : "Unique NPC Name" : "" : "Name of the NPC."
NPCFirstWaypoint(target_destination) : "First Waypoint" : "" : "First Waypoint the creeps will head to"
input SpawnNPCFromScript(integer) : "Spawn X npcs from the script."
]
@PointClass base(Targetname) = npc_dota_spawner_bad_top:
"Spawns Dire creeps in the top lane of the standard Dota2 PvP map."
[
NPCScriptName(string) : "NPC Script" : "" : "Name of the NPC script used to spawn this character."
NPCUniqueName(string) : "Unique NPC Name" : "" : "Name of the NPC."
NPCFirstWaypoint(target_destination) : "First Waypoint" : "" : "First Waypoint the creeps will head to"
input SpawnNPCFromScript(integer) : "Spawn X npcs from the script."
]
@PointClass base(Targetname) = npc_dota_spawner_bad_mid:
"Spawns Dire creeps in the middle lane of the standard Dota2 PvP map."
[
NPCScriptName(string) : "NPC Script" : "" : "Name of the NPC script used to spawn this character."
NPCUniqueName(string) : "Unique NPC Name" : "" : "Name of the NPC."
NPCFirstWaypoint(target_destination) : "First Waypoint" : "" : "First Waypoint the creeps will head to"
input SpawnNPCFromScript(integer) : "Spawn X npcs from the script."
]
@PointClass base(Targetname) = npc_dota_spawner_bad_bot:
"Spawns Dire creeps in the bottom lane of the standard Dota2 PvP map."
[
NPCScriptName(string) : "NPC Script" : "" : "Name of the NPC script used to spawn this character."
NPCUniqueName(string) : "Unique NPC Name" : "" : "Name of the NPC."
NPCFirstWaypoint(target_destination) : "First Waypoint" : "" : "First Waypoint the creeps will head to"
input SpawnNPCFromScript(integer) : "Spawn X npcs from the script."
]
@PointClass base(Targetname) gameUnitModel( NPCScriptName ) = npc_dota_spawner:
"Spawns NPCs based on scripts."
[
NPCScriptName(gameunitclass) : "NPC Script" : "" : "Name of the NPC script used to spawn this character."
NPCUniqueName(string) : "Unique NPC Name" : "" : "Name of the NPC."
NPCFirstWaypoint(target_destination) : "First Waypoint" : "" : "First Waypoint the creeps will head to"
]
@PointClass base(Targetname) = dota_item_rune_spawner :
"A marker for where runes spawn, pre 7.0 behavior."
[
]
@PointClass base(Targetname) = dota_item_rune_spawner_powerup :
"A marker for where powerup runes spawn."
[
RunePosition(string) : "Rune Position" : "" : "Name of the position of the rune ( top or bot )"
]
@PointClass base(Targetname) = dota_item_rune_spawner_bounty :
"A marker for where bounty runes spawn."
[
RunePosition(string) : "Rune Position" : "" : "Name of the position of the rune ( top or bot )"
RuneTeam(choices) : "Rune Team" : 4 =
[
2: "DOTA_TEAM_GOODGUYS"
3: "DOTA_TEAM_BADGUYS"
4: "DOTA_TEAM_NEUTRALS"
]
]
@PointClass base(Targetname) = dota_item_rune_spawner_xp :
"A marker for where xp runes spawn."
[
RunePosition(string) : "Rune Position" : "" : "Name of the position of the rune ( top or bot )"
RuneTeam(choices) :"Rune Team" : 2 =
[
2: "DOTA_TEAM_GOODGUYS"
3: "DOTA_TEAM_BADGUYS"
]
]
@BaseClass = DotaPlayerStart
[
Disabled( boolean ) : "Disabled" : "0" : "If disabled this entity will not be used when picking a location to spawn a player at."
input SetEnabled( void ) : "Enable this player start location, allowing it to be picked as spawn location for players."
input SetDisabled( void ) : "Disable this player start location, preventing it from being picked as a location where players will spawn."
input SetEnabledExclusively( void ) : "Enabled this player start location and disable all others."
output OnEnabled(void) : "Called when the player start is enabled."
output OnDisabled(void) : "Called when the player start is disabled."
]
@PointClass base(PlayerClass, DotaPlayerStart) studio("models/heroes/axe/axe.vmdl") = info_player_start_goodguys :
"Spawn point for Radiant heroes."
[
]
@PointClass base(PlayerClass, DotaPlayerStart) studio("models/heroes/axe/axe.vmdl") = info_player_start_badguys :
"Spawn point for Dire heroes."
[
]
@PointClass base(PlayerClass, Targetname, teamnumber, DotaPlayerStart) studio("models/heroes/axe/axe.vmdl") = info_player_start_dota :
"Spawn point for heroes of any team."
[
]
@PointClass base(Targetname) occluder(radius) color(255 0 0) = env_occluder :
"A test entity for radius occluding for the fog of war system."
[
radius(float) : "Radius" : 128 : "The radius around this occluder."
]
@PointClass base(Targetname) line_occluder(radius) color(255 0 0) = env_line_occluder :
"A test entity for line occluding for the fog of war system."
[
radius(float) : "Radius" : 128 : "The radius around this occluder."
]
@PointClass base(Targetname) viewer(radius) color(0 255 0) = env_viewer :
"A test entity for viewing for the fog of war system."
[
radius(float) : "Radius" : 256 : "The radius around this viewer."
]
@PointClass base(Studiomodel,Targetname) dota_obstruction() sphere(grass_exclusion_radius, 100 200 100, singleSelect) = ent_dota_tree :
"Creates a Dota tree. Trees have collision, block fog of war visibility, and can be destroyed. Note: it's far faster to place trees via the Tile Editor tool."
[
rendercolor(color255) : "FX Color (R G B)" : "255 255 255" : "The FX color is used by the selected Render Mode."
ambientfx(particlesystem) : "Ambient Effect"
particle_tint_color(color255) : "Particle Tint Color" : "255 255 255"
always_use_showcase_tree(boolean) : "Always use showcase tree" : 0
tree_shake_strength_override(float) : "Tree shake strength override" : -1
grass_exclusion_radius(float) : "Grass Exclusion Radius" : 0 : "Don't grow grass within this radius."
input CutDown(void) : "Cut down the tree."
input CutDownForever(void) : "Cut down the tree and don't grow back."
input GrowBack(void) : "Force the tree to regrow."
]
@PointClass base(Targetname) dota_obstruction("models/editor/simple_obstruction.vmdl") = point_simple_obstruction
[
StartDisabled(boolean) : "Start Disabled" : 0
block_fow(boolean) : "Block Vision/FoW" : 1
input Toggle(void) : "Toggle."
input Enable(void) : "Enable the obstruction."
input Disable(void) : "Disable the obstruction."
]
@PointClass base(prop_dynamic_base, Targetname, teamnumber) studioprop() = dota_prop_customtexture:
"[TOOLTIP NEEDS IMPROVEMENT] Custom texture prop."
[
]
@PointClass base(info_particle_system) editormodel("models/editor/cone_helper.vmdl") particle() = dota_world_particle_system :
"[TOOLTIP NEEDS IMPROVEMENT] Dota world particle system."
[
dotaworldtype(choices) : "Particle Type" : 0 =
[
0: "Ambient Creature"
1: "Generic"
2: "Fluff"
]
showatday(choices) :"Show during day" : 0 =
[
0: "No"
1: "Yes"
]
showatnight(choices) :"Show at night" : 0 =
[
0: "No"
1: "Yes"
]
show_in_fog(boolean) : "Show in Fog of War" : "0"
show_during_dynamic_weather(choices) :"Show only during dynamic weather" : 0 =
[
0: "No"
1: "Yes"
]
]
@PointClass base(prop_dynamic_base, Targetname, teamnumber) studioprop() = prop_dynamic_clientside:
"Client-side dynamic prop."
[
suppress_anim_event_sounds(boolean) : "Supress Animation Event Sounds" : 0
is_banner(choices) :"Replaceable Player Banner?" : 0 =
[
0: "No"
1: "Yes"
]
]
@PointClass base(prop_dynamic_base, Targetname, teamnumber) studioprop() = dota_guild_banner_dynamic:
"guild banner, ultimately spawns different vmdls based on guild config."
[
]
@PointClass base(prop_dynamic_base, Targetname, teamnumber) studioprop() vecline_local( fade_origin_offset, 255, 200, 200 ) = prop_dynamic_client_fadeout:
"Client-side prop which fades out when it begins to obstruct the view."
[
fade_out_mode(choices) : "Fade out mode" : 0 =
[
0: "Time"
1: "Position"
]
fade_time(float) : "Fade Time" : "0.5" : "Number of seconds over which the fade occurs. Used by fade out mode time."
fade_radius(float) : "Fade Radius" : "0.5" : "Controls the distance from the center of the screen at which the fade out starts, 0 to 1 value."
fade_radius_end(float) : "Fade End Radius" : "0.25" : "Controls the distance from the center of screen at which the fade completes, 0 to 1 value. Used by fade mode Position."
showatday(choices) :"Show during day" : 1 =
[
0: "No"
1: "Yes"
]
showatnight(choices) :"Show at night" : 1 =
[
0: "No"
1: "Yes"
]
hide_in_showcase(boolean) : "Hide in showcase" : "0" : "Hide this prop in the showcase view"
fade_group_id(integer) : "Fade Group" : "-1" : "All props in contiguous tiles with the same ID fade together"
fade_origin_offset( local_point ) : "Origin Offset" : "0 0 0"
]
@PointClass base(prop_dynamic_base, Targetname, teamnumber) studioprop() = prop_player_cosmetic:
"Cosmetic player prop."
[
playernumber(choices) :"Player Number" : 1 =
[
1: "Player 1"
2: "Player 2"
3: "Player 3"
4: "Player 4"
5: "Player 5"
]
cosmetic_type(choices) :"Cosmetic Type" : 0 =
[
0: "Pennant"
1: "Pennant Post"
2: "Display 1"
]
]
@PointClass base( Parentname, CanBeClientOnly, Global, Studiomodel, RenderFields, Targetname) studioprop() = ambient_creatures:
"Client-side dynamic prop."
[
DefaultAnim(sequence) : "Default Animation" : "" : "The name of the idle animation that this prop will revert to whenever it finishes a random or forced animation."
showatday(choices) :"Show during day" : 0 =
[
0: "No"
1: "Yes"
]
showatnight(choices) :"Show at night" : 0 =
[
0: "No"
1: "Yes"
]
show_in_fog(boolean) : "Show in Fog of War" : "0"
]
@SolidClass base(func_brush) = ambient_creatures_zone:
"Client-side func_brush."
[
showatday(choices) :"Show during day" : 0 =
[
0: "No"
1: "Yes"
]
showatnight(choices) :"Show at night" : 0 =
[
0: "No"
1: "Yes"
]
]
@PointClass size(-8 -8 -8, 8 8 8) wirebox(min, max) = world_bounds
[
min(vecline) : "Min" : "-8256 -8512 0" : "World min bounds (Z currently ignored)."
max(vecline) : "Max" : "8192 7680 0" : "World max bounds (Z currently ignored)."
]
@BaseClass base( Targetname, Parentname, CanBeClientOnly, Global, Studiomodel, RenderFields, teamnumber) = dota_building
[
link(string) : "Linked" : " " : "The Linked Unit."
vulnerableoncreepspawn(choices) :"Vulnerable On Creep Spawn" : 0 =
[
0: "No"
1: "Yes"
]
invuln_count(integer):"Invulnerability Link Count" : 0 : "The number of entities linked to this to trigger to remove invulnerability."
playerowner(choices) :"Player Owner" : 0 =
[
0: "None"
1: "Player 1"
2: "Player 2"
3: "Player 3"
4: "Player 4"
5: "Player 5"
]
destruction_lvl1(studio) : "Damage lvl 1 model"
destdmgamnt_lvl1(float) : "lvl 1 hurt percentage" : "66" : "The health percentage at which first level of damage happens. This is the percentage of health left."
damagefx_lvl1(particlesystem) : "Damage lvl 1 Effect"
destruction_lvl2(studio) : "Damage lvl 2 model"
destdmgamnt_lvl2(float) : "lvl 2 hurt percentage" : "33" : "The health percentage at which second level damage happens. This is the percentage of health left."
damagefx_lvl2(particlesystem) : "Damage lvl 2 Effect"
ambientfx(particlesystem) : "Ambient Effect"
destroyfx(particlesystem) : "Destruction Effect"
particle_tint_color(color255) : "Particle Tint Color" : "255 255 255"
destroysound(sound) : "Destruction Sound Effect" : "" : "When the building is destroyed, this sound effect will be played, originating from this entity."
dmglvl1sound(sound) : "Damage lvl 1 Sound Effect" : "" : "When the building is damaged to the first level, this sound effect will be played, originating from this entity."
dmglvl2sound(sound) : "Damage lvl 2 Sound Effect" : "" : "When the building is damaged to the second level, this sound effect will be played, originating from this entity."
MapUnitName(string) : "Unit Name" : "" : "Unit Name to look up in npc txt files to set this entity's data."
input SetInvulnCount(integer) : "Sets the invulnerable count on this building."
input ReduceInvulnCount(void) : "Reduces the invulnerable count by one on this build. When the count goes to 0 or lower, backdoor protection is disabled."
]
@PointClass base( dota_building ) studioprop() = npc_dota_barracks:
"Creates a barracks, which spawns creeps at regular intervals and can be destroyed by enemy teams."
[
upgrade_level(choices) :"Upgrade Category" : 0 =
[
0: "UPGRADED_NONE"
1: "UPGRADED_BAD_BOTTOM_MELEE"
2: "UPGRADED_BAD_BOTTOM_RANGE"
4: "UPGRADED_BAD_MID_MELEE"
8: "UPGRADED_BAD_MID_RANGE"
16: "UPGRADED_BAD_TOP_MELEE"
32: "UPGRADED_BAD_TOP_RANGE"
64: "UPGRADED_GOOD_BOTTOM_MELEE"
128: "UPGRADED_GOOD_BOTTOM_RANGE"
256: "UPGRADED_GOOD_MID_MELEE"
512: "UPGRADED_GOOD_MID_RANGE"
1024: "UPGRADED_GOOD_TOP_MELEE"
2048: "UPGRADED_GOOD_TOP_RANGE"
]
]
@PointClass base( dota_building) studioprop() = npc_dota_tower:
"Creates a Dota tower that attacks enemy units, provides vision of invisible enemies, and allows allies to teleport to it."
[
output OnTowerKilled(void) : "Fired whenever the tower is destroyed."
]
@PointClass base( dota_building ) studioprop() = npc_dota_building:
"Creates a simple building."
[
]
@PointClass base( dota_building) studioprop() = npc_dota_fort:
"Creates an ancient. In standard Dota2 PvP, the win condition is to destroy the enemy team's ancient."
[
]
@PointClass base( dota_building) studioprop() = npc_dota_holdout_tower_lightfast:
"(used in Frostivus event) Creates a lightly-damaging, fast-attacking tower. This can also be edited in the npc_units.txt file."
[
]
@PointClass base( dota_building) studioprop() = npc_dota_holdout_tower_heavyslow:
"(used in Frostivus event) Creates a heavily-damaging, slowly-attacking tower. This can also be edited in the npc_units.txt file."
[
]
@PointClass base( dota_building) studioprop() = npc_dota_holdout_tower_reducespeed:
"(used in Frostivus event) Creates a tower that reduces enemy movespeed. This can also be edited in the npc_units.txt file."
[
]
@PointClass base( dota_building) studioprop() = npc_dota_watch_tower:
"Creates a watch tower building which either team can capture."
[
]
@PointClass base(prop_dynamic_base, Targetname, dota_building) studioprop() = npc_dota_mango_tree:
"Creates a mango tree that spews mangos every now and then."
[
]
@PointClass base(prop_dynamic_base, Targetname, dota_building) studioprop() = npc_dota_unit_underlord_portal:
"Creates one portal out of a pair that you can traverse through."
[
]
@PointClass base(prop_dynamic_base, Targetname, dota_building) studioprop() = npc_dota_unit_twin_gate:
"Creates one portal out of a pair that you can traverse through."
[
]
@PointClass base(prop_dynamic_base, Targetname, dota_building) studioprop() = npc_dota_base_blocker:
"A blocker which only one team can go past."
[
]
@PointClass base(prop_dynamic_base, Targetname, dota_building) studioprop() = npc_dota_lantern:
"A lantern that can be lit by either team."
[
]
@PointClass base( dota_building ) studioprop() = ent_dota_shop:
"Creates a Dota item shop."
[
shoptype(choices) :"Shop Type" : 0 =
[
0: "Home"
1: "Side"
2: "Secret"
6: "Custom"
]
]
@PointClass base( dota_building ) studioprop() = ent_dota_neutral_item_stash:
"Creates a Dota neutral item stash."
[
]
@PointClass base( dota_building ) studioprop() = ent_dota_halloffame:
"[TOOLTIP NEEDS IMPROVEMENT] The Hall of Fame."
[
]
@PointClass base( dota_building ) studioprop() = ent_dota_promo:
"[TOOLTIP NEEDS IMPROVEMENT] Promo Entity."
[
]
@PointClass base( dota_building ) studioprop() = ent_dota_fountain:
"The Fountain"
[
]
@PointClass base(Targetname, EnableDisable) sphere(minfalloff) sphere(maxfalloff) iconsprite("editor/color_correction.vmt") = dota_color_correction :
"An entity to control the color correction in the map."
[
minfalloff(float) : "Min Radius" : "200.0" : "This is the distance at which this color correction is in 100% control"
maxfalloff(float) : "Max Radius" : "400.0" : "This is the distance where this color correction starts taking effect."
filename(string) : "Lookup Table Filename" : "" : "This is the lookup table filename"
]
@PointClass base(Targetname) = info_courier_spawn_radiant:
"Spawns a Radiant team courier."
[
]
@PointClass base(Targetname) = info_courier_spawn_dire:
"Spawns a Dire team courier."
[
]
@PointClass base(Targetname) = info_ofrenda_statue_spawn:
"Spawns a Ofrenda Statue."
[
]
@PointClass base(Targetname, teamnumber) = info_courier_spawn:
"Spawns a team courier."
[
]
@SolidClass base(Trigger) = trigger_shop :
"Region that defines the shop radius."
[
shoptype(choices) :"Shop Type" : 0 =
[
0: "Home"
1: "Side"
2: "Secret"
6: "Custom"
]
output OnTrigger(void) : "Fired whenever the trigger is activated."
]
@SolidClass base(Trigger)
metadata
{
auto_apply_material = "materials/tools/tools_no_wards.vmat"
}
= trigger_no_wards :
"Wards disallowed here."
[
]
@SolidClass base(Trigger) = trigger_boss_attackable :
"Boss (Roshan) is attackable from here."
[
]
@PointClass base(Targetname, teamnumber) gameUnitModel( CustomNPCName ) = npc_dota_scripted_spawner:
"[DEPRECATED ENTITY?] Spawns NPCs based on scripts for tutorials / single player / co-op."
[
NPCFirstWaypoint(target_destination) : "First Waypoint" : "" : "First Waypoint the spawned NPCs will head to"
NPCType(choices) :"NPC Type" : 0 =
[
0: "melee creep (0)"
1: "ranged creep (1)"
2: "siege creep (2)"
3: "Roquelaire (3)"
4: "Keeper of the Light (4)"
5: "Razor (5)"
6: "Tidehunter (6)"
7: "Observer Ward (7)"
8: "Custom (8)"
]
CustomNPCName(gameunitclass) : "Custom NPC Name" : "" : "Custom name of NPC: (ex. npc_dota_hero_tidehunter )."
input SpawnNPC(integer) : "Spawn X NPCs. Set the team and type of the NPC before calling this."
input SetNPCTeam(integer) : "Set the NPC team. See the 'NPC Team' choices for the valid values."
input SetNPCType(integer) : "Set the NPC type. See the 'NPC Type' choices for the valid values."
input SetNPCWaypoint(target_destination) : "Set the waypoint that spawned NPCs should head to. Living NPCs will move to it when they're ready to move (i.e. not in combat)."
input RemoveAllSpawnedUnits(void) : "Remove all living spawned NPCs."
input SetAllowRelaxation(integer) : "Set whether spawned NPCs are allowed to relax (1 for true, 0 for false). Relaxing NPCs will play sit down animations when they're idle."
input SetAllowAutoAttack(integer) : "Set whether spawned NPCs are allowed to automatically attack nearby enemies (1 for true, 0 for false). By default spawned NPCs will do so."
input SetAutomaticallyRespawn(integer) : "Set whether this spawned should automatically respawn any dying spawned NPCs. If true, it'll never fire the OnAllUnitsKilled output."
input SetPlayPostVictoryAnimation(integer) : "Set whether spawned NPCs should play post combat victory animations (1 for true, 0 for false). If so, the NPCs will play a victory animation whenever the last nearby enemy is killed."
input FireTutorialAdvanceEvent(string) : "Fire a tutorial event. If the string matches the current tutorial lesson's 'advance_event' value, the lesson will advance."
input SetSpawnPoint(target_destination) : "Set the spawn point of any NPCs created by this spawner. By default it'll be the spawner itself."
input SetCompanion(bool) : "Turn on/off companion behavior."
input SetCompanionAttack(bool) : "Turn on/off companion creep aggression."
input TeleportToWaypoint(target_destination) : "Teleport the spawned NPC to a waypoint."
input SetInvulnerable(bool) : "Turn on/off invulnerability for any NPC created by this spawner."
input SetHealth(integer) : "Set the health of all currently living NPCs created by this spawner. Note that this will not affect the health of NPCs spawned in the future."
input ForceIdle(bool) : "Force the NPC to go idle."
input ForceCreepAttack(bool) : "Force the NPC to attack creeps."
input UseAbility(integer) : "Force the NPC to use an ability."
input SetDuration(float) : "Set a general timer for the NPC."
input SetAllowHeroTargets(bool) : "Allow targeting of heroes (1 for true, 0 for false)."
input SetCustomNPCName(string) : "Set custom NPC for spawning."
output OnAllUnitsKilled(void) : "Fired when the last of our spawned NPCs has been killed."
output OnUnitKilled(void) : "Fired whenever one of our spawned NPCs has been killed."
output OnHealthLow(void) : "Fired when a NPCs health is low (less than 25 percent)."
]
@PointClass base(Targetname) gameItemModel( ItemName )= dota_item_spawner :
"Spawn items."
[
ItemName(gameitemclass) : "Item Name" : "" : "The name of the item to spawn."
input SpawnItem(void) : "Spawn an item."
input SetItemName(string) : "Set the item name."
]
@SolidClass base(Trigger) = trigger_hero :
"A trigger that's fired when a hero touches it."
[
wait(integer) : "Delay Before Reset" : 1 : "Amount of time, in seconds, after the trigger_multiple has triggered before it can be triggered again. If set to -1, it will never trigger again (in which case you should just use a trigger_once)."
// Inputs
input TouchTest(void) : "Tests if the trigger is being touched and fires an output based on whether the value is true or false."
// Outputs
output OnTrigger(void) : "Fired whenever the trigger is activated."
output OnTouching(void) : "Fired when the TestTouch input is true (something is touching the trigger.)"
output OnNotTouching(void) : "Fired when the TestTouch input is not true (nothing is touching the trigger.)"
]
@PointClass base(Targetname) iconsprite("editor/info_target.vmt") line(255 255 255, targetname, other_blocker) = tutorial_npc_blocker: "The start or endpoint of an NPC blocking line."
[
other_blocker(target_destination) : "Other Blocker Point" : "" : "The tutorial_npc_blocker marking the other end of this NPC blocking line."
StartDisabled(boolean) : "Start Disabled" : 0
Hidden(boolean) : "Hidden" : 1 : "Do not show visual effect for blocker"
input Enable(void) : "Enable this blocking line."
input Disable(void) : "Disable this blocking line."
input Toggle(void) : "Toggles the state of this blocking line."
]
@PointClass base(Targetname, Parentname) iconsprite("editor/info_target.vmt") studio("models/editor/axis_helper.mdl") = info_roquelaire_perch : "(used in Dota2 PvP tutorial) A perch point for Roquelaire to sit on."
[
]
@BaseClass base(Targetname) = npc_dota_baseclass
[
rendercolor(color255) : "Color (R G B)" : "255 255 255" : "Color tint to apply to the model"
MapUnitName(gameunitclass) : "Unit Name" : "npc_dota_neutral_kobold" : "The specific unit type to spawn."
m_iTeamNum(choices) : "Team Number" : "4" : "The team this unit is a member of." =
[
0: "Unassigned"
1: "Spectators"
2: "Good Guys"
3: "Bad Guys"
4: "Neutrals"
5: "No Team"
6: "Custom 1"
7: "Custom 2"
8: "Custom 3"
9: "Custom 4"
10: "Custom 5"
11: "Custom 6"
12: "Custom 7"
13: "Custom 8"
]
EnableAutoStyles(boolean) : "EnableAutoStyles" : 0 : "Enable autostyles on this entity."
input SetStyleOverride(integer) : "Force a particular style on this NPC."
input InputSetAutoStyleCriteria(string) : "Sets an autostyle criteria. String is of format <autostyle name> <value>."
]
//-------------------------------------------------------------------------
// Used by portraits
//-------------------------------------------------------------------------
@PointClass base(Targetname, Parentname) model() = info_target_portrait_root :
"An entity that does nothing, however it previews a model in hammer only. Useful for root nodes of portraits. Parent entities in this map to this."
[
model(studio) [report] : "Hammer Preview Model"
DefaultAnim(sequence) : "Default Animation" : "" : "The name of the idle animation that this prop will revert to whenever it finishes a random or forced animation."
]
@PointClass base(npc_dota_baseclass, Parentname, EnableDisable) gameUnitModel( MapUnitName ) = portrait_world_unit :
"Can only be used in background maps. Creates a portrait unit based on a unit name."
[
ModelScale(float) : "Model Scale" : "1"
suppress_intro_effects(boolean) : "Suppress Intro Effects" : "1"
spawn_background_models(boolean) : "Spawn Background Models" : "0"
skip_background_entities(boolean) : "Spawn unit only" : "0" : "Don't spawn any background entities (camera, lights, pets, particles, models, etc)"
rare_loadout_anim_chance(float) : "Rare Loadout Animation Chance" : "-1" : "Use range 0 - 1 to set the likelihood that the rare loadout animation will be played after a loadout animation completes. Negative numbers means use default."
suppress_anim_event_sounds(boolean) : "Suppress Anim Event Sounds" : "0"
skip_pet_spawn(boolean) : "Skip Pet Spawn" : "0"
flying_courier(boolean) : "Flying Courier" : "0" : "Indicates if you want the courier to appear flying. Only used if your unit type is npc_dota_courier."
spawn_wearable_item_defs(boolean) : "Spawn wearable items on the unit" : "1"
activity(string) : "Activity Name" : "" : "The activity to play after the ACT_DOTA_SPAWN activity."
activity_modifier(string) : "Activity Modifier" : "" : "An activity modifier to add to the unit to change its animations"
item_def0(integer) : "Wearable Item Def 0" : : "If set, specifies an item def to wear on the unit."
style_index0(integer) : "Style Index 0" : : "If set, specifies the style index for Wearable Item Def 0."
item_def1(integer) : "Wearable Item Def 1" : : "If set, specifies an item def to wear on the unit."
style_index1(integer) : "Style Index 1" : : "If set, specifies the style index for Wearable Item Def 1."
item_def2(integer) : "Wearable Item Def 2" : : "If set, specifies an item def to wear on the unit."
style_index2(integer) : "Style Index 2" : : "If set, specifies the style index for Wearable Item Def 2."
item_def3(integer) : "Wearable Item Def 3" : : "If set, specifies an item def to wear on the unit."
style_index3(integer) : "Style Index 3" : : "If set, specifies the style index for Wearable Item Def 3."
item_def4(integer) : "Wearable Item Def 4" : : "If set, specifies an item def to wear on the unit."
style_index4(integer) : "Style Index 4" : : "If set, specifies the style index for Wearable Item Def 4."
item_def5(integer) : "Wearable Item Def 5" : : "If set, specifies an item def to wear on the unit."
style_index5(integer) : "Style Index 5" : : "If set, specifies the style index for Wearable Item Def 5."
item_def6(integer) : "Wearable Item Def 6" : : "If set, specifies an item def to wear on the unit."
style_index6(integer) : "Style Index 6" : : "If set, specifies the style index for Wearable Item Def 6."
item_def7(integer) : "Wearable Item Def 7" : : "If set, specifies an item def to wear on the unit."
style_index7(integer) : "Style Index 7" : : "If set, specifies the style index for Wearable Item Def 7."
]
//-------------------------------------------------------------------------
// Global Light
//-------------------------------------------------------------------------
@PointClass base(Targetname, EnableDisable) editormodel( "models/editor/spot", lightModeTint, "255 255 157", "255 64 64" ) dotaGlobalLightHelper() = env_global_light :
"Control the global light that casts shadows in a Dota map."
[
angles(string) : "Pitch Yaw Roll (Y Z X)" : "45 20 180" : "This is the light cast direction. Pitch is rotation around the Y axis, yaw is the rotation around the Z axis, and roll is the rotation around the X axis."
ambientangles(angle) : "Ambient Angle ( Y Z X )" : "0 100 0" : ""
color(color255) : "Color" : "255 255 255 1" : "This is the color of the global light."
lightscale(float) : "Light Scale" : "1.0" : "This controls the overall intensity of the light."
ambientcolor1(color255) : "Ambient Color" : "128 128 128 1" : "This is the ambient color of the world."
ambientscale1(float) : "Ambient Scale" : "1.0" : "This controls how much ambient there is."
ambientcolor2(color255) : "Shadow Color" : "24 24 24 1" : "This is the shadow color of the world."
ambientscale2(float) : "Shadow Scale" : "1.0" : "This controls how much shadow on entities there are."
ambientcolor3(color255) : "Shadow Secondary Color" : "24 24 24 1" : "This is the shadow color for downward facing surfaces."
groundscale(float) : "Shadow Ground Scale" : "1.0" : "This controls how much shadow on the ground there is."
specularangles(angle) : "Specular Angle ( Y Z X )" : "90 0 0" : ""
specularpower(float) : "Specular Power" : "16" : ""
specularindependence(float) : "Specular Independence" : "0" : "Specular independence from diffuse light. 0 specular is multiplied by diffuse, 1 specular is independent of diffuse."
specularcolor(color255) : "Specular Color" : "128 128 128 1" : "This is the color of the specular."
fov(float) : "FOV" : 5 : "This is the field of view that the sunlight casts in. Use lower values for more distant sun and sharper shadows."
nearz(float) : "NearZ Distance" : "4" : "This controls the near clipping plane's distance from the player."
enableshadows(boolean) : "Enable Shadows" : "1" : "Enables/disables shadows from this projected texture."
fow_darkness(float) : "FoW Darkness" : "2.7" : "Controls how dark the fog of war is, 0 is black, larger values are lighter"
background_clear_not_required(boolean) : "Clear Not Required" : "0" : "Specifies that a clear of the background is not required, set this to true if the edge map can never be seen to improve performance."
dota_no_clouds(boolean) : "Disable clouds" : "0" : ""
// Inputs
input LightColor(color255) : "Set the light color."
input SetAngles(string) : "Set the global light direction."
input SetFOV(float) : "Set the field of view the global light casts."
input SetNearZDistance(float) : "Set the near z distance."
input SetTexture(string) : "Set the texture cookie of the global light."
input EnableShadows(bool) : "Set the if shadows are enabled"
SkyboxSlot(string) : "SkyboxSlot" : "" : "Name of the skybox this camera belongs to. Leave blank for non-skybox lights."
enable_separate_skybox_fog(boolean) : "Enable Separate Skybox Fog" : "0" : "Allows the skybox to use its own fog parameters."
// Height fog related
height_fog_color(color255) [ group="Height Fog" ] : "Height Fog Color" : "255 255 255 0" : "Height Fog Colory"
height_fog_max_z(float) [ group="Height Fog" ] : "Height Fog Max Z" : "512.0" : "Z value where height fog stops"
height_fog_density(float) [ group="Height Fog" ] : "Height Fog Density" : "0.0" : "Height Fog Density"
height_fog_falloff(float) [ group="Height Fog" ] : "Height Fog Falloff" : "1.0" : "Height fog falloff param. Higher values = sharper falloff."
height_fog_texture0(resource:texture) [ group="Height Fog" ] : "Height Fog Texture Layer 0" : "materials/dev/fow_clouds_00.vtex"
height_fog_texture1(resource:texture) [ group="Height Fog" ] : "Height Fog Texture Layer 1" : "materials/dev/fow_drifts_00.vtex"
height_fog_rotation0(float) [ group="Height Fog" ] : "Height Fog Rotation Layer 0" : "0.0"
height_fog_scale0(float) [ group="Height Fog" ] : "Height Fog Scale Layer 0" : "4096.0"
height_fog_scroll0U(float) [ group="Height Fog" ] : "Height Fog Scroll U Layer 0" : "5"
height_fog_scroll0V(float) [ group="Height Fog" ] : "Height Fog Scroll V Layer 0" : "-5"
height_fog_rotation1(float) [ group="Height Fog" ] : "Height Fog Rotation Layer 1" : "0.0"
height_fog_scale1(float) [ group="Height Fog" ] : "Height Fog Scale Layer 1" : "2048.0"
height_fog_scroll1U(float) [ group="Height Fog" ] : "Height Fog Scroll U Layer 1" : "10"
height_fog_scroll1V(float) [ group="Height Fog" ] : "Height Fog Scroll V Layer 1" : "-10"
height_fog_exclusion_inner_radius(float) [ group="Height Fog" ] : "Height Fog Inner Exclusion Radius" : "0"
height_fog_exclusion_height_bias(float) [ group="Height Fog" ] : "Height Fog Exclusion Height Bias" : "128"
height_fog_type(choices) [ group="Height Fog" ] : "Height Fog Type" : 0 =
[
0: "Height Fog"
1: "Caustics"
]
height_fog_caustic_speed_scale(float) [ group="Height Fog" ] : "Caustics Speed Scale" : "1"
height_fog_caustic_amplitude_scale(float) [ group="Height Fog" ] : "Caustics Amplitude Scale" : "0.1"
]
@PointClass base(Targetname, Parentname) sphere(radius) externalHelper("ToolObjects/env_deferred_light") = env_deferred_light :
"[TOOLTIP NEEDS IMPROVEMENT] Deferred light entity."
[
spawnflags(flags) =
[
1 : "Enabled" : 1
]
target(target_destination) : "target" : : "target"
lightcolor(color255) : "Light Color" : "255 255 255 200" : "Light Color RGB-Intensity"
radius(float) : "Radius" : "128.0" : "Size of the light"
intensity(float) : "Intensity" : "1.0" : "Intensity of the light"
// Inputs
input TurnOn(void) : "Turn on the texture"
input TurnOff(void) : "Turn off the texture"
input LightColor(color255) : "Change the light color/brightness"
input Intensity(float) : "Change the light intensity"
input Radius(float) : "Change the light radius"
]
@PointClass base(Targetname, Parentname) sphere(radius) externalHelper("ToolObjects/env_deferred_light") = env_deferred_light_client_only :
"Deferred light entity whose state is not networked."
[
spawnflags(flags) =
[
1 : "Enabled" : 1
]
target(target_destination) : "target" : : "target"
lightcolor(color255) : "Light Color" : "255 255 255 200" : "Light Color RGB-Intensity"
radius(float) : "Radius" : "128.0" : "Size of the light"
intensity(float) : "Intensity" : "1.0" : "Intensity of the light"
// Inputs
input TurnOn(void) : "Turn on the texture"
input TurnOff(void) : "Turn off the texture"
input LightColor(color255) : "Change the light color/brightness"
input Intensity(float) : "Change the light intensity"
input IntensityOverTime(string) : "Change the light intensity over time, use space to separate arguments '<intensity> <time>'"
input Radius(float) : "Change the light radius"
]
@PointClass base(Targetname, Parentname) editormodel( "models/editor/spot", lightModeTint, "124 255 157", "255 64 64" ) lightcone( spot_fov, spot_fov, lightcolor ) externalHelper("ToolObjects/env_deferred_light") = env_deferred_spot_light :
"[TOOLTIP NEEDS IMPROVEMENT] Deferred spot light."
[
spawnflags(flags) =
[
1 : "Enabled" : 1
]
target(target_destination) : "target" : : "target"
lightcolor(color255) : "Light Color" : "255 255 255 200" : "Light Color RGB-Intensity"
intensity(float) : "Intensity" : "1.0" : "Intensity of the light"
range(float) : "Spot Light Range" : "512.0" : "Farthest range for the spot light"
spot_fov(float) : "Spot Light FOV" : "45.0" : "Cone half-angle for the spot light"
start_falloff(float) : "Start of Cone Angle Falloff" : "0.5" : "Start of falloff for inner cone"
distance_falloff(float) : "Start of Range Falloff" : "0.5" : "Start of falloff along spot light range"
texturename(resource:texture) : "Projected Texture" : "" : "Projected vtex texture"
// Inputs
input TurnOn(void) : "Turn on the texture"
input TurnOff(void) : "Turn off the texture"
input LightColor(color255) : "Change the light color/brightness"
]
@PointClass base(env_deferred_spot_light) editormodel( "models/editor/spot", lightModeTint, "124 255 157", "255 64 64" ) lightcone( spot_fov, spot_fov, lightcolor ) externalHelper("ToolObjects/env_deferred_light") = env_deferred_spot_light_client_only :
"Deferred spot light entity whose state is not networked."
[
]
@PointClass base(npc_dota_baseclass) gameUnitModel( MapUnitName ) = npc_dota_base : "Used to place a dota NPC."
[
initial_waypoint(target_destination) : "Initial Waypoint" : "" : "The first waypoint to path to."
UseNeutralCreepBehavior(boolean) : "Use Neutral Creep Behavior" : 0 : "Should we use creep camp leashing behavior."
// Inputs
input MoveTo(target_destination) : "Move to a target."
input MoveToAttack(target_destination) : "Move to attack a target."
input MoveToPositionAggressive(target_destination) : "Attack-move a location."
input SpeechBubble( string ) : "Say something in a speech bubble."
input DestroyAllSpeechBubbles( void ) : "Remove all current active (and queued) speech bubbles."
input SetFOWRevealRadius( float ) : "Adjust the radius at which this NPC reveals fog of war."
]
@PointClass base(ent_dota_game_events) = dota_custom_game_events : "Used to change settings on the game mode for custom games."
[
GoldPerTick( integer ) : "Gold Per Tick" : "1" : "Gold to award to all players each gold tick."
GoldTickTime( float ) : "Gold Tick Time" : "0.6" : "Time in seconds between gold ticks."
PlayerStartingGold( integer ) : "Player Starting Gold" : "625" : "Gold players start with."
HeroRespawnEnabled( boolean ) : "Hero Respawn" : 1 : "Do heroes automatically respawn?"
TreeRegrowTime( float ) : "Tree Regrow Time" : "300" : "Time in seconds for a tree to regrow."
HeroSelectionTime( float ) : "Hero Selection Time" : "60" : "Time in seconds for hero selection."
PreGameTime( float ) : "Pre-Game Time" : "90" : "Time in seconds before the game begins."
PostGameTime( float ) : "Post-Game Time" : "360" : "Time in seconds after the game ends before the server."
TimeOfDay( float ) : "Time Of Day" : "0" : "Current time of day."
HeroMinimapIconScale( float ) : "Hero Minimap Icon Scale" : "1.0" : "Scale for hero minimap icons."
CreepMinimapIconScale( float ) : "Creep Minimap Icon Scale" : "1.0" : "Scale for creep minimap icons."
RuneMinimapIconScale( float ) : "Rune Minimap Icon Scale" : "1.0" : "Scale for rune minimap icons."
IsFirstBloodActive( boolean ) : "Is First Blood Active" : "1" : "Is first blood active?"
UseCustomHeroXPValues( boolean ) : "Use Custom Hero XP Values" : "0" : ""
UseBaseGoldBountyOnHeroes( boolean ) : "Use Base Gold Bounty On Heroes" : "0" : "Force base gold usage instead of calculated value."
RemoveIllusionsOnDeath( boolean ) : "Remove Illusions On Death" : "0" : ""
TopBarTeamValuesVisible( boolean ) : "Top Bar Team Values Visible" : "1" : ""
CameraDistanceOverride( float ) : "Camera Distance Override" : "0" : "Override the camera distance."
DisableFogOfWar( boolean ) : "Disable Fog Of War" : "0" : ""
UseUnseenFogOfWar( boolean ) : "Use Unseen Fog Of War" : "0" : ""
IsSafeToLeave( boolean ) : "Is Safe To Leave" : "0" : "Is this game safe to leave?"
ForceSelectHero( string ) : "Force Select Hero" : ""
UseUniversalShopMode( boolean ) : "Use Universal Shop Mode" : "0" : "Can you buy any item from any shop?"
DisableStashPurchasing( boolean ) : "Disable Purchasing to Stash" : "0" : "Disable purchasing items to the stash. If disabled shops can only be used when nearby."
DisableAnnouncer( boolean ) : "Disable Announcers" : "0" : "Mute the in-game announcers"
FixedRespawnTime( float ) : "Fixed Respawn Time" : "-1" : "Fixed time for heroes to respawn (or -1 to use the standard rules)"
HideKillMessageHeaders( boolean ) : "Hide Kill-Message Headers" : "0" : "Hide multikill, streak, and first-blood banners"
input SetGameWinner( integer ) : "Set the winning team and end the game."
input LevelAllHeroesUpOnce( void ) : "Level each hero in the game up one level."
input LevelAllHeroesToMax( void ) : "Level each hero in the game to the max level."
input LevelAllHeroesToLevel( integer ) : "Ensure all heroes are at least level."
input SetStashPurchasingDisabled( bool ) : "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."
input SetFogOfWarDisabled( bool ) : "Enable or disable fog of war. When disabled all units are considered visible."
input SetUnseenFogOfWarEnabled( bool ) : "Enable or disable unseen fog of war. When unseen fog of war is enabled parts of the map the player has never seen will be blocked out."
]
@BaseClass base( teamnumber ) = dota_entity_filter_flags
[
invert_filter_check( boolean ) : "Invert Filter" : "0"
every_unit( boolean ) : "Every Unit" : "0"
UnitName( string ) : "Unit Name" : ""
IsAncient( boolean ) : "IsAncient" : "0"
IsNeutralUnitType( boolean ) : "IsNeutralUnitType" : "0"
IsSummoned( boolean ) : "IsSummoned" : "0"
IsHero( boolean ) : "IsHero" : "0"
IsRealHero( boolean ) : "IsRealHero" : "1"
IsTower( boolean ) : "IsTower" : "0"
IsMechanical( boolean ) : "IsMechanical" : "0"
IsPhantom( boolean ) : "IsPhantom" : "0"
IsIllusion( boolean ) : "IsIllusion" : "0"
IsCreep( boolean ) : "IsCreep" : "0"
IsLaneCreep( boolean ) : "IsLaneCreep" : "0"
]
// NOTE: We don't inherit directly from trigger_multiple here because we don't want the confusing spawnflags
@SolidClass base(Targetname, Parentname, EnableDisable,dota_entity_filter_flags) = trigger_dota : "Dota-specific Trigger."
[
wait(integer) : "Delay Before Reset" : 1 : "Amount of time, in seconds, after the trigger_multiple has triggered before it can be triggered again. If set to -1, it will never trigger again."
filtername(filterclass) : "Filter Name" : : "Filter to use to see if activator triggers me. See filter_activator_name for more explanation."
// Inputs
input Toggle(void) : "Toggles this trigger between enabled and disabled states."
input TouchTest(void) : "Tests if the trigger is being touched and fires an output based on whether the value is true or false."
// Outputs
output OnStartTouch(void) : "Fired when an entity starts touching this trigger. The touching entity must pass this trigger's filters to cause this output to fire."
output OnStartTouchAll(void) : "Fired when an entity starts touching this trigger, and no other entities are touching it. Only entities that passed this trigger's filters are considered."
output OnEndTouch(void) : "Fired when an entity stops touching this trigger. Only entities that passed this trigger's filters will cause this output to fire."
output OnEndTouchAll(void) : "Fires when an entity stops touching this trigger, and no other entities are touching it. Only entities that passed this trigger's filters are considered."
output OnTrigger(void) : "Fired whenever the trigger is activated."
output OnTouching(void) : "Fired when the TestTouch input is true (something is touching the trigger.)"
output OnNotTouching(void) : "Fired when the TestTouch input is not true (nothing is touching the trigger.)"
]
@PointClass base(trigger_multiple,dota_entity_filter_flags) = filter_dota : "Dota-specific Filter."
[
]
@OverrideClass = prop_static
[
grass_exclusion_radius(float) : "Grass Exclusion Radius" : 0 : "Don't grow grass within this radius."
]
@PointClass base(Targetname) dotaskybox() = dota_reflection_skybox : "Skybox entity for reflections"
[
skyname(string) : "SkyBox Texture Name" : "materials/skybox/sky_tintable_01"
]
@OverrideClass = point_camera
[
override_shadow_farz(float) : "Shadow Far Z Override" : 0
dof_enabled(boolean) : "Depth of Field Enabled" : "0"
dof_near_blurry(float) : "Depth of Field Near Blurry Distance" : "250"
dof_near_crisp(float) : "Depth of Field Near Crisp Distance" : "550"
dac_dof_far_crisp(float) : "Depth of Field Far Crisp Distance" : "1200"
dac_dof_far_blurry(float) : "Depth of Field Far Blurry Distance" : "1600"
dac_dof_tilt_to_ground(float) : "Depth of Field Tilt Lens to Align With Ground Plane" : "0.75"
]
@PointClass base(Targetname) = dota_particle_relay :
[
particle_system_name(target_destination) : "Particle System"
// Inputs
input InputStart(void) : "Start the system"
input InputStop(void) : "Stop the system (but play endcap)"
input InputStopImmediate(void) : "Stop the system immediately"
]
@PointClass base(npc_dota_base) gameUnitModel( MapUnitName ) vecline_local( trap_target, 255, 200, 200 ) = npc_dota_trap_ward : "Used to place a dota trap ward."
[
skin(choices) [ group="Misc" ] : "Skin" : "0" : "Some models have multiple versions of their textures, called skins. This is programmatically populated from the model. The FGD data is unused!" =
[
"0" : "Ignored by the modelhelper code"
]
trap_target( local_point ) : "Trap Target" : "0 0 0"
DefaultAnim(sequence) : "Default Animation" : "" : "The name of the idle animation that this prop will revert to whenever it finishes a random or forced animation."
]
@PointClass base(Targetname) gameUnitModel( MapUnitName ) = npc_dota_creature_spawner:
"Spawns creatures."
[
MapUnitName(gameunitclass) : "Unit Name" : "" : "Name of the NPC script used to spawn this character."
SpawnEffectName(resource:particle) : "Spawn Effect" : "" : "Effect to play when spawning."
RespawnTime(float) : "Respawn Time" : 0
SpawnOnActivate(boolean) : "Spawn on Activate" : 1
]
@PointClass base(portrait_world_unit) gameUnitModel( MapUnitName ) = crownfall_shmup_enemy :
"Crownfall shmup enemy."
[
target(target_destination) : "Follow Path" : : "The path this enemy will follow through the level"
]