Skip to content

Instantly share code, notes, and snippets.

@pohka
Last active April 29, 2020 19:23
Show Gist options
  • Save pohka/74c54f4d5ae6447fe673eb699ed926a4 to your computer and use it in GitHub Desktop.
Save pohka/74c54f4d5ae6447fe673eb699ed926a4 to your computer and use it in GitHub Desktop.
Dummy unit for dota 2 custom game using kv files. Add these values to npc_units_custom.txt and npc_abilities_custom.txt
------------------------
npc_units_custom.txt
------------------------
"dummy_unit"
{
// General
//
"BaseClass" "npc_dota_creep_neutral"
"Model" "models/development/invisiblebox.vmdl"
"SoundSet" "Creep_Good_Range"
"Level" "0"
"UnitLabel" "healing_ward"
// Abilities
//----------------------------------------------------------------
"Ability1" "dummy_unit_ability"
"Ability2" ""
"Ability3" ""
"Ability4" ""
"Ability5" ""
"Ability6" ""
"Ability7" ""
"Ability8" ""
// Armor
//----------------------------------------------------------------
"ArmorPhysical" "0"
"MagicalResistance" "0"
// Attack
//----------------------------------------------------------------
"AttackCapabilities" "DOTA_UNIT_CAP_NO_ATTACK"
"ProjectileModel" ""
// Attributes
//----------------------------------------------------------------
"AttributePrimary" "DOTA_ATTRIBUTE_STRENGTH"
"AttributeBaseStrength" "0" // Base strength
"AttributeStrengthGain" "0" // Strength bonus per level.
"AttributeBaseIntelligence" "0" // Base intelligence
"AttributeIntelligenceGain" "0" // Intelligence bonus per level.
"AttributeBaseAgility" "0" // Base agility
"AttributeAgilityGain" "0" // Agility bonus per level.
// Bounty
//----------------------------------------------------------------
"BountyXP" "0" // Experience earn.
"BountyGoldMin" "0" // Gold earned min.
"BountyGoldMax" "0" // Gold earned max.
// Bounds
//----------------------------------------------------------------
//"BoundsHullName" "DOTA_HULL_SIZE_SMALL" // Hull type used for navigation/locomotion.
// no hull
// Movement
//----------------------------------------------------------------
"MovementCapabilities" "DOTA_UNIT_CAP_MOVE_GROUND" // Type of locomotion - ground, air
"MovementSpeed" "450" // Speed
"MovementTurnRate" "1.0" // Turning rate.
"FollowRange" "250" // Distance to keep when following
// Status
//----------------------------------------------------------------
"StatusHealth" "100" // Base health.
"StatusHealthRegen" "0" // Health regeneration rate.
"StatusMana" "100" // Base mana.
"StatusManaRegen" "0" // Mana regeneration rate.
// Team
//----------------------------------------------------------------
"TeamName" "DOTA_TEAM_GOODGUYS" // Team name.
"CombatClassAttack" "DOTA_COMBAT_CLASS_ATTACK_PIERCE"
"CombatClassDefend" "DOTA_COMBAT_CLASS_DEFEND_BASIC"
// Vision
//----------------------------------------------------------------
"VisionDaytimeRange" "0" // Range of vision during day light.
"VisionNighttimeRange" "0" // Range of vision at night time.
}
------------------------
npc_abilities_custom.txt
------------------------
"dummy_unit_ability"
{
"AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_PASSIVE"
"BaseClass" "ability_datadriven"
"AbilityTextureName" "rubick_empty1"
"MaxLevel" "1"
"Modifiers"
{
"dummy_unit"
{
"Passive" "1"
"IsHidden" "1"
"States"
{
"MODIFIER_STATE_NO_UNIT_COLLISION" "MODIFIER_STATE_VALUE_ENABLED"
"MODIFIER_STATE_NO_TEAM_MOVE_TO" "MODIFIER_STATE_VALUE_ENABLED"
"MODIFIER_STATE_NO_TEAM_SELECT" "MODIFIER_STATE_VALUE_ENABLED"
"MODIFIER_STATE_COMMAND_RESTRICTED" "MODIFIER_STATE_VALUE_ENABLED"
"MODIFIER_STATE_ATTACK_IMMUNE" "MODIFIER_STATE_VALUE_ENABLED"
"MODIFIER_STATE_NOT_ON_MINIMAP" "MODIFIER_STATE_VALUE_ENABLED"
"MODIFIER_STATE_UNSELECTABLE" "MODIFIER_STATE_VALUE_ENABLED"
"MODIFIER_STATE_NO_HEALTH_BAR" "MODIFIER_STATE_VALUE_ENABLED"
"MODIFIER_STATE_STUNNED" "MODIFIER_STATE_VALUE_ENABLED"
}
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment