я писал вот такой скрипт "адвайзора" (подключал вместо ванилы)
module(..., package.seeall)
events = require "data.events"
-- Trigger declarations
--[[ C_General_PostBattle_Trigger ]]--
events.BattleConflictPhaseCommenced [#events.BattleConflictPhaseCommenced+1] =
function (context)
if conditions.BattleCommanderIsGeneral(context) and conditions.BattleAllianceNumberOfUnits(context) >= 2 then
effect.trait("C_Trait_Test", "agent", 1, 100, context)
return true
end
return false
end
я его мордой тычу - ну генерал же командует, а один хрен в контекст генерал не встаёт.
проблема в том что Баттл-эвенты - фаза боя , не привязан по контексту к Карактеру генерала и соответственно он не знает кому эффект.трейт должен сделать
то же самое с эвентами - юнит атакует, юнит бежит. Они по контексту связаны с юнитом а не Генералом, опять фигня. (Зато относительно юнитов уверен (80%) удастся всё прямо в ходе боя корректировать)
То есть проблема в разрыве контекста Баттл-эвенты \ карактер
Ещё западло - юнит может считать трейты с командира, а командир с юнитов не может. Односторонняя связь.
--------------
как-то надо свои скрипты писать по выдиранию боевой статистики в переменные. а потом на их базе силком трейты присваивать.