Hi,
The problem has been fixed for HikaMarket front-end (where the discounts should not be managed by HikaMarket, there is no vendor filter to apply).
But I could reproduced the problem in my local website, I have some idea of what could happend but I can't reproduce it.
Can you please try this code (which will replace the onSelectDiscount one).
public function onSelectDiscount(&$product, &$discountsSelected, &$discounts, $zone_id, &$parent) {
	$vendor_id = (int)$product->product_vendor_id;
	if($vendor_id == 0 && !empty($parent))
		$vendor_id = (int)$parent->product_vendor_id;
	foreach($discountsSelected as &$discountSelected) {
		$this->recursiveSelectDiscount($vendor_id, $discountSelected);
	}
	unset($discountSelected);
}
protected function recursiveSelectDiscount($vendor_id, &$discounts) {
	foreach($discounts as $k => $v) {
		if(is_array($v)) {
			$this->recursiveSelectDiscount($vendor_id, $discounts[$k]);
			if(empty($discounts[$k]))
				unset($discounts[$k]);
		} else {
			$discount_target = (int)$v->discount_target_vendor;
			if($discount_target > 1 && $vendor_id != $discount_target)
				unset($discounts[$k]);
			if($discount_target == 0 && $vendor_id > 1)
				unset($discounts[$k]);
		}
	}
}Regards,