def __call__(self, profile=None): """Perform and format roll.""" rolls = [self.roll_once(profile) for _ in range(self.repeats)] description = "\n".join(f"Rolls: `{description}` | Total: `{total}`" for _, description, total in rolls) critical = any(crit for crit, _, _ in rolls) response = { "description": description, "color": Color.gold() if critical else Color.light_gray(), "footer": "Critical Damage" if critical else None } if profile is not None: response["profile"] = profile.long_name return response