├── .gitignore ├── README.md ├── content └── SpellLibraryLua │ └── maps │ ├── example.vmap │ └── template_map.vmap ├── game └── SpellLibraryLua │ ├── addoninfo.txt │ ├── maps │ └── example.vpk │ ├── resource │ ├── addon_english.txt │ ├── flash3 │ │ └── custom_ui.txt │ └── overviews │ │ └── example.txt │ └── scripts │ ├── custom_net_tables.txt │ ├── npc │ ├── activelist.txt │ ├── heroes │ │ ├── abaddon │ │ │ ├── aphotic_shield.txt │ │ │ ├── borrowed_time.txt │ │ │ ├── curse_of_avernus.txt │ │ │ └── mist_coil.txt │ │ ├── abyssal_underlord │ │ │ ├── atrophy_aura.txt │ │ │ ├── dark_rift.txt │ │ │ ├── firestorm.txt │ │ │ └── pit_of_malice.txt │ │ ├── alchemist │ │ │ ├── acid_spray.txt │ │ │ ├── chemical_rage.txt │ │ │ ├── goblins_greed.txt │ │ │ └── unstable_concoction.txt │ │ ├── antimage │ │ │ ├── blink.txt │ │ │ ├── counterspell.txt │ │ │ ├── mana_break.txt │ │ │ └── mana_void.txt │ │ ├── axe │ │ │ ├── battle_hunger.txt │ │ │ ├── berserkers_call.txt │ │ │ ├── counter_helix.txt │ │ │ └── culling_blade.txt │ │ ├── bane │ │ │ ├── brain_sap.txt │ │ │ ├── enfeeble.txt │ │ │ ├── fiends_grip.txt │ │ │ └── nightmare.txt │ │ ├── bloodseeker │ │ │ ├── blood_bath.txt │ │ │ ├── bloodrage.txt │ │ │ ├── rupture.txt │ │ │ └── thirst.txt │ │ ├── brewmaster │ │ │ ├── cinder_brew.txt │ │ │ ├── drunken_brawler.txt │ │ │ ├── primal_split.txt │ │ │ └── thunder_clap.txt │ │ ├── bristleback │ │ │ ├── bristleback.txt │ │ │ ├── quill_spray.txt │ │ │ ├── viscous_nasal_goo.txt │ │ │ └── warpath.txt │ │ ├── centaur │ │ │ ├── double_edge.txt │ │ │ ├── hoof_stomp.txt │ │ │ ├── return.txt │ │ │ └── stampede.txt │ │ ├── chaos_knight │ │ │ ├── chaos_bolt.txt │ │ │ ├── chaos_strike.txt │ │ │ ├── phantasm.txt │ │ │ └── reality_rift.txt │ │ ├── crystal_maiden │ │ │ ├── brilliance_aura.txt │ │ │ ├── crystal_nova.txt │ │ │ ├── freezing_field.txt │ │ │ └── frostbite.txt │ │ ├── dark_seer │ │ │ ├── ion_shell.txt │ │ │ ├── surge.txt │ │ │ ├── vacuum.txt │ │ │ └── wall_of_replica.txt │ │ ├── dark_willow │ │ │ ├── bedlam.txt │ │ │ ├── bramble_maze.txt │ │ │ ├── cursed_crown.txt │ │ │ ├── shadow_realm.txt │ │ │ └── terrorize.txt │ │ ├── dazzle │ │ │ ├── bad_juju.txt │ │ │ ├── poison_touch.txt │ │ │ ├── shadow_wave.txt │ │ │ └── shallow_grave.txt │ │ ├── disruptor │ │ │ ├── glimpse.txt │ │ │ ├── kinetic_field.txt │ │ │ ├── static_storm.txt │ │ │ └── thunder_strike.txt │ │ ├── doom_bringer │ │ │ ├── devour.txt │ │ │ ├── doom.txt │ │ │ ├── infernal_blade.txt │ │ │ └── scorched_earth.txt │ │ ├── dragon_knight │ │ │ ├── breathe_fire.txt │ │ │ ├── dragon_blood.txt │ │ │ ├── dragon_tail.txt │ │ │ └── elder_dragon_form.txt │ │ ├── drow_ranger │ │ │ ├── frost_arrows.txt │ │ │ ├── marksmanship.txt │ │ │ ├── multishot.txt │ │ │ └── wave_of_silence.txt │ │ ├── earth_spirit │ │ │ ├── boulder_smash.txt │ │ │ ├── geomagnetic_grip.txt │ │ │ ├── magnetize.txt │ │ │ ├── rolling_boulder.txt │ │ │ └── stone_caller.txt │ │ ├── enchantress │ │ │ ├── enchant.txt │ │ │ ├── impetus.txt │ │ │ ├── natures_attendants.txt │ │ │ └── untouchable.txt │ │ ├── enigma │ │ │ ├── black_hole.txt │ │ │ ├── demonic_conversion.txt │ │ │ ├── malefice.txt │ │ │ └── midnight_pulse.txt │ │ ├── grimstroke │ │ │ ├── dark_artistry.txt │ │ │ ├── ink_creature.txt │ │ │ ├── soul_chain.txt │ │ │ └── spirit_walk.txt │ │ ├── jakiro │ │ │ ├── dual_breath.txt │ │ │ ├── ice_path.txt │ │ │ ├── liquid_fire.txt │ │ │ └── macropyre.txt │ │ ├── leshrac │ │ │ ├── diabolic_edict.txt │ │ │ ├── lightning_storm.txt │ │ │ ├── pulse_nova.txt │ │ │ └── split_earth.txt │ │ ├── lina │ │ │ ├── dragon_slave.txt │ │ │ ├── fiery_soul.txt │ │ │ ├── laguna_blade.txt │ │ │ └── light_strike_array.txt │ │ ├── lion │ │ │ ├── finger_of_death.txt │ │ │ ├── impale.txt │ │ │ ├── mana_drain.txt │ │ │ └── voodoo.txt │ │ ├── luna │ │ │ ├── eclipse.txt │ │ │ ├── lucent_beam.txt │ │ │ ├── lunar_blessing.txt │ │ │ └── moon_glaive.txt │ │ ├── magnataur │ │ │ ├── empower.txt │ │ │ ├── reverse_polarity.txt │ │ │ ├── shockwave.txt │ │ │ └── skewer.txt │ │ ├── medusa │ │ │ ├── mana_shield.txt │ │ │ ├── mystic_snake.txt │ │ │ ├── split_shot.txt │ │ │ └── stone_gaze.txt │ │ ├── naga_siren │ │ │ ├── ensnare.txt │ │ │ ├── mirror_image.txt │ │ │ ├── rip_tide.txt │ │ │ ├── song_of_the_siren.txt │ │ │ └── song_of_the_siren_cancel.txt │ │ ├── nevermore │ │ │ ├── dark_lord.txt │ │ │ ├── necromastery.txt │ │ │ ├── requiem.txt │ │ │ ├── shadowraze1.txt │ │ │ ├── shadowraze2.txt │ │ │ └── shadowraze3.txt │ │ ├── nyx_assassin │ │ │ ├── impale.txt │ │ │ ├── mana_burn.txt │ │ │ ├── spiked_carapace.txt │ │ │ └── vendetta.txt │ │ ├── obsidian_destroyer │ │ │ ├── arcane_orb.txt │ │ │ ├── astral_imprisonment.txt │ │ │ ├── equilibrium.txt │ │ │ └── sanity_eclipse.txt │ │ ├── ogre_magi │ │ │ ├── bloodlust.txt │ │ │ ├── fireblast.txt │ │ │ ├── ignite.txt │ │ │ ├── multicast.txt │ │ │ └── unrefined_fireblast.txt │ │ ├── omniknight │ │ │ ├── degen_aura.txt │ │ │ ├── guardian_angel.txt │ │ │ ├── purification.txt │ │ │ └── repel.txt │ │ ├── phantom_assassin │ │ │ ├── blur.txt │ │ │ ├── coup_de_grace.txt │ │ │ ├── phantom_strike.txt │ │ │ └── stifling_dagger.txt │ │ ├── puck │ │ │ ├── dream_coil.txt │ │ │ ├── illusory_orb.txt │ │ │ ├── phase_shift.txt │ │ │ └── waning_rift.txt │ │ ├── queenofpain │ │ │ ├── blink.txt │ │ │ ├── scream_of_pain.txt │ │ │ ├── shadow_strike.txt │ │ │ └── sonic_wave.txt │ │ ├── rattletrap │ │ │ ├── battery_assault.txt │ │ │ ├── hookshot.txt │ │ │ ├── power_cogs.txt │ │ │ └── rocket_flare.txt │ │ ├── sand_king │ │ │ ├── burrowstrike.txt │ │ │ ├── caustic_finale.txt │ │ │ ├── epicenter.txt │ │ │ └── sand_storm.txt │ │ ├── shredder │ │ │ ├── chakram.txt │ │ │ ├── chakram_2.txt │ │ │ ├── reactive_armor.txt │ │ │ ├── return_chakram.txt │ │ │ ├── return_chakram_2.txt │ │ │ ├── timber_chain.txt │ │ │ └── whirling_death.txt │ │ ├── silencer │ │ │ ├── curse_of_the_silent.txt │ │ │ ├── glaives_of_wisdom.txt │ │ │ ├── global_silence.txt │ │ │ └── last_word.txt │ │ ├── skeleton_king │ │ │ ├── hellfire_blast.txt │ │ │ ├── mortal_strike.txt │ │ │ ├── reincarnation.txt │ │ │ └── vampiric_aura.txt │ │ ├── skywrath_mage │ │ │ ├── ancient_seal.txt │ │ │ ├── arcane_bolt.txt │ │ │ ├── concussive_shot.txt │ │ │ └── mystic_flare.txt │ │ ├── slardar │ │ │ ├── amplify_damage.txt │ │ │ ├── bash.txt │ │ │ ├── slithereen_crush.txt │ │ │ └── sprint.txt │ │ ├── slark │ │ │ ├── dark_pact.txt │ │ │ ├── essence_shift.txt │ │ │ ├── pounce.txt │ │ │ └── shadow_dance.txt │ │ ├── sniper │ │ │ ├── assassinate.txt │ │ │ ├── headshot.txt │ │ │ ├── shrapnel.txt │ │ │ └── take_aim.txt │ │ ├── spectre │ │ │ ├── desolate.txt │ │ │ ├── dispersion.txt │ │ │ ├── haunt.txt │ │ │ └── spectral_dagger.txt │ │ ├── storm_spirit │ │ │ ├── ball_lightning.txt │ │ │ ├── electric_vortex.txt │ │ │ ├── overload.txt │ │ │ └── static_remnant.txt │ │ ├── sven │ │ │ ├── gods_strength.txt │ │ │ ├── great_cleave.txt │ │ │ ├── storm_bolt.txt │ │ │ └── warcry.txt │ │ ├── terrorblade │ │ │ ├── conjure_image.txt │ │ │ ├── metamorphosis.txt │ │ │ ├── reflection.txt │ │ │ └── sunder.txt │ │ ├── tidehunter │ │ │ ├── anchor_smash.txt │ │ │ ├── gush.txt │ │ │ ├── kraken_shell.txt │ │ │ └── ravage.txt │ │ ├── tinker │ │ │ ├── heat_seeking_missile.txt │ │ │ ├── laser.txt │ │ │ ├── march_of_the_machines.txt │ │ │ └── rearm.txt │ │ ├── ursa │ │ │ ├── earthshock.txt │ │ │ ├── enrage.txt │ │ │ ├── fury_swipes.txt │ │ │ └── overpower.txt │ │ ├── vengeful_spirit │ │ │ ├── command_aura.txt │ │ │ ├── magic_missile.txt │ │ │ ├── nether_swap.txt │ │ │ └── wave_of_terror.txt │ │ ├── viper │ │ │ ├── corrosive_skin.txt │ │ │ ├── nethertoxin.txt │ │ │ ├── poison_attack.txt │ │ │ └── viper_strike.txt │ │ ├── weaver │ │ │ ├── geminate_attack.txt │ │ │ ├── shukuchi.txt │ │ │ ├── the_swarm.txt │ │ │ └── time_lapse.txt │ │ └── zuus │ │ │ ├── arc_lightning.txt │ │ │ ├── lightning_bolt.txt │ │ │ ├── static_field.txt │ │ │ └── thundergods_wrath.txt │ ├── npc_abilities_custom.txt │ ├── npc_heroes_custom.txt │ ├── npc_items_custom.txt │ └── npc_units_custom.txt │ └── vscripts │ ├── addon_game_mode.lua │ ├── events.lua │ ├── filter.lua │ ├── gamemode.lua │ ├── heroes │ ├── abaddon │ │ ├── aphotic_shield.lua │ │ ├── borrowed_time.lua │ │ ├── curse_of_avernus.lua │ │ └── mist_coil.lua │ ├── abyssal_underlord │ │ ├── atrophy_aura.lua │ │ ├── dark_rift.lua │ │ ├── firestorm.lua │ │ └── pit_of_malice.lua │ ├── alchemist │ │ ├── acid_spray.lua │ │ ├── chemical_rage.lua │ │ ├── goblins_greed.lua │ │ ├── unstable_concoction.lua │ │ └── unstable_concoction_throw.lua │ ├── antimage │ │ ├── blink.lua │ │ ├── counterspell.lua │ │ ├── mana_break.lua │ │ └── mana_void.lua │ ├── axe │ │ ├── battle_hunger.lua │ │ ├── berserkers_call.lua │ │ ├── counter_helix.lua │ │ └── culling_blade.lua │ ├── bane │ │ ├── brain_sap.lua │ │ ├── enfeeble.lua │ │ ├── fiends_grip.lua │ │ ├── nightmare.lua │ │ └── nightmare_end.lua │ ├── bloodseeker │ │ ├── blood_bath.lua │ │ ├── bloodrage.lua │ │ ├── rupture.lua │ │ └── thirst.lua │ ├── brewmaster │ │ ├── cinder_brew.lua │ │ ├── drunken_brawler.lua │ │ ├── primal_split.lua │ │ └── thunder_clap.lua │ ├── bristleback │ │ ├── bristleback.lua │ │ ├── quill_spray.lua │ │ ├── viscous_nasal_goo.lua │ │ └── warpath.lua │ ├── centaur │ │ ├── double_edge.lua │ │ ├── hoof_stomp.lua │ │ ├── return.lua │ │ └── stampede.lua │ ├── chaos_knight │ │ ├── chaos_bolt.lua │ │ ├── chaos_strike.lua │ │ ├── phantasm.lua │ │ └── reality_rift.lua │ ├── crystal_maiden │ │ ├── brilliance_aura.lua │ │ ├── crystal_nova.lua │ │ ├── freezing_field.lua │ │ └── frostbite.lua │ ├── dark_seer │ │ ├── ion_shell.lua │ │ ├── surge.lua │ │ ├── vacuum.lua │ │ └── wall_of_replica.lua │ ├── dark_willow │ │ ├── bedlam.lua │ │ ├── bramble_maze.lua │ │ ├── cursed_crown.lua │ │ ├── shadow_realm.lua │ │ └── terrorize.lua │ ├── dazzle │ │ ├── bad_juju.lua │ │ ├── poison_touch.lua │ │ ├── shadow_wave.lua │ │ └── shallow_grave.lua │ ├── disruptor │ │ ├── glimpse.lua │ │ ├── kinetic_field.lua │ │ ├── static_storm.lua │ │ └── thunder_strike.lua │ ├── doom_bringer │ │ ├── devour.lua │ │ ├── doom.lua │ │ ├── infernal_blade.lua │ │ └── scorched_earth.lua │ ├── dragon_knight │ │ ├── breathe_fire.lua │ │ ├── dragon_blood.lua │ │ ├── dragon_tail.lua │ │ └── elder_dragon_form.lua │ ├── drow_ranger │ │ ├── frost_arrows.lua │ │ ├── marksmanship.lua │ │ ├── multishot.lua │ │ └── wave_of_silence.lua │ ├── earth_spirit │ │ ├── boulder_smash.lua │ │ ├── geomagnetic_grip.lua │ │ ├── magnetize.lua │ │ ├── rolling_boulder.lua │ │ └── stone_caller.lua │ ├── enchantress │ │ ├── enchant.lua │ │ ├── impetus.lua │ │ ├── natures_attendants.lua │ │ └── untouchable.lua │ ├── enigma │ │ ├── black_hole.lua │ │ ├── demonic_conversion.lua │ │ ├── malefice.lua │ │ └── midnight_pulse.lua │ ├── grimstroke │ │ ├── dark_artistry.lua │ │ ├── ink_creature.lua │ │ ├── soul_chain.lua │ │ └── spirit_walk.lua │ ├── jakiro │ │ ├── dual_breath.lua │ │ ├── ice_path.lua │ │ ├── liquid_fire.lua │ │ └── macropyre.lua │ ├── leshrac │ │ ├── diabolic_edict.lua │ │ ├── lightning_storm.lua │ │ ├── pulse_nova.lua │ │ └── split_earth.lua │ ├── lina │ │ ├── dragon_slave.lua │ │ ├── fiery_soul.lua │ │ ├── laguna_blade.lua │ │ └── light_strike_array.lua │ ├── lion │ │ ├── finger_of_death.lua │ │ ├── impale.lua │ │ ├── mana_drain.lua │ │ └── voodoo.lua │ ├── luna │ │ ├── eclipse.lua │ │ ├── lucent_beam.lua │ │ ├── lunar_blessing.lua │ │ └── moon_glaive.lua │ ├── magnataur │ │ ├── empower.lua │ │ ├── reverse_polarity.lua │ │ ├── shockwave.lua │ │ └── skewer.lua │ ├── medusa │ │ ├── mana_shield.lua │ │ ├── mystic_snake.lua │ │ ├── split_shot.lua │ │ └── stone_gaze.lua │ ├── naga_siren │ │ ├── ensnare.lua │ │ ├── mirror_image.lua │ │ ├── rip_tide.lua │ │ ├── song_of_the_siren.lua │ │ └── song_of_the_siren_cancel.lua │ ├── nevermore │ │ ├── dark_lord.lua │ │ ├── necromastery.lua │ │ ├── requiem.lua │ │ └── shadowraze.lua │ ├── nyx_assassin │ │ ├── impale.lua │ │ ├── mana_burn.lua │ │ ├── spiked_carapace.lua │ │ └── vendetta.lua │ ├── obsidian_destroyer │ │ ├── arcane_orb.lua │ │ ├── astral_imprisonment.lua │ │ ├── equilibrium.lua │ │ └── sanity_eclipse.lua │ ├── ogre_magi │ │ ├── bloodlust.lua │ │ ├── fireblast.lua │ │ ├── ignite.lua │ │ ├── multicast.lua │ │ └── unrefined_fireblast.lua │ ├── omniknight │ │ ├── degen_aura.lua │ │ ├── guardian_angel.lua │ │ ├── purification.lua │ │ └── repel.lua │ ├── phantom_assassin │ │ ├── blur.lua │ │ ├── coup_de_grace.lua │ │ ├── phantom_strike.lua │ │ └── stifling_dagger.lua │ ├── puck │ │ ├── dream_coil.lua │ │ ├── illusory_orb.lua │ │ ├── phase_shift.lua │ │ └── waning_rift.lua │ ├── queenofpain │ │ ├── blink.lua │ │ ├── scream_of_pain.lua │ │ ├── shadow_strike.lua │ │ └── sonic_wave.lua │ ├── rattletrap │ │ ├── battery_assault.lua │ │ ├── hookshot.lua │ │ ├── power_cogs.lua │ │ └── rocket_flare.lua │ ├── sand_king │ │ ├── burrowstrike.lua │ │ ├── caustic_finale.lua │ │ ├── epicenter.lua │ │ └── sand_storm.lua │ ├── shredder │ │ ├── chakram.lua │ │ ├── reactive_armor.lua │ │ ├── timber_chain.lua │ │ └── whirling_death.lua │ ├── silencer │ │ ├── curse_of_the_silent.lua │ │ ├── glaives_of_wisdom.lua │ │ ├── global_silence.lua │ │ └── last_word.lua │ ├── skeleton_king │ │ ├── hellfire_blast.lua │ │ ├── mortal_strike.lua │ │ ├── reincarnation.lua │ │ └── vampiric_aura.lua │ ├── skywrath_mage │ │ ├── ancient_seal.lua │ │ ├── arcane_bolt.lua │ │ ├── concussive_shot.lua │ │ └── mystic_flare.lua │ ├── slardar │ │ ├── amplify_damage.lua │ │ ├── bash.lua │ │ ├── slithereen_crush.lua │ │ └── sprint.lua │ ├── slark │ │ ├── dark_pact.lua │ │ ├── essence_shift.lua │ │ ├── pounce.lua │ │ └── shadow_dance.lua │ ├── sniper │ │ ├── assassinate.lua │ │ ├── headshot.lua │ │ ├── shrapnel.lua │ │ └── take_aim.lua │ ├── spectre │ │ ├── ability_spectre_desolate.lua │ │ ├── ability_spectre_dispersion.lua │ │ ├── ability_spectre_haunt.lua │ │ ├── ability_spectre_reality.lua │ │ ├── ability_spectre_spectral_dagger.lua │ │ ├── desolate.lua │ │ ├── dispersion.lua │ │ ├── haunt.lua │ │ └── spectral_dagger.lua │ ├── storm_spirit │ │ ├── ball_lightning.lua │ │ ├── electric_vortex.lua │ │ ├── overload.lua │ │ └── static_remnant.lua │ ├── sven │ │ ├── gods_strength.lua │ │ ├── great_cleave.lua │ │ ├── storm_bolt.lua │ │ └── warcry.lua │ ├── terrorblade │ │ ├── conjure_image.lua │ │ ├── metamorphosis.lua │ │ ├── reflection.lua │ │ └── sunder.lua │ ├── tidehunter │ │ ├── anchor_smash.lua │ │ ├── gush.lua │ │ ├── kraken_shell.lua │ │ └── ravage.lua │ ├── tinker │ │ ├── heat_seeking_missile.lua │ │ ├── laser.lua │ │ ├── march_of_the_machines.lua │ │ └── rearm.lua │ ├── ursa │ │ ├── earthshock.lua │ │ ├── enrage.lua │ │ ├── fury_swipes.lua │ │ └── overpower.lua │ ├── vengeful_spirit │ │ ├── command_aura.lua │ │ ├── magic_missile.lua │ │ ├── nether_swap.lua │ │ └── wave_of_terror.lua │ ├── vengefulspirit │ │ ├── ability_vengefulspirit_command_aura.lua │ │ ├── ability_vengefulspirit_magic_missile.lua │ │ ├── ability_vengefulspirit_nether_swap.lua │ │ └── ability_vengefulspirit_wave_of_terror.lua │ ├── viper │ │ ├── corrosive_skin.lua │ │ ├── nethertoxin.lua │ │ ├── poison_attack.lua │ │ └── viper_strike.lua │ ├── weaver │ │ ├── geminate_attack.lua │ │ ├── shukuchi.lua │ │ ├── the_swarm.lua │ │ └── time_lapse.lua │ └── zuus │ │ ├── arc_lightning.lua │ │ ├── lightning_bolt.lua │ │ ├── static_field.lua │ │ └── thundergods_wrath.lua │ ├── modules │ ├── AbilityInfo │ │ └── index.lua │ ├── CreepSpawner │ │ └── index.lua │ └── index.lua │ └── util │ ├── timers.lua │ └── util.lua ├── mklink_repo.png └── util_git.bat /.gitignore: -------------------------------------------------------------------------------- 1 | *.bin 2 | panorama_debugger.cfg 3 | settings.kv -------------------------------------------------------------------------------- /content/SpellLibraryLua/maps/example.vmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vulkantsk/SpellLibraryLua/5e41bd65abef570460dfbfeb4557225053165537/content/SpellLibraryLua/maps/example.vmap -------------------------------------------------------------------------------- /content/SpellLibraryLua/maps/template_map.vmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vulkantsk/SpellLibraryLua/5e41bd65abef570460dfbfeb4557225053165537/content/SpellLibraryLua/maps/template_map.vmap -------------------------------------------------------------------------------- /game/SpellLibraryLua/addoninfo.txt: -------------------------------------------------------------------------------- 1 | "AddonInfo" 2 | { 3 | "TeamCount" "3" 4 | "maps" "example" 5 | "IsPlayable" "1" 6 | 7 | "example" 8 | { 9 | "MaxPlayers" "1" 10 | } 11 | } -------------------------------------------------------------------------------- /game/SpellLibraryLua/maps/example.vpk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vulkantsk/SpellLibraryLua/5e41bd65abef570460dfbfeb4557225053165537/game/SpellLibraryLua/maps/example.vpk -------------------------------------------------------------------------------- /game/SpellLibraryLua/resource/addon_english.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vulkantsk/SpellLibraryLua/5e41bd65abef570460dfbfeb4557225053165537/game/SpellLibraryLua/resource/addon_english.txt -------------------------------------------------------------------------------- /game/SpellLibraryLua/resource/flash3/custom_ui.txt: -------------------------------------------------------------------------------- 1 | "CustomUI" 2 | { 3 | // swf files should be published into the same folder as this file 4 | 5 | // Add a numbered block for each swf file to load when your addon starts 6 | 7 | 8 | //"1" 9 | //{ 10 | // "File" "Example" 11 | // "Depth" "50" 12 | //} 13 | } 14 | 15 | // ============================================= 16 | // Depths of base Dota UI elements 17 | // ============================================= 18 | // hud_chat: 8, 19 | 20 | // error_msg: 10, 21 | 22 | // voicechat: 11, 23 | // shop: 12, 24 | // tutorial: 13, 25 | // herodisplay: 14, 26 | // actionpanel: 15, 27 | // inventory: 16, 28 | // channelbar: 17, 29 | 30 | // gameend: 19, 31 | // chat_wheel: 20, 32 | // survey: 21, 33 | // quests: 22, 34 | // questlog: 23, 35 | 36 | // ti_onstage_side: 30, 37 | 38 | // last_hit_challenge: 35, 39 | // waitingforplayers: 36, 40 | // highlight_reel: 37, 41 | // stats_dropdown: 38, 42 | // halloween: 39, 43 | // killcam: 40, // and inspect 44 | // scoreboard: 41, 45 | // quickstats: 42, 46 | // shared_units: 43, 47 | // shared_content: 44, 48 | 49 | // holdout: 50, 50 | 51 | // spectator_items: 145, 52 | // spectator_graph: 146, 53 | // spectator_harvest: 147, 54 | // spectator_player: 148, 55 | // spectator_fantasy: 149, 56 | 57 | // heroselection: 250, 58 | // spectate_heroselection: 251, 59 | // shared_heroselectorandloadout : 252, 60 | 61 | // broadcaster: 364, 62 | 63 | // spectate: 365, 64 | // coach: 366, 65 | 66 | // combat_log: 367, 67 | 68 | // guide_panel: 368, 69 | 70 | // loadgame: 380, 71 | 72 | // report_dialogue : 381, 73 | // popups : 382, 74 | // matchmaking_ready : 383, 75 | 76 | // ti_onstage_pods: 500, 77 | 78 | // overlay: 1000 79 | // ============================================= -------------------------------------------------------------------------------- /game/SpellLibraryLua/resource/overviews/example.txt: -------------------------------------------------------------------------------- 1 | example 2 | { 3 | material materials/overviews/example.vmat 4 | pos_x -2048 5 | pos_y 2048 6 | scale 4.000 7 | } 8 | 9 | -------------------------------------------------------------------------------- /game/SpellLibraryLua/scripts/custom_net_tables.txt: -------------------------------------------------------------------------------- 1 | 2 | { 3 | custom_net_tables = 4 | [ 5 | "CreepSpawner", 6 | ] 7 | } -------------------------------------------------------------------------------- /game/SpellLibraryLua/scripts/npc/heroes/abaddon/curse_of_avernus.txt: -------------------------------------------------------------------------------- 1 | "" 2 | { 3 | "ability_curse_of_avernus" 4 | { 5 | "ScriptFile" "heroes/abaddon/curse_of_avernus" 6 | "BaseClass" "ability_lua" 7 | "AbilityTextureName" "abaddon_frostmourne" 8 | "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_PASSIVE" 9 | "SpellImmunityType" "SPELL_IMMUNITY_ENEMIES_NO" 10 | "SpellDispellableType" "SPELL_DISPELLABLE_YES" 11 | 12 | 13 | // Special 14 | //------------------------------------------------------------------------------------------------------------- 15 | "AbilitySpecial" 16 | { 17 | "01" 18 | { 19 | "var_type" "FIELD_FLOAT" 20 | "slow_duration" "5" 21 | } 22 | "02" 23 | { 24 | "var_type" "FIELD_INTEGER" 25 | "movement_speed" "10 15 20 25" 26 | } 27 | "03" 28 | { 29 | "var_type" "FIELD_INTEGER" 30 | "hit_count" "4" 31 | } 32 | "04" 33 | { 34 | "var_type" "FIELD_FLOAT" 35 | "curse_duration" "4.5" 36 | } 37 | "05" 38 | { 39 | "var_type" "FIELD_INTEGER" 40 | "curse_slow" "15 30 45 60" 41 | } 42 | "06" 43 | { 44 | "var_type" "FIELD_INTEGER" 45 | "curse_attack_speed" "40 60 80 100" 46 | "LinkedSpecialBonus" "special_bonus_unique_abaddon_3" 47 | } 48 | } 49 | "AbilityCastAnimation" "ACT_DOTA_CAST_ABILITY_3" 50 | } 51 | } -------------------------------------------------------------------------------- /game/SpellLibraryLua/scripts/npc/heroes/abyssal_underlord/atrophy_aura.txt: -------------------------------------------------------------------------------- 1 | "DOTAAbilities" 2 | { 3 | "ability_atrophy_aura" 4 | { 5 | "BaseClass" "ability_lua" 6 | "ScriptFile" "heroes/abyssal_underlord/atrophy_aura" 7 | "AbilityTextureName" "abyssal_underlord_atrophy_aura" 8 | "FightRecapLevel" "1" 9 | "MaxLevel" "4" 10 | "HasScepterUpgrade" "1" 11 | 12 | "AbilityType" "DOTA_ABILITY_TYPE_BASIC" 13 | "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_PASSIVE | DOTA_ABILITY_BEHAVIOR_AURA" 14 | "AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_ENEMY" 15 | "SpellDispellableType" "SPELL_DISPELLABLE_NO" 16 | 17 | "AbilityCastRange" "1200" 18 | 19 | "AbilitySpecial" 20 | { 21 | "01" 22 | { 23 | "var_type" "FIELD_INTEGER" 24 | "radius" "1200" 25 | } 26 | "02" 27 | { 28 | "var_type" "FIELD_INTEGER" 29 | "damage_reduction_pct" "5 15 25 35" 30 | } 31 | "03" 32 | { 33 | "var_type" "FIELD_INTEGER" 34 | "bonus_damage_from_creep" "5" 35 | } 36 | "04" 37 | { 38 | "var_type" "FIELD_INTEGER" 39 | "bonus_damage_from_hero" "30 35 40 45" 40 | } 41 | "05" 42 | { 43 | "var_type" "FIELD_FLOAT" 44 | "bonus_damage_duration" "30 40 50 60" 45 | } 46 | "06" 47 | { 48 | "var_type" "FIELD_FLOAT" 49 | "bonus_damage_duration_scepter" "70 80 90 100" 50 | "RequiresScepter" "1" 51 | } 52 | "07" 53 | { 54 | "var_type" "FIELD_INTEGER" 55 | "permanent_bonus" "2 3 4 5" 56 | } 57 | } 58 | } 59 | } -------------------------------------------------------------------------------- /game/SpellLibraryLua/scripts/npc/heroes/abyssal_underlord/dark_rift.txt: -------------------------------------------------------------------------------- 1 | "DOTAAbilities" 2 | { 3 | "ability_dark_rift" 4 | { 5 | "BaseClass" "ability_lua" 6 | "ScriptFile" "heroes/abyssal_underlord/ability_dark_rift" 7 | "AbilityTextureName" "abyssal_underlord_dark_rift" 8 | "FightRecapLevel" "2" 9 | "MaxLevel" "3" 10 | 11 | "AbilityType" "DOTA_ABILITY_TYPE_ULTIMATE" 12 | "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_POINT | DOTA_ABILITY_BEHAVIOR_UNIT_TARGET" 13 | "AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_FRIENDLY" 14 | "AbilityUnitTargetType" "DOTA_UNIT_TARGET_BUILDING | DOTA_UNIT_TARGET_CREEP" 15 | "AbilityUnitTargetFlags" "DOTA_UNIT_TARGET_FLAG_INVULNERABLE" 16 | "SpellDispellableType" "SPELL_DISPELLABLE_NO" 17 | 18 | "AbilityCastRange" "0" 19 | "AbilityCastPoint" "0.6" 20 | 21 | "AbilityCooldown" "130 115 100" 22 | "AbilityManaCost" "100 200 300" 23 | 24 | "AbilitySpecial" 25 | { 26 | "01" 27 | { 28 | "var_type" "FIELD_INTEGER" 29 | "radius" "600" 30 | } 31 | "02" 32 | { 33 | "var_type" "FIELD_FLOAT" 34 | "teleport_delay" "6.0 5.0 4.0" 35 | } 36 | } 37 | } 38 | 39 | "ability_cancel_dark_rift" 40 | { 41 | "BaseClass" "ability_lua" 42 | "ScriptFile" "heroes/abyssal_underlord/ability_dark_rift" 43 | "AbilityTextureName" "abyssal_underlord_cancel_dark_rift" 44 | "FightRecapLevel" "1" 45 | "MaxLevel" "1" 46 | 47 | "AbilityType" "DOTA_ABILITY_TYPE_ULTIMATE" 48 | "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_NO_TARGET | DOTA_ABILITY_BEHAVIOR_NOT_LEARNABLE | DOTA_ABILITY_BEHAVIOR_HIDDEN | DOTA_ABILITY_BEHAVIOR_DONT_RESUME_ATTACK" 49 | 50 | "AbilityCastPoint" "0" 51 | "AbilityCastAnimation" "ACT_DOTA_OVERRIDE_ABILITY_4" 52 | "AbilityCastGestureSlot" "DEFAULT" 53 | } 54 | } -------------------------------------------------------------------------------- /game/SpellLibraryLua/scripts/npc/heroes/abyssal_underlord/firestorm.txt: -------------------------------------------------------------------------------- 1 | "DOTAAbilities" 2 | { 3 | "ability_firestorm" 4 | { 5 | "BaseClass" "ability_lua" 6 | "ScriptFile" "heroes/abyssal_underlord/firestorm" 7 | "AbilityTextureName" "abyssal_underlord_firestorm" 8 | "FightRecapLevel" "1" 9 | "MaxLevel" "4" 10 | 11 | "AbilityType" "DOTA_ABILITY_TYPE_BASIC" 12 | "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_POINT | DOTA_ABILITY_BEHAVIOR_AOE" 13 | "AbilityUnitDamageType" "DAMAGE_TYPE_MAGICAL" 14 | "SpellDispellableType" "SPELL_DISPELLABLE_YES" 15 | "SpellImmunityType" "SPELL_IMMUNITY_ENEMIES_NO" 16 | 17 | "AbilityCastRange" "750" 18 | "AbilityCastPoint" "0.6" 19 | 20 | "AbilityCooldown" "12.0" 21 | "AbilityManaCost" "100 110 120 130" 22 | 23 | "AbilitySpecial" 24 | { 25 | "01" 26 | { 27 | "var_type" "FIELD_INTEGER" 28 | "radius" "400" 29 | } 30 | "02" 31 | { 32 | "var_type" "FIELD_FLOAT" 33 | "wave_duration" "7.0" 34 | } 35 | "03" 36 | { 37 | "var_type" "FIELD_INTEGER" 38 | "wave_count" "6" 39 | } 40 | "04" 41 | { 42 | "var_type" "FIELD_INTEGER" 43 | "wave_damage" "25 40 55 70" 44 | } 45 | "05" 46 | { 47 | "var_type" "FIELD_FLOAT" 48 | "wave_interval" "1.0" 49 | } 50 | "06" 51 | { 52 | "var_type" "FIELD_FLOAT" 53 | "burn_damage" "1 2 3 4" 54 | } 55 | "07" 56 | { 57 | "var_type" "FIELD_FLOAT" 58 | "burn_interval" "1.0" 59 | } 60 | "08" 61 | { 62 | "var_type" "FIELD_FLOAT" 63 | "burn_duration" "2.0" 64 | } 65 | "09" 66 | { 67 | "var_type" "FIELD_FLOAT" 68 | "first_wave_delay" "0.0" 69 | } 70 | "10" 71 | { 72 | "var_type" "FIELD_FLOAT" 73 | "building_damage" "33" 74 | } 75 | } 76 | } 77 | } -------------------------------------------------------------------------------- /game/SpellLibraryLua/scripts/npc/heroes/abyssal_underlord/pit_of_malice.txt: -------------------------------------------------------------------------------- 1 | "DOTAAbilities" 2 | { 3 | "ability_pit_of_malice" 4 | { 5 | "BaseClass" "ability_lua" 6 | "ScriptFile" "heroes/abyssal_underlord/pit_of_malice" 7 | "AbilityTextureName" "abyssal_underlord_pit_of_malice" 8 | "FightRecapLevel" "1" 9 | "MaxLevel" "4" 10 | 11 | "AbilityType" "DOTA_ABILITY_TYPE_BASIC" 12 | "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_POINT | DOTA_ABILITY_BEHAVIOR_AOE" 13 | "AbilityUnitDamageType" "DAMAGE_TYPE_MAGICAL" 14 | "SpellDispellableType" "SPELL_DISPELLABLE_YES" 15 | "SpellImmunityType" "SPELL_IMMUNITY_ENEMIES_NO" 16 | 17 | "AbilityCastRange" "750" 18 | "AbilityCastPoint" "0.45" 19 | 20 | "AbilityCooldown" "30 26 22 18" 21 | "AbilityManaCost" "100 115 130 145" 22 | 23 | "AbilitySpecial" 24 | { 25 | "01" 26 | { 27 | "var_type" "FIELD_INTEGER" 28 | "radius" "400" 29 | "LinkedSpecialBonus" "special_bonus_unique_underlord_6" 30 | } 31 | "02" 32 | { 33 | "var_type" "FIELD_FLOAT" 34 | "pit_duration" "12.0" 35 | } 36 | "03" 37 | { 38 | "var_type" "FIELD_FLOAT" 39 | "pit_interval" "3.6" 40 | } 41 | "04" 42 | { 43 | "var_type" "FIELD_INTEGER" 44 | "pit_damage" "0" 45 | } 46 | "05" 47 | { 48 | "var_type" "FIELD_FLOAT" 49 | "ensnare_duration" "0.9 1.2 1.5 1.8" 50 | "LinkedSpecialBonus" "special_bonus_unique_underlord" 51 | } 52 | } 53 | } 54 | } -------------------------------------------------------------------------------- /game/SpellLibraryLua/scripts/npc/heroes/alchemist/goblins_greed.txt: -------------------------------------------------------------------------------- 1 | "" 2 | { 3 | "ability_goblins_greed" 4 | { 5 | // General 6 | //------------------------------------------------------------------------------------------------------------- 7 | "BaseClass" "ability_lua" 8 | "ScriptFile" "heroes/alchemist/goblins_greed" 9 | "AbilityTextureName" "alchemist_goblins_greed" 10 | "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_PASSIVE" 11 | 12 | // Special 13 | //------------------------------------------------------------------------------------------------------------- 14 | "AbilitySpecial" 15 | { 16 | "01" 17 | { 18 | "var_type" "FIELD_INTEGER" 19 | "duration" "40" 20 | } 21 | "02" 22 | { 23 | "var_type" "FIELD_INTEGER" 24 | "bonus_gold" "3" 25 | } 26 | "03" 27 | { 28 | "var_type" "FIELD_INTEGER" 29 | "bonus_bonus_gold" "3" 30 | } 31 | "04" 32 | { 33 | "var_type" "FIELD_INTEGER" 34 | "bonus_gold_cap" "18 22 26 30" 35 | } 36 | "05" 37 | { 38 | "var_type" "FIELD_FLOAT" 39 | "bounty_multiplier" "1.5 2.0 2.5 3.0" 40 | } 41 | } 42 | "AbilityCastAnimation" "ACT_DOTA_CAST_ABILITY_3" 43 | } 44 | } -------------------------------------------------------------------------------- /game/SpellLibraryLua/scripts/npc/heroes/antimage/blink.txt: -------------------------------------------------------------------------------- 1 | "" 2 | { 3 | "ability_blink" 4 | { 5 | // General 6 | //------------------------------------------------------------------------------------------------------------- 7 | "BaseClass" "ability_lua" 8 | "ScriptFile" "heroes/antimage/blink" 9 | "AbilityTextureName" "antimage_blink" 10 | "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_POINT | DOTA_ABILITY_BEHAVIOR_ROOT_DISABLES" 11 | 12 | // Casting 13 | //------------------------------------------------------------------------------------------------------------- 14 | "AbilityCastPoint" "0.4 0.4 0.4 0.4" 15 | 16 | // Time 17 | //------------------------------------------------------------------------------------------------------------- 18 | "AbilityCooldown" "15 12 9 6" 19 | 20 | // Cost 21 | //------------------------------------------------------------------------------------------------------------- 22 | "AbilityManaCost" "60" 23 | 24 | "AbilitySound" "Hero_Antimage.Blink_out" 25 | 26 | // Special 27 | //------------------------------------------------------------------------------------------------------------- 28 | "AbilitySpecial" 29 | { 30 | "01" 31 | { 32 | "var_type" "FIELD_INTEGER" 33 | "blink_range" "925 1000 1075 1150" 34 | "LinkedSpecialBonus" "special_bonus_unique_antimage_3" 35 | } 36 | "02" 37 | { 38 | "var_type" "FIELD_INTEGER" 39 | "min_blink_range" "200" 40 | } 41 | } 42 | "AbilityCastAnimation" "ACT_DOTA_CAST_ABILITY_2" 43 | } 44 | } -------------------------------------------------------------------------------- /game/SpellLibraryLua/scripts/npc/heroes/antimage/counterspell.txt: -------------------------------------------------------------------------------- 1 | "" 2 | { 3 | "ability_counterspell" 4 | { 5 | // General 6 | //------------------------------------------------------------------------------------------------------------- 7 | "BaseClass" "ability_lua" 8 | "ScriptFile" "heroes/antimage/counterspell" 9 | "AbilityTextureName" "antimage_counterspell" 10 | "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_NO_TARGET | DOTA_ABILITY_BEHAVIOR_IMMEDIATE" 11 | "SpellDispellableType" "SPELL_DISPELLABLE_YES" 12 | "FightRecapLevel" "1" 13 | 14 | // Casting 15 | //------------------------------------------------------------------------------------------------------------- 16 | "AbilityCastRange" "0" 17 | "AbilityCastPoint" "0 0 0 0" 18 | 19 | // Time 20 | //------------------------------------------------------------------------------------------------------------- 21 | "AbilityCooldown" "15 11 7 3" 22 | 23 | // Cost 24 | //------------------------------------------------------------------------------------------------------------- 25 | "AbilityManaCost" "45 50 55 60" 26 | 27 | // Special 28 | //------------------------------------------------------------------------------------------------------------- 29 | "AbilitySpecial" 30 | { 31 | "01" 32 | { 33 | "var_type" "FIELD_INTEGER" 34 | "magic_resistance" "15 25 35 45" 35 | "LinkedSpecialBonus" "special_bonus_unique_antimage_4" 36 | } 37 | "02" 38 | { 39 | "var_type" "FIELD_FLOAT" 40 | "duration" "1.2" 41 | } 42 | } 43 | "AbilityCastAnimation" "ACT_DOTA_CAST_ABILITY_3" 44 | "AbilityCastGestureSlot" "DEFAULT" 45 | 46 | } 47 | } -------------------------------------------------------------------------------- /game/SpellLibraryLua/scripts/npc/heroes/antimage/mana_break.txt: -------------------------------------------------------------------------------- 1 | "" 2 | { 3 | "ability_mana_break" 4 | { 5 | // General 6 | //------------------------------------------------------------------------------------------------------------- 7 | "BaseClass" "ability_lua" 8 | "ScriptFile" "heroes/antimage/mana_break" 9 | "AbilityTextureName" "antimage_mana_break" 10 | "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_PASSIVE" 11 | "AbilityUnitDamageType" "DAMAGE_TYPE_PHYSICAL" 12 | "SpellImmunityType" "SPELL_IMMUNITY_ENEMIES_NO" 13 | "AbilitySound" "Hero_Antimage.ManaBreak" 14 | 15 | // Special 16 | //------------------------------------------------------------------------------------------------------------- 17 | "AbilitySpecial" 18 | { 19 | "01" 20 | { 21 | "var_type" "FIELD_INTEGER" 22 | "percent_damage_per_burn" "50" 23 | } 24 | "02" 25 | { 26 | "var_type" "FIELD_INTEGER" 27 | "mana_per_hit" "28 40 52 64" 28 | } 29 | "03" 30 | { 31 | "var_type" "FIELD_INTEGER" 32 | "mana_per_hit_pct" "1 2 3 4" 33 | } 34 | "04" 35 | { 36 | "var_type" "FIELD_INTEGER" 37 | "silence_chance" "15" 38 | } 39 | "05" 40 | { 41 | "var_type" "FIELD_FLOAT" 42 | "silence_duration" "3" 43 | } 44 | "06" 45 | { 46 | "var_type" "FIELD_INTEGER" 47 | "illusion_percentage" "50" 48 | } 49 | } 50 | "AbilityCastAnimation" "ACT_DOTA_CAST_ABILITY_1" 51 | } 52 | } -------------------------------------------------------------------------------- /game/SpellLibraryLua/scripts/npc/heroes/axe/counter_helix.txt: -------------------------------------------------------------------------------- 1 | "" 2 | { 3 | "ability_counter_helix" 4 | { 5 | "BaseClass" "ability_lua" 6 | "ScriptFile" "heroes/axe/counter_helix" 7 | "AbilityTextureName" "axe_counter_helix" 8 | "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_PASSIVE" 9 | "AbilityUnitDamageType" "DAMAGE_TYPE_PURE" 10 | "SpellImmunityType" "SPELL_IMMUNITY_ENEMIES_YES" 11 | "AbilitySound" "Hero_Axe.CounterHelix" 12 | 13 | // Time 14 | //------------------------------------------------------------------------------------------------------------- 15 | "AbilityCooldown" "0.3" 16 | 17 | 18 | // Special 19 | //------------------------------------------------------------------------------------------------------------- 20 | "AbilitySpecial" 21 | { 22 | "01" 23 | { 24 | "var_type" "FIELD_INTEGER" 25 | "damage" "60 100 140 180" 26 | "LinkedSpecialBonus" "special_bonus_unique_axe_4" 27 | } 28 | "02" 29 | { 30 | "var_type" "FIELD_INTEGER" 31 | "radius" "275" 32 | } 33 | "03" 34 | { 35 | "var_type" "FIELD_INTEGER" 36 | "trigger_chance" "17 18 19 20" 37 | } 38 | "04" 39 | { 40 | "var_type" "FIELD_FLOAT" 41 | "cooldown" "0.3" 42 | } 43 | } 44 | "AbilityCastAnimation" "ACT_DOTA_CAST_ABILITY_3" 45 | } 46 | } -------------------------------------------------------------------------------- /game/SpellLibraryLua/scripts/npc/heroes/bane/enfeeble.txt: -------------------------------------------------------------------------------- 1 | "" 2 | { 3 | "ability_enfeeble" 4 | { 5 | // General 6 | //------------------------------------------------------------------------------------------------------------- 7 | "BaseClass" "ability_lua" 8 | "ScriptFile" "heroes/bane/enfeeble" 9 | "AbilityTextureName" "bane_enfeeble" 10 | "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_PASSIVE" 11 | "AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_ENEMY" 12 | "AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" 13 | "SpellImmunityType" "SPELL_IMMUNITY_ENEMIES_NO" 14 | "AbilitySound" "Hero_Bane.Enfeeble" 15 | 16 | // Special 17 | //------------------------------------------------------------------------------------------------------------- 18 | "AbilitySpecial" 19 | { 20 | "01" 21 | { 22 | "var_type" "FIELD_INTEGER" 23 | "status_resistance_reduction" "15 20 25 30" 24 | } 25 | "02" 26 | { 27 | "var_type" "FIELD_INTEGER" 28 | "magic_resistance_reduction" "4 8 12 16" 29 | } 30 | "03" 31 | { 32 | "var_type" "FIELD_FLOAT" 33 | "duration" "8" 34 | } 35 | } 36 | } 37 | } -------------------------------------------------------------------------------- /game/SpellLibraryLua/scripts/npc/heroes/bristleback/bristleback.txt: -------------------------------------------------------------------------------- 1 | "" 2 | { 3 | "ability_bristleback" 4 | { 5 | // General 6 | //------------------------------------------------------------------------------------------------------------- 7 | "BaseClass" "ability_lua" 8 | "ScriptFile" "heroes/bristleback/bristleback" 9 | "AbilityTextureName" "bristleback_bristleback" 10 | "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_PASSIVE" 11 | "AbilitySound" "Hero_Bristleback.Bristleback" 12 | 13 | 14 | // Special 15 | //------------------------------------------------------------------------------------------------------------- 16 | "AbilitySpecial" 17 | { 18 | "01" 19 | { 20 | "var_type" "FIELD_INTEGER" 21 | "side_damage_reduction" "8 12 16 20" 22 | } 23 | "02" 24 | { 25 | "var_type" "FIELD_INTEGER" 26 | "back_damage_reduction" "16 24 32 40" 27 | } 28 | "03" 29 | { 30 | "var_type" "FIELD_INTEGER" 31 | "side_angle" "110" 32 | } 33 | "04" 34 | { 35 | "var_type" "FIELD_INTEGER" 36 | "back_angle" "70" 37 | } 38 | "05" 39 | { 40 | "var_type" "FIELD_INTEGER" 41 | "quill_release_threshold" "210" 42 | } 43 | } 44 | "AbilityCastAnimation" "ACT_DOTA_CAST_ABILITY_3" 45 | } 46 | } -------------------------------------------------------------------------------- /game/SpellLibraryLua/scripts/npc/heroes/bristleback/warpath.txt: -------------------------------------------------------------------------------- 1 | "" 2 | { 3 | "ability_warpath" 4 | { 5 | // General 6 | //------------------------------------------------------------------------------------------------------------- 7 | "AbilityType" "DOTA_ABILITY_TYPE_ULTIMATE" 8 | "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_PASSIVE" 9 | "SpellDispellableType" "SPELL_DISPELLABLE_NO" 10 | "AbilityCastAnimation" "ACT_DOTA_CAST_ABILITY_4" 11 | "BaseClass" "ability_lua" 12 | "ScriptFile" "heroes/bristleback/warpath" 13 | "AbilityTextureName" "bristleback_warpath" 14 | 15 | // Casting 16 | //------------------------------------------------------------------------------------------------------------- 17 | "AbilityDuration" "10.0 10.0 10.0" 18 | 19 | // Special 20 | //------------------------------------------------------------------------------------------------------------- 21 | "AbilitySpecial" 22 | { 23 | "01" 24 | { 25 | "var_type" "FIELD_INTEGER" 26 | "damage_per_stack" "22 28 34" 27 | "LinkedSpecialBonus" "special_bonus_unique_bristleback_3" 28 | } 29 | "02" 30 | { 31 | "var_type" "FIELD_INTEGER" 32 | "move_speed_per_stack" "3 4 5" 33 | } 34 | "03" 35 | { 36 | "var_type" "FIELD_FLOAT" 37 | "stack_duration" "14.0" 38 | } 39 | "04" 40 | { 41 | "var_type" "FIELD_INTEGER" 42 | "max_stacks" "5 7 9" 43 | } 44 | } 45 | } 46 | } -------------------------------------------------------------------------------- /game/SpellLibraryLua/scripts/npc/heroes/centaur/double_edge.txt: -------------------------------------------------------------------------------- 1 | "" 2 | { 3 | "ability_double_edge" 4 | { 5 | // General 6 | //------------------------------------------------------------------------------------------------------------- 7 | "BaseClass" "ability_lua" 8 | "ScriptFile" "heroes/centaur/double_edge" 9 | "AbilityTextureName" "centaur_double_edge" 10 | "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_UNIT_TARGET" 11 | "AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_ENEMY" 12 | "AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" 13 | "AbilityUnitDamageType" "DAMAGE_TYPE_MAGICAL" 14 | "SpellImmunityType" "SPELL_IMMUNITY_ENEMIES_NO" 15 | "FightRecapLevel" "1" 16 | "AbilitySound" "Hero_Centaur.DoubleEdge" 17 | 18 | // Stats 19 | //------------------------------------------------------------------------------------------------------------- 20 | "AbilityCooldown" "5.0" 21 | "AbilityCastRange" "150 150 150 150" 22 | "AbilityCastPoint" "0.4" 23 | 24 | //------------------------------------------------------------------------------ 25 | "AbilityManaCost" "0 0 0 0" 26 | 27 | // Special 28 | //------------------------------------------------------------------------------------------------------------- 29 | "AbilitySpecial" 30 | { 31 | "01" 32 | { 33 | "var_type" "FIELD_INTEGER" 34 | "edge_damage" "120 180 240 300" 35 | } 36 | "02" 37 | { 38 | "var_type" "FIELD_INTEGER" 39 | "strength_damage" "60 80 100 120" 40 | "LinkedSpecialBonus" "special_bonus_unique_centaur_4" 41 | } 42 | "03" 43 | { 44 | "var_type" "FIELD_INTEGER" 45 | "radius" "190" 46 | } 47 | } 48 | "AbilityCastAnimation" "ACT_DOTA_CAST_ABILITY_2" 49 | } 50 | } -------------------------------------------------------------------------------- /game/SpellLibraryLua/scripts/npc/heroes/centaur/hoof_stomp.txt: -------------------------------------------------------------------------------- 1 | "" 2 | { 3 | "ability_hoof_stomp" 4 | { 5 | // General 6 | //------------------------------------------------------------------------------------------------------------- 7 | "BaseClass" "ability_lua" 8 | "ScriptFile" "heroes/centaur/hoof_stomp" 9 | "AbilityTextureName" "centaur_hoof_stomp" 10 | "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_NO_TARGET" 11 | "AbilityUnitDamageType" "DAMAGE_TYPE_MAGICAL" 12 | "SpellImmunityType" "SPELL_IMMUNITY_ENEMIES_NO" 13 | "SpellDispellableType" "SPELL_DISPELLABLE_YES_STRONG" 14 | "FightRecapLevel" "1" 15 | "AbilitySound" "Hero_Centaur.HoofStomp" 16 | 17 | // Stats 18 | //------------------------------------------------------------------------------------------------------------- 19 | "AbilityCastPoint" "0.5 0.5 0.5 0.5" 20 | "AbilityCooldown" "22 19 16 13" 21 | "AbilityManaCost" "115 120 125 130" 22 | 23 | // Special 24 | //------------------------------------------------------------------------------------------------------------- 25 | "AbilitySpecial" 26 | { 27 | "01" 28 | { 29 | "var_type" "FIELD_INTEGER" 30 | "radius" "315" 31 | } 32 | "02" 33 | { 34 | "var_type" "FIELD_FLOAT" 35 | "stun_duration" "2.0 2.25 2.5 2.75" 36 | "LinkedSpecialBonus" "special_bonus_unique_centaur_2" 37 | } 38 | "03" 39 | { 40 | "var_type" "FIELD_INTEGER" 41 | "stomp_damage" "80 110 140 170" 42 | } 43 | } 44 | "AbilityCastAnimation" "ACT_DOTA_CAST_ABILITY_1" 45 | } 46 | } -------------------------------------------------------------------------------- /game/SpellLibraryLua/scripts/npc/heroes/centaur/return.txt: -------------------------------------------------------------------------------- 1 | "" 2 | { 3 | "ability_centaur_return" 4 | { 5 | "BaseClass" "ability_lua" 6 | "ScriptFile" "heroes/centaur/return.lua" 7 | "AbilityTextureName" "centaur_return" 8 | "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_PASSIVE" 9 | "SpellImmunityType" "SPELL_IMMUNITY_ENEMIES_YES" 10 | "AbilityUnitDamageType" "DAMAGE_TYPE_PHYSICAL" 11 | "AbilityCastAnimation" "ACT_DOTA_CAST_ABILITY_3" 12 | "AbilityCastGestureSlot" "DEFAULT" 13 | 14 | 15 | // Special 16 | //------------------------------------------------------------------------------------------------------------- 17 | "AbilitySpecial" 18 | { 19 | "01" 20 | { 21 | "var_type" "FIELD_INTEGER" 22 | "return_damage" "15 30 45 60" 23 | "LinkedSpecialBonus" "special_bonus_unique_centaur_3" 24 | } 25 | "02" 26 | { 27 | "var_type" "FIELD_INTEGER" 28 | "return_damage_str" "20 25 30 35" 29 | } 30 | "03" 31 | { 32 | "var_type" "FIELD_INTEGER" 33 | "aura_radius" "1200" 34 | } 35 | } 36 | } 37 | } -------------------------------------------------------------------------------- /game/SpellLibraryLua/scripts/npc/heroes/chaos_knight/chaos_strike.txt: -------------------------------------------------------------------------------- 1 | "" 2 | { 3 | "ability_chaos_strike" 4 | { 5 | // General 6 | //------------------------------------------------------------------------------------------------------------- 7 | "BaseClass" "Ability_lua" 8 | "ScriptFile" "heroes/chaos_knight/chaos_strike" 9 | "AbilityTextureName" "chaos_knight_chaos_strike" 10 | "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_PASSIVE" 11 | "AbilitySound" "Hero_ChaosKnight.ChaosStrike" 12 | "SpellImmunityType" "SPELL_IMMUNITY_ENEMIES_YES" 13 | 14 | // Time 15 | //------------------------------------------------------------------------------------------------------------- 16 | "AbilityCooldown" "4" 17 | 18 | // Special 19 | //------------------------------------------------------------------------------------------------------------- 20 | "AbilitySpecial" 21 | { 22 | "01" 23 | { 24 | "var_type" "FIELD_INTEGER" 25 | "crit_min" "120" 26 | } 27 | "02" 28 | { 29 | "var_type" "FIELD_INTEGER" 30 | "crit_max" "140 170 200 230" 31 | } 32 | "03" 33 | { 34 | "var_type" "FIELD_INTEGER" 35 | "lifesteal" "25 40 55 70" 36 | } 37 | } 38 | "AbilityCastAnimation" "ACT_DOTA_CAST_ABILITY_3" 39 | } 40 | } -------------------------------------------------------------------------------- /game/SpellLibraryLua/scripts/npc/heroes/crystal_maiden/brilliance_aura.txt: -------------------------------------------------------------------------------- 1 | "" 2 | { 3 | "ability_brilliance_aura" 4 | { 5 | // General 6 | //------------------------------------------------------------------------------------------------------------- 7 | "BaseClass" "Ability_lua" 8 | "ScriptFile" "heroes/crystal_maiden/brilliance_aura" 9 | "AbilityTextureName" "crystal_maiden_brilliance_aura" 10 | "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_PASSIVE" 11 | "AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_FRIENDLY" 12 | "SpellImmunityType" "SPELL_IMMUNITY_ALLIES_YES" 13 | 14 | // Casting 15 | //------------------------------------------------------------------------------------------------------------- 16 | "AbilityCastPoint" "0.2" 17 | 18 | "AbilitySpecial" 19 | { 20 | "01" 21 | { 22 | "var_type" "FIELD_FLOAT" 23 | "mana_regen" "0.5 1 1.5 2" 24 | } 25 | "02" 26 | { 27 | "var_type" "FIELD_FLOAT" 28 | "self_factor" "3.0" 29 | } 30 | } 31 | "AbilityCastAnimation" "ACT_DOTA_CAST_ABILITY_3" 32 | } 33 | } -------------------------------------------------------------------------------- /game/SpellLibraryLua/scripts/npc/heroes/dark_seer/ion_shell.txt: -------------------------------------------------------------------------------- 1 | "DOTAAbilities" 2 | { 3 | "ability_ion_shell" 4 | { 5 | "BaseClass" "ability_lua" 6 | "ScriptFile" "heroes/dark_seer/ion_shell" 7 | "AbilityTextureName" "dark_seer_ion_shell" 8 | "FightRecapLevel" "1" 9 | "MaxLevel" "4" 10 | 11 | "AbilityType" "DOTA_ABILITY_TYPE_BASIC" 12 | "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_UNIT_TARGET | DOTA_ABILITY_BEHAVIOR_DONT_RESUME_ATTACK" 13 | "AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_BOTH" 14 | "AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_CREEP" 15 | "AbilityUnitTargetFlags" "DOTA_UNIT_TARGET_FLAG_NOT_CREEP_HERO" 16 | "AbilityUnitDamageType" "DAMAGE_TYPE_MAGICAL" 17 | "SpellDispellableType" "SPELL_DISPELLABLE_YES" 18 | "SpellImmunityType" "SPELL_IMMUNITY_ENEMIES_NO" 19 | 20 | "AbilityCastRange" "600" 21 | "AbilityCastPoint" "0.4 0.4 0.4 0.4" 22 | 23 | "AbilityCooldown" "9" 24 | "AbilityManaCost" "100 110 120 130" 25 | 26 | "AbilitySpecial" 27 | { 28 | "01" 29 | { 30 | "var_type" "FIELD_INTEGER" 31 | "radius" "250" 32 | } 33 | "02" 34 | { 35 | "var_type" "FIELD_INTEGER" 36 | "damage_per_second" "24 46 68 90" 37 | } 38 | "03" 39 | { 40 | "var_type" "FIELD_FLOAT" 41 | "duration" "25" 42 | } 43 | "04" 44 | { 45 | "var_type" "FIELD_FLOAT" 46 | "tick_interval" "0.1" 47 | } 48 | } 49 | } 50 | } -------------------------------------------------------------------------------- /game/SpellLibraryLua/scripts/npc/heroes/dark_seer/surge.txt: -------------------------------------------------------------------------------- 1 | "DOTAAbilities" 2 | { 3 | "ability_surge" 4 | { 5 | "BaseClass" "ability_lua" 6 | "ScriptFile" "heroes/dark_seer/surge" 7 | "AbilityTextureName" "dark_seer_surge" 8 | "FightRecapLevel" "1" 9 | "MaxLevel" "4" 10 | 11 | "AbilityType" "DOTA_ABILITY_TYPE_BASIC" 12 | "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_UNIT_TARGET" 13 | "AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_FRIENDLY" 14 | "AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" 15 | "SpellDispellableType" "SPELL_DISPELLABLE_YES" 16 | "SpellImmunityType" "SPELL_IMMUNITY_ALLIES_YES" 17 | 18 | "AbilityCastRange" "600" 19 | "AbilityCastPoint" "0.4" 20 | 21 | "AbilityCooldown" "19 16 13 10" 22 | "AbilityManaCost" "50" 23 | 24 | "AbilitySpecial" 25 | { 26 | "01" 27 | { 28 | "var_type" "FIELD_FLOAT" 29 | "duration" "3 4 5 6" 30 | } 31 | "02" 32 | { 33 | "var_type" "FIELD_INTEGER" 34 | "speed_boost" "250" 35 | } 36 | } 37 | } 38 | } -------------------------------------------------------------------------------- /game/SpellLibraryLua/scripts/npc/heroes/dark_seer/vacuum.txt: -------------------------------------------------------------------------------- 1 | "DOTAAbilities" 2 | { 3 | "ability_vacuum" 4 | { 5 | "BaseClass" "ability_lua" 6 | "ScriptFile" "heroes/dark_seer/vacuum" 7 | "AbilityTextureName" "dark_seer_vacuum" 8 | "FightRecapLevel" "1" 9 | "MaxLevel" "4" 10 | 11 | "HasScepterUpgrade" "1" 12 | 13 | "AbilityType" "DOTA_ABILITY_TYPE_BASIC" 14 | "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_POINT | DOTA_ABILITY_BEHAVIOR_AOE" 15 | "AbilityUnitDamageType" "DAMAGE_TYPE_MAGICAL" 16 | "SpellDispellableType" "SPELL_DISPELLABLE_YES_STRONG" 17 | "SpellImmunityType" "SPELL_IMMUNITY_ENEMIES_NO" 18 | 19 | "AbilityCastRange" "450 500 550 600" 20 | "AbilityCastPoint" "0.4" 21 | 22 | "AbilityCooldown" "60 50 40 30" 23 | "AbilityManaCost" "60 90 120 150" 24 | 25 | "AbilitySpecial" 26 | { 27 | "01" 28 | { 29 | "var_type" "FIELD_INTEGER" 30 | "radius" "400 450 500 550" 31 | } 32 | "02" 33 | { 34 | "var_type" "FIELD_FLOAT" 35 | "duration" "0.3 0.4 0.5 0.6" 36 | } 37 | "03" 38 | { 39 | "var_type" "FIELD_INTEGER" 40 | "damage" "100 150 200 250" 41 | } 42 | "04" 43 | { 44 | "var_type" "FIELD_INTEGER" 45 | "radius_tree" "275" 46 | } 47 | "05" 48 | { 49 | "var_type" "FIELD_INTEGER" 50 | "scepter_cooldown" "12" 51 | "RequiresScepter" "1" 52 | } 53 | } 54 | } 55 | } -------------------------------------------------------------------------------- /game/SpellLibraryLua/scripts/npc/heroes/dark_willow/cursed_crown.txt: -------------------------------------------------------------------------------- 1 | "" 2 | { 3 | "ability_cursed_crown" 4 | { 5 | // General 6 | //------------------------------------------------------------------------------------------------------------- 7 | "BaseClass" "Ability_lua" 8 | "ScriptFile" "heroes/dark_willow/cursed_crown" 9 | "AbilityTextureName" "dark_willow_cursed_crown" 10 | "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_UNIT_TARGET" 11 | "AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_ENEMY" 12 | "AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" 13 | "SpellImmunityType" "SPELL_IMMUNITY_ENEMIES_NO" 14 | "SpellDispellableType" "SPELL_DISPELLABLE_YES" 15 | 16 | // Casting 17 | //------------------------------------------------------------------------------------------------------------- 18 | "AbilityCastRange" "600" 19 | "AbilityCastPoint" "0.2" 20 | 21 | // Time 22 | //------------------------------------------------------------------------------------------------------------- 23 | "AbilityCooldown" "18 16 14 12" 24 | 25 | // Cost 26 | //------------------------------------------------------------------------------------------------------------- 27 | "AbilityManaCost" "80 100 120 140" 28 | 29 | // Special 30 | //------------------------------------------------------------------------------------------------------------- 31 | "AbilitySpecial" 32 | { 33 | "01" 34 | { 35 | "var_type" "FIELD_FLOAT" 36 | "delay" "4" 37 | } 38 | "02" 39 | { 40 | "var_type" "FIELD_FLOAT" 41 | "stun_duration" "1.75 2.25 2.75 3.25" 42 | } 43 | "03" 44 | { 45 | "var_type" "FIELD_INTEGER" 46 | "stun_radius" "325" 47 | } 48 | } 49 | "AbilityCastAnimation" "ACT_DOTA_CAST_ABILITY_3" 50 | } 51 | } -------------------------------------------------------------------------------- /game/SpellLibraryLua/scripts/npc/heroes/dazzle/bad_juju.txt: -------------------------------------------------------------------------------- 1 | "" 2 | { 3 | "ability_bad_juju" 4 | { 5 | // General 6 | //------------------------------------------------------------------------------------------------------------- 7 | "ScriptFile" "heroes/dazzle/bad_juju" 8 | "BaseClass" "ability_lua" 9 | "AbilityTextureName" "dazzle_bad_juju" 10 | "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_PASSIVE" 11 | "AbilityType" "DOTA_ABILITY_TYPE_ULTIMATE" 12 | "SpellImmunityType" "SPELL_IMMUNITY_ENEMIES_NO" 13 | "SpellDispellableType" "SPELL_DISPELLABLE_NO" 14 | "FightRecapLevel" "2" 15 | "AbilitySound" "Hero_Dazzle.Weave" 16 | "HasScepterUpgrade" "0" 17 | 18 | 19 | // Casting 20 | //------------------------------------------------------------------------------------------------------------- 21 | "AbilityCastRange" "1200" 22 | 23 | 24 | // Special 25 | //------------------------------------------------------------------------------------------------------------- 26 | "AbilitySpecial" 27 | { 28 | "01" 29 | { 30 | "var_type" "FIELD_INTEGER" 31 | "cooldown_reduction" "26 38 50" 32 | } 33 | "02" 34 | { 35 | "var_type" "FIELD_FLOAT" 36 | "armor_reduction" "2 2.25 2.5" 37 | "LinkedSpecialBonus" "special_bonus_unique_dazzle_4" 38 | } 39 | "03" 40 | { 41 | "var_type" "FIELD_FLOAT" 42 | "duration" "8.0" 43 | } 44 | "04" 45 | { 46 | "var_type" "FIELD_INTEGER" 47 | "radius" "1200" 48 | } 49 | "05" 50 | { 51 | "var_type" "FIELD_INTEGER" 52 | "scepter_radius" "800" 53 | "RequiresScepter" "1" 54 | } 55 | "06" 56 | { 57 | "var_type" "FIELD_INTEGER" 58 | "scepter_count" "8" 59 | "RequiresScepter" "1" 60 | } 61 | } 62 | } 63 | } -------------------------------------------------------------------------------- /game/SpellLibraryLua/scripts/npc/heroes/dazzle/shallow_grave.txt: -------------------------------------------------------------------------------- 1 | "" 2 | { 3 | "ability_shallow_grave" 4 | { 5 | // General 6 | //------------------------------------------------------------------------------------------------------------- 7 | "ScriptFile" "heroes/dazzle/shallow_grave" 8 | "BaseClass" "ability_lua" 9 | "AbilityTextureName" "dazzle_shallow_grave" 10 | "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_UNIT_TARGET | DOTA_ABILITY_BEHAVIOR_DONT_RESUME_ATTACK | DOTA_ABILITY_BEHAVIOR_IGNORE_BACKSWING" 11 | "AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_FRIENDLY" 12 | "AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO" 13 | "SpellImmunityType" "SPELL_IMMUNITY_ALLIES_YES" 14 | "SpellDispellableType" "SPELL_DISPELLABLE_NO" 15 | "FightRecapLevel" "1" 16 | "AbilitySound" "Hero_Dazzle.Shallow_Grave" 17 | 18 | 19 | // Casting 20 | //------------------------------------------------------------------------------------------------------------- 21 | "AbilityCastAnimation" "ACT_DOTA_SHALLOW_GRAVE" 22 | "AbilityCastGestureSlot" "DEFAULT" 23 | "AbilityCastRange" "550 700 850 1000" 24 | "AbilityCastPoint" "0.4" 25 | 26 | // Time 27 | //------------------------------------------------------------------------------------------------------------- 28 | "AbilityCooldown" "60 46 32 18" 29 | 30 | // Cost 31 | //------------------------------------------------------------------------------------------------------------- 32 | "AbilityManaCost" "150" 33 | 34 | // Special 35 | //------------------------------------------------------------------------------------------------------------- 36 | "AbilitySpecial" 37 | { 38 | "01" 39 | { 40 | "var_type" "FIELD_FLOAT" 41 | "duration" "5.0" 42 | } 43 | } 44 | } 45 | } -------------------------------------------------------------------------------- /game/SpellLibraryLua/scripts/npc/heroes/doom_bringer/devour.txt: -------------------------------------------------------------------------------- 1 | "DOTAAbilities" 2 | { 3 | "ability_devour" 4 | { 5 | "BaseClass" "ability_lua" 6 | "ScriptFile" "heroes/doom_bringer/devour" 7 | "AbilityTextureName" "doom_bringer_devour" 8 | "FightRecapLevel" "1" 9 | "MaxLevel" "4" 10 | 11 | "AbilityType" "DOTA_ABILITY_TYPE_BASIC" 12 | "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_UNIT_TARGET | DOTA_ABILITY_BEHAVIOR_DONT_RESUME_ATTACK | DOTA_ABILITY_BEHAVIOR_AUTOCAST" 13 | "AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_CUSTOM" 14 | "AbilityUnitTargetType" "DOTA_UNIT_TARGET_CUSTOM" 15 | "AbilityUnitTargetFlags" "DOTA_UNIT_TARGET_FLAG_NOT_CREEP_HERO" 16 | "SpellDispellableType" "SPELL_DISPELLABLE_NO" 17 | 18 | "AbilityCastRange" "300 300 300 300" 19 | "AbilityCastPoint" "0.3 0.3 0.3 0.3" 20 | 21 | "AbilityCooldown" "70" 22 | "AbilityManaCost" "40 50 60 70" 23 | 24 | "AbilitySpecial" 25 | { 26 | "01" 27 | { 28 | "var_type" "FIELD_INTEGER" 29 | "bonus_gold" "50 100 150 200" 30 | "LinkedSpecialBonus" "special_bonus_unique_doom_3" 31 | } 32 | "02" 33 | { 34 | "var_type" "FIELD_FLOAT" 35 | "devour_time" "70" 36 | } 37 | "03" 38 | { 39 | "var_type" "FIELD_INTEGER" 40 | "regen" "1 5 9 13" 41 | } 42 | "04" 43 | { 44 | "var_type" "FIELD_INTEGER" 45 | "creep_level" "4 5 6 6" 46 | } 47 | } 48 | } 49 | } -------------------------------------------------------------------------------- /game/SpellLibraryLua/scripts/npc/heroes/doom_bringer/doom.txt: -------------------------------------------------------------------------------- 1 | "DOTAAbilities" 2 | { 3 | "ability_doom" 4 | { 5 | "BaseClass" "ability_lua" 6 | "ScriptFile" "heroes/doom_bringer/doom" 7 | "AbilityTextureName" "doom_bringer_doom" 8 | "FightRecapLevel" "2" 9 | "MaxLevel" "3" 10 | 11 | "AbilityType" "DOTA_ABILITY_TYPE_ULTIMATE" 12 | "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_UNIT_TARGET" 13 | "AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_ENEMY" 14 | "AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" 15 | "AbilityUnitTargetFlags" "DOTA_UNIT_TARGET_FLAG_MAGIC_IMMUNE_ENEMIES | DOTA_UNIT_TARGET_FLAG_NOT_ANCIENTS" 16 | "AbilityUnitDamageType" "DAMAGE_TYPE_PURE" 17 | "SpellDispellableType" "SPELL_DISPELLABLE_NO" 18 | "SpellImmunityType" "SPELL_IMMUNITY_ENEMIES_YES" 19 | 20 | "AbilityCastRange" "550 550 550" 21 | "AbilityCastPoint" "0.5" 22 | 23 | "AbilityCooldown" "145.0" 24 | "AbilityManaCost" "150 200 250" 25 | 26 | "AbilitySpecial" 27 | { 28 | "01" 29 | { 30 | "var_type" "FIELD_FLOAT" 31 | "duration" "16.0" 32 | "LinkedSpecialBonus" "special_bonus_unique_doom_7" 33 | } 34 | "02" 35 | { 36 | "var_type" "FIELD_INTEGER" 37 | "damage" "25 40 55" 38 | "LinkedSpecialBonus" "special_bonus_unique_doom_5" 39 | } 40 | "03" 41 | { 42 | "var_type" "FIELD_INTEGER" 43 | "deniable_pct" "25 25 25" 44 | } 45 | } 46 | } 47 | } -------------------------------------------------------------------------------- /game/SpellLibraryLua/scripts/npc/heroes/doom_bringer/infernal_blade.txt: -------------------------------------------------------------------------------- 1 | "DOTAAbilities" 2 | { 3 | "ability_infernal_blade" 4 | { 5 | "BaseClass" "ability_lua" 6 | "ScriptFile" "heroes/doom_bringer/infernal_blade" 7 | "AbilityTextureName" "doom_bringer_infernal_blade" 8 | "FightRecapLevel" "1" 9 | "MaxLevel" "4" 10 | 11 | "AbilityType" "DOTA_ABILITY_TYPE_BASIC" 12 | "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_UNIT_TARGET | DOTA_ABILITY_BEHAVIOR_AUTOCAST | DOTA_ABILITY_BEHAVIOR_ATTACK" 13 | "AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_ENEMY" 14 | "AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" 15 | "AbilityUnitDamageType" "DAMAGE_TYPE_MAGICAL" 16 | "SpellDispellableType" "SPELL_DISPELLABLE_YES" 17 | "SpellImmunityType" "SPELL_IMMUNITY_ENEMIES_NO" 18 | 19 | "AbilityCastRange" "175" 20 | "AbilityCastPoint" "0.0 0.0 0.0 0.0" 21 | 22 | "AbilityCooldown" "16 12 8 4" 23 | "AbilityManaCost" "40" 24 | 25 | "AbilitySpecial" 26 | { 27 | "01" 28 | { 29 | "var_type" "FIELD_INTEGER" 30 | "burn_damage" "25" 31 | } 32 | "02" 33 | { 34 | "var_type" "FIELD_FLOAT" 35 | "burn_damage_pct" "1.25 2.5 3.75 5" 36 | } 37 | "03" 38 | { 39 | "var_type" "FIELD_FLOAT" 40 | "burn_duration" "4.0" 41 | } 42 | "04" 43 | { 44 | "var_type" "FIELD_FLOAT" 45 | "ministun_duration" "0.6" 46 | } 47 | } 48 | } 49 | } -------------------------------------------------------------------------------- /game/SpellLibraryLua/scripts/npc/heroes/doom_bringer/scorched_earth.txt: -------------------------------------------------------------------------------- 1 | "DOTAAbilities" 2 | { 3 | "ability_scorched_earth" 4 | { 5 | "BaseClass" "ability_lua" 6 | "ScriptFile" "heroes/doom_bringer/scorched_earth" 7 | "AbilityTextureName" "doom_bringer_scorched_earth" 8 | "FightRecapLevel" "1" 9 | "MaxLevel" "4" 10 | 11 | "AbilityType" "DOTA_ABILITY_TYPE_BASIC" 12 | "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_NO_TARGET" 13 | "AbilityUnitDamageType" "DAMAGE_TYPE_MAGICAL" 14 | "SpellDispellableType" "SPELL_DISPELLABLE_NO" 15 | "SpellImmunityType" "SPELL_IMMUNITY_ENEMIES_NO" 16 | 17 | "AbilityCastRange" "600 600 600 600" 18 | "AbilityCastPoint" "0" 19 | "AbilityCooldown" "50 45 40 35" 20 | "AbilityManaCost" "60 65 70 75" 21 | 22 | "AbilitySpecial" 23 | { 24 | "01" 25 | { 26 | "var_type" "FIELD_INTEGER" 27 | "damage_per_second" "20 30 40 50" 28 | "LinkedSpecialBonus" "special_bonus_unique_doom_4" 29 | } 30 | "02" 31 | { 32 | "var_type" "FIELD_INTEGER" 33 | "radius" "600 600 600 600" 34 | } 35 | "03" 36 | { 37 | "var_type" "FIELD_INTEGER" 38 | "bonus_movement_speed_pct" "11 12 13 14" 39 | "LinkedSpecialBonus" "special_bonus_unique_doom_6" 40 | } 41 | "04" 42 | { 43 | "var_type" "FIELD_FLOAT" 44 | "duration" "10.0 12.0 14.0 16.0" 45 | } 46 | } 47 | } 48 | } -------------------------------------------------------------------------------- /game/SpellLibraryLua/scripts/npc/heroes/dragon_knight/breathe_fire.txt: -------------------------------------------------------------------------------- 1 | "DOTAAbilities" 2 | { 3 | "ability_breathe_fire" 4 | { 5 | "BaseClass" "ability_lua" 6 | "ScriptFile" "heroes/dragon_knight/breathe_fire" 7 | "AbilityTextureName" "dragon_knight_breathe_fire" 8 | "FightRecapLevel" "1" 9 | "MaxLevel" "4" 10 | 11 | "AbilityType" "DOTA_ABILITY_TYPE_BASIC" 12 | "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_DIRECTIONAL | DOTA_ABILITY_BEHAVIOR_POINT | DOTA_ABILITY_BEHAVIOR_UNIT_TARGET" 13 | "AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_ENEMY" 14 | "AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" 15 | "AbilityUnitTargetFlags" "DOTA_UNIT_TARGET_FLAG_MAGIC_IMMUNE_ENEMIES" 16 | "AbilityUnitDamageType" "DAMAGE_TYPE_MAGICAL" 17 | "SpellDispellableType" "SPELL_DISPELLABLE_YES" 18 | "SpellImmunityType" "SPELL_IMMUNITY_ENEMIES_NO" 19 | 20 | "AbilityCastRange" "600" 21 | "AbilityCastPoint" "0.2" 22 | 23 | "AbilityCooldown" "14 13 12 11" 24 | "AbilityManaCost" "100 110 120 130" 25 | 26 | "AbilityDamage" "90 170 240 300" 27 | 28 | "AbilitySpecial" 29 | { 30 | "01" 31 | { 32 | "var_type" "FIELD_INTEGER" 33 | "start_radius" "150 150 150 150" 34 | } 35 | "02" 36 | { 37 | "var_type" "FIELD_INTEGER" 38 | "end_radius" "250 250 250 250" 39 | } 40 | "03" 41 | { 42 | "var_type" "FIELD_INTEGER" 43 | "range" "750" 44 | } 45 | "04" 46 | { 47 | "var_type" "FIELD_INTEGER" 48 | "speed" "1050" 49 | } 50 | "05" 51 | { 52 | "var_type" "FIELD_INTEGER" 53 | "reduction" "-25" 54 | } 55 | "06" 56 | { 57 | "var_type" "FIELD_FLOAT" 58 | "duration" "11" 59 | } 60 | } 61 | } 62 | } -------------------------------------------------------------------------------- /game/SpellLibraryLua/scripts/npc/heroes/dragon_knight/dragon_blood.txt: -------------------------------------------------------------------------------- 1 | "DOTAAbilities" 2 | { 3 | "ability_dragon_blood" 4 | { 5 | "BaseClass" "ability_lua" 6 | "ScriptFile" "heroes/dragon_knight/dragon_blood" 7 | "AbilityTextureName" "dragon_knight_dragon_blood" 8 | "FightRecapLevel" "1" 9 | "MaxLevel" "4" 10 | 11 | "AbilityType" "DOTA_ABILITY_TYPE_BASIC" 12 | "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_PASSIVE" 13 | 14 | "AbilitySpecial" 15 | { 16 | "01" 17 | { 18 | "var_type" "FIELD_INTEGER" 19 | "bonus_health_regen" "4 8 12 16" 20 | "LinkedSpecialBonus" "special_bonus_unique_dragon_knight" 21 | "LinkedSpecialBonusOperation" "SPECIAL_BONUS_MULTIPLY" 22 | } 23 | "02" 24 | { 25 | "var_type" "FIELD_INTEGER" 26 | "bonus_armor" "3 6 9 12" 27 | "LinkedSpecialBonus" "special_bonus_unique_dragon_knight" 28 | "LinkedSpecialBonusOperation" "SPECIAL_BONUS_MULTIPLY" 29 | } 30 | } 31 | } 32 | } -------------------------------------------------------------------------------- /game/SpellLibraryLua/scripts/npc/heroes/dragon_knight/dragon_tail.txt: -------------------------------------------------------------------------------- 1 | "DOTAAbilities" 2 | { 3 | "ability_dragon_tail" 4 | { 5 | "BaseClass" "ability_lua" 6 | "ScriptFile" "heroes/dragon_knight/dragon_tail" 7 | "AbilityTextureName" "dragon_knight_dragon_tail" 8 | "FightRecapLevel" "1" 9 | "MaxLevel" "4" 10 | 11 | "AbilityType" "DOTA_ABILITY_TYPE_BASIC" 12 | "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_UNIT_TARGET" 13 | "AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_ENEMY" 14 | "AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" 15 | "AbilityUnitDamageType" "DAMAGE_TYPE_MAGICAL" 16 | "SpellDispellableType" "SPELL_DISPELLABLE_YES_STRONG" 17 | "SpellImmunityType" "SPELL_IMMUNITY_ENEMIES_NO" 18 | 19 | "AbilityCastRange" "150" 20 | "AbilityCastPoint" "0.0 0.0 0.0 0.0" 21 | 22 | "AbilityCooldown" "12 11 10 9" 23 | "AbilityManaCost" "100 100 100 100" 24 | 25 | "AbilityDamage" "25 50 75 100" 26 | 27 | "AbilitySpecial" 28 | { 29 | "01" 30 | { 31 | "var_type" "FIELD_FLOAT" 32 | "stun_duration" "2.5 2.75 3.0 3.25" 33 | "LinkedSpecialBonus" "special_bonus_unique_dragon_knight_2" 34 | } 35 | "02" 36 | { 37 | "var_type" "FIELD_INTEGER" 38 | "dragon_cast_range" "400" 39 | } 40 | "03" 41 | { 42 | "var_type" "FIELD_INTEGER" 43 | "projectile_speed" "1600" 44 | } 45 | } 46 | } 47 | } -------------------------------------------------------------------------------- /game/SpellLibraryLua/scripts/npc/heroes/earth_spirit/geomagnetic_grip.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vulkantsk/SpellLibraryLua/5e41bd65abef570460dfbfeb4557225053165537/game/SpellLibraryLua/scripts/npc/heroes/earth_spirit/geomagnetic_grip.txt -------------------------------------------------------------------------------- /game/SpellLibraryLua/scripts/npc/heroes/earth_spirit/magnetize.txt: -------------------------------------------------------------------------------- 1 | "DOTAAbilities" 2 | { 3 | "ability_magnetize" 4 | { 5 | "BaseClass" "ability_lua" 6 | "ScriptFile" "heroes/earth_spirit/magnetize" 7 | "AbilityTextureName" "earth_spirit_magnetize" 8 | "FightRecapLevel" "2" 9 | "MaxLevel" "3" 10 | 11 | "AbilityType" "DOTA_ABILITY_TYPE_ULTIMATE" 12 | "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_NO_TARGET | DOTA_ABILITY_BEHAVIOR_IGNORE_BACKSWING" 13 | "AbilityUnitDamageType" "DAMAGE_TYPE_MAGICAL" 14 | "SpellDispellableType" "SPELL_DISPELLABLE_YES" 15 | "SpellImmunityType" "SPELL_IMMUNITY_ENEMIES_NO" 16 | 17 | "AbilityCastRange" "300" 18 | "AbilityCastPoint" "0.01" 19 | "AbilityCooldown" "100 90 80" 20 | "AbilityManaCost" "100" 21 | 22 | "AbilitySpecial" 23 | { 24 | "01" 25 | { 26 | "var_type" "FIELD_INTEGER" 27 | "cast_radius" "300" 28 | } 29 | "02" 30 | { 31 | "var_type" "FIELD_INTEGER" 32 | "damage_per_second" "50 75 100" 33 | } 34 | "03" 35 | { 36 | "var_type" "FIELD_FLOAT" 37 | "damage_duration" "6.0" 38 | } 39 | "04" 40 | { 41 | "var_type" "FIELD_INTEGER" 42 | "rock_search_radius" "400" 43 | } 44 | "05" 45 | { 46 | "var_type" "FIELD_INTEGER" 47 | "rock_explosion_radius" "600" 48 | } 49 | "06" 50 | { 51 | "var_type" "FIELD_FLOAT" 52 | "damage_interval" "1.0" 53 | } 54 | "07" 55 | { 56 | "var_type" "FIELD_FLOAT" 57 | "rock_explosion_delay" "8.0" 58 | } 59 | "08" 60 | { 61 | "var_type" "FIELD_FLOAT" 62 | "silence_duration" "5.0" 63 | } 64 | "09" 65 | { 66 | "var_type" "FIELD_FLOAT" 67 | "slow_duration" "2.0" 68 | } 69 | } 70 | } 71 | } -------------------------------------------------------------------------------- /game/SpellLibraryLua/scripts/npc/heroes/earth_spirit/rolling_boulder.txt: -------------------------------------------------------------------------------- 1 | "DOTAAbilities" 2 | { 3 | "ability_rolling_boulder" 4 | { 5 | "BaseClass" "ability_lua" 6 | "ScriptFile" "heroes/earth_spirit/rolling_boulder" 7 | "AbilityTextureName" "earth_spirit_rolling_boulder" 8 | "FightRecapLevel" "1" 9 | "MaxLevel" "4" 10 | 11 | "AbilityType" "DOTA_ABILITY_TYPE_BASIC" 12 | "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_POINT | DOTA_ABILITY_BEHAVIOR_IGNORE_BACKSWING | DOTA_ABILITY_BEHAVIOR_ROOT_DISABLES" 13 | "AbilityUnitDamageType" "DAMAGE_TYPE_MAGICAL" 14 | "SpellImmunityType" "SPELL_IMMUNITY_ENEMIES_NO" 15 | 16 | "AbilityCastRange" "3000" 17 | "AbilityCastPoint" "0.01" 18 | "AbilityCooldown" "16.0 12.0 8.0 4.0" 19 | "AbilityManaCost" "50" 20 | 21 | "AbilitySpecial" 22 | { 23 | "01" 24 | { 25 | "var_type" "FIELD_INTEGER" 26 | "radius" "150" 27 | } 28 | "02" 29 | { 30 | "var_type" "FIELD_INTEGER" 31 | "speed" "800" 32 | } 33 | "03" 34 | { 35 | "var_type" "FIELD_INTEGER" 36 | "rock_speed" "1600" 37 | } 38 | "04" 39 | { 40 | "var_type" "FIELD_FLOAT" 41 | "distance" "800.0" 42 | } 43 | "05" 44 | { 45 | "var_type" "FIELD_FLOAT" 46 | "rock_distance" "1600.0" 47 | } 48 | "06" 49 | { 50 | "var_type" "FIELD_FLOAT" 51 | "delay" "0.6" 52 | } 53 | "07" 54 | { 55 | "var_type" "FIELD_INTEGER" 56 | "damage" "70 80 90 100" 57 | } 58 | "08" 59 | { 60 | "var_type" "FIELD_INTEGER" 61 | "stun_duration" "0.4 0.6 0.8 1.0" 62 | } 63 | "09" 64 | { 65 | "var_type" "FIELD_FLOAT" 66 | "rock_bonus_duration" "0.4 0.6 0.8 1.0" 67 | } 68 | } 69 | } 70 | } -------------------------------------------------------------------------------- /game/SpellLibraryLua/scripts/npc/heroes/earth_spirit/stone_caller.txt: -------------------------------------------------------------------------------- 1 | "DOTAAbilities" 2 | { 3 | "ability_stone_caller" 4 | { 5 | "BaseClass" "ability_lua" 6 | "ScriptFile" "heroes/earth_spirit/stone_caller" 7 | "AbilityTextureName" "earth_spirit_stone_caller" 8 | "FightRecapLevel" "1" 9 | "MaxLevel" "1" 10 | 11 | "AbilityType" "DOTA_ABILITY_TYPE_BASIC" 12 | "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_POINT | DOTA_ABILITY_BEHAVIOR_NOT_LEARNABLE | DOTA_ABILITY_BEHAVIOR_IGNORE_BACKSWING" 13 | "AbilityCastRange" "1100" 14 | "AbilityCharges" "7" 15 | "AbilityChargeRestoreTime" "25" 16 | 17 | "AbilitySpecial" 18 | { 19 | "01" 20 | { 21 | "var_type" "FIELD_INTEGER" 22 | "max_charges" "6" 23 | } 24 | "02" 25 | { 26 | "var_type" "FIELD_FLOAT" 27 | "charge_restore_time" "30.0" 28 | } 29 | "03" 30 | { 31 | "var_type" "FIELD_FLOAT" 32 | "duration" "120.0" 33 | } 34 | } 35 | } 36 | } -------------------------------------------------------------------------------- /game/SpellLibraryLua/scripts/npc/heroes/enchantress/enchant.txt: -------------------------------------------------------------------------------- 1 | "DOTAAbilities" 2 | { 3 | "ability_enchant" 4 | { 5 | "BaseClass" "ability_lua" 6 | "ScriptFile" "heroes/enchantress/enchant" 7 | "AbilityTextureName" "enchantress_enchant" 8 | "FightRecapLevel" "1" 9 | "MaxLevel" "4" 10 | 11 | "AbilityType" "DOTA_ABILITY_TYPE_BASIC" 12 | "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_UNIT_TARGET" 13 | "AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_ENEMY" 14 | "AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" 15 | "SpellDispellableType" "SPELL_DISPELLABLE_YES" 16 | 17 | "AbilityCastRange" "700" 18 | "AbilityCastPoint" "0.3" 19 | "AbilityDuration" "3.75 4.5 5.25 6" 20 | 21 | "AbilityCooldown" "55 40 25 10" 22 | "AbilityManaCost" "65 65 65 65" 23 | 24 | "AbilitySpecial" 25 | { 26 | "01" 27 | { 28 | "var_type" "FIELD_FLOAT" 29 | "dominate_duration" "30 60 90 120" 30 | } 31 | "02" 32 | { 33 | "var_type" "FIELD_INTEGER" 34 | "enchant_health" "200 300 400 500" 35 | } 36 | "03" 37 | { 38 | "var_type" "FIELD_INTEGER" 39 | "enchant_armor" "2 4 6 8" 40 | } 41 | "04" 42 | { 43 | "var_type" "FIELD_INTEGER" 44 | "enchant_damage" "10 30 50 70" 45 | } 46 | "05" 47 | { 48 | "var_type" "FIELD_INTEGER" 49 | "slow_movement_speed" "-55" 50 | } 51 | } 52 | "AbilityCastAnimation" "ACT_DOTA_CAST_ABILITY_2" 53 | } 54 | } -------------------------------------------------------------------------------- /game/SpellLibraryLua/scripts/npc/heroes/enchantress/impetus.txt: -------------------------------------------------------------------------------- 1 | "DOTAAbilities" 2 | { 3 | "ability_impetus" 4 | { 5 | "BaseClass" "ability_lua" 6 | "ScriptFile" "heroes/enchantress/impetus" 7 | "AbilityTextureName" "enchantress_impetus" 8 | "FightRecapLevel" "1" 9 | "MaxLevel" "4" 10 | 11 | "AbilityType" "DOTA_ABILITY_TYPE_BASIC" 12 | "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_UNIT_TARGET | DOTA_ABILITY_BEHAVIOR_AUTOCAST | DOTA_ABILITY_BEHAVIOR_ATTACK" 13 | "AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_ENEMY" 14 | "AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" 15 | "AbilityUnitTargetFlags" "DOTA_UNIT_TARGET_FLAG_MAGIC_IMMUNE_ENEMIES" 16 | "AbilityUnitDamageType" "DAMAGE_TYPE_PURE" 17 | "SpellImmunityType" "SPELL_IMMUNITY_ENEMIES_YES" 18 | 19 | "AbilityCastRange" "550" 20 | "AbilityCastPoint" "0" 21 | 22 | "AbilityCooldown" "0" 23 | "AbilityManaCost" "40 55 70" 24 | 25 | "AbilitySpecial" 26 | { 27 | "01" 28 | { 29 | "var_type" "FIELD_FLOAT" 30 | "distance_damage_pct" "8 12 16 20" 31 | "LinkedSpecialBonus" "special_bonus_unique_enchantress_4" 32 | } 33 | "02" 34 | { 35 | "var_type" "FIELD_INTEGER" 36 | "distance_cap" "1750" 37 | } 38 | } 39 | } 40 | } -------------------------------------------------------------------------------- /game/SpellLibraryLua/scripts/npc/heroes/enchantress/natures_attendants.txt: -------------------------------------------------------------------------------- 1 | "DOTAAbilities" 2 | { 3 | "ability_natures_attendants" 4 | { 5 | "BaseClass" "ability_lua" 6 | "ScriptFile" "heroes/enchantress/natures_attendants" 7 | "AbilityTextureName" "enchantress_natures_attendants" 8 | "FightRecapLevel" "1" 9 | "MaxLevel" "4" 10 | 11 | "AbilityType" "DOTA_ABILITY_TYPE_BASIC" 12 | "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_NO_TARGET" 13 | "SpellDispellableType" "SPELL_DISPELLABLE_NO" 14 | 15 | "AbilityCastRange" "275" 16 | "AbilityCastPoint" "0.3" 17 | "AbilityDuration" "11" 18 | 19 | "AbilityCooldown" "35" 20 | "AbilityManaCost" "110 120 130 140" 21 | 22 | "AbilitySpecial" 23 | { 24 | "01" 25 | { 26 | "var_type" "FIELD_FLOAT" 27 | "heal_interval" "0.5" 28 | } 29 | "02" 30 | { 31 | "var_type" "FIELD_FLOAT" 32 | "heal" "7 9 11 13" 33 | "LinkedSpecialBonus" "special_bonus_unique_enchantress_5" 34 | } 35 | "03" 36 | { 37 | "var_type" "FIELD_INTEGER" 38 | "radius" "275 275 275 275" 39 | } 40 | "04" 41 | { 42 | "var_type" "FIELD_INTEGER" 43 | "wisp_count" "4 6 8 10" 44 | "LinkedSpecialBonus" "special_bonus_unique_enchantress_2" 45 | } 46 | } 47 | } 48 | } -------------------------------------------------------------------------------- /game/SpellLibraryLua/scripts/npc/heroes/enchantress/untouchable.txt: -------------------------------------------------------------------------------- 1 | "DOTAAbilities" 2 | { 3 | "ability_untouchable" 4 | { 5 | "BaseClass" "ability_lua" 6 | "ScriptFile" "heroes/enchantress/untouchable" 7 | "AbilityTextureName" "enchantress_untouchable" 8 | "MaxLevel" "3" 9 | 10 | "AbilityType" "DOTA_ABILITY_TYPE_ULTIMATE" 11 | "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_PASSIVE" 12 | "SpellDispellableType" "SPELL_DISPELLABLE_YES" 13 | "SpellImmunityType" "SPELL_IMMUNITY_ENEMIES_YES" 14 | 15 | "AbilitySpecial" 16 | { 17 | "01" 18 | { 19 | "var_type" "FIELD_INTEGER" 20 | "slow_attack_speed" "-100 -140 -180" 21 | "LinkedSpecialBonus" "special_bonus_unique_enchantress_3" 22 | } 23 | "02" 24 | { 25 | "var_type" "FIELD_INTEGER" 26 | "slow_duration" "4" 27 | } 28 | } 29 | } 30 | } -------------------------------------------------------------------------------- /game/SpellLibraryLua/scripts/npc/heroes/enigma/demonic_conversion.txt: -------------------------------------------------------------------------------- 1 | "DOTAAbilities" 2 | { 3 | "ability_demonic_conversion" 4 | { 5 | "BaseClass" "ability_lua" 6 | "ScriptFile" "heroes/enigma/demonic_conversion" 7 | "AbilityTextureName" "enigma_demonic_conversion" 8 | "FightRecapLevel" "1" 9 | "MaxLevel" "4" 10 | 11 | "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_UNIT_TARGET | DOTA_ABILITY_BEHAVIOR_DONT_RESUME_ATTACK" 12 | "AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_BOTH" 13 | "AbilityUnitTargetType" "DOTA_UNIT_TARGET_CREEP | DOTA_UNIT_TARGET_BASIC" 14 | "AbilityUnitTargetFlags" "DOTA_UNIT_TARGET_FLAG_NOT_CREEP_HERO" 15 | 16 | "AbilityCastRange" "700" 17 | "AbilityCastPoint" "0.3 0.3 0.3 0.3" 18 | 19 | "AbilityCooldown" "35.0" 20 | "AbilityDuration" "35.0" 21 | "AbilityManaCost" "140 150 160 170" 22 | 23 | "AbilitySpecial" 24 | { 25 | "01" 26 | { 27 | "var_type" "FIELD_INTEGER" 28 | "spawn_count" "3 3 3 3" 29 | "LinkedSpecialBonus" "special_bonus_unique_enigma" 30 | } 31 | "02" 32 | { 33 | "var_type" "FIELD_INTEGER" 34 | "split_attack_count" "6 6 6 6" 35 | } 36 | "03" 37 | { 38 | "var_type" "FIELD_INTEGER" 39 | "eidolon_hp_tooltip" "180 200 220 240" 40 | "LinkedSpecialBonus" "special_bonus_unique_enigma_7" 41 | } 42 | "04" 43 | { 44 | "var_type" "FIELD_FLOAT" 45 | "life_extension" "2.0 2.0 2.0 2.0" 46 | } 47 | "05" 48 | { 49 | "var_type" "FIELD_INTEGER" 50 | "eidolon_dmg_tooltip" "20 28 38 47" 51 | "LinkedSpecialBonus" "special_bonus_unique_enigma_3" 52 | } 53 | } 54 | } 55 | } -------------------------------------------------------------------------------- /game/SpellLibraryLua/scripts/npc/heroes/enigma/malefice.txt: -------------------------------------------------------------------------------- 1 | "DOTAAbilities" 2 | { 3 | "ability_malefice" 4 | { 5 | "BaseClass" "ability_lua" 6 | "ScriptFile" "heroes/enigma/malefice" 7 | "AbilityTextureName" "enigma_malefice" 8 | "FightRecapLevel" "1" 9 | "MaxLevel" "4" 10 | 11 | "AbilityType" "DOTA_ABILITY_TYPE_BASIC" 12 | "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_UNIT_TARGET" 13 | "AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_ENEMY" 14 | "AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" 15 | "AbilityUnitDamageType" "DAMAGE_TYPE_MAGICAL" 16 | "SpellDispellableType" "SPELL_DISPELLABLE_YES" 17 | "SpellImmunityType" "SPELL_IMMUNITY_ENEMIES_NO" 18 | 19 | "AbilityCastRange" "600" 20 | "AbilityCastPoint" "0.3" 21 | 22 | "AbilityCooldown" "18 17 16 15" 23 | "AbilityManaCost" "100 120 140 160" 24 | 25 | "AbilitySpecial" 26 | { 27 | "01" 28 | { 29 | "var_type" "FIELD_FLOAT" 30 | "tick_rate" "2.0 2.0 2.0 2.0" 31 | } 32 | "02" 33 | { 34 | "var_type" "FIELD_FLOAT" 35 | "stun_duration" "0.4 0.6 0.8 1.0" 36 | } 37 | "03" 38 | { 39 | "var_type" "FIELD_INTEGER" 40 | "damage" "30 50 70 90" 41 | } 42 | "04" 43 | { 44 | "var_type" "FIELD_FLOAT" 45 | "duration" "4.0 4.0 4.0 4.0" 46 | } 47 | "05" 48 | { 49 | "var_type" "FIELD_FLOAT" 50 | "tooltip_stuns" "3 3 3 3" 51 | } 52 | } 53 | } 54 | } -------------------------------------------------------------------------------- /game/SpellLibraryLua/scripts/npc/heroes/enigma/midnight_pulse.txt: -------------------------------------------------------------------------------- 1 | "DOTAAbilities" 2 | { 3 | "ability_midnight_pulse" 4 | { 5 | "BaseClass" "ability_lua" 6 | "ScriptFile" "heroes/enigma/midnight_pulse" 7 | "AbilityTextureName" "enigma_midnight_pulse" 8 | "FightRecapLevel" "1" 9 | "MaxLevel" "4" 10 | 11 | "AbilityType" "DOTA_ABILITY_TYPE_BASIC" 12 | "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_AOE | DOTA_ABILITY_BEHAVIOR_POINT | DOTA_ABILITY_BEHAVIOR_IGNORE_BACKSWING" 13 | "AbilityUnitDamageType" "DAMAGE_TYPE_PURE" 14 | "SpellImmunityType" "SPELL_IMMUNITY_ENEMIES_YES" 15 | 16 | "AbilityCastRange" "700" 17 | "AbilityCastPoint" "0.1" 18 | 19 | "AbilityCooldown" "50 45 40 35" 20 | "AbilityManaCost" "75 95 115 135" 21 | 22 | "AbilitySpecial" 23 | { 24 | "01" 25 | { 26 | "var_type" "FIELD_INTEGER" 27 | "radius" "550" 28 | } 29 | "02" 30 | { 31 | "var_type" "FIELD_FLOAT" 32 | "damage_percent" "3.75 4.25 4.75 5.25" 33 | } 34 | "03" 35 | { 36 | "var_type" "FIELD_FLOAT" 37 | "duration" "9 10 11 12" 38 | } 39 | } 40 | } 41 | } -------------------------------------------------------------------------------- /game/SpellLibraryLua/scripts/npc/heroes/grimstroke/dark_artistry.txt: -------------------------------------------------------------------------------- 1 | "" 2 | { 3 | "ability_dark_artistry" 4 | { 5 | "BaseClass" "ability_lua" 6 | "ScriptFile" "heroes/grimstroke/dark_artistry" 7 | "AbilityTextureName" "grimstroke_dark_artistry" 8 | "FightRecapLevel" "1" 9 | "MaxLevel" "4" 10 | 11 | "AbilityType" "DOTA_ABILITY_TYPE_BASIC" 12 | "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_POINT" 13 | "AbilityUnitDamageType" "DAMAGE_TYPE_MAGICAL" 14 | "SpellDispellableType" "SPELL_DISPELLABLE_YES" 15 | "SpellImmunityType" "SPELL_IMMUNITY_ENEMIES_YES" 16 | 17 | "AbilityCastRange" "1400" 18 | "AbilityCastPoint" "0.8" 19 | "AbilityCooldown" "11 9 7 5" 20 | "AbilityManaCost" "100 110 120 130" 21 | "AbilityDamage" "120 180 240 300" 22 | 23 | "AbilitySpecial" 24 | { 25 | "01" 26 | { 27 | "var_type" "FIELD_INTEGER" 28 | "start_radius" "120" 29 | } 30 | "02" 31 | { 32 | "var_type" "FIELD_INTEGER" 33 | "end_radius" "160" 34 | } 35 | "03" 36 | { 37 | "var_type" "FIELD_INTEGER" 38 | "projectile_speed" "2400" 39 | } 40 | "04" 41 | { 42 | "var_type" "FIELD_INTEGER" 43 | "movement_slow_pct" "50 60 70 80" 44 | } 45 | "05" 46 | { 47 | "var_type" "FIELD_FLOAT" 48 | "activation_delay" "0.5" 49 | } 50 | "06" 51 | { 52 | "var_type" "FIELD_FLOAT" 53 | "slow_duration" "2.0" 54 | } 55 | "07" 56 | { 57 | "var_type" "FIELD_INTEGER" 58 | "bonus_damage_per_target" "16 24 32 40" 59 | } 60 | } 61 | } 62 | } -------------------------------------------------------------------------------- /game/SpellLibraryLua/scripts/npc/heroes/grimstroke/soul_chain.txt: -------------------------------------------------------------------------------- 1 | "" 2 | { 3 | "ability_soul_chain" 4 | { 5 | "BaseClass" "ability_lua" 6 | "ScriptFile" "heroes/grimstroke/soul_chain" 7 | "AbilityTextureName" "grimstroke_soul_chain" 8 | "FightRecapLevel" "2" 9 | "MaxLevel" "3" 10 | 11 | "AbilityType" "DOTA_ABILITY_TYPE_ULTIMATE" 12 | "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_UNIT_TARGET | DOTA_ABILITY_BEHAVIOR_AOE" 13 | "AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_ENEMY" 14 | "AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO" 15 | "AbilityUnitTargetFlags" "DOTA_UNIT_TARGET_FLAG_MAGIC_IMMUNE_ENEMIES" 16 | "AbilityUnitDamageType" "DAMAGE_TYPE_MAGICAL" 17 | "SpellDispellableType" "SPELL_DISPELLABLE_NO" 18 | "SpellImmunityType" "SPELL_IMMUNITY_ENEMIES_YES" 19 | 20 | "AbilityCastRange" "700 800 900" 21 | "AbilityCastPoint" "0.15" 22 | "AbilityCooldown" "80 65 50" 23 | "AbilityManaCost" "150 200 250" 24 | 25 | "AbilitySpecial" 26 | { 27 | "01" 28 | { 29 | "var_type" "FIELD_FLOAT" 30 | "chain_duration" "4.0 6.0 8.0" 31 | } 32 | "02" 33 | { 34 | "var_type" "FIELD_INTEGER" 35 | "chain_latch_radius" "550" 36 | } 37 | "03" 38 | { 39 | "var_type" "FIELD_INTEGER" 40 | "chain_break_distance" "700" 41 | } 42 | "04" 43 | { 44 | "var_type" "FIELD_FLOAT" 45 | "leash_limit_multiplier" "1.3" 46 | } 47 | "05" 48 | { 49 | "var_type" "FIELD_INTEGER" 50 | "leash_radius_buffer" "50" 51 | } 52 | "06" 53 | { 54 | "var_type" "FIELD_FLOAT" 55 | "creep_duration_pct" "50.0" 56 | } 57 | "07" 58 | { 59 | "var_type" "FIELD_INTEGER" 60 | "movement_slow" "15 30 45" 61 | } 62 | "08" 63 | { 64 | "var_type" "FIELD_INTEGER" 65 | "cast_range_tooltip" "700 800 900" 66 | } 67 | } 68 | } 69 | } -------------------------------------------------------------------------------- /game/SpellLibraryLua/scripts/npc/heroes/jakiro/ice_path.txt: -------------------------------------------------------------------------------- 1 | "DOTAAbilities" 2 | { 3 | "ability_ice_path" 4 | { 5 | "BaseClass" "ability_lua" 6 | "ScriptFile" "heroes/jakiro/ice_path" 7 | "AbilityTextureName" "jakiro_ice_path" 8 | "FightRecapLevel" "1" 9 | "MaxLevel" "4" 10 | 11 | "AbilityType" "DOTA_ABILITY_TYPE_BASIC" 12 | "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_POINT" 13 | "AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_ENEMY" 14 | "AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" 15 | "AbilityUnitDamageType" "DAMAGE_TYPE_MAGICAL" 16 | "SpellDispellableType" "SPELL_DISPELLABLE_YES_STRONG" 17 | "SpellImmunityType" "SPELL_IMMUNITY_ENEMIES_NO" 18 | 19 | "AbilityCastRange" "1200" 20 | "AbilityCastPoint" "0.65" 21 | "AbilityCooldown" "12.0 11.0 10.0 9.0" 22 | "AbilityManaCost" "90" 23 | 24 | "AbilitySpecial" 25 | { 26 | "01" 27 | { 28 | "var_type" "FIELD_FLOAT" 29 | "path_delay" "0.5" 30 | } 31 | "02" 32 | { 33 | "var_type" "FIELD_FLOAT" 34 | "duration" "1 1.5 2.0 2.5" 35 | } 36 | "03" 37 | { 38 | "var_type" "FIELD_INTEGER" 39 | "path_radius" "150" 40 | } 41 | "04" 42 | { 43 | "var_type" "FIELD_INTEGER" 44 | "damage" "50" 45 | } 46 | } 47 | } 48 | } -------------------------------------------------------------------------------- /game/SpellLibraryLua/scripts/npc/heroes/jakiro/liquid_fire.txt: -------------------------------------------------------------------------------- 1 | "DOTAAbilities" 2 | { 3 | "ability_liquid_fire" 4 | { 5 | "BaseClass" "ability_lua" 6 | "ScriptFile" "heroes/jakiro/liquid_fire" 7 | "AbilityTextureName" "jakiro_liquid_fire" 8 | "FightRecapLevel" "1" 9 | "MaxLevel" "4" 10 | 11 | "AbilityType" "DOTA_ABILITY_TYPE_BASIC" 12 | "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_UNIT_TARGET | DOTA_ABILITY_BEHAVIOR_AUTOCAST | DOTA_ABILITY_BEHAVIOR_ATTACK" 13 | "AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_ENEMY" 14 | "AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC | DOTA_UNIT_TARGET_BUILDING" 15 | "AbilityUnitTargetFlags" "DOTA_UNIT_TARGET_FLAG_MAGIC_IMMUNE_ENEMIES | DOTA_UNIT_TARGET_FLAG_DEAD" 16 | "AbilityUnitDamageType" "DAMAGE_TYPE_MAGICAL" 17 | "SpellDispellableType" "SPELL_DISPELLABLE_YES" 18 | "SpellImmunityType" "SPELL_IMMUNITY_ENEMIES_NO" 19 | 20 | "AbilityCastRange" "600" 21 | "AbilityCastPoint" "0.0 0.0 0.0 0.0" 22 | "AbilityDuration" "5.0" 23 | "AbilityCooldown" "20 15 10 4" 24 | 25 | "AbilitySpecial" 26 | { 27 | "01" 28 | { 29 | "var_type" "FIELD_INTEGER" 30 | "slow_attack_speed_pct" "-30 -40 -50 -60" 31 | } 32 | "02" 33 | { 34 | "var_type" "FIELD_INTEGER" 35 | "radius" "300" 36 | } 37 | "03" 38 | { 39 | "var_type" "FIELD_INTEGER" 40 | "damage" "12 16 20 24" 41 | } 42 | } 43 | } 44 | } -------------------------------------------------------------------------------- /game/SpellLibraryLua/scripts/npc/heroes/leshrac/diabolic_edict.txt: -------------------------------------------------------------------------------- 1 | "DOTAAbilities" 2 | { 3 | "ability_diabolic_edict" 4 | { 5 | "BaseClass" "ability_lua" 6 | "ScriptFile" "heroes/leshrac/diabolic_edict" 7 | "AbilityTextureName" "leshrac_diabolic_edict" 8 | "FightRecapLevel" "1" 9 | "MaxLevel" "4" 10 | 11 | "AbilityType" "DOTA_ABILITY_TYPE_BASIC" 12 | "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_NO_TARGET" 13 | "AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_ENEMY" 14 | "AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC | DOTA_UNIT_TARGET_BUILDING" 15 | "AbilityUnitDamageType" "DAMAGE_TYPE_PHYSICAL" 16 | "SpellDispellableType" "SPELL_DISPELLABLE_NO" 17 | "SpellImmunityType" "SPELL_IMMUNITY_ENEMIES_YES" 18 | 19 | "AbilityCastPoint" "0.5" 20 | "AbilityCastRange" "500" 21 | "AbilityDuration" "10" 22 | 23 | "AbilityCooldown" "22 22 22 22" 24 | "AbilityManaCost" "95 120 135 155" 25 | "AbilityDamage" "11 22 33 44" 26 | 27 | "AbilitySpecial" 28 | { 29 | "01" 30 | { 31 | "var_type" "FIELD_INTEGER" 32 | "num_explosions" "40" 33 | } 34 | "02" 35 | { 36 | "var_type" "FIELD_INTEGER" 37 | "radius" "500" 38 | } 39 | "03" 40 | { 41 | "var_type" "FIELD_INTEGER" 42 | "tower_bonus" "40" 43 | } 44 | "04" 45 | { 46 | "var_type" "FIELD_INTEGER" 47 | "duration_tooltip" "10" 48 | } 49 | } 50 | } 51 | } -------------------------------------------------------------------------------- /game/SpellLibraryLua/scripts/npc/heroes/leshrac/lightning_storm.txt: -------------------------------------------------------------------------------- 1 | "DOTAAbilities" 2 | { 3 | "ability_lightning_storm" 4 | { 5 | "BaseClass" "ability_lua" 6 | "ScriptFile" "heroes/leshrac/lightning_storm" 7 | "AbilityTextureName" "leshrac_lightning_storm" 8 | "FightRecapLevel" "1" 9 | "MaxLevel" "4" 10 | 11 | "AbilityType" "DOTA_ABILITY_TYPE_BASIC" 12 | "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_UNIT_TARGET" 13 | "AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_ENEMY" 14 | "AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" 15 | "AbilityUnitDamageType" "DAMAGE_TYPE_MAGICAL" 16 | "SpellDispellableType" "SPELL_DISPELLABLE_YES" 17 | "SpellImmunityType" "SPELL_IMMUNITY_ENEMIES_NO" 18 | 19 | "AbilityCastRange" "650" 20 | "AbilityCastPoint" "0.4" 21 | "AbilityCooldown" "4" 22 | "AbilityManaCost" "80 100 120 140" 23 | "AbilityDamage" "80 120 160 200" 24 | 25 | "AbilitySpecial" 26 | { 27 | "01" 28 | { 29 | "var_type" "FIELD_INTEGER" 30 | "jump_count" "4 6 8 10" 31 | } 32 | "02" 33 | { 34 | "var_type" "FIELD_INTEGER" 35 | "radius" "475" 36 | } 37 | "03" 38 | { 39 | "var_type" "FIELD_FLOAT" 40 | "jump_delay" "0.25 0.25 0.25 0.25" 41 | } 42 | "04" 43 | { 44 | "var_type" "FIELD_INTEGER" 45 | "slow_movement_speed" "-75" 46 | } 47 | "05" 48 | { 49 | "var_type" "FIELD_FLOAT" 50 | "slow_duration" "0.4 0.6 0.8 1.0" 51 | } 52 | "06" 53 | { 54 | "var_type" "FIELD_FLOAT" 55 | "interval_scepter" "1.75" 56 | } 57 | "07" 58 | { 59 | "var_type" "FIELD_INTEGER" 60 | "radius_scepter" "750" 61 | } 62 | } 63 | } 64 | } -------------------------------------------------------------------------------- /game/SpellLibraryLua/scripts/npc/heroes/leshrac/pulse_nova.txt: -------------------------------------------------------------------------------- 1 | "DOTAAbilities" 2 | { 3 | "ability_pulse_nova" 4 | { 5 | "BaseClass" "ability_lua" 6 | "ScriptFile" "heroes/leshrac/pulse_nova" 7 | "AbilityTextureName" "leshrac_pulse_nova" 8 | "FightRecapLevel" "2" 9 | "MaxLevel" "3" 10 | 11 | "AbilityType" "DOTA_ABILITY_TYPE_ULTIMATE" 12 | "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_NO_TARGET | DOTA_ABILITY_BEHAVIOR_TOGGLE | DOTA_ABILITY_BEHAVIOR_IGNORE_CHANNEL" 13 | "AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_ENEMY" 14 | "AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" 15 | "AbilityUnitDamageType" "DAMAGE_TYPE_MAGICAL" 16 | "SpellDispellableType" "SPELL_DISPELLABLE_NO" 17 | "SpellImmunityType" "SPELL_IMMUNITY_ENEMIES_NO" 18 | 19 | "AbilityCastRange" "450" 20 | "AbilityCastPoint" "0" 21 | 22 | "AbilityCooldown" "1.0 1.0 1.0 1.0" 23 | "AbilityManaCost" "70 90 110" 24 | 25 | "AbilitySpecial" 26 | { 27 | "01" 28 | { 29 | "var_type" "FIELD_INTEGER" 30 | "mana_cost_per_second" "20 40 60" 31 | } 32 | "02" 33 | { 34 | "var_type" "FIELD_INTEGER" 35 | "radius" "450" 36 | } 37 | "03" 38 | { 39 | "var_type" "FIELD_INTEGER" 40 | "damage" "100 140 180" 41 | } 42 | "04" 43 | { 44 | "var_type" "FIELD_INTEGER" 45 | "damage_scepter" "160 190 220" 46 | } 47 | } 48 | } 49 | } -------------------------------------------------------------------------------- /game/SpellLibraryLua/scripts/npc/heroes/leshrac/split_earth.txt: -------------------------------------------------------------------------------- 1 | "DOTAAbilities" 2 | { 3 | "ability_split_earth" 4 | { 5 | "BaseClass" "ability_lua" 6 | "ScriptFile" "heroes/leshrac/split_earth" 7 | "AbilityTextureName" "leshrac_split_earth" 8 | "FightRecapLevel" "1" 9 | "MaxLevel" "4" 10 | 11 | "AbilityType" "DOTA_ABILITY_TYPE_BASIC" 12 | "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_POINT | DOTA_ABILITY_BEHAVIOR_AOE" 13 | "AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_ENEMY" 14 | "AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" 15 | "AbilityUnitDamageType" "DAMAGE_TYPE_MAGICAL" 16 | "SpellDispellableType" "SPELL_DISPELLABLE_YES_STRONG" 17 | "SpellImmunityType" "SPELL_IMMUNITY_ENEMIES_NO" 18 | 19 | "AbilityCastRange" "650" 20 | "AbilityCastPoint" "0.7 0.7 0.7 0.7" 21 | "AbilityDuration" "2 2 2 2" 22 | 23 | "AbilityCooldown" "9 9 9 9" 24 | "AbilityManaCost" "80 100 120 140" 25 | "AbilityDamage" "120 180 240 300" 26 | 27 | "AbilitySpecial" 28 | { 29 | "01" 30 | { 31 | "var_type" "FIELD_FLOAT" 32 | "delay" "0.35" 33 | } 34 | "02" 35 | { 36 | "var_type" "FIELD_INTEGER" 37 | "radius" "150 175 200 225" 38 | } 39 | "03" 40 | { 41 | "var_type" "FIELD_INTEGER" 42 | "duration" "2" 43 | } 44 | } 45 | } 46 | } -------------------------------------------------------------------------------- /game/SpellLibraryLua/scripts/npc/heroes/lina/fiery_soul.txt: -------------------------------------------------------------------------------- 1 | "" 2 | { 3 | "ability_lina_fiery_soul" 4 | { 5 | "BaseClass" "ability_lua" 6 | "ScriptFile" "heroes/lina/fiery_soul.lua" 7 | "AbilityTextureName" "lina_fiery_soul" 8 | "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_PASSIVE" 9 | "SpellDispellableType" "SPELL_DISPELLABLE_NO" 10 | 11 | // Special 12 | //------------------------------------------------------------------------------------------------------------- 13 | "AbilitySpecial" 14 | { 15 | "01" 16 | { 17 | "var_type" "FIELD_INTEGER" 18 | "fiery_soul_attack_speed_bonus" "40 55 70 85" 19 | "LinkedSpecialBonus" "special_bonus_unique_lina_2" 20 | } 21 | "02" 22 | { 23 | "var_type" "FIELD_FLOAT" 24 | "fiery_soul_move_speed_bonus" "5 6 7 8" 25 | "LinkedSpecialBonus" "special_bonus_unique_lina_2" 26 | "LinkedSpecialBonusField" "value2" 27 | } 28 | "03" 29 | { 30 | "var_type" "FIELD_INTEGER" 31 | "fiery_soul_max_stacks" "3" 32 | } 33 | "04" 34 | { 35 | "var_type" "FIELD_INTEGER" 36 | "fiery_soul_stack_duration" "10" 37 | } 38 | } 39 | "AbilityCastAnimation" "ACT_DOTA_CAST_ABILITY_3" 40 | } 41 | } -------------------------------------------------------------------------------- /game/SpellLibraryLua/scripts/npc/heroes/luna/lucent_beam.txt: -------------------------------------------------------------------------------- 1 | "DOTAAbilities" 2 | { 3 | "ability_lucent_beam" 4 | { 5 | "BaseClass" "ability_lua" 6 | "ScriptFile" "heroes/luna/lucent_beam" 7 | "AbilityTextureName" "luna_lucent_beam" 8 | "FightRecapLevel" "1" 9 | "MaxLevel" "4" 10 | 11 | "AbilityType" "DOTA_ABILITY_TYPE_BASIC" 12 | "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_UNIT_TARGET" 13 | "AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_ENEMY" 14 | "AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" 15 | "AbilityUnitDamageType" "DAMAGE_TYPE_MAGICAL" 16 | "SpellImmunityType" "SPELL_IMMUNITY_ENEMIES_NO" 17 | "SpellDispellableType" "SPELL_DISPELLABLE_YES_STRONG" 18 | 19 | "AbilityCastRange" "800" 20 | "AbilityCastPoint" "0.4" 21 | "AbilityCooldown" "6.0 6.0 6.0 6.0" 22 | "AbilityManaCost" "90 100 110 120" 23 | 24 | "AbilitySpecial" 25 | { 26 | "01" 27 | { 28 | "var_type" "FIELD_FLOAT" 29 | "stun_duration" "0.8" 30 | } 31 | "02" 32 | { 33 | "var_type" "FIELD_INTEGER" 34 | "beam_damage" "75 150 225 300" 35 | } 36 | } 37 | } 38 | } -------------------------------------------------------------------------------- /game/SpellLibraryLua/scripts/npc/heroes/luna/lunar_blessing.txt: -------------------------------------------------------------------------------- 1 | "DOTAAbilities" 2 | { 3 | "ability_lunar_blessing" 4 | { 5 | "BaseClass" "ability_lua" 6 | "ScriptFile" "heroes/luna/lunar_blessing" 7 | "AbilityTextureName" "luna_lunar_blessing" 8 | "FightRecapLevel" "1" 9 | "MaxLevel" "4" 10 | 11 | "AbilityType" "DOTA_ABILITY_TYPE_BASIC" 12 | "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_PASSIVE" 13 | 14 | "AbilityCastRange" "1200" 15 | 16 | "AbilitySpecial" 17 | { 18 | "01" 19 | { 20 | "var_type" "FIELD_INTEGER" 21 | "radius" "1200" 22 | } 23 | "02" 24 | { 25 | "var_type" "FIELD_INTEGER" 26 | "bonus_damage" "5 15 25 35" 27 | } 28 | "03" 29 | { 30 | "var_type" "FIELD_INTEGER" 31 | "bonus_night_vision" "200 400 600 800" 32 | } 33 | } 34 | } 35 | } -------------------------------------------------------------------------------- /game/SpellLibraryLua/scripts/npc/heroes/luna/moon_glaive.txt: -------------------------------------------------------------------------------- 1 | "DOTAAbilities" 2 | { 3 | "ability_moon_glaive" 4 | { 5 | "BaseClass" "ability_lua" 6 | "ScriptFile" "heroes/luna/moon_glaive" 7 | "AbilityTextureName" "luna_moon_glaive" 8 | "FightRecapLevel" "1" 9 | "MaxLevel" "4" 10 | 11 | "AbilityType" "DOTA_ABILITY_TYPE_BASIC" 12 | "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_PASSIVE" 13 | "SpellImmunityType" "SPELL_IMMUNITY_ENEMIES_YES" 14 | 15 | "AbilitySpecial" 16 | { 17 | "01" 18 | { 19 | "var_type" "FIELD_INTEGER" 20 | "range" "500" 21 | } 22 | "02" 23 | { 24 | "var_type" "FIELD_INTEGER" 25 | "bounces" "1 2 3 6" 26 | } 27 | "03" 28 | { 29 | "var_type" "FIELD_INTEGER" 30 | "damage_reduction_percent" "35" 31 | } 32 | } 33 | } 34 | } -------------------------------------------------------------------------------- /game/SpellLibraryLua/scripts/npc/heroes/magnataur/reverse_polarity.txt: -------------------------------------------------------------------------------- 1 | "DOTAAbilities" 2 | { 3 | "ability_reverse_polarity" 4 | { 5 | "BaseClass" "ability_lua" 6 | "ScriptFile" "heroes/magnataur/reverse_polarity" 7 | "AbilityTextureName" "magnataur_reverse_polarity" 8 | "FightRecapLevel" "2" 9 | "MaxLevel" "3" 10 | 11 | "AbilityType" "DOTA_ABILITY_TYPE_ULTIMATE" 12 | "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_NO_TARGET" 13 | "AbilityUnitDamageType" "DAMAGE_TYPE_MAGICAL" 14 | "SpellDispellableType" "SPELL_DISPELLABLE_YES_STRONG" 15 | "SpellImmunityType" "SPELL_IMMUNITY_ENEMIES_YES" 16 | 17 | "AbilityCastRange" "410 410 410" 18 | "AbilityCastPoint" "0.3 0.3 0.3" 19 | "AbilityCooldown" "130" 20 | "AbilityManaCost" "200 250 300" 21 | 22 | "AbilitySpecial" 23 | { 24 | "01" 25 | { 26 | "var_type" "FIELD_INTEGER" 27 | "pull_radius" "410" 28 | } 29 | "02" 30 | { 31 | "var_type" "FIELD_INTEGER" 32 | "polarity_damage" "50 125 200" 33 | } 34 | "03" 35 | { 36 | "var_type" "FIELD_FLOAT" 37 | "hero_stun_duration" "2.75 3.25 3.75" 38 | } 39 | "04" 40 | { 41 | "var_type" "FIELD_FLOAT" 42 | "pull_duration" "0.0 0.0 0.0" 43 | } 44 | } 45 | } 46 | } -------------------------------------------------------------------------------- /game/SpellLibraryLua/scripts/npc/heroes/medusa/mana_shield.txt: -------------------------------------------------------------------------------- 1 | "DOTAAbilities" 2 | { 3 | "ability_mana_shield" 4 | { 5 | "BaseClass" "ability_lua" 6 | "ScriptFile" "heroes/medusa/mana_shield" 7 | "AbilityTextureName" "medusa_mana_shield" 8 | "FightRecapLevel" "1" 9 | "MaxLevel" "4" 10 | 11 | "AbilityType" "DOTA_ABILITY_TYPE_BASIC" 12 | "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_NO_TARGET | DOTA_ABILITY_BEHAVIOR_TOGGLE | DOTA_ABILITY_BEHAVIOR_IMMEDIATE" 13 | "SpellDispellableType" "SPELL_DISPELLABLE_NO" 14 | 15 | "AbilityCastPoint" "0.4 0.4 0.4 0.4" 16 | 17 | "AbilitySpecial" 18 | { 19 | "01" 20 | { 21 | "var_type" "FIELD_FLOAT" 22 | "damage_per_mana" "1.6 1.9 2.2 2.5" 23 | } 24 | "02" 25 | { 26 | "var_type" "FIELD_FLOAT" 27 | "absorption_tooltip" "60" 28 | } 29 | } 30 | } 31 | } -------------------------------------------------------------------------------- /game/SpellLibraryLua/scripts/npc/heroes/medusa/split_shot.txt: -------------------------------------------------------------------------------- 1 | "DOTAAbilities" 2 | { 3 | "ability_split_shot" 4 | { 5 | "BaseClass" "ability_lua" 6 | "ScriptFile" "heroes/medusa/split_shot" 7 | "AbilityTextureName" "medusa_split_shot" 8 | "FightRecapLevel" "1" 9 | "MaxLevel" "4" 10 | 11 | "AbilityType" "DOTA_ABILITY_TYPE_BASIC" 12 | "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_NO_TARGET | DOTA_ABILITY_BEHAVIOR_TOGGLE | DOTA_ABILITY_BEHAVIOR_IMMEDIATE" 13 | "SpellDispellableType" "SPELL_DISPELLABLE_NO" 14 | "SpellImmunityType" "SPELL_IMMUNITY_ENEMIES_YES" 15 | 16 | "AbilityCastPoint" "0.4 0.4 0.4 0.4" 17 | 18 | "AbilitySpecial" 19 | { 20 | "01" 21 | { 22 | "var_type" "FIELD_INTEGER" 23 | "damage_modifier" "-50 -40 -30 -20" 24 | } 25 | "02" 26 | { 27 | "var_type" "FIELD_INTEGER" 28 | "damage_modifier_tooltip" "50 60 70 80" 29 | } 30 | "03" 31 | { 32 | "var_type" "FIELD_INTEGER" 33 | "arrow_count" "4" 34 | "LinkedSpecialBonus" "special_bonus_unique_medusa_2" 35 | } 36 | "04" 37 | { 38 | "var_type" "FIELD_INTEGER" 39 | "split_shot_bonus_range" "150" 40 | } 41 | } 42 | } 43 | } -------------------------------------------------------------------------------- /game/SpellLibraryLua/scripts/npc/heroes/naga_siren/ensnare.txt: -------------------------------------------------------------------------------- 1 | "DOTAAbilities" 2 | { 3 | "ability_ensnare" 4 | { 5 | "BaseClass" "ability_lua" 6 | "ScriptFile" "heroes/naga_siren/ensnare" 7 | "AbilityTextureName" "naga_siren_ensnare" 8 | "FightRecapLevel" "1" 9 | "MaxLevel" "4" 10 | 11 | "AbilityType" "DOTA_ABILITY_TYPE_BASIC" 12 | "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_UNIT_TARGET" 13 | "AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_ENEMY" 14 | "AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" 15 | "SpellDispellableType" "SPELL_DISPELLABLE_YES" 16 | "SpellImmunityType" "SPELL_IMMUNITY_ENEMIES_NO" 17 | 18 | "AbilityCastRange" "650 650 650 650" 19 | "AbilityCastPoint" "0.6" 20 | "AbilityCooldown" "14" 21 | "AbilityManaCost" "70 80 90 100" 22 | 23 | "AbilitySpecial" 24 | { 25 | "01" 26 | { 27 | "var_type" "FIELD_FLOAT" 28 | "duration" "2.0 3.0 4.0 5.0" 29 | } 30 | "02" 31 | { 32 | "var_type" "FIELD_INTEGER" 33 | "net_speed" "1500 1500 1500 1500" 34 | } 35 | "03" 36 | { 37 | "var_type" "FIELD_INTEGER" 38 | "fake_ensnare_distance" "900 900 900 900" 39 | } 40 | } 41 | } 42 | } -------------------------------------------------------------------------------- /game/SpellLibraryLua/scripts/npc/heroes/naga_siren/mirror_image.txt: -------------------------------------------------------------------------------- 1 | "DOTAAbilities" 2 | { 3 | "ability_mirror_image" 4 | { 5 | "BaseClass" "ability_lua" 6 | "ScriptFile" "heroes/naga_siren/mirror_image" 7 | "AbilityTextureName" "naga_siren_mirror_image" 8 | "FightRecapLevel" "1" 9 | "MaxLevel" "4" 10 | 11 | "AbilityType" "DOTA_ABILITY_TYPE_BASIC" 12 | "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_NO_TARGET" 13 | 14 | "AbilityCastPoint" "0.65" 15 | "AbilityCooldown" "45 40 35 30" 16 | "AbilityManaCost" "70 85 100 115" 17 | 18 | "AbilitySpecial" 19 | { 20 | "01" 21 | { 22 | "var_type" "FIELD_FLOAT" 23 | "illusion_duration" "26" 24 | } 25 | "02" 26 | { 27 | "var_type" "FIELD_INTEGER" 28 | "outgoing_damage" "-75 -70 -65 -60" 29 | } 30 | "03" 31 | { 32 | "var_type" "FIELD_INTEGER" 33 | "outgoing_damage_tooltip" "25 30 35 40" 34 | } 35 | "04" 36 | { 37 | "var_type" "FIELD_INTEGER" 38 | "incoming_damage" "250" 39 | } 40 | "05" 41 | { 42 | "var_type" "FIELD_INTEGER" 43 | "tooltip_incoming_damage_total_pct" "350" 44 | } 45 | "06" 46 | { 47 | "var_type" "FIELD_INTEGER" 48 | "images_count" "3 3 3 3" 49 | } 50 | "07" 51 | { 52 | "var_type" "FIELD_FLOAT" 53 | "invuln_duration" "0.3" 54 | } 55 | } 56 | } 57 | } -------------------------------------------------------------------------------- /game/SpellLibraryLua/scripts/npc/heroes/naga_siren/rip_tide.txt: -------------------------------------------------------------------------------- 1 | "DOTAAbilities" 2 | { 3 | "ability_rip_tide" 4 | { 5 | "BaseClass" "ability_lua" 6 | "ScriptFile" "heroes/naga_siren/rip_tide" 7 | "AbilityTextureName" "naga_siren_rip_tide" 8 | "FightRecapLevel" "1" 9 | "MaxLevel" "4" 10 | 11 | "AbilityType" "DOTA_ABILITY_TYPE_BASIC" 12 | "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_PASSIVE" 13 | "AbilityUnitDamageType" "DAMAGE_TYPE_MAGICAL" 14 | "SpellDispellableType" "SPELL_DISPELLABLE_YES" 15 | "SpellImmunityType" "SPELL_IMMUNITY_ENEMIES_NO" 16 | 17 | "AbilityCastPoint" "0 0 0 0" 18 | 19 | "AbilitySpecial" 20 | { 21 | "01" 22 | { 23 | "var_type" "FIELD_INTEGER" 24 | "chance" "17" 25 | } 26 | "02" 27 | { 28 | "var_type" "FIELD_INTEGER" 29 | "armor_reduction" "-2 -4 -6 -8" 30 | } 31 | "03" 32 | { 33 | "var_type" "FIELD_INTEGER" 34 | "damage" "30 40 50 60" 35 | } 36 | "04" 37 | { 38 | "var_type" "FIELD_INTEGER" 39 | "radius" "300" 40 | } 41 | "05" 42 | { 43 | "var_type" "FIELD_FLOAT" 44 | "duration" "4.0" 45 | } 46 | } 47 | } 48 | } -------------------------------------------------------------------------------- /game/SpellLibraryLua/scripts/npc/heroes/naga_siren/song_of_the_siren.txt: -------------------------------------------------------------------------------- 1 | "DOTAAbilities" 2 | { 3 | "ability_song_of_the_siren" 4 | { 5 | "BaseClass" "ability_lua" 6 | "ScriptFile" "heroes/naga_siren/song_of_the_siren" 7 | "AbilityTextureName" "naga_siren_song_of_the_siren" 8 | "FightRecapLevel" "2" 9 | "MaxLevel" "3" 10 | "HasScepterUpgrade" "1" 11 | 12 | "AbilityType" "DOTA_ABILITY_TYPE_ULTIMATE" 13 | "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_NO_TARGET" 14 | "SpellDispellableType" "SPELL_DISPELLABLE_NO" 15 | "SpellImmunityType" "SPELL_IMMUNITY_ENEMIES_NO" 16 | 17 | "AbilityCastPoint" "1.0" 18 | "AbilityCastRange" "1000 1200 1400" 19 | "AbilityCooldown" "160.0 120.0 80.0" 20 | "AbilityManaCost" "150 175 200" 21 | 22 | "AbilitySpecial" 23 | { 24 | "01" 25 | { 26 | "var_type" "FIELD_INTEGER" 27 | "radius" "1000 1200 1400" 28 | } 29 | "02" 30 | { 31 | "var_type" "FIELD_FLOAT" 32 | "duration" "7.0 7.0 7.0" 33 | } 34 | "03" 35 | { 36 | "var_type" "FIELD_FLOAT" 37 | "animation_rate" "0.55 0.55 0.55" 38 | } 39 | "04" 40 | { 41 | "var_type" "FIELD_FLOAT" 42 | "regen_rate" "10.0" 43 | } 44 | "05" 45 | { 46 | "var_type" "FIELD_FLOAT" 47 | "regen_rate_self" "10.0" 48 | } 49 | "06" 50 | { 51 | "var_type" "FIELD_INTEGER" 52 | "regen_rate_tooltip_scepter" "10" 53 | "RequiresScepter" "1" 54 | } 55 | } 56 | } 57 | } -------------------------------------------------------------------------------- /game/SpellLibraryLua/scripts/npc/heroes/naga_siren/song_of_the_siren_cancel.txt: -------------------------------------------------------------------------------- 1 | "DOTAAbilities" 2 | { 3 | "ability_song_of_the_siren_cancel" 4 | { 5 | "BaseClass" "ability_lua" 6 | "ScriptFile" "heroes/naga_siren/song_of_the_siren_cancel" 7 | "AbilityTextureName" "naga_siren_song_of_the_siren_cancel" 8 | "MaxLevel" "1" 9 | 10 | "AbilityType" "DOTA_ABILITY_TYPE_ULTIMATE" 11 | "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_HIDDEN | DOTA_ABILITY_BEHAVIOR_NO_TARGET" 12 | 13 | "AbilityCastPoint" "0" 14 | "AbilityCooldown" "1.0 1.0 1.0" 15 | } 16 | } -------------------------------------------------------------------------------- /game/SpellLibraryLua/scripts/npc/heroes/nevermore/dark_lord.txt: -------------------------------------------------------------------------------- 1 | "DOTAAbilities" 2 | { 3 | "ability_dark_lord" 4 | { 5 | "BaseClass" "ability_lua" 6 | "ScriptFile" "heroes/nevermore/dark_lord" 7 | "AbilityTextureName" "nevermore_dark_lord" 8 | "FightRecapLevel" "1" 9 | "MaxLevel" "4" 10 | 11 | "AbilityType" "DOTA_ABILITY_TYPE_BASIC" 12 | "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_PASSIVE | DOTA_ABILITY_BEHAVIOR_AURA" 13 | "AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_ENEMY" 14 | "SpellImmunityType" "SPELL_IMMUNITY_ENEMIES_YES" 15 | 16 | "AbilityCastRange" "900" 17 | 18 | "AbilitySpecial" 19 | { 20 | "01" 21 | { 22 | "var_type" "FIELD_INTEGER" 23 | "presence_armor_reduction" "-3 -4 -5 -6" 24 | } 25 | "02" 26 | { 27 | "var_type" "FIELD_INTEGER" 28 | "presence_radius" "900" 29 | } 30 | } 31 | } 32 | } -------------------------------------------------------------------------------- /game/SpellLibraryLua/scripts/npc/heroes/nevermore/necromastery.txt: -------------------------------------------------------------------------------- 1 | "DOTAAbilities" 2 | { 3 | "ability_necromastery" 4 | { 5 | "BaseClass" "ability_lua" 6 | "ScriptFile" "heroes/nevermore/necromastery" 7 | "AbilityTextureName" "nevermore_necromastery" 8 | "FightRecapLevel" "1" 9 | "MaxLevel" "4" 10 | 11 | "AbilityType" "DOTA_ABILITY_TYPE_BASIC" 12 | "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_PASSIVE" 13 | "HasScepterUpgrade" "1" 14 | 15 | "AbilitySpecial" 16 | { 17 | "01" 18 | { 19 | "var_type" "FIELD_INTEGER" 20 | "necromastery_damage_per_soul" "1 2 3 4" 21 | "CalculateSpellDamageTooltip" "0" 22 | "LinkedSpecialBonus" "special_bonus_unique_nevermore_1" 23 | } 24 | "02" 25 | { 26 | "var_type" "FIELD_INTEGER" 27 | "necromastery_max_souls" "11 14 17 20" 28 | "LinkedSpecialBonus" "special_bonus_unique_nevermore_4" 29 | } 30 | "03" 31 | { 32 | "var_type" "FIELD_FLOAT" 33 | "soul_release" "0.5" 34 | } 35 | "04" 36 | { 37 | "var_type" "FIELD_INTEGER" 38 | "necromastery_max_souls_scepter" "25" 39 | "RequiresScepter" "1" 40 | } 41 | } 42 | } 43 | } -------------------------------------------------------------------------------- /game/SpellLibraryLua/scripts/npc/heroes/nevermore/shadowraze1.txt: -------------------------------------------------------------------------------- 1 | "" 2 | { 3 | "ability_shadowraze1" 4 | { 5 | "BaseClass" "ability_lua" 6 | "ScriptFile" "heroes/nevermore/shadowraze" 7 | "AbilityTextureName" "nevermore_shadowraze1" 8 | "FightRecapLevel" "1" 9 | "MaxLevel" "4" 10 | "LinkedAbility" "ability_shadowraze2" 11 | 12 | "AbilityType" "DOTA_ABILITY_TYPE_BASIC" 13 | "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_NO_TARGET | DOTA_ABILITY_BEHAVIOR_IGNORE_BACKSWING" 14 | "AbilityUnitDamageType" "DAMAGE_TYPE_MAGICAL" 15 | "SpellImmunityType" "SPELL_IMMUNITY_ENEMIES_NO" 16 | 17 | "AbilityCastRange" "200" 18 | "AbilityCooldown" "10" 19 | "AbilityManaCost" "90" 20 | "AbilityCastAnimation" "ACT_DOTA_RAZE_1" 21 | "AbilityCastGestureSlot" "DEFAULT" 22 | "AbilityCastPoint" "0.55" 23 | 24 | "AbilitySpecial" 25 | { 26 | "01" 27 | { 28 | "var_type" "FIELD_INTEGER" 29 | "shadowraze_damage" "90 160 230 300" 30 | } 31 | "02" 32 | { 33 | "var_type" "FIELD_INTEGER" 34 | "shadowraze_radius" "250" 35 | } 36 | "03" 37 | { 38 | "var_type" "FIELD_INTEGER" 39 | "shadowraze_range" "200" 40 | } 41 | "04" 42 | { 43 | "var_type" "FIELD_INTEGER" 44 | "shadowraze_cooldown" "3" 45 | } 46 | "05" 47 | { 48 | "var_type" "FIELD_INTEGER" 49 | "stack_bonus_damage" "80" 50 | } 51 | "06" 52 | { 53 | "var_type" "FIELD_FLOAT" 54 | "duration" "8" 55 | } 56 | } 57 | } 58 | } -------------------------------------------------------------------------------- /game/SpellLibraryLua/scripts/npc/heroes/nevermore/shadowraze2.txt: -------------------------------------------------------------------------------- 1 | "" 2 | { 3 | "ability_shadowraze2" 4 | { 5 | "BaseClass" "ability_lua" 6 | "ScriptFile" "heroes/nevermore/shadowraze" 7 | "AbilityTextureName" "nevermore_shadowraze2" 8 | "FightRecapLevel" "1" 9 | "MaxLevel" "4" 10 | "LinkedAbility" "ability_shadowraze3" 11 | 12 | "AbilityType" "DOTA_ABILITY_TYPE_BASIC" 13 | "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_NO_TARGET | DOTA_ABILITY_BEHAVIOR_IGNORE_BACKSWING" 14 | "AbilityUnitDamageType" "DAMAGE_TYPE_MAGICAL" 15 | "SpellImmunityType" "SPELL_IMMUNITY_ENEMIES_NO" 16 | 17 | "AbilityCastRange" "450" 18 | "AbilityCooldown" "10" 19 | "AbilityManaCost" "90" 20 | "AbilityCastAnimation" "ACT_DOTA_RAZE_2" 21 | "AbilityCastGestureSlot" "DEFAULT" 22 | "AbilityCastPoint" "0.55" 23 | 24 | "AbilitySpecial" 25 | { 26 | "01" 27 | { 28 | "var_type" "FIELD_INTEGER" 29 | "shadowraze_damage" "90 160 230 300" 30 | } 31 | "02" 32 | { 33 | "var_type" "FIELD_INTEGER" 34 | "shadowraze_radius" "250" 35 | } 36 | "03" 37 | { 38 | "var_type" "FIELD_INTEGER" 39 | "shadowraze_range" "450" 40 | } 41 | "04" 42 | { 43 | "var_type" "FIELD_INTEGER" 44 | "shadowraze_cooldown" "3" 45 | } 46 | "05" 47 | { 48 | "var_type" "FIELD_INTEGER" 49 | "stack_bonus_damage" "80" 50 | } 51 | "06" 52 | { 53 | "var_type" "FIELD_FLOAT" 54 | "duration" "8" 55 | } 56 | } 57 | } 58 | } -------------------------------------------------------------------------------- /game/SpellLibraryLua/scripts/npc/heroes/nevermore/shadowraze3.txt: -------------------------------------------------------------------------------- 1 | "" 2 | { 3 | "ability_shadowraze3" 4 | { 5 | "BaseClass" "ability_lua" 6 | "ScriptFile" "heroes/nevermore/shadowraze" 7 | "AbilityTextureName" "nevermore_shadowraze3" 8 | "FightRecapLevel" "1" 9 | "MaxLevel" "4" 10 | "LinkedAbility" "ability_shadowraze1" 11 | 12 | "AbilityType" "DOTA_ABILITY_TYPE_BASIC" 13 | "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_NO_TARGET | DOTA_ABILITY_BEHAVIOR_IGNORE_BACKSWING" 14 | "AbilityUnitDamageType" "DAMAGE_TYPE_MAGICAL" 15 | "SpellImmunityType" "SPELL_IMMUNITY_ENEMIES_NO" 16 | 17 | "AbilityCastRange" "700" 18 | "AbilityCooldown" "10" 19 | "AbilityManaCost" "90" 20 | "AbilityCastAnimation" "ACT_DOTA_RAZE_3" 21 | "AbilityCastGestureSlot" "DEFAULT" 22 | "AbilityCastPoint" "0.55" 23 | 24 | "AbilitySpecial" 25 | { 26 | "01" 27 | { 28 | "var_type" "FIELD_INTEGER" 29 | "shadowraze_damage" "90 160 230 300" 30 | } 31 | "02" 32 | { 33 | "var_type" "FIELD_INTEGER" 34 | "shadowraze_radius" "250" 35 | } 36 | "03" 37 | { 38 | "var_type" "FIELD_INTEGER" 39 | "shadowraze_range" "700" 40 | } 41 | "04" 42 | { 43 | "var_type" "FIELD_INTEGER" 44 | "shadowraze_cooldown" "3" 45 | } 46 | "05" 47 | { 48 | "var_type" "FIELD_INTEGER" 49 | "stack_bonus_damage" "80" 50 | } 51 | "06" 52 | { 53 | "var_type" "FIELD_FLOAT" 54 | "duration" "8" 55 | } 56 | } 57 | } 58 | } -------------------------------------------------------------------------------- /game/SpellLibraryLua/scripts/npc/heroes/obsidian_destroyer/arcane_orb.txt: -------------------------------------------------------------------------------- 1 | "DOTAAbilities" 2 | { 3 | "ability_arcane_orb" 4 | { 5 | "BaseClass" "ability_lua" 6 | "ScriptFile" "heroes/obsidian_destroyer/arcane_orb" 7 | "AbilityTextureName" "obsidian_destroyer_arcane_orb" 8 | "FightRecapLevel" "1" 9 | "MaxLevel" "4" 10 | 11 | "AbilityType" "DOTA_ABILITY_TYPE_BASIC" 12 | "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_UNIT_TARGET | DOTA_ABILITY_BEHAVIOR_AUTOCAST | DOTA_ABILITY_BEHAVIOR_ATTACK" 13 | "AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_ENEMY" 14 | "AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" 15 | "AbilityUnitDamageType" "DAMAGE_TYPE_PURE" 16 | "SpellDispellableType" "SPELL_DISPELLABLE_NO" 17 | "SpellImmunityType" "SPELL_IMMUNITY_ENEMIES_NO" 18 | 19 | "AbilityCastRange" "450" 20 | 21 | "AbilityManaCost" "110 140 170 200" 22 | "AbilityCooldown" "0" 23 | 24 | "AbilitySpecial" 25 | { 26 | "01" 27 | { 28 | "var_type" "FIELD_FLOAT" 29 | "mana_pool_damage_pct" "6 7 8 9" 30 | } 31 | "02" 32 | { 33 | "var_type" "FIELD_INTEGER" 34 | "int_steal" "1 2 3 4" 35 | } 36 | "03" 37 | { 38 | "var_type" "FIELD_FLOAT" 39 | "int_steal_duration" "80" 40 | } 41 | "04" 42 | { 43 | "var_type" "FIELD_INTEGER" 44 | "radius" "175" 45 | } 46 | } 47 | } 48 | } -------------------------------------------------------------------------------- /game/SpellLibraryLua/scripts/npc/heroes/obsidian_destroyer/equilibrium.txt: -------------------------------------------------------------------------------- 1 | "DOTAAbilities" 2 | { 3 | "ability_equilibrium" 4 | { 5 | "BaseClass" "ability_lua" 6 | "ScriptFile" "heroes/obsidian_destroyer/equilibrium" 7 | "AbilityTextureName" "obsidian_destroyer_equilibrium" 8 | "FightRecapLevel" "1" 9 | "MaxLevel" "4" 10 | 11 | "AbilityType" "DOTA_ABILITY_TYPE_BASIC" 12 | "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_NO_TARGET | DOTA_ABILITY_BEHAVIOR_IMMEDIATE" 13 | "SpellDispellableType" "SPELL_DISPELLABLE_YES" 14 | "SpellImmunityType" "SPELL_IMMUNITY_ENEMIES_NO" 15 | 16 | "AbilityCooldown" "18" 17 | "AbilityManaCost" "50" 18 | 19 | "AbilitySpecial" 20 | { 21 | "01" 22 | { 23 | "var_type" "FIELD_INTEGER" 24 | "mana_steal" "11 18 25 32" 25 | } 26 | "02" 27 | { 28 | "var_type" "FIELD_INTEGER" 29 | "mana_steal_active" "33 54 75 96" 30 | } 31 | "03" 32 | { 33 | "var_type" "FIELD_INTEGER" 34 | "movement_slow" "12 22 32 42" 35 | } 36 | "04" 37 | { 38 | "var_type" "FIELD_FLOAT" 39 | "slow_duration" "1.75" 40 | } 41 | "05" 42 | { 43 | "var_type" "FIELD_FLOAT" 44 | "duration" "7" 45 | } 46 | } 47 | } 48 | } -------------------------------------------------------------------------------- /game/SpellLibraryLua/scripts/npc/heroes/obsidian_destroyer/sanity_eclipse.txt: -------------------------------------------------------------------------------- 1 | "DOTAAbilities" 2 | { 3 | "ability_sanity_eclipse" 4 | { 5 | "BaseClass" "ability_lua" 6 | "ScriptFile" "heroes/obsidian_destroyer/sanity_eclipse" 7 | "AbilityTextureName" "obsidian_destroyer_sanity_eclipse" 8 | "FightRecapLevel" "2" 9 | "MaxLevel" "3" 10 | 11 | "AbilityType" "DOTA_ABILITY_TYPE_ULTIMATE" 12 | "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_POINT | DOTA_ABILITY_BEHAVIOR_AOE" 13 | "AbilityUnitDamageType" "DAMAGE_TYPE_MAGICAL" 14 | "SpellImmunityType" "SPELL_IMMUNITY_ENEMIES_NO" 15 | 16 | "AbilityCastRange" "700" 17 | "AbilityCastPoint" "0.25 0.25 0.25" 18 | "AbilityCooldown" "160" 19 | "AbilityManaCost" "175 250 325" 20 | 21 | "AbilitySpecial" 22 | { 23 | "01" 24 | { 25 | "var_type" "FIELD_INTEGER" 26 | "damage_multiplier" "8 9 10" 27 | } 28 | "02" 29 | { 30 | "var_type" "FIELD_INTEGER" 31 | "mana_drain" "40" 32 | } 33 | "03" 34 | { 35 | "var_type" "FIELD_INTEGER" 36 | "radius" "375 475 575" 37 | } 38 | "04" 39 | { 40 | "var_type" "FIELD_INTEGER" 41 | "cast_range" "700" 42 | } 43 | } 44 | } 45 | } -------------------------------------------------------------------------------- /game/SpellLibraryLua/scripts/npc/heroes/ogre_magi/bloodlust.txt: -------------------------------------------------------------------------------- 1 | "DOTAAbilities" 2 | { 3 | "ability_bloodlust" 4 | { 5 | "BaseClass" "ability_lua" 6 | "ScriptFile" "heroes/ogre_magi/bloodlust" 7 | "AbilityTextureName" "ogre_magi_bloodlust" 8 | "FightRecapLevel" "1" 9 | "MaxLevel" "4" 10 | 11 | "AbilityType" "DOTA_ABILITY_TYPE_BASIC" 12 | "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_UNIT_TARGET | DOTA_ABILITY_BEHAVIOR_AUTOCAST | DOTA_ABILITY_BEHAVIOR_DONT_RESUME_ATTACK" 13 | "AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_FRIENDLY" 14 | "AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC | DOTA_UNIT_TARGET_BUILDING" 15 | "AbilityUnitTargetFlags" "DOTA_UNIT_TARGET_FLAG_INVULNERABLE" 16 | "SpellDispellableType" "SPELL_DISPELLABLE_YES" 17 | "SpellImmunityType" "SPELL_IMMUNITY_ALLIES_YES" 18 | 19 | "AbilityCastRange" "600" 20 | "AbilityCastPoint" "0.45" 21 | "AbilityCooldown" "20 18 16 14" 22 | "AbilityManaCost" "65" 23 | 24 | "AbilitySpecial" 25 | { 26 | "01" 27 | { 28 | "var_type" "FIELD_FLOAT" 29 | "modelscale" "25" 30 | } 31 | "02" 32 | { 33 | "var_type" "FIELD_INTEGER" 34 | "bonus_movement_speed" "8 10 12 14" 35 | } 36 | "03" 37 | { 38 | "var_type" "FIELD_INTEGER" 39 | "bonus_attack_speed" "30 40 50 60" 40 | } 41 | "04" 42 | { 43 | "var_type" "FIELD_INTEGER" 44 | "self_bonus" "30 50 70 90" 45 | } 46 | "05" 47 | { 48 | "var_type" "FIELD_FLOAT" 49 | "duration" "30" 50 | } 51 | } 52 | } 53 | } -------------------------------------------------------------------------------- /game/SpellLibraryLua/scripts/npc/heroes/ogre_magi/fireblast.txt: -------------------------------------------------------------------------------- 1 | "DOTAAbilities" 2 | { 3 | "ability_fireblast" 4 | { 5 | "BaseClass" "ability_lua" 6 | "ScriptFile" "heroes/ogre_magi/fireblast" 7 | "AbilityTextureName" "ogre_magi_fireblast" 8 | "FightRecapLevel" "1" 9 | "MaxLevel" "4" 10 | 11 | "AbilityType" "DOTA_ABILITY_TYPE_BASIC" 12 | "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_UNIT_TARGET" 13 | "AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_ENEMY" 14 | "AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" 15 | "AbilityUnitDamageType" "DAMAGE_TYPE_MAGICAL" 16 | "SpellDispellableType" "SPELL_DISPELLABLE_YES_STRONG" 17 | "SpellImmunityType" "SPELL_IMMUNITY_ENEMIES_NO" 18 | 19 | "AbilityCastRange" "475" 20 | "AbilityCastPoint" "0.45" 21 | "AbilityCooldown" "11 10 9 8" 22 | "AbilityManaCost" "75 85 95 105" 23 | 24 | "AbilitySpecial" 25 | { 26 | "01" 27 | { 28 | "var_type" "FIELD_FLOAT" 29 | "stun_duration" "1.5" 30 | } 31 | 32 | "02" 33 | { 34 | "var_type" "FIELD_FLOAT" 35 | "multicast_delay" "0.5" 36 | } 37 | "03" 38 | { 39 | "var_type" "FIELD_INTEGER" 40 | "fireblast_damage" "60 120 180 240" 41 | } 42 | } 43 | } 44 | } -------------------------------------------------------------------------------- /game/SpellLibraryLua/scripts/npc/heroes/ogre_magi/ignite.txt: -------------------------------------------------------------------------------- 1 | "DOTAAbilities" 2 | { 3 | "ability_ignite" 4 | { 5 | "BaseClass" "ability_lua" 6 | "ScriptFile" "heroes/ogre_magi/ignite" 7 | "AbilityTextureName" "ogre_magi_ignite" 8 | "FightRecapLevel" "1" 9 | "MaxLevel" "4" 10 | 11 | "AbilityType" "DOTA_ABILITY_TYPE_BASIC" 12 | "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_UNIT_TARGET | DOTA_ABILITY_BEHAVIOR_AOE" 13 | "AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_ENEMY" 14 | "AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" 15 | "AbilityUnitDamageType" "DAMAGE_TYPE_MAGICAL" 16 | "SpellDispellableType" "SPELL_DISPELLABLE_YES" 17 | "SpellImmunityType" "SPELL_IMMUNITY_ENEMIES_NO" 18 | 19 | "AbilityCastRange" "700 800 900 1000" 20 | "AbilityCastPoint" "0.45" 21 | "AbilityCooldown" "15" 22 | "AbilityManaCost" "90" 23 | 24 | "AbilitySpecial" 25 | { 26 | "01" 27 | { 28 | "var_type" "FIELD_FLOAT" 29 | "duration" "5 6 7 8" 30 | } 31 | 32 | "02" 33 | { 34 | "var_type" "FIELD_INTEGER" 35 | "burn_damage" "26 34 42 50" 36 | } 37 | 38 | "03" 39 | { 40 | "var_type" "FIELD_INTEGER" 41 | "slow_movement_speed_pct" "-20 -22 -24 -26" 42 | } 43 | 44 | "04" 45 | { 46 | "var_type" "FIELD_INTEGER" 47 | "projectile_speed" "1000" 48 | } 49 | "05" 50 | { 51 | "var_type" "FIELD_FLOAT" 52 | "multicast_delay" "0.5" 53 | } 54 | } 55 | } 56 | } -------------------------------------------------------------------------------- /game/SpellLibraryLua/scripts/npc/heroes/ogre_magi/multicast.txt: -------------------------------------------------------------------------------- 1 | "DOTAAbilities" 2 | { 3 | "ability_multicast" 4 | { 5 | "BaseClass" "ability_lua" 6 | "ScriptFile" "heroes/ogre_magi/multicast" 7 | "AbilityTextureName" "ogre_magi_multicast" 8 | "FightRecapLevel" "2" 9 | "MaxLevel" "3" 10 | 11 | "AbilityType" "DOTA_ABILITY_TYPE_ULTIMATE" 12 | "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_PASSIVE" 13 | 14 | "AbilitySpecial" 15 | { 16 | "01" 17 | { 18 | "var_type" "FIELD_FLOAT" 19 | "multicast_2_times" "0.75 0.75 0.75" 20 | } 21 | 22 | "02" 23 | { 24 | "var_type" "FIELD_FLOAT" 25 | "multicast_3_times" "0 0.3 0.3" 26 | } 27 | "03" 28 | { 29 | "var_type" "FIELD_FLOAT" 30 | "multicast_4_times" "0 0 0.15" 31 | } 32 | "04" 33 | { 34 | "var_type" "FIELD_FLOAT" 35 | "bloodlust_aoe" "575" 36 | } 37 | "05" 38 | { 39 | "var_type" "FIELD_FLOAT" 40 | "multicast_2_times_tooltip" "75" 41 | } 42 | "06" 43 | { 44 | "var_type" "FIELD_FLOAT" 45 | "multicast_3_times_tooltip" "0 30 30" 46 | } 47 | "07" 48 | { 49 | "var_type" "FIELD_FLOAT" 50 | "multicast_4_times_tooltip" "0 0 15" 51 | } 52 | } 53 | } 54 | } -------------------------------------------------------------------------------- /game/SpellLibraryLua/scripts/npc/heroes/ogre_magi/unrefined_fireblast.txt: -------------------------------------------------------------------------------- 1 | "DOTAAbilities" 2 | { 3 | "ability_unrefined_fireblast" 4 | { 5 | "BaseClass" "ability_lua" 6 | "ScriptFile" "heroes/ogre_magi/unrefined_fireblast" 7 | "AbilityTextureName" "ogre_magi_unrefined_fireblast" 8 | "FightRecapLevel" "1" 9 | "MaxLevel" "1" 10 | "IsGrantedByScepter" "1" 11 | 12 | "HasScepterUpgrade" "1" 13 | 14 | "AbilityType" "DOTA_ABILITY_TYPE_BASIC" 15 | "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_UNIT_TARGET" 16 | "AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_ENEMY" 17 | "AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" 18 | "AbilityUnitDamageType" "DAMAGE_TYPE_MAGICAL" 19 | "SpellDispellableType" "SPELL_DISPELLABLE_YES_STRONG" 20 | "SpellImmunityType" "SPELL_IMMUNITY_ENEMIES_NO" 21 | 22 | "AbilityCastRange" "475" 23 | "AbilityCastPoint" "0.45" 24 | "AbilityCooldown" "6" 25 | "AbilityManaCost" "400" 26 | 27 | "AbilitySpecial" 28 | { 29 | "01" 30 | { 31 | "var_type" "FIELD_FLOAT" 32 | "stun_duration" "1.5" 33 | } 34 | "02" 35 | { 36 | "var_type" "FIELD_FLOAT" 37 | "multicast_delay" "0.5" 38 | } 39 | "03" 40 | { 41 | "var_type" "FIELD_FLOAT" 42 | "scepter_mana" "0.6" 43 | } 44 | "04" 45 | { 46 | "var_type" "FIELD_INTEGER" 47 | "fireblast_damage" "275" 48 | } 49 | } 50 | } 51 | } -------------------------------------------------------------------------------- /game/SpellLibraryLua/scripts/npc/heroes/omniknight/degen_aura.txt: -------------------------------------------------------------------------------- 1 | "" 2 | { 3 | "ability_omniknight_degen_aura" 4 | { 5 | "BaseClass" "ability_lua" 6 | "ScriptFile" "heroes/omniknight/degen_aura.lua" 7 | "AbilityTextureName" "omniknight_degen_aura" 8 | "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_PASSIVE | DOTA_ABILITY_BEHAVIOR_AURA" 9 | "AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_ENEMY" 10 | "SpellImmunityType" "SPELL_IMMUNITY_ENEMIES_NO" 11 | 12 | // Casting 13 | //------------------------------------------------------------------------------------------------------------- 14 | "AbilityCastRange" "375" 15 | 16 | // Special 17 | //------------------------------------------------------------------------------------------------------------- 18 | "AbilitySpecial" 19 | { 20 | "01" 21 | { 22 | "var_type" "FIELD_INTEGER" 23 | "speed_bonus" "10 18 26 34" 24 | "LinkedSpecialBonus" "special_bonus_unique_omniknight_2" 25 | } 26 | "02" 27 | { 28 | "var_type" "FIELD_INTEGER" 29 | "radius" "375" 30 | } 31 | } 32 | "AbilityCastAnimation" "ACT_DOTA_CAST_ABILITY_3" 33 | } 34 | } -------------------------------------------------------------------------------- /game/SpellLibraryLua/scripts/npc/heroes/phantom_assassin/coup_de_grace.txt: -------------------------------------------------------------------------------- 1 | "" 2 | { 3 | "ability_phantom_assassin_coup_de_grace" 4 | { 5 | "BaseClass" "ability_lua" 6 | "ScriptFile" "heroes/phantom_assassin/coup_de_grace.lua" 7 | "AbilityTextureName" "phantom_assassin_coup_de_grace" 8 | "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_PASSIVE" 9 | "AbilityType" "DOTA_ABILITY_TYPE_ULTIMATE" 10 | "SpellImmunityType" "SPELL_IMMUNITY_ENEMIES_YES" 11 | 12 | "AbilityCastAnimation" "ACT_DOTA_CAST_ABILITY_4" 13 | 14 | // Special 15 | //------------------------------------------------------------------------------------------------------------- 16 | "AbilitySpecial" 17 | { 18 | "01" 19 | { 20 | "var_type" "FIELD_INTEGER" 21 | "crit_chance" "15" 22 | "LinkedSpecialBonus" "special_bonus_unique_phantom_assassin_2" 23 | } 24 | "02" 25 | { 26 | "var_type" "FIELD_INTEGER" 27 | "crit_bonus" "200 325 450" 28 | "LinkedSpecialBonus" "special_bonus_unique_phantom_assassin_4" 29 | } 30 | } 31 | } 32 | } -------------------------------------------------------------------------------- /game/SpellLibraryLua/scripts/npc/heroes/puck/dream_coil.txt: -------------------------------------------------------------------------------- 1 | "" 2 | { 3 | "ability_dream_coil" 4 | { 5 | "BaseClass" "ability_lua" 6 | "ScriptFile" "heroes/puck/dream_coil" 7 | "AbilityTextureName" "puck_dream_coil" 8 | "FightRecapLevel" "2" 9 | "MaxLevel" "3" 10 | "HasScepterUpgrade" "1" 11 | 12 | "AbilityType" "DOTA_ABILITY_TYPE_ULTIMATE" 13 | "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_AOE | DOTA_ABILITY_BEHAVIOR_POINT" 14 | "AbilityUnitDamageType" "DAMAGE_TYPE_MAGICAL" 15 | "SpellDispellableType" "SPELL_DISPELLABLE_NO" 16 | "SpellImmunityType" "SPELL_IMMUNITY_ENEMIES_NO" 17 | 18 | "AbilityCastRange" "750" 19 | "AbilityCastPoint" "0.1" 20 | "AbilityCooldown" "70 65 60" 21 | "AbilityManaCost" "100 150 200" 22 | 23 | "AbilitySpecial" 24 | { 25 | "01" 26 | { 27 | "var_type" "FIELD_FLOAT" 28 | "coil_duration" "6.0 6.0 6.0" 29 | } 30 | "02" 31 | { 32 | "var_type" "FIELD_INTEGER" 33 | "coil_break_radius" "600 600 600" 34 | } 35 | "03" 36 | { 37 | "var_type" "FIELD_FLOAT" 38 | "stun_duration" "0.5" 39 | } 40 | "04" 41 | { 42 | "var_type" "FIELD_FLOAT" 43 | "coil_stun_duration" "1.5 2.25 3.0" 44 | } 45 | "05" 46 | { 47 | "var_type" "FIELD_INTEGER" 48 | "coil_break_damage" "300 400 500" 49 | } 50 | "06" 51 | { 52 | "var_type" "FIELD_INTEGER" 53 | "coil_radius" "375 375 375" 54 | } 55 | "07" 56 | { 57 | "var_type" "FIELD_FLOAT" 58 | "coil_duration_scepter" "8" 59 | } 60 | "08" 61 | { 62 | "var_type" "FIELD_INTEGER" 63 | "coil_break_damage_scepter" "400 550 700" 64 | } 65 | "09" 66 | { 67 | "var_type" "FIELD_FLOAT" 68 | "coil_stun_duration_scepter" "1.5 3 4.5" 69 | } 70 | } 71 | } 72 | } -------------------------------------------------------------------------------- /game/SpellLibraryLua/scripts/npc/heroes/puck/illusory_orb.txt: -------------------------------------------------------------------------------- 1 | "" 2 | { 3 | "ability_illusory_orb" 4 | { 5 | "BaseClass" "ability_lua" 6 | "ScriptFile" "heroes/puck/illusory_orb" 7 | "AbilityTextureName" "puck_illusory_orb" 8 | "FightRecapLevel" "1" 9 | "MaxLevel" "4" 10 | 11 | "AbilityType" "DOTA_ABILITY_TYPE_BASIC" 12 | "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_POINT" 13 | "AbilityUnitDamageType" "DAMAGE_TYPE_MAGICAL" 14 | "SpellImmunityType" "SPELL_IMMUNITY_ENEMIES_NO" 15 | 16 | "AbilityCastRange" "1950" 17 | "AbilityCastPoint" "0.1" 18 | "AbilityCooldown" "14 13 12 11" 19 | "AbilityManaCost" "80 100 120 140" 20 | "AbilityDamage" "70 140 210 280" 21 | 22 | "AbilitySpecial" 23 | { 24 | "01" 25 | { 26 | "var_type" "FIELD_INTEGER" 27 | "radius" "225" 28 | } 29 | "02" 30 | { 31 | "var_type" "FIELD_INTEGER" 32 | "max_distance" "1950" 33 | } 34 | "03" 35 | { 36 | "var_type" "FIELD_INTEGER" 37 | "orb_speed" "651" 38 | } 39 | "04" 40 | { 41 | "var_type" "FIELD_INTEGER" 42 | "orb_vision" "450" 43 | } 44 | "05" 45 | { 46 | "var_type" "FIELD_FLOAT" 47 | "vision_duration" "3.34 3.34 3.34 3.34" 48 | } 49 | } 50 | } 51 | 52 | "ability_ethereal_jaunt" 53 | { 54 | "BaseClass" "ability_lua" 55 | "ScriptFile" "heroes/puck/illusory_orb" 56 | "AbilityTextureName" "puck_ethereal_jaunt" 57 | "FightRecapLevel" "1" 58 | "MaxLevel" "4" 59 | 60 | "AbilityType" "DOTA_ABILITY_TYPE_BASIC" 61 | "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_NO_TARGET | DOTA_ABILITY_BEHAVIOR_NOT_LEARNABLE | DOTA_ABILITY_BEHAVIOR_DONT_RESUME_ATTACK" 62 | 63 | "AbilityCastPoint" "0" 64 | } 65 | } -------------------------------------------------------------------------------- /game/SpellLibraryLua/scripts/npc/heroes/puck/phase_shift.txt: -------------------------------------------------------------------------------- 1 | "" 2 | { 3 | "ability_phase_shift" 4 | { 5 | "BaseClass" "ability_lua" 6 | "ScriptFile" "heroes/puck/phase_shift" 7 | "AbilityTextureName" "puck_phase_shift" 8 | "FightRecapLevel" "1" 9 | "MaxLevel" "4" 10 | 11 | "AbilityType" "DOTA_ABILITY_TYPE_BASIC" 12 | "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_NO_TARGET | DOTA_ABILITY_BEHAVIOR_DONT_RESUME_MOVEMENT | DOTA_ABILITY_BEHAVIOR_CHANNELLED | DOTA_ABILITY_BEHAVIOR_DONT_RESUME_ATTACK" 13 | 14 | "AbilityCastPoint" "0" 15 | "AbilityChannelTime" "0.75 1.50 2.25 3.25" 16 | "AbilityCooldown" "6" 17 | "AbilityManaCost" "0" 18 | 19 | "AbilitySpecial" 20 | { 21 | "01" 22 | { 23 | "var_type" "FIELD_FLOAT" 24 | "duration" "0.75 1.50 2.25 3.25" 25 | } 26 | } 27 | } 28 | } -------------------------------------------------------------------------------- /game/SpellLibraryLua/scripts/npc/heroes/puck/waning_rift.txt: -------------------------------------------------------------------------------- 1 | "" 2 | { 3 | "ability_waning_rift" 4 | { 5 | "BaseClass" "ability_lua" 6 | "ScriptFile" "heroes/puck/waning_rift" 7 | "AbilityTextureName" "puck_waning_rift" 8 | "FightRecapLevel" "1" 9 | "MaxLevel" "4" 10 | 11 | "AbilityType" "DOTA_ABILITY_TYPE_BASIC" 12 | "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_NO_TARGET" 13 | "AbilityUnitDamageType" "DAMAGE_TYPE_MAGICAL" 14 | "SpellDispellableType" "SPELL_DISPELLABLE_YES" 15 | "SpellImmunityType" "SPELL_IMMUNITY_ENEMIES_NO" 16 | 17 | "AbilityCastRange" "400" 18 | "AbilityCastPoint" "0.1" 19 | "AbilityCooldown" "16 15 14 13" 20 | "AbilityManaCost" "100 110 120 130" 21 | 22 | "AbilitySpecial" 23 | { 24 | "01" 25 | { 26 | "var_type" "FIELD_INTEGER" 27 | "radius" "400 400 400 400" 28 | } 29 | "02" 30 | { 31 | "var_type" "FIELD_FLOAT" 32 | "silence_duration" "0.75 1.5 2.25 3.0" 33 | } 34 | "03" 35 | { 36 | "var_type" "FIELD_INTEGER" 37 | "damage" "100 160 220 280" 38 | } 39 | } 40 | } 41 | } -------------------------------------------------------------------------------- /game/SpellLibraryLua/scripts/npc/heroes/queenofpain/blink.txt: -------------------------------------------------------------------------------- 1 | "DOTAAbilities" 2 | { 3 | "ability_qop_blink" 4 | { 5 | "BaseClass" "ability_lua" 6 | "ScriptFile" "heroes/queenofpain/blink" 7 | "AbilityTextureName" "queenofpain_blink" 8 | "FightRecapLevel" "1" 9 | "MaxLevel" "4" 10 | 11 | "AbilityType" "DOTA_ABILITY_TYPE_BASIC" 12 | "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_POINT | DOTA_ABILITY_BEHAVIOR_ROOT_DISABLES" 13 | 14 | "AbilityCastRange" "0" 15 | "AbilityCastPoint" "0.33" 16 | "AbilityCooldown" "15 12 9 6" 17 | "AbilityManaCost" "60" 18 | 19 | "AbilitySpecial" 20 | { 21 | "01" 22 | { 23 | "var_type" "FIELD_INTEGER" 24 | "blink_range" "1300" 25 | } 26 | 27 | "02" 28 | { 29 | "var_type" "FIELD_INTEGER" 30 | "min_blink_range" "200" 31 | } 32 | } 33 | } 34 | } -------------------------------------------------------------------------------- /game/SpellLibraryLua/scripts/npc/heroes/queenofpain/scream_of_pain.txt: -------------------------------------------------------------------------------- 1 | "DOTAAbilities" 2 | { 3 | "ability_scream_of_pain" 4 | { 5 | "BaseClass" "ability_lua" 6 | "ScriptFile" "heroes/queenofpain/scream_of_pain" 7 | "AbilityTextureName" "queenofpain_scream_of_pain" 8 | "FightRecapLevel" "1" 9 | "MaxLevel" "4" 10 | 11 | "AbilityType" "DOTA_ABILITY_TYPE_BASIC" 12 | "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_NO_TARGET" 13 | "AbilityUnitDamageType" "DAMAGE_TYPE_MAGICAL" 14 | "SpellImmunityType" "SPELL_IMMUNITY_ENEMIES_NO" 15 | 16 | "AbilityCastRange" "0" 17 | "AbilityCastPoint" "0.0" 18 | 19 | "AbilityCooldown" "7.0" 20 | "AbilityManaCost" "110 120 130 140" 21 | 22 | "AbilityDamage" "75 150 225 300" 23 | 24 | "AbilitySpecial" 25 | { 26 | "01" 27 | { 28 | "var_type" "FIELD_INTEGER" 29 | "area_of_effect" "475" 30 | } 31 | "02" 32 | { 33 | "var_type" "FIELD_INTEGER" 34 | "projectile_speed" "900" 35 | } 36 | } 37 | } 38 | } -------------------------------------------------------------------------------- /game/SpellLibraryLua/scripts/npc/heroes/queenofpain/shadow_strike.txt: -------------------------------------------------------------------------------- 1 | "" 2 | { 3 | "ability_shadow_strike" 4 | { 5 | "BaseClass" "ability_lua" 6 | "ScriptFile" "heroes/queenofpain/shadow_strike" 7 | "AbilityTextureName" "queenofpain_shadow_strike" 8 | "FightRecapLevel" "1" 9 | "MaxLevel" "4" 10 | 11 | "AbilityType" "DOTA_ABILITY_TYPE_BASIC" 12 | "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_UNIT_TARGET" 13 | "AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_ENEMY" 14 | "AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" 15 | "AbilityUnitDamageType" "DAMAGE_TYPE_MAGICAL" 16 | "SpellDispellableType" "SPELL_DISPELLABLE_YES" 17 | "SpellImmunityType" "SPELL_IMMUNITY_ENEMIES_NO" 18 | 19 | "AbilityCastRange" "450 500 550 600" 20 | "AbilityCastPoint" "0.4" 21 | "AbilityDuration" "15.0 15.0 15.0 15.0" 22 | "AbilityCooldown" "16 12 8 4" 23 | "AbilityManaCost" "110" 24 | 25 | "AbilitySpecial" 26 | { 27 | "01" 28 | { 29 | "var_type" "FIELD_INTEGER" 30 | "strike_damage" "50 75 100 125" 31 | } 32 | "02" 33 | { 34 | "var_type" "FIELD_INTEGER" 35 | "duration_damage" "30 45 60 75" 36 | } 37 | "03" 38 | { 39 | "var_type" "FIELD_INTEGER" 40 | "movement_slow" "-20 -30 -40 -50" 41 | } 42 | "04" 43 | { 44 | "var_type" "FIELD_INTEGER" 45 | "projectile_speed" "900" 46 | } 47 | "05" 48 | { 49 | "var_type" "FIELD_INTEGER" 50 | "cast_range_tooltip" "450 500 550 600" 51 | } 52 | "06" 53 | { 54 | "var_type" "FIELD_INTEGER" 55 | "duration_tooltip" "15" 56 | } 57 | } 58 | } 59 | } -------------------------------------------------------------------------------- /game/SpellLibraryLua/scripts/npc/heroes/queenofpain/sonic_wave.txt: -------------------------------------------------------------------------------- 1 | "DOTAAbilities" 2 | { 3 | "ability_sonic_wave" 4 | { 5 | "BaseClass" "ability_lua" 6 | "ScriptFile" "heroes/queenofpain/sonic_wave" 7 | "AbilityTextureName" "queenofpain_sonic_wave" 8 | "FightRecapLevel" "2" 9 | "MaxLevel" "3" 10 | 11 | "AbilityType" "DOTA_ABILITY_TYPE_ULTIMATE" 12 | "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_DIRECTIONAL | DOTA_ABILITY_BEHAVIOR_POINT" 13 | "AbilityUnitDamageType" "DAMAGE_TYPE_PURE" 14 | "SpellImmunityType" "SPELL_IMMUNITY_ENEMIES_YES" 15 | 16 | "AbilityCastRange" "700" 17 | "AbilityCastPoint" "0.452" 18 | "AbilityCooldown" "135" 19 | "AbilityManaCost" "250 360 500" 20 | 21 | "AbilitySpecial" 22 | { 23 | "01" 24 | { 25 | "var_type" "FIELD_INTEGER" 26 | "starting_aoe" "100" 27 | } 28 | "02" 29 | { 30 | "var_type" "FIELD_INTEGER" 31 | "distance" "900" 32 | } 33 | "03" 34 | { 35 | "var_type" "FIELD_INTEGER" 36 | "final_aoe" "450" 37 | } 38 | "04" 39 | { 40 | "var_type" "FIELD_INTEGER" 41 | "speed" "900" 42 | } 43 | "05" 44 | { 45 | "var_type" "FIELD_INTEGER" 46 | "damage" "290 380 470" 47 | } 48 | "06" 49 | { 50 | "var_type" "FIELD_FLOAT" 51 | "cooldown_scepter" "40" 52 | } 53 | "07" 54 | { 55 | "var_type" "FIELD_INTEGER" 56 | "damage_scepter" "325 440 555" 57 | } 58 | } 59 | } 60 | } -------------------------------------------------------------------------------- /game/SpellLibraryLua/scripts/npc/heroes/sand_king/burrowstrike.txt: -------------------------------------------------------------------------------- 1 | "DOTAAbilities" 2 | { 3 | "ability_burrowstrike" 4 | { 5 | "BaseClass" "ability_lua" 6 | "ScriptFile" "heroes/sand_king/burrowstrike" 7 | "AbilityTextureName" "sandking_burrowstrike" 8 | "FightRecapLevel" "1" 9 | "MaxLevel" "4" 10 | 11 | "AbilityType" "DOTA_ABILITY_TYPE_BASIC" 12 | "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_POINT | DOTA_ABILITY_BEHAVIOR_UNIT_TARGET | DOTA_ABILITY_BEHAVIOR_ROOT_DISABLES" 13 | "AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_ENEMY" 14 | "AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" 15 | "AbilityUnitDamageType" "DAMAGE_TYPE_MAGICAL" 16 | "SpellDispellableType" "SPELL_DISPELLABLE_YES_STRONG" 17 | "SpellImmunityType" "SPELL_IMMUNITY_ENEMIES_NO" 18 | 19 | "AbilityCastRange" "350 450 550 650" 20 | "AbilityCastPoint" "0.0" 21 | "AbilityCooldown" "14 13 12 11" 22 | "AbilityManaCost" "110 120 130 140" 23 | "AbilityDamage" "85 150 215 280" 24 | 25 | "AbilitySpecial" 26 | { 27 | "01" 28 | { 29 | "var_type" "FIELD_INTEGER" 30 | "burrow_width" "150" 31 | } 32 | "02" 33 | { 34 | "var_type" "FIELD_FLOAT" 35 | "burrow_duration" "1.9 2.0 2.1 2.2" 36 | } 37 | "03" 38 | { 39 | "var_type" "FIELD_INTEGER" 40 | "burrow_speed" "2000" 41 | } 42 | "04" 43 | { 44 | "var_type" "FIELD_FLOAT" 45 | "burrow_anim_time" "0.52" 46 | } 47 | "05" 48 | { 49 | "var_type" "FIELD_INTEGER" 50 | "tooltip_range" "350 450 550 650" 51 | } 52 | "06" 53 | { 54 | "var_type" "FIELD_INTEGER" 55 | "cast_range_scepter" "700 900 1100 1300" 56 | } 57 | "07" 58 | { 59 | "var_type" "FIELD_INTEGER" 60 | "burrow_speed_scepter" "3000" 61 | } 62 | } 63 | } 64 | } -------------------------------------------------------------------------------- /game/SpellLibraryLua/scripts/npc/heroes/sand_king/caustic_finale.txt: -------------------------------------------------------------------------------- 1 | "DOTAAbilities" 2 | { 3 | "ability_caustic_finale" 4 | { 5 | "BaseClass" "ability_lua" 6 | "ScriptFile" "heroes/sand_king/caustic_finale" 7 | "AbilityTextureName" "sandking_caustic_finale" 8 | "FightRecapLevel" "1" 9 | "MaxLevel" "4" 10 | 11 | "AbilityType" "DOTA_ABILITY_TYPE_BASIC" 12 | "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_PASSIVE" 13 | "AbilityUnitDamageType" "DAMAGE_TYPE_MAGICAL" 14 | "SpellDispellableType" "SPELL_DISPELLABLE_YES" 15 | "SpellImmunityType" "SPELL_IMMUNITY_ENEMIES_NO" 16 | 17 | "AbilitySpecial" 18 | { 19 | "01" 20 | { 21 | "var_type" "FIELD_INTEGER" 22 | "caustic_finale_radius" "400" 23 | } 24 | "02" 25 | { 26 | "var_type" "FIELD_INTEGER" 27 | "caustic_finale_damage" "90 130 170 220" 28 | } 29 | "03" 30 | { 31 | "var_type" "FIELD_INTEGER" 32 | "caustic_finale_damage_expire" "20 50 80 110" 33 | } 34 | "04" 35 | { 36 | "var_type" "FIELD_FLOAT" 37 | "caustic_finale_duration" "6" 38 | } 39 | "05" 40 | { 41 | "var_type" "FIELD_INTEGER" 42 | "caustic_finale_slow" "-15 -20 -25 -30" 43 | } 44 | "06" 45 | { 46 | "var_type" "FIELD_FLOAT" 47 | "caustic_finale_slow_duration" "3" 48 | } 49 | "07" 50 | { 51 | "var_type" "FIELD_INTEGER" 52 | "caustic_finale_expire_dmg_pct_tooltip" "50" 53 | } 54 | } 55 | } 56 | } -------------------------------------------------------------------------------- /game/SpellLibraryLua/scripts/npc/heroes/sand_king/epicenter.txt: -------------------------------------------------------------------------------- 1 | "DOTAAbilities" 2 | { 3 | "ability_epicenter" 4 | { 5 | "BaseClass" "ability_lua" 6 | "ScriptFile" "heroes/sand_king/epicenter" 7 | "AbilityTextureName" "sandking_epicenter" 8 | "FightRecapLevel" "2" 9 | "MaxLevel" "3" 10 | 11 | "AbilityType" "DOTA_ABILITY_TYPE_ULTIMATE" 12 | "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_CHANNELLED | DOTA_ABILITY_BEHAVIOR_NO_TARGET | DOTA_ABILITY_BEHAVIOR_IGNORE_BACKSWING" 13 | "AbilityUnitDamageType" "DAMAGE_TYPE_MAGICAL" 14 | "SpellDispellableType" "SPELL_DISPELLABLE_NO" 15 | "SpellImmunityType" "SPELL_IMMUNITY_ENEMIES_NO" 16 | 17 | "AbilityCastPoint" "0" 18 | "AbilityChannelTime" "2.0" 19 | "AbilityDuration" "3.0" 20 | "AbilityCooldown" "120 110 100" 21 | "AbilityManaCost" "150 225 300" 22 | 23 | "AbilitySpecial" 24 | { 25 | "01" 26 | { 27 | "var_type" "FIELD_INTEGER" 28 | "epicenter_radius" "500 525 550 575 600 625 650 675 700 725 750 775 800 825" 29 | } 30 | "02" 31 | { 32 | "var_type" "FIELD_INTEGER" 33 | "epicenter_pulses" "6 8 10" 34 | } 35 | "03" 36 | { 37 | "var_type" "FIELD_INTEGER" 38 | "epicenter_damage" "110 120 130" 39 | } 40 | "04" 41 | { 42 | "var_type" "FIELD_INTEGER" 43 | "epicenter_slow" "-30 -30 -30" 44 | } 45 | "05" 46 | { 47 | "var_type" "FIELD_INTEGER" 48 | "epicenter_slow_as" "-30" 49 | } 50 | "06" 51 | { 52 | "var_type" "FIELD_INTEGER" 53 | "epicenter_slow_duration_tooltip" "3" 54 | } 55 | } 56 | } 57 | } -------------------------------------------------------------------------------- /game/SpellLibraryLua/scripts/npc/heroes/sand_king/sand_storm.txt: -------------------------------------------------------------------------------- 1 | "DOTAAbilities" 2 | { 3 | "ability_sand_storm" 4 | { 5 | "BaseClass" "ability_lua" 6 | "ScriptFile" "heroes/sand_king/sand_storm" 7 | "AbilityTextureName" "sandking_sand_storm" 8 | "FightRecapLevel" "1" 9 | "MaxLevel" "4" 10 | 11 | "AbilityType" "DOTA_ABILITY_TYPE_BASIC" 12 | "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_NO_TARGET | DOTA_ABILITY_BEHAVIOR_DONT_RESUME_ATTACK" 13 | "AbilityUnitDamageType" "DAMAGE_TYPE_MAGICAL" 14 | "SpellDispellableType" "SPELL_DISPELLABLE_NO" 15 | "SpellImmunityType" "SPELL_IMMUNITY_ENEMIES_NO" 16 | 17 | "AbilityDuration" "20 25 30 35" 18 | "AbilityCooldown" "40 34 28 22" 19 | "AbilityCastPoint" "0" 20 | "AbilityManaCost" "75" 21 | 22 | "AbilitySpecial" 23 | { 24 | "01" 25 | { 26 | "var_type" "FIELD_FLOAT" 27 | "damage_tick_rate" "0.5" 28 | } 29 | "02" 30 | { 31 | "var_type" "FIELD_INTEGER" 32 | "sand_storm_radius" "425 500 575 650" 33 | } 34 | "03" 35 | { 36 | "var_type" "FIELD_INTEGER" 37 | "sand_storm_damage" "20 45 70 95" 38 | "LinkedSpecialBonus" "special_bonus_unique_sand_king_2" 39 | } 40 | "04" 41 | { 42 | "var_type" "FIELD_FLOAT" 43 | "fade_delay" "0.7" 44 | } 45 | } 46 | } 47 | } -------------------------------------------------------------------------------- /game/SpellLibraryLua/scripts/npc/heroes/shredder/chakram.txt: -------------------------------------------------------------------------------- 1 | "DOTAAbilities" 2 | { 3 | "ability_chakram" 4 | { 5 | "BaseClass" "ability_lua" 6 | "ScriptFile" "heroes/shredder/chakram" 7 | "AbilityTextureName" "shredder_chakram" 8 | "FightRecapLevel" "1" 9 | "MaxLevel" "3" 10 | 11 | "HasScepterUpgrade" "1" 12 | "LinkedAbility" "timbersaw_chakram_2_lua" 13 | 14 | "AbilityType" "DOTA_ABILITY_TYPE_ULTIMATE" 15 | "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_POINT | DOTA_ABILITY_BEHAVIOR_AOE | DOTA_ABILITY_BEHAVIOR_IGNORE_BACKSWING" 16 | "AbilityUnitDamageType" "DAMAGE_TYPE_PURE" 17 | "SpellDispellableType" "SPELL_DISPELLABLE_NO" 18 | "SpellImmunityType" "SPELL_IMMUNITY_ENEMIES_NO" 19 | 20 | "AbilityCastRange" "1200 1200 1200" 21 | "AbilityCastPoint" "0.3 0.3 0.3" 22 | 23 | "AbilityCooldown" "8.0 8.0 8.0" 24 | "AbilityManaCost" "80 140 200" 25 | 26 | "AbilitySpecial" 27 | { 28 | "01" 29 | { 30 | "var_type" "FIELD_FLOAT" 31 | "speed" "900.0" 32 | } 33 | "02" 34 | { 35 | "var_type" "FIELD_FLOAT" 36 | "radius" "200.0" 37 | } 38 | "03" 39 | { 40 | "var_type" "FIELD_INTEGER" 41 | "pass_damage" "100 140 180" 42 | } 43 | "04" 44 | { 45 | "var_type" "FIELD_INTEGER" 46 | "damage_per_second" "50 75 100" 47 | } 48 | "05" 49 | { 50 | "var_type" "FIELD_INTEGER" 51 | "slow" "5" 52 | } 53 | "06" 54 | { 55 | "var_type" "FIELD_FLOAT" 56 | "damage_interval" "0.5" 57 | } 58 | "07" 59 | { 60 | "var_type" "FIELD_FLOAT" 61 | "break_distance" "2000.0" 62 | } 63 | "08" 64 | { 65 | "var_type" "FIELD_FLOAT" 66 | "mana_per_second" "16 23 30" 67 | } 68 | "09" 69 | { 70 | "var_type" "FIELD_FLOAT" 71 | "pass_slow_duration" "0.5" 72 | } 73 | } 74 | } 75 | } -------------------------------------------------------------------------------- /game/SpellLibraryLua/scripts/npc/heroes/shredder/reactive_armor.txt: -------------------------------------------------------------------------------- 1 | "DOTAAbilities" 2 | { 3 | "ability_reactive_armor" 4 | { 5 | "BaseClass" "ability_lua" 6 | "ScriptFile" "heroes/shredder/reactive_armor" 7 | "AbilityTextureName" "shredder_reactive_armor" 8 | "FightRecapLevel" "1" 9 | "MaxLevel" "4" 10 | 11 | "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_PASSIVE" 12 | "SpellDispellableType" "SPELL_DISPELLABLE_NO" 13 | 14 | "AbilitySpecial" 15 | { 16 | "01" 17 | { 18 | "var_type" "FIELD_FLOAT" 19 | "bonus_armor" "1 1.1 1.2 1.3" 20 | } 21 | "02" 22 | { 23 | "var_type" "FIELD_FLOAT" 24 | "bonus_hp_regen" "1 1.1 1.2 1.3" 25 | } 26 | "03" 27 | { 28 | "var_type" "FIELD_INTEGER" 29 | "stack_limit" "6 12 18 24" 30 | } 31 | "04" 32 | { 33 | "var_type" "FIELD_FLOAT" 34 | "stack_duration" "10 13 16 19" 35 | } 36 | } 37 | } 38 | } -------------------------------------------------------------------------------- /game/SpellLibraryLua/scripts/npc/heroes/shredder/return_chakram.txt: -------------------------------------------------------------------------------- 1 | "" 2 | { 3 | "ability_return_chakram" 4 | { 5 | "BaseClass" "ability_lua" 6 | "ScriptFile" "heroes/shredder/chakram" 7 | "AbilityTextureName" "shredder_return_chakram" 8 | "FightRecapLevel" "1" 9 | "MaxLevel" "1" 10 | 11 | "AbilityType" "DOTA_ABILITY_TYPE_ULTIMATE" 12 | "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_NO_TARGET | DOTA_ABILITY_BEHAVIOR_IMMEDIATE | DOTA_ABILITY_BEHAVIOR_IGNORE_CHANNEL | DOTA_ABILITY_BEHAVIOR_NOT_LEARNABLE | DOTA_ABILITY_BEHAVIOR_HIDDEN | DOTA_ABILITY_BEHAVIOR_DONT_RESUME_ATTACK | DOTA_ABILITY_BEHAVIOR_IGNORE_BACKSWING" 13 | 14 | "AbilityCastPoint" "0" 15 | } 16 | } -------------------------------------------------------------------------------- /game/SpellLibraryLua/scripts/npc/heroes/shredder/timber_chain.txt: -------------------------------------------------------------------------------- 1 | "DOTAAbilities" 2 | { 3 | "ability_timber_chain" 4 | { 5 | "BaseClass" "ability_lua" 6 | "ScriptFile" "heroes/shredder/timber_chain" 7 | "AbilityTextureName" "shredder_timber_chain" 8 | "FightRecapLevel" "1" 9 | 10 | "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_POINT | DOTA_ABILITY_BEHAVIOR_IGNORE_BACKSWING | DOTA_ABILITY_BEHAVIOR_ROOT_DISABLES" 11 | "AbilityUnitDamageType" "DAMAGE_TYPE_PURE" 12 | "SpellImmunityType" "SPELL_IMMUNITY_ENEMIES_NO" 13 | 14 | "AbilityCastPoint" "0.3 0.3 0.3 0.3" 15 | "AbilityCastRange" "850 1050 1250 1450" 16 | "AbilityCooldown" "4" 17 | "AbilityManaCost" "60 70 80 90" 18 | "AbilityDamage" "100 200 300 400" 19 | 20 | "AbilitySpecial" 21 | { 22 | "01" 23 | { 24 | "var_type" "FIELD_INTEGER" 25 | "chain_radius" "90 90 90 90" 26 | } 27 | "02" 28 | { 29 | "var_type" "FIELD_INTEGER" 30 | "range" "850 1050 1250 1450" 31 | } 32 | "03" 33 | { 34 | "var_type" "FIELD_INTEGER" 35 | "radius" "225 225 225 225" 36 | } 37 | "04" 38 | { 39 | "var_type" "FIELD_INTEGER" 40 | "speed" "1600 2000 2400 2800" 41 | } 42 | "05" 43 | { 44 | "var_type" "FIELD_INTEGER" 45 | "damage" "100 140 180 220" 46 | } 47 | } 48 | } 49 | } -------------------------------------------------------------------------------- /game/SpellLibraryLua/scripts/npc/heroes/shredder/whirling_death.txt: -------------------------------------------------------------------------------- 1 | "DOTAAbilities" 2 | { 3 | "ability_whirling_death" 4 | { 5 | "BaseClass" "ability_lua" 6 | "ScriptFile" "heroes/shredder/whirling_death" 7 | "AbilityTextureName" "shredder_whirling_death" 8 | "FightRecapLevel" "1" 9 | 10 | "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_NO_TARGET | DOTA_ABILITY_BEHAVIOR_IMMEDIATE | DOTA_ABILITY_BEHAVIOR_IGNORE_BACKSWING" 11 | "AbilityUnitDamageType" "DAMAGE_TYPE_PURE" 12 | "SpellDispellableType" "SPELL_DISPELLABLE_YES" 13 | "SpellImmunityType" "SPELL_IMMUNITY_ENEMIES_NO" 14 | 15 | "AbilityCastRange" "300" 16 | "AbilityCastPoint" "0" 17 | "AbilityCooldown" "6" 18 | "AbilityManaCost" "70" 19 | 20 | "AbilitySpecial" 21 | { 22 | "01" 23 | { 24 | "var_type" "FIELD_INTEGER" 25 | "whirling_radius" "300" 26 | } 27 | "02" 28 | { 29 | "var_type" "FIELD_INTEGER" 30 | "whirling_damage" "90 120 150 180" 31 | } 32 | "03" 33 | { 34 | "var_type" "FIELD_INTEGER" 35 | "tree_damage_scale" "12 18 24 30" 36 | } 37 | "04" 38 | { 39 | "var_type" "FIELD_FLOAT" 40 | "whirling_tick" "0.3" 41 | } 42 | "05" 43 | { 44 | "var_type" "FIELD_INTEGER" 45 | "stat_loss_pct" "13 14 15 16" 46 | } 47 | "06" 48 | { 49 | "var_type" "FIELD_FLOAT" 50 | "duration" "14.0" 51 | } 52 | } 53 | } 54 | } -------------------------------------------------------------------------------- /game/SpellLibraryLua/scripts/npc/heroes/silencer/curse_of_the_silent.txt: -------------------------------------------------------------------------------- 1 | "DOTAAbilities" 2 | { 3 | "ability_curse_of_the_silent" 4 | { 5 | "BaseClass" "ability_lua" 6 | "ScriptFile" "heroes/silencer/curse_of_the_silent" 7 | "AbilityTextureName" "silencer_curse_of_the_silent" 8 | "FightRecapLevel" "1" 9 | "MaxLevel" "4" 10 | 11 | "AbilityType" "DOTA_ABILITY_TYPE_BASIC" 12 | "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_POINT | DOTA_ABILITY_BEHAVIOR_AOE" 13 | "AbilityUnitDamageType" "DAMAGE_TYPE_MAGICAL" 14 | "SpellDispellableType" "SPELL_DISPELLABLE_YES" 15 | "SpellImmunityType" "SPELL_IMMUNITY_ENEMIES_NO" 16 | 17 | "AbilityCastRange" "1000" 18 | "AbilityCastPoint" "0.3 0.3 0.3 0.3" 19 | "AbilityCooldown" "20 18 16 14" 20 | "AbilityManaCost" "125 130 135 140" 21 | "AbilityDamage" "100 200 300 400" 22 | 23 | "AbilitySpecial" 24 | { 25 | "01" 26 | { 27 | "var_type" "FIELD_INTEGER" 28 | "damage" "16 24 32 40" 29 | } 30 | "02" 31 | { 32 | "var_type" "FIELD_INTEGER" 33 | "radius" "425" 34 | } 35 | "03" 36 | { 37 | "var_type" "FIELD_INTEGER" 38 | "duration" "6" 39 | } 40 | "04" 41 | { 42 | "var_type" "FIELD_INTEGER" 43 | "penalty_duration" "5" 44 | } 45 | "05" 46 | { 47 | "var_type" "FIELD_INTEGER" 48 | "movespeed" "-9 -12 -15 -18" 49 | } 50 | } 51 | } 52 | } -------------------------------------------------------------------------------- /game/SpellLibraryLua/scripts/npc/heroes/silencer/glaives_of_wisdom.txt: -------------------------------------------------------------------------------- 1 | "DOTAAbilities" 2 | { 3 | "ability_glaives_of_wisdom" 4 | { 5 | "BaseClass" "ability_lua" 6 | "ScriptFile" "heroes/silencer/glaives_of_wisdom" 7 | "AbilityTextureName" "silencer_glaives_of_wisdom" 8 | "FightRecapLevel" "1" 9 | "MaxLevel" "4" 10 | 11 | "HasScepterUpgrade" "1" 12 | 13 | "AbilityType" "DOTA_ABILITY_TYPE_BASIC" 14 | "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_UNIT_TARGET | DOTA_ABILITY_BEHAVIOR_AUTOCAST | DOTA_ABILITY_BEHAVIOR_ATTACK" 15 | "AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_ENEMY" 16 | "AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" 17 | "AbilityUnitDamageType" "DAMAGE_TYPE_PURE" 18 | "SpellImmunityType" "SPELL_IMMUNITY_ENEMIES_NO" 19 | 20 | "AbilityCastRange" "600" 21 | "AbilityManaCost" "15 15 15 15" 22 | "AbilityDamage" "100 200 300 400" 23 | 24 | "AbilitySpecial" 25 | { 26 | "01" 27 | { 28 | "var_type" "FIELD_FLOAT" 29 | "intellect_damage_pct" "25 45 65 85" 30 | } 31 | "02" 32 | { 33 | "var_type" "FIELD_INTEGER" 34 | "steal_range" "925" 35 | } 36 | } 37 | } 38 | } -------------------------------------------------------------------------------- /game/SpellLibraryLua/scripts/npc/heroes/silencer/global_silence.txt: -------------------------------------------------------------------------------- 1 | "DOTAAbilities" 2 | { 3 | "ability_global_silence" 4 | { 5 | "BaseClass" "ability_lua" 6 | "ScriptFile" "heroes/silencer/global_silence" 7 | "AbilityTextureName" "silencer_global_silence" 8 | "FightRecapLevel" "2" 9 | "MaxLevel" "3" 10 | 11 | "AbilityType" "DOTA_ABILITY_TYPE_ULTIMATE" 12 | "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_NO_TARGET" 13 | "SpellDispellableType" "SPELL_DISPELLABLE_YES" 14 | "SpellImmunityType" "SPELL_IMMUNITY_ENEMIES_YES" 15 | 16 | "AbilityCastPoint" "0.3 0.3 0.3" 17 | "AbilityDuration" "4.5 5.25 6.0" 18 | "AbilityCooldown" "130.0" 19 | "AbilityManaCost" "300 450 600" 20 | 21 | "AbilitySpecial" 22 | { 23 | "01" 24 | { 25 | "var_type" "FIELD_FLOAT" 26 | "tooltip_duration" "4.5 5.25 6.0" 27 | } 28 | } 29 | } 30 | } -------------------------------------------------------------------------------- /game/SpellLibraryLua/scripts/npc/heroes/silencer/last_word.txt: -------------------------------------------------------------------------------- 1 | "DOTAAbilities" 2 | { 3 | "ability_last_word" 4 | { 5 | "BaseClass" "ability_lua" 6 | "ScriptFile" "heroes/silencer/last_word" 7 | "AbilityTextureName" "silencer_last_word" 8 | "FightRecapLevel" "1" 9 | "MaxLevel" "4" 10 | 11 | "AbilityType" "DOTA_ABILITY_TYPE_BASIC" 12 | "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_UNIT_TARGET" 13 | "AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_ENEMY" 14 | "AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" 15 | "AbilityUnitDamageType" "DAMAGE_TYPE_MAGICAL" 16 | "SpellDispellableType" "SPELL_DISPELLABLE_YES" 17 | "SpellImmunityType" "SPELL_IMMUNITY_ENEMIES_NO" 18 | 19 | "AbilityCastPoint" "0.3" 20 | "AbilityCastRange" "900" 21 | "AbilityCooldown" "22 18 14 10" 22 | "AbilityManaCost" "115" 23 | 24 | "AbilitySpecial" 25 | { 26 | "01" 27 | { 28 | "var_type" "FIELD_INTEGER" 29 | "damage" "75 150 225 300" 30 | } 31 | "02" 32 | { 33 | "var_type" "FIELD_FLOAT" 34 | "debuff_duration" "4" 35 | } 36 | "03" 37 | { 38 | "var_type" "FIELD_INTEGER" 39 | "duration" "3 4 5 6" 40 | } 41 | } 42 | } 43 | } -------------------------------------------------------------------------------- /game/SpellLibraryLua/scripts/npc/heroes/skeleton_king/hellfire_blast.txt: -------------------------------------------------------------------------------- 1 | "DOTAAbilities" 2 | { 3 | "ability_hellfire_blast" 4 | { 5 | "BaseClass" "ability_lua" 6 | "ScriptFile" "heroes/skeleton_king/hellfire_blast" 7 | "AbilityTextureName" "skeleton_king_hellfire_blast" 8 | 9 | "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_UNIT_TARGET" 10 | "AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_ENEMY" 11 | "AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" 12 | "AbilityUnitDamageType" "DAMAGE_TYPE_MAGICAL" 13 | "SpellImmunityType" "SPELL_IMMUNITY_ENEMIES_NO" 14 | "SpellDispellableType" "SPELL_DISPELLABLE_YES_STRONG" 15 | "FightRecapLevel" "1" 16 | "AbilitySound" "Hero_SkeletonKing.Hellfire_Blast" 17 | 18 | "AbilityCastRange" "525" 19 | "AbilityCastPoint" "0.35 0.35 0.35 0.35" 20 | "AbilityCooldown" "14 12 10 8" 21 | "AbilityDamage" "70 80 90 100" 22 | "AbilityManaCost" "95 110 125 140" 23 | 24 | "AbilitySpecial" 25 | { 26 | "01" 27 | { 28 | "var_type" "FIELD_INTEGER" 29 | "blast_speed" "1000" 30 | } 31 | "02" 32 | { 33 | "var_type" "FIELD_FLOAT" 34 | "blast_stun_duration" "1.1 1.4 1.7 2.0" 35 | 36 | } 37 | "03" 38 | { 39 | "var_type" "FIELD_FLOAT" 40 | "blast_dot_duration" "2.0" 41 | "LinkedSpecialBonus" "special_bonus_unique_wraith_king_7" 42 | } 43 | "04" 44 | { 45 | "var_type" "FIELD_INTEGER" 46 | "blast_slow" "-20" 47 | } 48 | "05" 49 | { 50 | "var_type" "FIELD_INTEGER" 51 | "blast_dot_damage" "10 30 50 70" 52 | "LinkedSpecialBonus" "special_bonus_unique_wraith_king_3" 53 | } 54 | } 55 | "AbilityCastAnimation" "ACT_DOTA_CAST_ABILITY_1" 56 | } 57 | } -------------------------------------------------------------------------------- /game/SpellLibraryLua/scripts/npc/heroes/skeleton_king/mortal_strike.txt: -------------------------------------------------------------------------------- 1 | "DOTAAbilities" 2 | { 3 | "ability_mortal_strike" 4 | { 5 | "BaseClass" "ability_lua" 6 | "ScriptFile" "heroes/skeleton_king/mortal_strike" 7 | "AbilityTextureName" "skeleton_king_mortal_strike" 8 | 9 | "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_NO_TARGET" 10 | "AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_ENEMY" 11 | "AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO" 12 | 13 | "AbilityCastPoint" "0.1" 14 | 15 | "AbilityCooldown" "50" 16 | "AbilityManaCost" "50 60 70 80" 17 | 18 | "AbilitySpecial" 19 | { 20 | "01" 21 | { 22 | "var_type" "FIELD_INTEGER" 23 | "crit_mult" "300" 24 | } 25 | "02" 26 | { 27 | "var_type" "FIELD_INTEGER" 28 | "crit_chance" "9 11 13 15" 29 | } 30 | "03" 31 | { 32 | "var_type" "FIELD_FLOAT" 33 | "skeleton_duration" "90" 34 | } 35 | "04" 36 | { 37 | "var_type" "FIELD_INTEGER" 38 | "max_skeleton_charges" "4 5 6 7" 39 | "LinkedSpecialBonus" "special_bonus_unique_wraith_king_5" 40 | } 41 | "05" 42 | { 43 | "var_type" "FIELD_FLOAT" 44 | "spawn_interval" "0.25" 45 | } 46 | "06" 47 | { 48 | "var_type" "FIELD_INTEGER" 49 | "gold_bounty" "5" 50 | } 51 | "07" 52 | { 53 | "var_type" "FIELD_INTEGER" 54 | "xp_bounty" "5" 55 | } 56 | } 57 | } 58 | } -------------------------------------------------------------------------------- /game/SpellLibraryLua/scripts/npc/heroes/skeleton_king/reincarnation.txt: -------------------------------------------------------------------------------- 1 | "DOTAAbilities" 2 | { 3 | "ability_reincarnation" 4 | { 5 | "BaseClass" "ability_lua" 6 | "ScriptFile" "heroes/skeleton_king/reincarnation" 7 | "AbilityTextureName" "skeleton_king_reincarnation" 8 | "FightRecapLevel" "2" 9 | 10 | "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_PASSIVE" 11 | "AbilityType" "DOTA_ABILITY_TYPE_ULTIMATE" 12 | "AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_FRIENDLY" 13 | "AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO" 14 | "SpellImmunityType" "SPELL_IMMUNITY_ENEMIES_NO" 15 | "SpellDispellableType" "SPELL_DISPELLABLE_YES" 16 | "FightRecapLevel" "2" 17 | 18 | "HasScepterUpgrade" "1" 19 | 20 | "AbilityManaCost" "160" 21 | "AbilityCooldown" "200 120 40" 22 | 23 | "AbilitySpecial" 24 | { 25 | "01" 26 | { 27 | "var_type" "FIELD_FLOAT" 28 | "reincarnate_time" "3.0 3.0 3.0" 29 | } 30 | "02" 31 | { 32 | "var_type" "FIELD_INTEGER" 33 | "slow_radius" "900" 34 | } 35 | "03" 36 | { 37 | "var_type" "FIELD_INTEGER" 38 | "movespeed" "-75" 39 | } 40 | "04" 41 | { 42 | "var_type" "FIELD_INTEGER" 43 | "attackslow" "-75" 44 | } 45 | "05" 46 | { 47 | "var_type" "FIELD_FLOAT" 48 | "slow_duration" "5.0" 49 | } 50 | "07" 51 | { 52 | "var_type" "FIELD_FLOAT" 53 | "scepter_duration" "7" 54 | "RequiresScepter" "1" 55 | } 56 | "08" 57 | { 58 | "var_type" "FIELD_INTEGER" 59 | "aura_radius" "1200" 60 | } 61 | "09" 62 | { 63 | "var_type" "FIELD_INTEGER" 64 | "aura_radius_tooltip_scepter" "1200" 65 | "RequiresScepter" "1" 66 | } 67 | } 68 | } 69 | } -------------------------------------------------------------------------------- /game/SpellLibraryLua/scripts/npc/heroes/skeleton_king/vampiric_aura.txt: -------------------------------------------------------------------------------- 1 | "DOTAAbilities" 2 | { 3 | "ability_vampiric_aura" 4 | { 5 | "BaseClass" "ability_lua" 6 | "ScriptFile" "heroes/skeleton_king/vampiric_aura" 7 | "AbilityTextureName" "skeleton_king_vampiric_aura" 8 | 9 | "AbilityType" "DOTA_ABILITY_TYPE_BASIC" 10 | "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_PASSIVE | DOTA_ABILITY_BEHAVIOR_AURA" 11 | "AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_FRIENDLY" 12 | 13 | "AbilitySpecial" 14 | { 15 | "01" 16 | { 17 | "var_type" "FIELD_INTEGER" 18 | "vampiric_aura_radius" "1200" 19 | } 20 | "02" 21 | { 22 | "var_type" "FIELD_INTEGER" 23 | "vampiric_aura" "8 16 24 32" 24 | "LinkedSpecialBonus" "special_bonus_unique_wraith_king_2" 25 | } 26 | "03" 27 | { 28 | "var_type" "FIELD_INTEGER" 29 | "vampiric_aura_ranged_pct" "50" 30 | } 31 | } 32 | } 33 | } -------------------------------------------------------------------------------- /game/SpellLibraryLua/scripts/npc/heroes/slardar/bash.txt: -------------------------------------------------------------------------------- 1 | "" 2 | { 3 | "ability_slardar_bash" 4 | { 5 | "BaseClass" "ability_lua" 6 | "ScriptFile" "heroes/slardar/bash.lua" 7 | "AbilityTextureName" "slardar_bash" 8 | "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_PASSIVE" 9 | "AbilityUnitDamageType" "DAMAGE_TYPE_PHYSICAL" 10 | "SpellImmunityType" "SPELL_IMMUNITY_ENEMIES_YES" 11 | "SpellDispellableType" "SPELL_DISPELLABLE_YES_STRONG" 12 | "AbilitySound" "Hero_Slardar.Bash" 13 | 14 | // Stats 15 | //------------------------------------------------------------------------------------------------------------- 16 | "AbilityModifierSupportBonus" "25" 17 | 18 | // Special 19 | //------------------------------------------------------------------------------------------------------------- 20 | "AbilitySpecial" 21 | { 22 | "01" 23 | { 24 | "var_type" "FIELD_INTEGER" 25 | "bonus_damage" "50 100 150 200" 26 | "LinkedSpecialBonus" "special_bonus_unique_slardar_2" 27 | } 28 | "02" 29 | { 30 | "var_type" "FIELD_FLOAT" 31 | "duration" "1.0 1.1 1.2 1.3" 32 | } 33 | "03" 34 | { 35 | "var_type" "FIELD_INTEGER" 36 | "attack_count" "3" 37 | } 38 | } 39 | "AbilityCastAnimation" "ACT_DOTA_CAST_ABILITY_3" 40 | } 41 | } -------------------------------------------------------------------------------- /game/SpellLibraryLua/scripts/npc/heroes/slark/dark_pact.txt: -------------------------------------------------------------------------------- 1 | "DOTAAbilities" 2 | { 3 | "ability_dark_pact" 4 | { 5 | "BaseClass" "ability_lua" 6 | "ScriptFile" "heroes/slark/dark_pact" 7 | "AbilityTextureName" "slark_dark_pact" 8 | "FightRecapLevel" "1" 9 | "MaxLevel" "4" 10 | 11 | "AbilityType" "DOTA_ABILITY_TYPE_BASIC" 12 | "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_NO_TARGET | DOTA_ABILITY_BEHAVIOR_IMMEDIATE" 13 | "AbilityUnitDamageType" "DAMAGE_TYPE_MAGICAL" 14 | "SpellImmunityType" "SPELL_IMMUNITY_ENEMIES_NO" 15 | 16 | "AbilityCastRange" "325" 17 | "AbilityCastPoint" "0.001" 18 | "AbilityCooldown" "9 8 7 6" 19 | "AbilityManaCost" "55 50 45 40" 20 | 21 | "AbilitySpecial" 22 | { 23 | "01" 24 | { 25 | "var_type" "FIELD_FLOAT" 26 | "delay" "1.5" 27 | } 28 | "02" 29 | { 30 | "var_type" "FIELD_FLOAT" 31 | "pulse_duration" "1.0" 32 | } 33 | "03" 34 | { 35 | "var_type" "FIELD_INTEGER" 36 | "radius" "325" 37 | } 38 | "04" 39 | { 40 | "var_type" "FIELD_INTEGER" 41 | "total_damage" "75 150 225 300" 42 | } 43 | "05" 44 | { 45 | "var_type" "FIELD_INTEGER" 46 | "total_pulses" "10" 47 | } 48 | "06" 49 | { 50 | "var_type" "FIELD_FLOAT" 51 | "pulse_interval" "0.1" 52 | } 53 | } 54 | } 55 | } -------------------------------------------------------------------------------- /game/SpellLibraryLua/scripts/npc/heroes/slark/essence_shift.txt: -------------------------------------------------------------------------------- 1 | "DOTAAbilities" 2 | { 3 | "ability_essence_shift" 4 | { 5 | "BaseClass" "ability_lua" 6 | "ScriptFile" "heroes/slark/essence_shift" 7 | "AbilityTextureName" "slark_essence_shift" 8 | "FightRecapLevel" "1" 9 | "MaxLevel" "4" 10 | 11 | "AbilityType" "DOTA_ABILITY_TYPE_BASIC" 12 | "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_PASSIVE" 13 | "SpellDispellableType" "SPELL_DISPELLABLE_NO" 14 | "SpellImmunityType" "SPELL_IMMUNITY_ENEMIES_YES" 15 | 16 | "AbilitySpecial" 17 | { 18 | "01" 19 | { 20 | "var_type" "FIELD_INTEGER" 21 | "agi_gain" "3" 22 | } 23 | "02" 24 | { 25 | "var_type" "FIELD_INTEGER" 26 | "stat_loss" "1" 27 | } 28 | "03" 29 | { 30 | "var_type" "FIELD_FLOAT" 31 | "duration" "15 30 60 120" 32 | } 33 | } 34 | } 35 | } -------------------------------------------------------------------------------- /game/SpellLibraryLua/scripts/npc/heroes/slark/pounce.txt: -------------------------------------------------------------------------------- 1 | "DOTAAbilities" 2 | { 3 | "ability_pounce" 4 | { 5 | "BaseClass" "ability_lua" 6 | "ScriptFile" "heroes/slark/pounce" 7 | "AbilityTextureName" "slark_pounce" 8 | "FightRecapLevel" "1" 9 | "MaxLevel" "4" 10 | 11 | "AbilityType" "DOTA_ABILITY_TYPE_BASIC" 12 | "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_NO_TARGET | DOTA_ABILITY_BEHAVIOR_ROOT_DISABLES" 13 | "SpellDispellableType" "SPELL_DISPELLABLE_NO" 14 | "SpellImmunityType" "SPELL_IMMUNITY_ENEMIES_NO" 15 | 16 | "AbilityCastRange" "700" 17 | "AbilityCastPoint" "0" 18 | "AbilityCooldown" "20.0 16.0 12.0 8.0" 19 | "AbilityManaCost" "75 75 75 75" 20 | "AbilityDamage" "100 200 300 400" 21 | 22 | "AbilitySpecial" 23 | { 24 | "01" 25 | { 26 | "var_type" "FIELD_INTEGER" 27 | "pounce_distance" "700" 28 | } 29 | "02" 30 | { 31 | "var_type" "FIELD_FLOAT" 32 | "pounce_speed" "933.33" 33 | } 34 | "03" 35 | { 36 | "var_type" "FIELD_FLOAT" 37 | "pounce_acceleration" "7000.0" 38 | } 39 | "04" 40 | { 41 | "var_type" "FIELD_INTEGER" 42 | "pounce_radius" "95" 43 | } 44 | "05" 45 | { 46 | "var_type" "FIELD_FLOAT" 47 | "leash_duration" "2.5 2.75 3 3.25" 48 | "LinkedSpecialBonus" "special_bonus_unique_slark" 49 | } 50 | "06" 51 | { 52 | "var_type" "FIELD_INTEGER" 53 | "leash_radius" "400" 54 | } 55 | "07" 56 | { 57 | "var_type" "FIELD_INTEGER" 58 | "max_charges" "2" 59 | "RequiresScepter" "1" 60 | } 61 | "08" 62 | { 63 | "var_type" "FIELD_INTEGER" 64 | "charge_restore_time" "10" 65 | "RequiresScepter" "1" 66 | } 67 | "09" 68 | { 69 | "var_type" "FIELD_INTEGER" 70 | "pounce_distance_scepter" "1100" 71 | "RequiresScepter" "1" 72 | } 73 | } 74 | } 75 | } -------------------------------------------------------------------------------- /game/SpellLibraryLua/scripts/npc/heroes/slark/shadow_dance.txt: -------------------------------------------------------------------------------- 1 | "DOTAAbilities" 2 | { 3 | "ability_shadow_dance" 4 | { 5 | "BaseClass" "ability_lua" 6 | "ScriptFile" "heroes/slark/shadow_dance" 7 | "AbilityTextureName" "slark_shadow_dance" 8 | "FightRecapLevel" "2" 9 | "MaxLevel" "3" 10 | 11 | "AbilityType" "DOTA_ABILITY_TYPE_ULTIMATE" 12 | "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_NO_TARGET | DOTA_ABILITY_BEHAVIOR_NO_IMMEDIATE" 13 | "SpellDispellableType" "SPELL_DISPELLABLE_NO" 14 | 15 | "AbilityCooldown" "60.0" 16 | "AbilityManaCost" "120" 17 | 18 | "AbilitySpecial" 19 | { 20 | "01" 21 | { 22 | "var_type" "FIELD_FLOAT" 23 | "duration" "4.0" 24 | } 25 | "02" 26 | { 27 | "var_type" "FIELD_FLOAT" 28 | "fade_time" "0.0 0.0 0.0" 29 | } 30 | "03" 31 | { 32 | "var_type" "FIELD_INTEGER" 33 | "bonus_movement_speed" "30 35 40" 34 | } 35 | "04" 36 | { 37 | "var_type" "FIELD_INTEGER" 38 | "bonus_regen_pct" "3 5 7" 39 | } 40 | "05" 41 | { 42 | "var_type" "FIELD_FLOAT" 43 | "activation_delay" "0.5 0.5 0.5" 44 | } 45 | "06" 46 | { 47 | "var_type" "FIELD_FLOAT" 48 | "neutral_disable" "2.0 2.0 2.0" 49 | } 50 | "07" 51 | { 52 | "var_type" "FIELD_INTEGER" 53 | "scepter_aoe" "325" 54 | } 55 | "08" 56 | { 57 | "var_type" "FIELD_INTEGER" 58 | "cooldown_scepter" "30" 59 | } 60 | } 61 | } 62 | } -------------------------------------------------------------------------------- /game/SpellLibraryLua/scripts/npc/heroes/sniper/headshot.txt: -------------------------------------------------------------------------------- 1 | "" 2 | { 3 | "ability_sniper_headshot" 4 | { 5 | "BaseClass" "ability_lua" 6 | "ScriptFile" "heroes/sniper/headshot.lua" 7 | "AbilityTextureName" "sniper_headshot" 8 | "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_PASSIVE" 9 | "AbilityUnitDamageType" "DAMAGE_TYPE_PHYSICAL" 10 | "SpellImmunityType" "SPELL_IMMUNITY_ENEMIES_NO" 11 | 12 | // Damage. 13 | //------------------------------------------------------------------------------------------------------------- 14 | "AbilityDamage" "20 50 80 110" 15 | 16 | // Special 17 | //------------------------------------------------------------------------------------------------------------- 18 | "AbilitySpecial" 19 | { 20 | "01" 21 | { 22 | "var_type" "FIELD_FLOAT" 23 | "slow_duration" "0.5" 24 | } 25 | "02" 26 | { 27 | "var_type" "FIELD_INTEGER" 28 | "proc_chance" "40" 29 | } 30 | "03" 31 | { 32 | "var_type" "FIELD_INTEGER" 33 | "knockback_distance" "10" 34 | "LinkedSpecialBonus" "special_bonus_unique_sniper_3" 35 | } 36 | "04" 37 | { 38 | "var_type" "FIELD_INTEGER" 39 | "slow" "-100" 40 | } 41 | } 42 | "AbilityCastAnimation" "ACT_DOTA_CAST_ABILITY_2" 43 | } 44 | } -------------------------------------------------------------------------------- /game/SpellLibraryLua/scripts/npc/heroes/spectre/desolate.txt: -------------------------------------------------------------------------------- 1 | "" 2 | { 3 | "ability_desolate" 4 | { 5 | "BaseClass" "ability_lua" 6 | "ScriptFile" "heroes/spectre/desolate" 7 | "AbilityTextureName" "spectre_desolate" 8 | "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_PASSIVE" 9 | "AbilityUnitDamageType" "DAMAGE_TYPE_PURE" 10 | "SpellImmunityType" "SPELL_IMMUNITY_ENEMIES_YES" 11 | 12 | // Special 13 | //------------------------------------------------------------------------------------------------------------- 14 | "AbilitySpecial" 15 | { 16 | "01" 17 | { 18 | "var_type" "FIELD_INTEGER" 19 | "bonus_damage" "20 30 40 50" 20 | "LinkedSpecialBonus" "special_bonus_unique_spectre_2" 21 | } 22 | "02" 23 | { 24 | "var_type" "FIELD_INTEGER" 25 | "radius" "500" 26 | } 27 | "03" 28 | { 29 | "var_type" "FIELD_INTEGER" 30 | "blind_pct" "40 50 60 70" 31 | } 32 | "04" 33 | { 34 | "var_type" "FIELD_FLOAT" 35 | "blind_duration" "5.0" 36 | } 37 | } 38 | "AbilityCastAnimation" "ACT_DOTA_CAST_ABILITY_2" 39 | } 40 | } -------------------------------------------------------------------------------- /game/SpellLibraryLua/scripts/npc/heroes/spectre/dispersion.txt: -------------------------------------------------------------------------------- 1 | "" 2 | { 3 | "ability_dispersion" 4 | { 5 | "BaseClass" "ability_lua" 6 | "ScriptFile" "heroes/spectre/dispersion" 7 | "AbilityTextureName" "spectre_dispersion" 8 | "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_PASSIVE" 9 | "SpellImmunityType" "SPELL_IMMUNITY_ENEMIES_YES" 10 | 11 | // Special 12 | //------------------------------------------------------------------------------------------------------------- 13 | "AbilitySpecial" 14 | { 15 | "01" 16 | { 17 | "var_type" "FIELD_INTEGER" 18 | "damage_reflection_pct" "7 12 17 22" 19 | "LinkedSpecialBonus" "special_bonus_unique_spectre_5" 20 | } 21 | "02" 22 | { 23 | "var_type" "FIELD_INTEGER" 24 | "min_radius" "300 300 300 300" 25 | } 26 | "03" 27 | { 28 | "var_type" "FIELD_INTEGER" 29 | "max_radius" "700" 30 | } 31 | } 32 | "AbilityCastAnimation" "ACT_DOTA_CAST_ABILITY_3" 33 | } 34 | } -------------------------------------------------------------------------------- /game/SpellLibraryLua/scripts/npc/heroes/storm_spirit/overload.txt: -------------------------------------------------------------------------------- 1 | "" 2 | { 3 | "ability_storm_spirit_overload" 4 | { 5 | "BaseClass" "ability_lua" 6 | "ScriptFile" "heroes/storm_spirit/overload.lua" 7 | "AbilityTextureName" "storm_spirit_overload" 8 | "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_PASSIVE" 9 | "AbilityUnitDamageType" "DAMAGE_TYPE_MAGICAL" 10 | "SpellImmunityType" "SPELL_IMMUNITY_ENEMIES_NO" 11 | "SpellDispellableType" "SPELL_DISPELLABLE_YES" 12 | "AbilitySound" "Hero_StormSpirit.Overload" 13 | 14 | "AbilityDuration" "0.6 0.6 0.6 0.6" 15 | 16 | // Stats 17 | //------------------------------------------------------------------------------------------------------------- 18 | "AbilityModifierSupportBonus" "40" 19 | 20 | // Special 21 | //------------------------------------------------------------------------------------------------------------- 22 | "AbilitySpecial" 23 | { 24 | "01" 25 | { 26 | "var_type" "FIELD_INTEGER" 27 | "overload_aoe" "300" 28 | } 29 | "02" 30 | { 31 | "var_type" "FIELD_INTEGER" 32 | "overload_move_slow" "-80" 33 | } 34 | "03" 35 | { 36 | "var_type" "FIELD_INTEGER" 37 | "overload_attack_slow" "-80" 38 | } 39 | "04" 40 | { 41 | "var_type" "FIELD_INTEGER" 42 | "overload_damage" "40 60 80 100" 43 | "LinkedSpecialBonus" "special_bonus_unique_storm_spirit_6" 44 | } 45 | } 46 | "AbilityCastAnimation" "ACT_DOTA_CAST_ABILITY_3" 47 | } 48 | } -------------------------------------------------------------------------------- /game/SpellLibraryLua/scripts/npc/heroes/sven/great_cleave.txt: -------------------------------------------------------------------------------- 1 | "" 2 | { 3 | "ability_sven_great_cleave" 4 | { 5 | "BaseClass" "ability_lua" 6 | "ScriptFile" "heroes/sven/great_cleave.lua" 7 | "AbilityTextureName" "sven_great_cleave" 8 | "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_PASSIVE" 9 | "SpellImmunityType" "SPELL_IMMUNITY_ENEMIES_YES" 10 | 11 | // Special 12 | //------------------------------------------------------------------------------------------------------------- 13 | "AbilitySpecial" 14 | { 15 | "01" 16 | { 17 | "var_type" "FIELD_INTEGER" 18 | "cleave_starting_width" "150" 19 | } 20 | "02" 21 | { 22 | "var_type" "FIELD_INTEGER" 23 | "cleave_ending_width" "360" 24 | } 25 | "03" 26 | { 27 | "var_type" "FIELD_INTEGER" 28 | "cleave_distance" "650" 29 | } 30 | "04" 31 | { 32 | "var_type" "FIELD_INTEGER" 33 | "great_cleave_damage" "30 50 70 90" 34 | } 35 | } 36 | "AbilityCastAnimation" "ACT_DOTA_CAST_ABILITY_2" 37 | } 38 | } -------------------------------------------------------------------------------- /game/SpellLibraryLua/scripts/npc/heroes/terrorblade/conjure_image.txt: -------------------------------------------------------------------------------- 1 | "DOTAAbilities" 2 | { 3 | "ability_conjure_image" 4 | { 5 | "BaseClass" "ability_lua" 6 | "ScriptFile" "heroes/terrorblade/conjure_image" 7 | "AbilityTextureName" "terrorblade_conjure_image" 8 | "FightRecapLevel" "1" 9 | 10 | "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_NO_TARGET" 11 | 12 | "AbilityCastPoint" "0.15" 13 | "AbilityCooldown" "16" 14 | "AbilityManaCost" "70 75 80 85" 15 | 16 | "AbilitySpecial" 17 | { 18 | "01" 19 | { 20 | "var_type" "FIELD_FLOAT" 21 | "illusion_duration" "34.0" 22 | "LinkedSpecialBonus" "special_bonus_unique_terrorblade_5" 23 | } 24 | "02" 25 | { 26 | "var_type" "FIELD_FLOAT" 27 | "illusion_outgoing_damage" "-70 -60 -50 -40" 28 | } 29 | "03" 30 | { 31 | "var_type" "FIELD_FLOAT" 32 | "illusion_outgoing_tooltip" "30 40 50 60" 33 | } 34 | "04" 35 | { 36 | "var_type" "FIELD_FLOAT" 37 | "illusion_incoming_damage" "220.0" 38 | } 39 | "05" 40 | { 41 | "var_type" "FIELD_FLOAT" 42 | "illusion_incoming_damage_total_tooltip" "320.0" 43 | } 44 | } 45 | } 46 | } -------------------------------------------------------------------------------- /game/SpellLibraryLua/scripts/npc/heroes/terrorblade/reflection.txt: -------------------------------------------------------------------------------- 1 | "DOTAAbilities" 2 | { 3 | "ability_reflection" 4 | { 5 | "BaseClass" "ability_lua" 6 | "ScriptFile" "heroes/terrorblade/reflection" 7 | "AbilityTextureName" "terrorblade_reflection" 8 | "FightRecapLevel" "1" 9 | 10 | "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_POINT | DOTA_ABILITY_BEHAVIOR_AOE" 11 | "SpellDispellableType" "SPELL_DISPELLABLE_YES" 12 | "SpellImmunityType" "SPELL_IMMUNITY_ENEMIES_NO" 13 | 14 | "AbilityCastRange" "700" 15 | "AbilityCastPoint" "0.3" 16 | 17 | "AbilityCooldown" "22 20 18 16" 18 | "AbilityManaCost" "50" 19 | 20 | "AbilitySpecial" 21 | { 22 | "01" 23 | { 24 | "var_type" "FIELD_FLOAT" 25 | "illusion_duration" "2.5 3.5 4.5 5.5" 26 | } 27 | "02" 28 | { 29 | "var_type" "FIELD_FLOAT" 30 | "illusion_outgoing_damage" "-60.0 -40.0 -20.0 0.0" 31 | } 32 | "03" 33 | { 34 | "var_type" "FIELD_FLOAT" 35 | "illusion_outgoing_tooltip" "40 60 80 100" 36 | } 37 | "04" 38 | { 39 | "var_type" "FIELD_INTEGER" 40 | "move_slow" "25" 41 | } 42 | "05" 43 | { 44 | "var_type" "FIELD_INTEGER" 45 | "range" "475" 46 | } 47 | } 48 | } 49 | } -------------------------------------------------------------------------------- /game/SpellLibraryLua/scripts/npc/heroes/terrorblade/sunder.txt: -------------------------------------------------------------------------------- 1 | "DOTAAbilities" 2 | { 3 | "ability_sunder" 4 | { 5 | "BaseClass" "ability_lua" 6 | "ScriptFile" "heroes/terrorblade/sunder" 7 | "AbilityTextureName" "terrorblade_sunder" 8 | "FightRecapLevel" "2" 9 | "MaxLevel" "3" 10 | 11 | "AbilityType" "DOTA_ABILITY_TYPE_ULTIMATE" 12 | "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_UNIT_TARGET | DOTA_ABILITY_BEHAVIOR_DONT_RESUME_ATTACK" 13 | "AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_BOTH" 14 | "AbilityUnitTargetType" "DOTA_UNIT_TARGET_CUSTOM" 15 | "AbilityUnitTargetFlags" "DOTA_UNIT_TARGET_FLAG_NOT_CREEP_HERO" 16 | "SpellImmunityType" "SPELL_IMMUNITY_ENEMIES_NO" 17 | 18 | "AbilityCastRange" "475" 19 | "AbilityCastPoint" "0.35" 20 | 21 | "AbilityCooldown" "120.0 80.0 40.0" 22 | "AbilityManaCost" "200 100 50" 23 | 24 | "AbilitySpecial" 25 | { 26 | "01" 27 | { 28 | "var_type" "FIELD_INTEGER" 29 | "hit_point_minimum_pct" "35 30 25" 30 | } 31 | } 32 | } 33 | } -------------------------------------------------------------------------------- /game/SpellLibraryLua/scripts/npc/heroes/tidehunter/kraken_shell.txt: -------------------------------------------------------------------------------- 1 | "" 2 | { 3 | "ability_tidehunter_kraken_shell" 4 | { 5 | "BaseClass" "ability_lua" 6 | "ScriptFile" "heroes/tidehunter/kraken_shell.lua" 7 | "AbilityTextureName" "tidehunter_kraken_shell" 8 | "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_PASSIVE" 9 | 10 | // Special 11 | //------------------------------------------------------------------------------------------------------------- 12 | "AbilitySpecial" 13 | { 14 | "01" 15 | { 16 | "var_type" "FIELD_INTEGER" 17 | "damage_reduction" "14 26 38 50" 18 | "LinkedSpecialBonus" "special_bonus_unique_tidehunter_4" 19 | "CalculateSpellDamageTooltip" "0" 20 | } 21 | "02" 22 | { 23 | "var_type" "FIELD_INTEGER" 24 | "damage_cleanse" "600 550 500 450" 25 | "CalculateSpellDamageTooltip" "0" 26 | } 27 | "03" 28 | { 29 | "var_type" "FIELD_FLOAT" 30 | "damage_reset_interval" "6.0 6.0 6.0 6.0" 31 | "CalculateSpellDamageTooltip" "0" 32 | } 33 | } 34 | "AbilityCastAnimation" "ACT_DOTA_CAST_ABILITY_2" 35 | } 36 | } -------------------------------------------------------------------------------- /game/SpellLibraryLua/scripts/npc/heroes/tinker/heat_seeking_missile.txt: -------------------------------------------------------------------------------- 1 | "DOTAAbilities" 2 | { 3 | "ability_heat_seeking_missile" 4 | { 5 | "BaseClass" "ability_lua" 6 | "ScriptFile" "heroes/tinker/heat_seeking_missile" 7 | "AbilityTextureName" "tinker_heat_seeking_missile" 8 | "FightRecapLevel" "1" 9 | "HasScepterUpgrade" "1" 10 | 11 | "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_NO_TARGET" 12 | "AbilityUnitDamageType" "DAMAGE_TYPE_MAGICAL" 13 | "SpellImmunityType" "SPELL_IMMUNITY_ENEMIES_NO" 14 | 15 | "AbilityCastRange" "2500" 16 | "AbilityCastPoint" "0" 17 | 18 | "AbilityCooldown" "18" 19 | "AbilityManaCost" "80 100 120 140" 20 | 21 | "AbilitySpecial" 22 | { 23 | "01" 24 | { 25 | "var_type" "FIELD_INTEGER" 26 | "damage" "125 200 275 350" 27 | } 28 | "02" 29 | { 30 | "var_type" "FIELD_INTEGER" 31 | "radius" "2500 2500 2500 2500" 32 | } 33 | "03" 34 | { 35 | "var_type" "FIELD_INTEGER" 36 | "targets" "2 2 2 2" 37 | } 38 | "04" 39 | { 40 | "var_type" "FIELD_INTEGER" 41 | "speed" "700" 42 | } 43 | "05" 44 | { 45 | "var_type" "FIELD_INTEGER" 46 | "targets_scepter" "4 4 4 4" 47 | "RequiresScepter" "1" 48 | } 49 | } 50 | } 51 | } -------------------------------------------------------------------------------- /game/SpellLibraryLua/scripts/npc/heroes/tinker/laser.txt: -------------------------------------------------------------------------------- 1 | "DOTAAbilities" 2 | { 3 | "ability_laser" 4 | { 5 | "BaseClass" "ability_lua" 6 | "ScriptFile" "heroes/tinker/laser" 7 | "AbilityTextureName" "tinker_laser" 8 | "FightRecapLevel" "1" 9 | "HasScepterUpgrade" "1" 10 | 11 | "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_UNIT_TARGET" 12 | "AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_ENEMY" 13 | "AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" 14 | "AbilityUnitDamageType" "DAMAGE_TYPE_PURE" 15 | "SpellDispellableType" "SPELL_DISPELLABLE_YES" 16 | "SpellImmunityType" "SPELL_IMMUNITY_ENEMIES_NO" 17 | 18 | "AbilityCastRange" "650" 19 | "AbilityCastPoint" "0.4" 20 | 21 | "AbilityCooldown" "20 18 16 14" 22 | "AbilityManaCost" "110 130 150 170" 23 | 24 | "AbilitySpecial" 25 | { 26 | "01" 27 | { 28 | "var_type" "FIELD_INTEGER" 29 | "miss_rate" "100 100 100 100" 30 | } 31 | "02" 32 | { 33 | "var_type" "FIELD_FLOAT" 34 | "duration_hero" "3 3.5 4 4.5" 35 | "LinkedSpecialBonus" "special_bonus_unique_tinker_4" 36 | } 37 | "03" 38 | { 39 | "var_type" "FIELD_FLOAT" 40 | "duration_creep" "6.0 6.0 6.0 6.0" 41 | "LinkedSpecialBonus" "special_bonus_unique_tinker_4" 42 | } 43 | "04" 44 | { 45 | "var_type" "FIELD_INTEGER" 46 | "laser_damage" "80 160 240 320" 47 | "LinkedSpecialBonus" "special_bonus_unique_tinker" 48 | } 49 | "05" 50 | { 51 | "var_type" "FIELD_INTEGER" 52 | "scepter_bounce_range" "400" 53 | "RequiresScepter" "1" 54 | } 55 | } 56 | } 57 | } -------------------------------------------------------------------------------- /game/SpellLibraryLua/scripts/npc/heroes/tinker/march_of_the_machines.txt: -------------------------------------------------------------------------------- 1 | "DOTAAbilities" 2 | { 3 | "ability_march_of_the_machines" 4 | { 5 | "BaseClass" "ability_lua" 6 | "ScriptFile" "heroes/tinker/march_of_the_machines" 7 | "AbilityTextureName" "tinker_march_of_the_machines" 8 | "FightRecapLevel" "1" 9 | "HasScepterUpgrade" "1" 10 | 11 | "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_POINT" 12 | "AbilityUnitDamageType" "DAMAGE_TYPE_MAGICAL" 13 | "SpellImmunityType" "SPELL_IMMUNITY_ENEMIES_NO" 14 | 15 | "AbilityCastRange" "300" 16 | "AbilityCastPoint" "0.53" 17 | 18 | "AbilityCooldown" "35.0" 19 | "AbilityManaCost" "145 150 165 190" 20 | 21 | "AbilitySpecial" 22 | { 23 | "01" 24 | { 25 | "var_type" "FIELD_INTEGER" 26 | "radius" "900" 27 | } 28 | "02" 29 | { 30 | "var_type" "FIELD_INTEGER" 31 | "collision_radius" "50 50 50 50" 32 | } 33 | "03" 34 | { 35 | "var_type" "FIELD_INTEGER" 36 | "splash_radius" "150 150 150 150" 37 | } 38 | "04" 39 | { 40 | "var_type" "FIELD_FLOAT" 41 | "duration" "6.0" 42 | "LinkedSpecialBonus" "special_bonus_unique_tinker_5" 43 | } 44 | "05" 45 | { 46 | "var_type" "FIELD_INTEGER" 47 | "speed" "400 400 400 400" 48 | } 49 | "06" 50 | { 51 | "var_type" "FIELD_INTEGER" 52 | "machines_per_sec" "24" 53 | } 54 | "07" 55 | { 56 | "var_type" "FIELD_INTEGER" 57 | "distance" "1800" 58 | } 59 | "08" 60 | { 61 | "var_type" "FIELD_INTEGER" 62 | "distance_scepter" "1800" 63 | } 64 | "09" 65 | { 66 | "var_type" "FIELD_INTEGER" 67 | "damage" "16 24 32 40" 68 | "LinkedSpecialBonus" "special_bonus_unique_tinker_2" 69 | } 70 | } 71 | } 72 | } -------------------------------------------------------------------------------- /game/SpellLibraryLua/scripts/npc/heroes/tinker/rearm.txt: -------------------------------------------------------------------------------- 1 | "DOTAAbilities" 2 | { 3 | "ability_rearm" 4 | { 5 | "BaseClass" "ability_lua" 6 | "ScriptFile" "heroes/tinker/rearm" 7 | "AbilityTextureName" "tinker_rearm" 8 | "FightRecapLevel" "2" 9 | "MaxLevel" "3" 10 | 11 | "AbilityType" "DOTA_ABILITY_TYPE_ULTIMATE" 12 | "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_NO_TARGET | DOTA_ABILITY_BEHAVIOR_CHANNELLED" 13 | 14 | "AbilityCastPoint" "0.53" 15 | "AbilityChannelTime" "3.0 1.5 0.75" 16 | 17 | "AbilityCooldown" "0" 18 | "AbilityManaCost" "100 200 300" 19 | 20 | "AbilitySpecial" 21 | { 22 | "01" 23 | { 24 | "var_type" "FIELD_FLOAT" 25 | "channel_tooltip" "3.0 1.5 0.75" 26 | } 27 | } 28 | } 29 | } -------------------------------------------------------------------------------- /game/SpellLibraryLua/scripts/npc/heroes/ursa/earthshock.txt: -------------------------------------------------------------------------------- 1 | "DOTAAbilities" 2 | { 3 | "ability_earthshock" 4 | { 5 | "BaseClass" "ability_lua" 6 | "ScriptFile" "heroes/ursa/earthshock" 7 | "AbilityTextureName" "ursa_earthshock" 8 | "FightRecapLevel" "1" 9 | 10 | "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_NO_TARGET | DOTA_ABILITY_BEHAVIOR_IGNORE_BACKSWING" 11 | "AbilityUnitDamageType" "DAMAGE_TYPE_MAGICAL" 12 | "SpellDispellableType" "SPELL_DISPELLABLE_YES" 13 | "SpellImmunityType" "SPELL_IMMUNITY_ENEMIES_NO" 14 | 15 | "AbilityCastPoint" "0" 16 | "AbilityDuration" "4.0" 17 | 18 | "AbilityCooldown" "11 10 9 8" 19 | "AbilityManaCost" "85" 20 | "AbilityDamage" "75 125 175 225" 21 | 22 | "AbilitySpecial" 23 | { 24 | "01" 25 | { 26 | "var_type" "FIELD_INTEGER" 27 | "shock_radius" "385" 28 | "LinkedSpecialBonus" "special_bonus_unique_ursa_5" 29 | } 30 | "02" 31 | { 32 | "var_type" "FIELD_INTEGER" 33 | "movement_slow" "-25 -35 -45 -55" 34 | } 35 | } 36 | } 37 | } -------------------------------------------------------------------------------- /game/SpellLibraryLua/scripts/npc/heroes/ursa/enrage.txt: -------------------------------------------------------------------------------- 1 | "DOTAAbilities" 2 | { 3 | "ability_enrage" 4 | { 5 | "BaseClass" "ability_lua" 6 | "ScriptFile" "heroes/ursa/enrage" 7 | "AbilityTextureName" "ursa_enrage" 8 | "FightRecapLevel" "1" 9 | "MaxLevel" "3" 10 | 11 | "AbilityType" "DOTA_ABILITY_TYPE_ULTIMATE" 12 | "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_NO_TARGET | DOTA_ABILITY_BEHAVIOR_IMMEDIATE" 13 | "SpellDispellableType" "SPELL_DISPELLABLE_NO" 14 | "SpellImmunityType" "SPELL_IMMUNITY_ENEMIES_YES" 15 | 16 | "HasScepterUpgrade" "1" 17 | 18 | "AbilityCastRange" "0" 19 | "AbilityCooldown" "70 50 30" 20 | "AbilityManaCost" "0" 21 | 22 | "AbilitySpecial" 23 | { 24 | "01" 25 | { 26 | "var_type" "FIELD_FLOAT" 27 | "enrage_multiplier" "1.5 1.75 2.0" 28 | } 29 | "02" 30 | { 31 | "var_type" "FIELD_INTEGER" 32 | "damage_reduction" "80" 33 | } 34 | "03" 35 | { 36 | "var_type" "FIELD_FLOAT" 37 | "duration" "4.0" 38 | "LinkedSpecialBonus" "special_bonus_unique_ursa_3" 39 | } 40 | "04" 41 | { 42 | "var_type" "FIELD_FLOAT" 43 | "cooldown_scepter" "30 24 18" 44 | } 45 | "05" 46 | { 47 | "var_type" "FIELD_INTEGER" 48 | "status_resistance" "50" 49 | } 50 | } 51 | } 52 | } -------------------------------------------------------------------------------- /game/SpellLibraryLua/scripts/npc/heroes/ursa/fury_swipes.txt: -------------------------------------------------------------------------------- 1 | "DOTAAbilities" 2 | { 3 | "ability_fury_swipes" 4 | { 5 | "BaseClass" "ability_lua" 6 | "ScriptFile" "heroes/ursa/fury_swipes" 7 | "AbilityTextureName" "ursa_fury_swipes" 8 | "FightRecapLevel" "1" 9 | 10 | "AbilityType" "DOTA_ABILITY_TYPE_BASIC" 11 | "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_PASSIVE" 12 | "AbilityUnitDamageType" "DAMAGE_TYPE_PHYSICAL" 13 | "SpellDispellableType" "SPELL_DISPELLABLE_NO" 14 | "SpellImmunityType" "SPELL_IMMUNITY_ENEMIES_YES" 15 | 16 | "AbilitySpecial" 17 | { 18 | "01" 19 | { 20 | "var_type" "FIELD_FLOAT" 21 | "bonus_reset_time" "8 12 16 20" 22 | "LinkedSpecialBonus" "special_bonus_unique_ursa_4" 23 | } 24 | "02" 25 | { 26 | "var_type" "FIELD_FLOAT" 27 | "bonus_reset_time_roshan" "10" 28 | } 29 | "03" 30 | { 31 | "var_type" "FIELD_INTEGER" 32 | "damage_per_stack" "9 18 27 36" 33 | "LinkedSpecialBonus" "special_bonus_unique_ursa" 34 | } 35 | } 36 | } 37 | } -------------------------------------------------------------------------------- /game/SpellLibraryLua/scripts/npc/heroes/ursa/overpower.txt: -------------------------------------------------------------------------------- 1 | "DOTAAbilities" 2 | { 3 | "ability_overpower" 4 | { 5 | "BaseClass" "ability_lua" 6 | "ScriptFile" "heroes/ursa/overpower" 7 | "AbilityTextureName" "ursa_overpower" 8 | "FightRecapLevel" "1" 9 | "MaxLevel" "4" 10 | 11 | "AbilityType" "DOTA_ABILITY_TYPE_BASIC" 12 | "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_NO_TARGET | DOTA_ABILITY_BEHAVIOR_IGNORE_BACKSWING" 13 | "SpellDispellableType" "SPELL_DISPELLABLE_YES" 14 | 15 | "AbilityCastRange" "0" 16 | "AbilityCastPoint" "0.3" 17 | "AbilityDuration" "20" 18 | "AbilityCooldown" "15 13 11 9" 19 | "AbilityManaCost" "40 50 60 70" 20 | 21 | "AbilitySpecial" 22 | { 23 | "01" 24 | { 25 | "var_type" "FIELD_INTEGER" 26 | "max_attacks" "3 4 5 6" 27 | "LinkedSpecialBonus" "special_bonus_unique_ursa_7" 28 | } 29 | "02" 30 | { 31 | "var_type" "FIELD_INTEGER" 32 | "attack_speed_bonus" "400" 33 | } 34 | } 35 | } 36 | } -------------------------------------------------------------------------------- /game/SpellLibraryLua/scripts/npc/heroes/weaver/geminate_attack.txt: -------------------------------------------------------------------------------- 1 | "" 2 | { 3 | "ability_geminate_attack" 4 | { 5 | "BaseClass" "ability_lua" 6 | "ScriptFile" "heroes/weaver/geminate_attack.lua" 7 | "AbilityTextureName" "weaver_geminate_attack" 8 | "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_PASSIVE" 9 | "SpellImmunityType" "SPELL_IMMUNITY_ENEMIES_YES" 10 | 11 | // Casting 12 | //------------------------------------------------------------------------------------------------------------- 13 | "AbilityCastPoint" "0" 14 | "AbilityCastRange" "0" 15 | "AbilityCastAnimation" "ACT_DOTA_CAST_ABILITY_3" 16 | 17 | // Time 18 | //------------------------------------------------------------------------------------------------------------- 19 | "AbilityCooldown" "9.0 7.0 5.0 3.0" 20 | 21 | // Cost 22 | //------------------------------------------------------------------------------------------------------------- 23 | "AbilityManaCost" "0" 24 | 25 | 26 | // Special 27 | //------------------------------------------------------------------------------------------------------------- 28 | "AbilitySpecial" 29 | { 30 | "01" 31 | { 32 | "var_type" "FIELD_FLOAT" 33 | "delay" "0.25" 34 | } 35 | "02" 36 | { 37 | "var_type" "FIELD_INTEGER" 38 | "tooltip_attack" "1" 39 | } 40 | "03" 41 | { 42 | "var_type" "FIELD_INTEGER" 43 | "bonus_damage" "10 25 40 55" 44 | } 45 | } 46 | } 47 | } -------------------------------------------------------------------------------- /game/SpellLibraryLua/scripts/npc/heroes/zuus/static_field.txt: -------------------------------------------------------------------------------- 1 | "" 2 | { 3 | "ability_zuus_static_field" 4 | { 5 | "BaseClass" "ability_lua" 6 | "ScriptFile" "heroes/zuus/static_field.lua" 7 | "AbilityTextureName" "zuus_static_field" 8 | "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_PASSIVE" 9 | "AbilityUnitDamageType" "DAMAGE_TYPE_MAGICAL" 10 | "SpellImmunityType" "SPELL_IMMUNITY_ENEMIES_NO" 11 | 12 | // Special 13 | //------------------------------------------------------------------------------------------------------------- 14 | "AbilitySpecial" 15 | { 16 | "01" 17 | { 18 | "var_type" "FIELD_FLOAT" 19 | "damage_health_pct" "6 8 10 12" 20 | "LinkedSpecialBonus" "special_bonus_unique_zeus" 21 | "CalculateSpellDamageTooltip" "0" 22 | } 23 | } 24 | "AbilityCastAnimation" "ACT_DOTA_CAST_ABILITY_3" 25 | } 26 | } -------------------------------------------------------------------------------- /game/SpellLibraryLua/scripts/npc/npc_items_custom.txt: -------------------------------------------------------------------------------- 1 | "DOTAAbilities" 2 | { 3 | } -------------------------------------------------------------------------------- /game/SpellLibraryLua/scripts/vscripts/addon_game_mode.lua: -------------------------------------------------------------------------------- 1 | -- Generated from template 2 | 3 | function Precache( context ) 4 | --[[ 5 | Precache things we know we'll use. Possible file types include (but not limited to): 6 | PrecacheResource( "model", "*.vmdl", context ) 7 | PrecacheResource( "soundfile", "*.vsndevts", context ) 8 | PrecacheResource( "particle", "*.vpcf", context ) 9 | PrecacheResource( "particle_folder", "particles/folder", context ) 10 | ]] 11 | end 12 | require('gamemode') 13 | -- Create the game mode when we activate 14 | function Activate() 15 | GameRules.AddonTemplate = GameMode() 16 | GameRules.AddonTemplate:InitGameMode() 17 | end 18 | 19 | -------------------------------------------------------------------------------- /game/SpellLibraryLua/scripts/vscripts/events.lua: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vulkantsk/SpellLibraryLua/5e41bd65abef570460dfbfeb4557225053165537/game/SpellLibraryLua/scripts/vscripts/events.lua -------------------------------------------------------------------------------- /game/SpellLibraryLua/scripts/vscripts/gamemode.lua: -------------------------------------------------------------------------------- 1 | 2 | if GameMode == nil then 3 | GameMode = class({}) 4 | end 5 | 6 | require('util/timers'); 7 | require('util/util'); 8 | require('events'); 9 | require('filter'); 10 | require('modules/index'); 11 | function GameMode:InitGameMode() 12 | GameMode:ActivateFilters() 13 | InitModules() 14 | end -------------------------------------------------------------------------------- /game/SpellLibraryLua/scripts/vscripts/heroes/antimage/blink.lua: -------------------------------------------------------------------------------- 1 | ability_blink = class({}) 2 | 3 | function ability_blink:OnSpellStart() 4 | -- unit identifier 5 | local caster = self:GetCaster() 6 | local point = self:GetCursorPosition() 7 | local origin = caster:GetOrigin() 8 | 9 | -- load data 10 | local max_range = self:GetSpecialValueFor("blink_range") 11 | local min_blink_range = self:GetSpecialValueFor("min_blink_range") 12 | 13 | -- determine target position 14 | local direction = (point - origin) 15 | if direction:Length2D() > max_range then 16 | direction = direction:Normalized() * max_range 17 | end 18 | 19 | if direction:Length2D() < min_blink_range then 20 | direction = direction:Normalized() * min_blink_range 21 | end 22 | 23 | -- teleport 24 | FindClearSpaceForUnit( caster, origin + direction, true ) 25 | 26 | local effect_cast_a = ParticleManager:CreateParticle( "particles/units/heroes/hero_antimage/antimage_blink_start.vpcf", PATTACH_ABSORIGIN_FOLLOW, self:GetCaster() ) 27 | ParticleManager:SetParticleControl( effect_cast_a, 0, origin ) 28 | ParticleManager:SetParticleControlForward( effect_cast_a, 0, direction:Normalized() ) 29 | ParticleManager:ReleaseParticleIndex( effect_cast_a ) 30 | EmitSoundOnLocationWithCaster( origin, "Hero_Antimage.Blink_out", self:GetCaster() ) 31 | 32 | local effect_cast_b = ParticleManager:CreateParticle( "particles/units/heroes/hero_antimage/antimage_blink_end.vpcf", PATTACH_ABSORIGIN, self:GetCaster() ) 33 | ParticleManager:SetParticleControl( effect_cast_b, 0, self:GetCaster():GetOrigin() ) 34 | ParticleManager:SetParticleControlForward( effect_cast_b, 0, direction:Normalized() ) 35 | ParticleManager:ReleaseParticleIndex( effect_cast_b ) 36 | EmitSoundOnLocationWithCaster( self:GetCaster():GetOrigin(), "Hero_Antimage.Blink_in", self:GetCaster() ) 37 | end -------------------------------------------------------------------------------- /game/SpellLibraryLua/scripts/vscripts/heroes/bane/brain_sap.lua: -------------------------------------------------------------------------------- 1 | ability_brain_sap = class({}) 2 | 3 | function ability_brain_sap:OnSpellStart() 4 | 5 | local caster = self:GetCaster() 6 | local target = self:GetCursorTarget() 7 | 8 | -- load data 9 | local damage = self:GetSpecialValueFor("brain_sap_damage") 10 | local heal = self:GetSpecialValueFor("tooltip_brain_sap_heal_amt") 11 | 12 | -- cancel if linken 13 | if target:TriggerSpellAbsorb( self ) then 14 | return 15 | end 16 | 17 | -- damage 18 | local damageTable = { 19 | victim = target, 20 | attacker = caster, 21 | damage = damage, 22 | damage_type = DAMAGE_TYPE_PURE, 23 | ability = self, --Optional. 24 | } 25 | caster:Heal( ApplyDamage(damageTable), self ) 26 | 27 | -- Create Particle 28 | local effect_cast = ParticleManager:CreateParticle( "particles/units/heroes/hero_bane/bane_sap.vpcf", PATTACH_ABSORIGIN_FOLLOW, self:GetCaster() ) 29 | ParticleManager:SetParticleControlEnt( 30 | effect_cast, 31 | 0, 32 | self:GetCaster(), 33 | PATTACH_POINT_FOLLOW, 34 | "attach_hitloc", 35 | self:GetCaster():GetOrigin(), -- unknown 36 | true -- unknown, true 37 | ) 38 | ParticleManager:SetParticleControlEnt( 39 | effect_cast, 40 | 1, 41 | target, 42 | PATTACH_POINT_FOLLOW, 43 | "attach_hitloc", 44 | target:GetOrigin(), -- unknown 45 | true -- unknown, true 46 | ) 47 | ParticleManager:ReleaseParticleIndex( effect_cast ) 48 | 49 | -- Create Sound 50 | EmitSoundOn( "Hero_Bane.BrainSap", self:GetCaster() ) 51 | EmitSoundOn( "Hero_Bane.BrainSap.Target", target ) 52 | 53 | end -------------------------------------------------------------------------------- /game/SpellLibraryLua/scripts/vscripts/heroes/bane/nightmare_end.lua: -------------------------------------------------------------------------------- 1 | ability_nightmare_end = class({}) 2 | function ability_nightmare_end:OnSpellStart() 3 | self.parentAbility:EndNightmare( true ) 4 | 5 | self:SetHidden(true) 6 | self.parentAbility:SetHidden(false) 7 | end -------------------------------------------------------------------------------- /game/SpellLibraryLua/scripts/vscripts/heroes/centaur/hoof_stomp.lua: -------------------------------------------------------------------------------- 1 | ability_hoof_stomp = class({}) 2 | 3 | 4 | function ability_hoof_stomp:OnSpellStart() 5 | 6 | local radius = self:GetSpecialValueFor('radius') 7 | local duration = self:GetSpecialValueFor('stun_duration') 8 | local damage = self:GetSpecialValueFor('stomp_damage') 9 | 10 | local nfx = ParticleManager:CreateParticle('particles/units/heroes/hero_centaur/centaur_warstomp.vpcf', PATTACH_ABSORIGIN, self:GetCaster()) 11 | ParticleManager:SetParticleControl(nfx, 1, Vector(radius,radius,radius)) 12 | ParticleManager:SetParticleControl(nfx, 2, self:GetCaster():GetOrigin()) 13 | ParticleManager:SetParticleControl(nfx, 3, self:GetCaster():GetOrigin()) 14 | ParticleManager:SetParticleControl(nfx, 4, self:GetCaster():GetOrigin()) 15 | ParticleManager:SetParticleControl(nfx, 5, self:GetCaster():GetOrigin()) 16 | ParticleManager:ReleaseParticleIndex(nfx) 17 | self:GetCaster():EmitSound('Hero_Centaur.HoofStomp') 18 | 19 | local units = FindUnitsInRadius(self:GetCaster():GetTeam(), 20 | self:GetCaster():GetOrigin(), 21 | nil, 22 | radius, 23 | DOTA_UNIT_TARGET_TEAM_ENEMY, 24 | DOTA_UNIT_TARGET_HERO + DOTA_UNIT_TARGET_BASIC, 25 | self:GetAbilityTargetFlags(), 26 | FIND_ANY_ORDER, 27 | false) 28 | for _,unit in pairs(units) do 29 | unit:AddNewModifier(self:GetCaster(), self, 'modifier_stunned', {duration = duration}) 30 | 31 | ApplyDamage({ 32 | victim = unit, 33 | attacker = self:GetCaster(), 34 | damage_type = self:GetAbilityDamageType(), 35 | damage = damage, 36 | ability = self, 37 | }) 38 | end 39 | 40 | end -------------------------------------------------------------------------------- /game/SpellLibraryLua/scripts/vscripts/heroes/dragon_knight/dragon_blood.lua: -------------------------------------------------------------------------------- 1 | ability_dragon_blood = {} 2 | 3 | LinkLuaModifier( "modifier_ability_dragon_blood", "heroes/dragon_knight/dragon_blood", LUA_MODIFIER_MOTION_NONE ) 4 | 5 | function ability_dragon_blood:GetIntrinsicModifierName() 6 | return "modifier_ability_dragon_blood" 7 | end 8 | 9 | modifier_ability_dragon_blood = {} 10 | 11 | function modifier_ability_dragon_blood:IsHidden() 12 | return true 13 | end 14 | 15 | function modifier_ability_dragon_blood:DeclareFunctions() 16 | return { 17 | MODIFIER_PROPERTY_HEALTH_REGEN_CONSTANT, 18 | MODIFIER_PROPERTY_PHYSICAL_ARMOR_BONUS, 19 | } 20 | end 21 | 22 | function modifier_ability_dragon_blood:GetModifierConstantHealthRegen() 23 | if not self:GetParent():PassivesDisabled() then 24 | return self:GetAbility():GetSpecialValueFor( "bonus_health_regen" ) 25 | end 26 | end 27 | 28 | function modifier_ability_dragon_blood:GetModifierPhysicalArmorBonus() 29 | if not self:GetParent():PassivesDisabled() then 30 | return self:GetAbility():GetSpecialValueFor( "bonus_armor" ) 31 | end 32 | end -------------------------------------------------------------------------------- /game/SpellLibraryLua/scripts/vscripts/heroes/earth_spirit/geomagnetic_grip.lua: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vulkantsk/SpellLibraryLua/5e41bd65abef570460dfbfeb4557225053165537/game/SpellLibraryLua/scripts/vscripts/heroes/earth_spirit/geomagnetic_grip.lua -------------------------------------------------------------------------------- /game/SpellLibraryLua/scripts/vscripts/heroes/luna/lunar_blessing.lua: -------------------------------------------------------------------------------- 1 | LinkLuaModifier( "modifier_ability_lunar_blessing", "heroes/luna/lunar_blessing", LUA_MODIFIER_MOTION_NONE ) 2 | LinkLuaModifier( "modifier_ability_lunar_blessing_bonus", "heroes/luna/lunar_blessing", LUA_MODIFIER_MOTION_NONE ) 3 | 4 | ability_lunar_blessing = {} 5 | 6 | function ability_lunar_blessing:GetIntrinsicModifierName() 7 | return "modifier_ability_lunar_blessing" 8 | end 9 | 10 | modifier_ability_lunar_blessing = {} 11 | 12 | function modifier_ability_lunar_blessing:IsHidden() 13 | return true 14 | end 15 | 16 | function modifier_ability_lunar_blessing:IsAura() 17 | if self:GetParent():PassivesDisabled() then return false end 18 | 19 | return true 20 | end 21 | 22 | function modifier_ability_lunar_blessing:GetModifierAura() 23 | return "modifier_ability_lunar_blessing_bonus" 24 | end 25 | 26 | function modifier_ability_lunar_blessing:GetAuraRadius() 27 | if self:GetParent():PassivesDisabled() then return 0 end 28 | 29 | return self:GetAbility():GetSpecialValueFor( "radius" ) 30 | end 31 | 32 | function modifier_ability_lunar_blessing:GetAuraSearchTeam() 33 | return DOTA_UNIT_TARGET_TEAM_FRIENDLY 34 | end 35 | 36 | function modifier_ability_lunar_blessing:GetAuraSearchType() 37 | return DOTA_UNIT_TARGET_HERO 38 | end 39 | 40 | modifier_ability_lunar_blessing_bonus = {} 41 | 42 | function modifier_ability_lunar_blessing_bonus:DeclareFunctions() 43 | return { 44 | MODIFIER_PROPERTY_DAMAGEOUTGOING_PERCENTAGE, 45 | MODIFIER_PROPERTY_BONUS_NIGHT_VISION 46 | } 47 | end 48 | 49 | function modifier_ability_lunar_blessing_bonus:GetBonusNightVision() 50 | return self:GetAbility():GetSpecialValueFor( "bonus_night_vision" ) 51 | end 52 | 53 | function modifier_ability_lunar_blessing_bonus:GetModifierDamageOutgoing_Percentage() 54 | return self:GetAbility():GetSpecialValueFor( "bonus_damage" ) 55 | end -------------------------------------------------------------------------------- /game/SpellLibraryLua/scripts/vscripts/heroes/naga_siren/song_of_the_siren_cancel.lua: -------------------------------------------------------------------------------- 1 | ability_song_of_the_siren_cancel = {} 2 | 3 | function ability_song_of_the_siren_cancel:OnSpellStart() 4 | self.modifier:End() 5 | self.modifier = nil 6 | end -------------------------------------------------------------------------------- /game/SpellLibraryLua/scripts/vscripts/heroes/nyx_assassin/mana_burn.lua: -------------------------------------------------------------------------------- 1 | if ability_nyx_assassin_mana_burn == nil then 2 | ability_nyx_assassin_mana_burn = class({}) 3 | end 4 | 5 | -------------------------------------------------------------------------------- 6 | 7 | function ability_nyx_assassin_mana_burn:OnSpellStart() 8 | local caster = self:GetCaster() 9 | local target = self:GetCursorTarget() 10 | local float_multiplier = self:GetSpecialValueFor("float_multiplier") 11 | 12 | if target:TriggerSpellAbsorb(self) then return end 13 | 14 | EmitSoundOn("Hero_NyxAssassin.ManaBurn.Cast", caster) 15 | 16 | EmitSoundOn("Hero_NyxAssassin.ManaBurn.Target", target) 17 | 18 | local fx = ParticleManager:CreateParticle("particles/units/heroes/hero_nyx_assassin/nyx_assassin_mana_burn.vpcf", PATTACH_ABSORIGIN_FOLLOW, target) 19 | ParticleManager:ReleaseParticleIndex(fx) 20 | 21 | local mana = target:GetMana() 22 | local int = target:GetIntellect() 23 | local damage = int * float_multiplier 24 | if mana < damage then 25 | damage = mana 26 | end 27 | 28 | local damageTable = { 29 | victim = target, 30 | attacker = caster, 31 | damage = damage, 32 | damage_type = self:GetAbilityDamageType(), 33 | ability = self 34 | } 35 | 36 | ApplyDamage(damageTable) 37 | 38 | target:ReduceMana(damage) 39 | 40 | SendOverheadEventMessage( target, OVERHEAD_ALERT_MANA_LOSS, target, damage, nil ) 41 | end -------------------------------------------------------------------------------- /game/SpellLibraryLua/scripts/vscripts/heroes/ogre_magi/fireblast.lua: -------------------------------------------------------------------------------- 1 | ability_fireblast = {} 2 | 3 | function ability_fireblast:OnSpellStart() 4 | local caster = self:GetCaster() 5 | local target = self:GetCursorTarget() 6 | 7 | if target:TriggerSpellAbsorb( self ) then 8 | return 9 | end 10 | 11 | ApplyDamage( { 12 | victim = target, 13 | attacker = caster, 14 | damage = self:GetSpecialValueFor( "fireblast_damage" ), 15 | damage_type = self:GetAbilityDamageType(), 16 | ability = self 17 | } ) 18 | 19 | target:AddNewModifier( 20 | self:GetCaster(), 21 | self, 22 | "modifier_stunned", 23 | {duration = self:GetSpecialValueFor( "stun_duration" )} 24 | ) 25 | 26 | local effect_cast = ParticleManager:CreateParticle( 27 | "particles/units/heroes/hero_ogre_magi/ogre_magi_fireblast.vpcf", 28 | PATTACH_ABSORIGIN_FOLLOW, 29 | target 30 | ) 31 | ParticleManager:SetParticleControlEnt( 32 | effect_cast, 33 | 0, 34 | target, 35 | PATTACH_POINT_FOLLOW, 36 | "attach_hitloc", 37 | Vector(), 38 | true 39 | ) 40 | ParticleManager:SetParticleControl( effect_cast, 1, target:GetOrigin() ) 41 | ParticleManager:ReleaseParticleIndex( effect_cast ) 42 | 43 | EmitSoundOn( "Hero_OgreMagi.Fireblast.Cast", self:GetCaster() ) 44 | EmitSoundOn( "Hero_OgreMagi.Fireblast.Target", target ) 45 | end -------------------------------------------------------------------------------- /game/SpellLibraryLua/scripts/vscripts/heroes/ogre_magi/unrefined_fireblast.lua: -------------------------------------------------------------------------------- 1 | ability_fireblast = {} 2 | 3 | function ability_fireblast:GetManaCost( level ) 4 | local pct = self:GetSpecialValueFor( "scepter_mana" ) 5 | 6 | return math.floor( self:GetCaster():GetMana() * pct ) 7 | end 8 | 9 | function ability_fireblast:OnSpellStart() 10 | local caster = self:GetCaster() 11 | local target = self:GetCursorTarget() 12 | 13 | if target:TriggerSpellAbsorb( self ) then 14 | return 15 | end 16 | 17 | ApplyDamage( { 18 | victim = target, 19 | attacker = caster, 20 | damage = self:GetSpecialValueFor( "fireblast_damage" ), 21 | damage_type = self:GetAbilityDamageType(), 22 | ability = self 23 | } ) 24 | 25 | target:AddNewModifier( 26 | self:GetCaster(), 27 | self, 28 | "modifier_stunned", 29 | {duration = self:GetSpecialValueFor( "stun_duration" )} 30 | ) 31 | 32 | local effect_cast = ParticleManager:CreateParticle( 33 | "particles/units/heroes/hero_ogre_magi/ogre_magi_unr_fireblast.vpcf", 34 | PATTACH_ABSORIGIN_FOLLOW, 35 | target 36 | ) 37 | ParticleManager:SetParticleControlEnt( 38 | effect_cast, 39 | 0, 40 | target, 41 | PATTACH_POINT_FOLLOW, 42 | "attach_hitloc", 43 | Vector(), 44 | true 45 | ) 46 | ParticleManager:SetParticleControl( effect_cast, 1, target:GetOrigin() ) 47 | ParticleManager:ReleaseParticleIndex( effect_cast ) 48 | 49 | EmitSoundOn( "Hero_OgreMagi.Fireblast.Cast", self:GetCaster() ) 50 | EmitSoundOn( "Hero_OgreMagi.Fireblast.Target", target ) 51 | end -------------------------------------------------------------------------------- /game/SpellLibraryLua/scripts/vscripts/heroes/puck/phase_shift.lua: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vulkantsk/SpellLibraryLua/5e41bd65abef570460dfbfeb4557225053165537/game/SpellLibraryLua/scripts/vscripts/heroes/puck/phase_shift.lua -------------------------------------------------------------------------------- /game/SpellLibraryLua/scripts/vscripts/heroes/puck/waning_rift.lua: -------------------------------------------------------------------------------- 1 | puck_waning_rift_lua = {} 2 | 3 | function puck_waning_rift_lua:OnSpellStart() 4 | local caster = self:GetCaster() 5 | local pos = caster:GetAbsOrigin() 6 | local radius = self:GetSpecialValueFor("radius") 7 | local duration = self:GetSpecialValueFor("silence_duration") 8 | local damage = self:GetSpecialValueFor("damage") 9 | local enemies = FindUnitsInRadius( 10 | caster:GetTeamNumber(), 11 | pos, 12 | nil, 13 | radius, 14 | DOTA_UNIT_TARGET_TEAM_ENEMY, 15 | DOTA_UNIT_TARGET_HERO + DOTA_UNIT_TARGET_BASIC, 16 | 0, 17 | 0, 18 | false 19 | ) 20 | 21 | local damageTable = { 22 | attacker = caster, 23 | damage = damage, 24 | damage_type = DAMAGE_TYPE_MAGICAL, 25 | ability = self, 26 | damage_flags = DOTA_DAMAGE_FLAG_NONE, 27 | } 28 | for _,enemy in pairs(enemies) do 29 | damageTable.victim = enemy 30 | ApplyDamage(damageTable) 31 | 32 | enemy:AddNewModifier( 33 | caster, 34 | self, 35 | "modifier_silenced", 36 | { duration = duration } 37 | ) 38 | end 39 | 40 | local effect_cast = ParticleManager:CreateParticle( 41 | "particles/units/heroes/hero_puck/puck_waning_rift.vpcf", 42 | PATTACH_WORLDORIGIN, 43 | caster 44 | ) 45 | ParticleManager:SetParticleControl( effect_cast, 0, pos ) 46 | ParticleManager:SetParticleControl( effect_cast, 1, Vector( radius, radius, radius ) ) 47 | ParticleManager:ReleaseParticleIndex( effect_cast ) 48 | 49 | EmitSoundOnLocationWithCaster( caster:GetAbsOrigin(), "Hero_Puck.Waning_Rift", caster ) 50 | end -------------------------------------------------------------------------------- /game/SpellLibraryLua/scripts/vscripts/heroes/queenofpain/blink.lua: -------------------------------------------------------------------------------- 1 | ability_qop_blink = {} 2 | 3 | function ability_qop_blink:OnSpellStart() 4 | local caster = self:GetCaster() 5 | local point = self:GetCursorPosition() 6 | local origin = caster:GetOrigin() 7 | 8 | local max_range = self:GetSpecialValueFor("blink_range") 9 | 10 | local direction = (point - origin) 11 | if direction:Length2D() > max_range then 12 | direction = direction:Normalized() * max_range 13 | end 14 | 15 | FindClearSpaceForUnit( caster, origin + direction, true ) 16 | 17 | local effect_cast_a = ParticleManager:CreateParticle( 18 | "particles/units/heroes/hero_queenofpain/queen_blink_start.vpcf", 19 | PATTACH_ABSORIGIN, 20 | self:GetCaster() 21 | ) 22 | ParticleManager:SetParticleControl( effect_cast_a, 0, origin ) 23 | ParticleManager:SetParticleControlForward( effect_cast_a, 0, direction:Normalized() ) 24 | ParticleManager:SetParticleControl( effect_cast_a, 1, origin + direction ) 25 | ParticleManager:ReleaseParticleIndex( effect_cast_a ) 26 | EmitSoundOnLocationWithCaster( origin, "Hero_QueenOfPain.Blink_out", self:GetCaster() ) 27 | 28 | local effect_cast_b = ParticleManager:CreateParticle( 29 | "particles/units/heroes/hero_queenofpain/queen_blink_end.vpcf", 30 | PATTACH_ABSORIGIN, 31 | self:GetCaster() 32 | ) 33 | ParticleManager:SetParticleControl( effect_cast_b, 0, self:GetCaster():GetOrigin() ) 34 | ParticleManager:SetParticleControlForward( effect_cast_b, 0, direction:Normalized() ) 35 | ParticleManager:ReleaseParticleIndex( effect_cast_b ) 36 | EmitSoundOnLocationWithCaster( self:GetCaster():GetOrigin(), "Hero_QueenOfPain.Blink_in", self:GetCaster() ) 37 | end -------------------------------------------------------------------------------- /game/SpellLibraryLua/scripts/vscripts/heroes/queenofpain/scream_of_pain.lua: -------------------------------------------------------------------------------- 1 | ability_scream_of_pain = {} 2 | 3 | function ability_scream_of_pain:OnSpellStart() 4 | self.caster = self:GetCaster() 5 | local point = self:GetCaster():GetOrigin() 6 | 7 | local radius = self:GetSpecialValueFor("area_of_effect") 8 | self.screamDamage = self:GetAbilityDamage() 9 | 10 | local projectile_name = "particles/units/heroes/hero_queenofpain/queen_scream_of_pain.vpcf" 11 | local projectile_speed = self:GetSpecialValueFor("projectile_speed") 12 | 13 | local enemies = FindUnitsInRadius( 14 | self:GetCaster():GetTeamNumber(), 15 | point, 16 | nil, 17 | radius, 18 | DOTA_UNIT_TARGET_TEAM_ENEMY, 19 | DOTA_UNIT_TARGET_HERO + DOTA_UNIT_TARGET_BASIC, 20 | 0, 21 | 0, 22 | false 23 | ) 24 | 25 | local info = { 26 | Source = caster, 27 | Ability = self, 28 | EffectName = projectile_name, 29 | iMoveSpeed = projectile_speed, 30 | vSourceLoc= point, 31 | bDodgeable = false, 32 | bVisibleToEnemies = true, 33 | bReplaceExisting = false, 34 | bProvidesVision = false 35 | } 36 | 37 | for _,enemy in pairs(enemies) do 38 | info.Target = enemy 39 | ProjectileManager:CreateTrackingProjectile(info) 40 | end 41 | 42 | local effect_cast = ParticleManager:CreateParticle( 43 | "particles/units/heroes/hero_queenofpain/queen_scream_of_pain_owner.vpcf", 44 | PATTACH_ABSORIGIN, 45 | self:GetCaster() 46 | ) 47 | ParticleManager:ReleaseParticleIndex( effect_cast ) 48 | 49 | EmitSoundOn( "Hero_QueenOfPain.ScreamOfPain", self:GetCaster() ) 50 | end 51 | 52 | function ability_scream_of_pain:OnProjectileHit( target, location ) 53 | ApplyDamage({ 54 | victim = target, 55 | attacker = self.caster, 56 | damage = self.screamDamage, 57 | damage_type = DAMAGE_TYPE_MAGICAL, 58 | ability = self, 59 | }) 60 | end -------------------------------------------------------------------------------- /game/SpellLibraryLua/scripts/vscripts/heroes/queenofpain/sonic_wave.lua: -------------------------------------------------------------------------------- 1 | ability_sonic_wave = {} 2 | 3 | function ability_sonic_wave:OnSpellStart() 4 | local caster = self:GetCaster() 5 | ProjectileManager:CreateLinearProjectile({ 6 | Source = caster, 7 | Ability = self, 8 | vSpawnOrigin = caster:GetAbsOrigin(), 9 | EffectName = "particles/units/heroes/hero_queenofpain/queen_sonic_wave.vpcf", 10 | fDistance = self:GetSpecialValueFor("distance"), 11 | fStartRadius = self:GetSpecialValueFor("starting_aoe"), 12 | fEndRadius = self:GetSpecialValueFor("final_aoe"), 13 | bHasFrontalCone = false, 14 | vVelocity = (self:GetCursorPosition()-caster:GetAbsOrigin()):Normalized() * self:GetSpecialValueFor("speed"), 15 | bDeleteOnHit = false, 16 | bReplaceExisting = false, 17 | iUnitTargetTeam = DOTA_UNIT_TARGET_TEAM_ENEMY, 18 | iUnitTargetFlags = DOTA_UNIT_TARGET_FLAG_NONE, 19 | iUnitTargetType = DOTA_UNIT_TARGET_HERO + DOTA_UNIT_TARGET_BASIC, 20 | bProvidesVision = false, 21 | }) 22 | 23 | EmitSoundOn( "Hero_QueenOfPain.SonicWave", caster ) 24 | end 25 | 26 | function ability_sonic_wave:OnProjectileHit( target, location ) 27 | ApplyDamage({ 28 | victim = target, 29 | attacker = self:GetCaster(), 30 | damage = self:GetSpecialValueFor("damage"), 31 | damage_type = DAMAGE_TYPE_PURE, 32 | ability = self 33 | }) 34 | end -------------------------------------------------------------------------------- /game/SpellLibraryLua/scripts/vscripts/heroes/skywrath_mage/ancient_seal.lua: -------------------------------------------------------------------------------- 1 | LinkLuaModifier("modifier_skywrath_mage_ancient_seal", "heroes/skywrath_mage/ancient_seal.lua", 0) 2 | 3 | ability_skywrath_mage_ancient_seal = class({}) 4 | 5 | function ability_skywrath_mage_ancient_seal:OnSpellStart() 6 | local caster = self:GetCaster() 7 | local target = self:GetCursorTarget() 8 | local duration = self:GetSpecialValueFor("seal_duration") 9 | 10 | if not target:TriggerSpellAbsorb(self) then 11 | target:AddNewModifier(caster, self, "modifier_skywrath_mage_ancient_seal", {duration = duration}) 12 | target:EmitSound("Hero_SkywrathMage.AncientSeal.Target") 13 | end 14 | end 15 | 16 | modifier_skywrath_mage_ancient_seal = class({ 17 | IsHidden = function() return false end, 18 | IsPurgable = function() return true end, 19 | DeclareFunctions = function() return { 20 | MODIFIER_PROPERTY_MAGICAL_RESISTANCE_BONUS 21 | } end, 22 | GetModifierMagicalResistanceBonus = function() return self.magic_resist_reduction end, 23 | CheckState = function() return { 24 | [MODIFIER_STATE_SILENCED] = true 25 | } end 26 | }) 27 | 28 | function modifier_skywrath_mage_ancient_seal:OnCreated() 29 | self.magic_resist_reduction = self:GetAbility():GetSpecialValueFor("resist_debuff") 30 | 31 | if IsServer() then 32 | local parent = self:GetParent() 33 | local fx = ParticleManager:CreateParticle("particles/units/heroes/hero_skywrath_mage/skywrath_mage_ancient_seal_debuff.vpcf", PATTACH_ABSORIGIN_FOLLOW, parent) 34 | ParticleManager:SetParticleControlEnt(fx, 0, parent, PATTACH_OVERHEAD_FOLLOW, nil, Vector(0, 0, 0), true) 35 | ParticleManager:SetParticleControlEnt(fx, 1, parent, PATTACH_OVERHEAD_FOLLOW, nil, Vector(0, 0, 0), true) 36 | self:AddParticle(fx, false, false, -1, false, true) 37 | end 38 | end -------------------------------------------------------------------------------- /game/SpellLibraryLua/scripts/vscripts/heroes/skywrath_mage/arcane_bolt.lua: -------------------------------------------------------------------------------- 1 | ability_skywrath_mage_arcane_bolt = class({}) 2 | 3 | function ability_skywrath_mage_arcane_bolt:OnSpellStart() 4 | local caster = self:GetCaster() 5 | local target = self:GetCursorTarget() 6 | 7 | local projectile_particle = "particles/units/heroes/hero_skywrath_mage/skywrath_mage_arcane_bolt.vpcf" 8 | local projectile_speed = self:GetSpecialValueFor("bolt_speed") 9 | self.projectile_vision = self:GetSpecialValueFor("bolt_vision") 10 | self.vision_duration = self:GetSpecialValueFor("vision_duration") 11 | 12 | local base_damage = self:GetSpecialValueFor("bolt_damage") 13 | local int_multiplier = self:GetSpecialValueFor("int_multiplier") 14 | 15 | if caster:IsHero() then 16 | self.damage = base_damage * int_multiplier 17 | end 18 | 19 | ProjectileManager:CreateTrackingProjectile({ 20 | Target = target, 21 | Source = caster, 22 | Ability = self, 23 | 24 | EffectName = projectile_particle, 25 | iMoveSpeed = projectile_speed, 26 | bDodgeable = false, 27 | 28 | bVisibleToEnemies = true, 29 | 30 | bProvidesVision = true, 31 | iVisionRadius = self.projectile_vision, 32 | iVisionTeamNumber = caster:GetTeamNumber() 33 | }) 34 | 35 | caster:EmitSound("Hero_SkywrathMage.ArcaneBolt.Cast") 36 | end 37 | 38 | function ability_skywrath_mage_arcane_bolt:OnProjectileHit(hTarget, vLocation) 39 | if hTarget ~= nil and hTarget:TriggerSpellAbsorb(self) == false then 40 | ApplyDamage({ 41 | victim = hTarget, 42 | attacker = self:GetCaster(), 43 | ability = self, 44 | damage = self.damage, 45 | damage_type = self:GetAbilityDamageType(), 46 | }) 47 | 48 | AddFOWViewer(self:GetCaster():GetTeamNumber(), vLocation, self.projectile_vision, self.vision_duration, false) 49 | 50 | hTarget:EmitSound("Hero_SkywrathMage.ArcaneBolt.Impact") 51 | self:GetCaster():StopSound("Hero_SkywrathMage.ArcaneBolt.Cast") 52 | end 53 | end -------------------------------------------------------------------------------- /game/SpellLibraryLua/scripts/vscripts/heroes/slardar/bash.lua: -------------------------------------------------------------------------------- 1 | LinkLuaModifier("modifier_ability_slardar_bash", "heroes/slardar/bash.lua", 0) 2 | 3 | ability_slardar_bash = class({ 4 | GetIntrinsicModifierName = function() return "modifier_ability_slardar_bash" end 5 | }) 6 | 7 | modifier_ability_slardar_bash = class({ 8 | IsPurgable = function() return false end, 9 | DeclareFunctions = function() return { 10 | MODIFIER_PROPERTY_PROCATTACK_BONUS_DAMAGE_PHYSICAL, 11 | MODIFIER_EVENT_ON_ATTACK_LANDED 12 | } end 13 | }) 14 | 15 | function modifier_ability_slardar_bash:IsHidden() 16 | if self:GetStackCount() == 0 then 17 | return true 18 | end 19 | return false 20 | end 21 | 22 | function modifier_ability_slardar_bash:OnCreated() 23 | self.bonus_damage = self:GetAbility():GetSpecialValueFor("bonus_damage") 24 | self.bash_duration = self:GetAbility():GetSpecialValueFor("duration") 25 | self.attack_count = self:GetAbility():GetSpecialValueFor("attack_count") 26 | 27 | if IsServer() then 28 | self:SetStackCount(0) 29 | end 30 | end 31 | 32 | function modifier_ability_slardar_bash:OnRefresh() 33 | self:OnCreated() 34 | end 35 | 36 | function modifier_ability_slardar_bash:OnAttackLanded(params) 37 | local target = params.target 38 | if params.attacker == self:GetParent() and params.attacker:PassivesDisabled() == false and (target:IsHero() or target:IsCreep()) and target:GetTeam() ~= params.attacker:GetTeam() then 39 | if self:GetStackCount() < self.attack_count then 40 | self:IncrementStackCount() 41 | else 42 | self:SetStackCount(0) 43 | target:AddNewModifier(self:GetCaster(), self, "modifier_stunned", {duration = self.bash_duration}) 44 | end 45 | end 46 | end 47 | 48 | function modifier_ability_slardar_bash:GetModifierProcAttack_BonusDamage_Physical() 49 | if self:GetStackCount() == self.attack_count then 50 | return self.bonus_damage 51 | end 52 | end -------------------------------------------------------------------------------- /game/SpellLibraryLua/scripts/vscripts/heroes/slardar/sprint.lua: -------------------------------------------------------------------------------- 1 | LinkLuaModifier("modifier_ability_slardar_sprint", "heroes/slardar/sprint.lua", 0) 2 | 3 | ability_slardar_sprint = class({}) 4 | 5 | function ability_slardar_sprint:OnSpellStart() 6 | local caster = self:GetCaster() 7 | local duration = self:GetSpecialValueFor("duration") 8 | 9 | caster:AddNewModifier(caster, self, "modifier_ability_slardar_sprint", {duration = duration}) 10 | 11 | caster:EmitSound("Hero_Slardar.Sprint") 12 | end 13 | 14 | modifier_ability_slardar_sprint = class({ 15 | IsPurgable = function() return true end, 16 | DeclareFunctions = function() return { 17 | MODIFIER_PROPERTY_IGNORE_MOVESPEED_LIMIT, 18 | MODIFIER_PROPERTY_MOVESPEED_BONUS_PERCENTAGE 19 | } end, 20 | GetModifierIgnoreMovespeedLimit = function() return 1 end, 21 | CheckState = function() return { 22 | [MODIFIER_STATE_NO_UNIT_COLLISION] = true 23 | } end, 24 | GetEffectName = function() return "particles/units/heroes/hero_slardar/slardar_sprint.vpcf" end, 25 | GetEffectAttachType = function() return PATTACH_ABSORIGIN_FOLLOW end 26 | }) 27 | 28 | function modifier_ability_slardar_sprint:OnCreated() 29 | self.bonus_speed = self:GetAbility():GetSpecialValueFor("bonus_speed") 30 | self.river_bonus_speed = self:GetAbility():GetSpecialValueFor("river_speed") 31 | end 32 | 33 | function modifier_ability_slardar_sprint:GetModifierMoveSpeedBonus_Percentage() 34 | local bonus = self.bonus_speed 35 | if self:GetParent():GetAbsOrigin().z <= 0.5 then 36 | bonus = bonus + self.river_bonus_speed 37 | end 38 | return bonus 39 | end -------------------------------------------------------------------------------- /game/SpellLibraryLua/scripts/vscripts/heroes/storm_spirit/ball_lightning.lua: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vulkantsk/SpellLibraryLua/5e41bd65abef570460dfbfeb4557225053165537/game/SpellLibraryLua/scripts/vscripts/heroes/storm_spirit/ball_lightning.lua -------------------------------------------------------------------------------- /game/SpellLibraryLua/scripts/vscripts/heroes/storm_spirit/electric_vortex.lua: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vulkantsk/SpellLibraryLua/5e41bd65abef570460dfbfeb4557225053165537/game/SpellLibraryLua/scripts/vscripts/heroes/storm_spirit/electric_vortex.lua -------------------------------------------------------------------------------- /game/SpellLibraryLua/scripts/vscripts/heroes/tinker/rearm.lua: -------------------------------------------------------------------------------- 1 | ability_rearm = {} 2 | 3 | function ability_rearm:OnSpellStart() 4 | EmitSoundOn( "Hero_Tinker.Rearm", self:GetCaster() ) 5 | end 6 | 7 | function ability_rearm:OnChannelFinish( bInterrupted ) 8 | local caster = self:GetCaster() 9 | 10 | local sound_cast = "Hero_Tinker.Rearm" 11 | StopSoundOn( sound_cast, self:GetCaster() ) 12 | 13 | if bInterrupted then return end 14 | 15 | for i=0,caster:GetAbilityCount()-1 do 16 | local ability = caster:GetAbilityByIndex( i ) 17 | if ability and ability:GetAbilityType()~=DOTA_ABILITY_TYPE_ATTRIBUTES then 18 | ability:RefreshCharges() 19 | ability:EndCooldown() 20 | end 21 | end 22 | 23 | for i=0,8 do 24 | local item = caster:GetItemInSlot(i) 25 | if item then 26 | local pass = false 27 | if item:GetPurchaser()==caster and not self:IsItemException( item ) then 28 | pass = true 29 | end 30 | 31 | if pass then 32 | item:EndCooldown() 33 | end 34 | end 35 | end 36 | 37 | local effect_cast = ParticleManager:CreateParticle( "particles/units/heroes/hero_tinker/tinker_rearm.vpcf", PATTACH_ABSORIGIN_FOLLOW, self:GetCaster() ) 38 | ParticleManager:ReleaseParticleIndex( effect_cast ) 39 | 40 | EmitSoundOn( "Hero_Tinker.RearmStart", self:GetCaster() ) 41 | end 42 | 43 | function ability_rearm:IsItemException( item ) 44 | return self.ItemException[item:GetName()] 45 | end 46 | 47 | ability_rearm.ItemException = { 48 | ["item_aeon_disk"] = true, 49 | ["item_arcane_boots"] = true, 50 | ["item_black_king_bar"] = true, 51 | ["item_hand_of_midas"] = true, 52 | ["item_helm_of_the_dominator"] = true, 53 | ["item_meteor_hammer"] = true, 54 | ["item_necronomicon"] = true, 55 | ["item_necronomicon_2"] = true, 56 | ["item_necronomicon_3"] = true, 57 | ["item_refresher"] = true, 58 | ["item_refresher_shard"] = true, 59 | ["item_pipe"] = true, 60 | ["item_sphere"] = true, 61 | } -------------------------------------------------------------------------------- /game/SpellLibraryLua/scripts/vscripts/heroes/vengeful_spirit/magic_missile.lua: -------------------------------------------------------------------------------- 1 | if ability_magic_missile == nil then 2 | ability_magic_missile = class({}) 3 | end 4 | 5 | -------------------------------------------------------------------------------- 6 | 7 | function ability_magic_missile:OnSpellStart() 8 | local caster = self:GetCaster() 9 | local target = self:GetCursorTarget() 10 | 11 | local speed = self:GetSpecialValueFor("magic_missile_speed") 12 | 13 | caster:EmitSound("Hero_VengefulSpirit.MagicMissile") 14 | 15 | local proj = "particles/units/heroes/hero_vengeful/vengeful_magic_missle.vpcf" 16 | 17 | local info = { 18 | Target = target, 19 | Source = caster, 20 | Ability = self, 21 | EffectName = proj, 22 | bDodgeable = false, 23 | bIsAttack = false, 24 | bProvidesVision = true, 25 | iMoveSpeed = speed, 26 | iSourceAttachment = DOTA_PROJECTILE_ATTACHMENT_ATTACK_2 27 | } 28 | ProjectileManager:CreateTrackingProjectile( info ) 29 | end 30 | 31 | function ability_magic_missile:OnProjectileHit(Target, Location) 32 | if Target ~= nil and not Target:IsInvulnerable() then 33 | local damage = self:GetSpecialValueFor("magic_missile_damage") 34 | local magic_missile_stun = self:GetSpecialValueFor("magic_missile_stun") 35 | 36 | if Target:TriggerSpellAbsorb(self) then 37 | return false 38 | end 39 | 40 | ApplyDamage({ 41 | victim = Target, 42 | attacker = self:GetCaster(), 43 | damage = damage, 44 | damage_type = self:GetAbilityDamageType(), 45 | ability = self 46 | }) 47 | 48 | EmitSoundOn("Hero_VengefulSpirit.MagicMissileImpact", Target) 49 | 50 | Target:AddNewModifier(self:GetCaster(), self, "modifier_stunned", {duration=magic_missile_stun}) 51 | end 52 | return false 53 | end -------------------------------------------------------------------------------- /game/SpellLibraryLua/scripts/vscripts/heroes/zuus/static_field.lua: -------------------------------------------------------------------------------- 1 | if ability_zuus_static_field == nil then 2 | ability_zuus_static_field = class({}) 3 | end 4 | 5 | -------------------------------------------------------------------------------- 6 | 7 | function ability_zuus_static_field:ApplyStaticField(target) 8 | local caster = self:GetCaster() 9 | if not caster:PassivesDisabled() then 10 | local damage = target:GetHealth() / 100 * self:GetSpecialValueFor("damage_health_pct") 11 | 12 | ApplyDamage({ 13 | victim = target, 14 | attacker = caster, 15 | damage = damage, 16 | damage_type = self:GetAbilityDamageType(), 17 | damage_flags = DOTA_DAMAGE_FLAG_HPLOSS, 18 | ability = self 19 | }) 20 | end 21 | end -------------------------------------------------------------------------------- /game/SpellLibraryLua/scripts/vscripts/modules/AbilityInfo/index.lua: -------------------------------------------------------------------------------- 1 | AbilityInfo = class({ 2 | Init = function() 3 | 4 | end, 5 | }) 6 | 7 | return AbilityInfo -------------------------------------------------------------------------------- /game/SpellLibraryLua/scripts/vscripts/modules/CreepSpawner/index.lua: -------------------------------------------------------------------------------- 1 | CreepSpawner = class({ 2 | 3 | Init = function() 4 | 5 | end, 6 | 7 | }) 8 | 9 | return CreepSpawner -------------------------------------------------------------------------------- /game/SpellLibraryLua/scripts/vscripts/modules/index.lua: -------------------------------------------------------------------------------- 1 | local classesInit = {} 2 | for k,v in pairs({ 3 | 'CreepSpawner', 4 | 'AbilityInfo', 5 | }) do 6 | table.insert(classesInit,ModuleRequire(...,v .. '/index')) 7 | end 8 | 9 | function InitModules() 10 | for k,v in pairs(classesInit) do 11 | if v.Init then 12 | v:Init() 13 | end 14 | end 15 | end 16 | -------------------------------------------------------------------------------- /mklink_repo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vulkantsk/SpellLibraryLua/5e41bd65abef570460dfbfeb4557225053165537/mklink_repo.png --------------------------------------------------------------------------------