Вот это тебе делать не надо:
Код:
"OnSpellStart"
{
"ApplyModifier"
{
"ModifierName" "tombstone_aura"
"Target" "CASTER"
}
}
Если ты хочешь, чтобы у тебя модификатор описанный в абилке накладывался на носителя абилки, то достаточно указать в его описании:
То есть, модификатор становится пассивным и крепиться на носителя. Если не надо крепить, то в ноль.
Этим параметром ты просто определяешь, вешается он на носителя абилки или нет.
Исходя из этого, здесь ставишь ноль:
Код:
"tombstone_aura_modifier"
{
"IsDeBuff" "1"
"Passive" "1"
Так как если будет 1, то он опять таки добавиться носителю абилки, а тебе ведь не надо, чтобы он после смерти тоже спавнил зомби? Эта строчка не отвечает за его отработку на других существах.
Далее:
Код:
"tombstone_aura_modifier"
{
"IsDeBuff" "1"
"Passive" "1"
"IsHidden" "0"
"EffectName" "particles/generic_gameplay/rune_regeneration.vpcf" //"particles/items_fx/healing_flask.vpcf" //"particles/econ/events/ti4/radiant_fountain_regen_ti4.vpcf"
"EffectAttachType" "follow_origin"
"RunScript"
{
"ScriptFile" "scripts/vscripts/tombstone_aura"
"Function" "OnEntityKilled"
}
}
Весь этот твой модификатор вешается от ауры и у блока вызова скрипта нет поверх блока "события-отработки", то етсь у тебя скрипт будет сразу же вызываться, как только будет вешаться модификатор на существо. Иными словами, как кто-то попадет в ауру из врагов носителя, то сразу же запуститься скрипт (спавнятся зомби). Тебе же надо запускать его, когда умрет носитель (OnOwnerDie).
Далее, тебе не надо так делать
Код:
local killedEntity = EntIndexToHScript(event.entindex_killed)
Тебе надо делать вот так:
Код:
local killedEntity = event.target
Ну или возможно event.caster, точно не помню, глянь через вывод таблицы:
Код:
for k,v in pairs(event) do
print(k)
end