Пример #1
0
    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