This repository is a collection of remade Dota 2 Hero abilities for the use of the Dota2 modding community by 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 contact us on irc
If you wish to contribute to this project then it is prefered if you could follow the following guidelines when contributing
Lua scripts should be separated on a per hero basis
Use as many AbilitySpecials as possible, do not hardcode the lua file.
Don't use Global Lua Events, abilities should work without any main addon scripts.
Don't bother with completely dota-hardcoded interactions
Implementing Aghanims upgrades and casting animations is not neccessary
Implementing Refresher compatibility is recommended but not mandatory
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
It is fine to use BMD's Timers and Physics libraries
KV abilities should be saved as abilityname_datadriven.txt inside scripts/npc/abilities/HERONAME/ folder
Lua abilities should be saved as abilityname_lua.txt inside scripts/npc/abilities/HERONAME/ folder
Lua scripts should be saved as abilityname.lua inside scripts/vscripts/heroes/hero_HERONAME/ folder
Every KV file should have this in its header(EXAMPLE)
// Rewrite of HERONAME ABILITYNAME
// Author: AUTHORNAME - the name of the author or authors that created this ability
// Date: MONTHNAME DAY, YEAR(eg. February 12, 2016) - date on which the file was created or had modifications
// Version: eg. 6.86 - latest game version for which this ability is up to date
// Type: Datadriven, Lua or Datadriven/Lua - what kind of type this ability is
// Notes: write any notes regarding the ability such as particle incomplete, minor differences compared to the original ability, etc.
//
// List the file requirements if the ability requires other files to function
// ----- FILE REQUIREMENTS -----
// Script files:
// scripts/vscripts/heroes/hero_HERONAME/ABILITYNAME.lua
//
// KV files:
// scripts/npc/abilities/HERONAME/ABILITYNAME_datadriven.txt
//
// Unit files:
// scripts/npc/units/UNITNAME.txt
--[[
Author:
Date: Monthname Day, Year
(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
Start with "modifier_"
Then add the spell name (no hero name)
Add "_buff" "_debuff" "_stun" or anything when appropiate
请发表评论