Cooldown Gameplay Effect uses an attribute to set the duration, but duration doesn't change when the attribute does.

Hello,

I have a gameplay ability that uses a generic “ShootCooldown” gameplay effect.

The shoot cooldown simply gets the attribute “FireRate” and sets the duration to that magnitude.

However, the duration seems to only be affected by whatever triggers the cooldown first. Here, I fire the shotgun first, which has a Fire Rate of 1.25, and the duration is properly set to 1.25.

But on swapping to the Revolver, and thus changing the weapon attributes. The duration is still 1.25, even though the revolver has a Fire Rate of .75.

The issue occurs in the reverse as well. (Shooting with the Revolver and swapping to the Shotgun, making the Shotgun shoot faster.)
I’ve tried using a custom mod magnitude calculation class, both in blueprints, and C++, but the issue remains in both of those methods as well. Does anyone have any ideas what may be causing this? Thank you in advance for the help.