def METHOD_NAME(self):
    out = super().METHOD_NAME()
    fail = Effect.serialize(self.fail)
    success = Effect.serialize(self.success)
    out.update({"stat": self.stat, "fail": fail, "success": success})
    if self.dc is not None:
        out["dc"] = self.dc
    if self.adv is not None:
        out["adv"] = self.adv.value
    return out