If you want your mod to remain stackable, you’ll need to apply the buff to the rider directly from an equippable item, either a saddle or something else (eg: costume) that you equip to the dino.
Your equippable item (eg: saddle, costume) blueprint:
First you’ll need to get a reference to the dino you can do this with the following:
Event Blueprint Equipped -> Get Owner Inventory(self) -> Get Owner() -> Set DinoChar
There isn’t an event for when a dino has a rider so you’ll need to check on tick to see if it does. Using the Event Equipped Blueprint Tick we can do this:
Event Equipped Blueprint Tick -> HasRider(DinoChar) -> Branch(True) -> GetRider(DinoChar) -> Set DinoRider -> HasBuff(DinoRider) -> Branch(False) -> StaticAddBuff(BuffClass, DinoRider, self) -> Set BuffActor -> BuffActor -> Use BPDeactivated(True)
The buff will now be applied once to the rider. The result of Has Buff on subsequent event ticks will be true, and we will not apply another buff.
Now for when the rider dismounts we need to expand the Event Equipped Blueprint Tick code above to handle when HasRider returns false and remove the buff from the DinoRider (the last known player to ride the dino)