33 lines
1.2 KiB
Lua
Executable File
33 lines
1.2 KiB
Lua
Executable File
function OnNazrin01AttackLanded(keys)
|
|
local caster = EntIndexToHScript(keys.caster_entindex)
|
|
local target = keys.target
|
|
|
|
if SpawnSystem.IsUnLimited then
|
|
if caster:HasModifier("modifier_byakuren_03_buff") then
|
|
local targets = THTD_FindUnitsInRadius(caster,target:GetOrigin(),400)
|
|
local damage = caster:GetGold() * keys.nazrin/100
|
|
damage = damage * (1 + caster:THTD_GetPower() * keys.damage_up/1000)
|
|
for k,v in pairs(targets) do
|
|
local DamageTable = {
|
|
ability = keys.ability,
|
|
victim = v,
|
|
attacker = caster,
|
|
damage = damage,
|
|
damage_type = DAMAGE_TYPE_PHYSICAL,
|
|
damage_flags = DOTA_DAMAGE_FLAG_NONE
|
|
}
|
|
UnitDamageTarget(DamageTable)
|
|
end
|
|
end
|
|
return
|
|
end
|
|
|
|
if GameRules:GetCustomGameDifficulty() >= FUNNY_MODE then return end
|
|
|
|
if RollPercentage(keys.BonusChance) then
|
|
local gold = math.floor(keys.BonusGold + caster:THTD_GetPower() * keys.PowerPercent/100)
|
|
THTD_ModifyGoldEx(caster:GetPlayerOwnerID(), gold , true, DOTA_ModifyGold_CreepKill)
|
|
SendOverheadEventMessage(caster:GetPlayerOwner(), OVERHEAD_ALERT_GOLD, target, gold, caster:GetPlayerOwner() )
|
|
caster:EmitSound("Sound_THTD.thtd_nazrin_01")
|
|
end
|
|
end |