This is why I liked the basic "If then else" functions I used to work with when it came to "programming" triggers such as events/scripting, especially regarding spells/skill usage on player units or data. You could easily do conditional checks to see if something special needed to happen.
Action
--Player(Player) Spell(Spell) cast on Target(Player)
Conditions
--If Target(Player) riding Horse(Horse)
-----Then
-------Apply Spell(Spell) to Horse(Horse) being ridden.
-----Else
-------Nothing
--If (Conditional Effect) Then (Actions) Else (Actions)
Action
--Player(Player) Spell(Spell) cast on Target(Player)
Conditions
--If Target(Player) riding Horse(Horse)
-----Then
-------Apply Spell(Spell) to Horse(Horse) being ridden.
-----Else
-------Nothing
--If (Conditional Effect) Then (Actions) Else (Actions)