Markel the ImperorЕсть ли какой то прямой способ узнать потери героя в бою?
устанавливаем триггер
COMBAT_RESULTS_TRIGGER
в нем смотрим какой герой принимал участие в битве с помощью
GetSavedCombatArmyHero
сами отряды получаем функциями
GetSavedCombatArmyCreaturesCount
GetSavedCombatArmyCreatureInfo
Если данные нужны не сразу, можно сохранить их в массив
Вот пример кода (потери записываются в переменную died):
COMBAT_WINNER = 1;
COMBAT_LOSER = 0;
Trigger(COMBAT_RESULTS_TRIGGER, 'CombatResult');
function CombatResult(id)
-- анализ ведем только для глав. героя
if(GetSavedCombatArmyHero(id, COMBAT_WINNER) ~= player_hero) then return end
local n_stacks, creature, count, died;
-- анализ проигравшей стороны
n_stacks = GetSavedCombatArmyCreaturesCount(id, COMBAT_LOSER);
for i = 0,(n_stacks-1) do
creature, count, died = GetSavedCombatArmyCreatureInfo(id, COMBAT_LOSER, i);
-- здесь можно проанализировать или сохранить куда-нибудь данные
-- creature - id существа, count - их количество на начало боя, died - сколько погибло
end;
-- анализ победившей стороны
n_stacks = GetSavedCombatArmyCreaturesCount(id, COMBAT_WINNER);
for i = 0,(n_stacks-1) do
creature, count, died = GetSavedCombatArmyCreatureInfo(id, COMBAT_WINNER, i);
end;
end