If I were to imagine this in terms of written code, it should look like this:
FunctionShoot(Damage)
{
ReduceHealth(Damage)
}
FunctionShoot(Damage)
{
TempDamage = Damage
ReduceHealth(TempDamage)
}
So temporary variable look heavier but honestly I don’t think it’s really relevant. And since I often end up modifying the parameter, I almost always create a temporary variable.