Repo for recreating the original dota skills for the use of the Dota2 modding community
If you have any questions regarding the project or if you have found a bug/issue with the spells then feel free to create an issue or PM/Email either Noya or Pizzalol
Emails: martinnoya@gmail.com / dario.siprak@gmail.com
If you wish to contribute then it would be nice to do it in a way that would be readable and recognizable like this http://yrrep.me/dota/dota-standards.html
Lua scripts should be separated on a per hero basis
Use as many AbilitySpecials as possible, do not hardcode the lua file.
Every ability should be portable (i.e. 0 dependence on each other).
- If the ability depends on another ability to function (Earth Spirit, Invoker, SF Requiem, etc) leave it for later.
Don't Use Global Lua Events (related to making the spells portable). Abilities should work without any main addon scripts.
Dont bother with Cast Animation, Aghs Upgrades or completely dota-hardcoded interactions
Use default particles and sounds
If you find an ability that seems hard or impossible to rewrite, ask and document your attempts, others will help you
Follow this coding style:
For Datadriven KeyValues
"OnSpellStart"
{
"RunScript"
{
"ScriptFile" "heroes/hero_name/ability_name.lua"
"Function" "AbilityName"
}
}
For Lua functions
--[[
Author:
Date: Day.Month.2015.
(Description)
]]
function AbilityName( event )
-- Variables
local caster = event.caster
local ability = event.ability
local value = = ability:GetLevelSpecialValueFor( "value" , ability:GetLevel() - 1 )
-- Try to comment each block of logical actions
-- If the ability handle is not nil, print a message
if ability then
print("RunScript")
end
end
Modifier Name conventions (very important for automating tooltips later)
- Start with "modifier_"
- Then add the spell name (no hero name)
- Add "_buff" "_debuff" "_stun" or anything when appropiate
Dota 2 Modkit great tool when it comes to everything Dota 2 modding related, made by Myll
Sound editor the sound editor for finding the proper ability sounds, made by pingzing
Workshop Tools Wiki the official Dota 2 Workshop Tools wiki
Decompiled particles provided by Toraxxx
Noya for creating the ability guides
BMD for his libraries
Attero for his npc_abilities splitter
cris9696 for his files joiner
zedor for Custom Errors plugin