I’m not sure I see how my suggestion wouldn’t get around this issue. The event fires off when the controller (either player or AI) sends the ‘Fire Missile’ message. That can be received by the pawn, where your ammo logic can occur, or could call a FireMissile function on an owned ‘Launcher’ (if you broke it down to this point, I mean, for further decoupling, with a separate BP/class for the weapons/launchers), which itself would decide if it could actually fire.