private void ExecuteStartAbility(int unit, bool isEnemy) { var data = new TriggerUnitData { OwnerId = unit, TargetId = unit }; foreach (var temp in _battleLogic.GetAbilities(unit)) { if (!_triggerLogic.CheckTrigger(data, temp.Activation, ActivationType.StartBattle)) { continue; } if (!_battleLogic.HasExecuteAbility(data.TargetId, temp.Id)) { continue; } Logger.Trace(() => $"----------------------------------- start execute impact passive ability memberId = {data.TargetId} abilityId = {temp.Id}"); ExecuteAbility(data.OwnerId, null, temp.Impact, temp.Id, isEnemy); Logger.Trace(() => $"----------------------------------- finish execute impact ability"); } }