Урон с артефактов Легенда нагло стырена со статьи Даната ибо лень выдумывать свои цвета.
Есть 4 типа damage который может быть нанесен герою:
1. Обычный, который убавляется броней героя.
2. Магический, который убавляется Spell Resistance-ом героя.
3. Смешанный - убавляется и Spell Resistance-ом и броней героя - по сути наименее опасный тип повреждения.
4. Нейтральный - не убавляется ничем - самый опасный тип повреждения если он достаточно высокий.
Skill name - не работает на Avatar.
Skill name - работает, но урона не будет.
Skill name - работает наплевав на Avatar.
Арты, с которых идет чистый урон (то есть это не считая всякие Блейдс оф аттак, которые прибавляют атаку).
Diffusal blade, Manta Style (100% урон от сожженной маны)
Cranium Basher, stun
Sange, Sange and Yasha
Maelstrom, Mjollnir (0% уменьшение урона от молнии по новым целям)
Dagon
Monkey King Bar, stun (range), Monkey King Bar, stun (melee)
Javelin
Orchid malevolence - урон аналогичен френзи, т. е. увеличивается тот тип урона, что был нанесен.
Shiva's Guard
Radiance
Конкретно насчет Necronomicon:
Feedback, Mana Burn, Last Will
Насчет ласт вилла:
function I1IOOO0 takes nothing returns boolean
if IsUnitType(GetKillingUnit(),UNIT_TYPE_STRUCTURE)==false and IsUnitAlly(GetDyingUnit(),GetOwningPlayer(GetKillingUnit()))==false then
if GetUnitTypeId(GetTriggerUnit())==1848651850 then
call O00011(GetDyingUnit(),GetKillingUnit(),3,200)
elseif GetUnitTypeId(GetTriggerUnit())==1848651841 then
call O00011(GetDyingUnit(),GetKillingUnit(),3,400)
elseif GetUnitTypeId(GetTriggerUnit())==1848651830 then
call O00011(GetDyingUnit(),GetKillingUnit(),3,600)
endif
endif
return false
endfunction
Конкретно насчет джавелина:
function I1IO0O0 takes nothing returns nothing
local unit I1IOI00=GetAttacker()
local integer I1IOII0=UnitInventorySize(I1IOI00)
local integer x=0
local item i
loop
exitwhen x>I1IOII0
set i=UnitItemInSlot(I1IOI00,x)
if OOO1O1(i)==IIIOII and GetRandomReal(0,1)<=0.2 then
call O00011(I1IOI00,GetTriggerUnit(),2,40)
endif
set x=x+1
endloop
set i=null
set I1IOI00=null
endfunction
Вся эта муть означает, что джавелины стак без уменьшения шанса в отличие от МКБ и тд.
И наконец функция нанесения урона:
function O00011 takes unit O000O1,unit O00I01,integer O00II1,real O00I11 returns nothing
if O00II1==0 then
return
endif
if O00II1==1 then
call UnitDamageTarget(O000O1,O00I01,O00I11,true,true,ATTACK_TYPE_NORMAL,DAMAGE_TYPE_FIRE,WEAPON_TYPE_WHOKNOWS)
elseif O00II1==2 then
call UnitDamageTarget(O000O1,O00I01,O00I11,true,true,ATTACK_TYPE_HERO,DAMAGE_TYPE_NORMAL,WEAPON_TYPE_WHOKNOWS)
elseif O00II1==3 then
call UnitDamageTarget(O000O1,O00I01,O00I11,true,true,ATTACK_TYPE_HERO,DAMAGE_TYPE_FIRE,WEAPON_TYPE_WHOKNOWS)
endif
endfunction
1 = маг урон, 2 = физ урон, 3 = анрез урон.