local dnf = require("dnf")
assert(dnf.api_version == "dnf/v1", "requires dnf/v1")
assert(dnf.hooks.catalog()["progression.clear_experience"], "clear experience Hook is unavailable")

local multiplier = dnf.config.multiplier or 1
assert(type(multiplier) == "number" and multiplier >= 1 and multiplier <= 10,
    "multiplier must be between 1 and 10")

dnf.hooks.transform("progression.clear_experience", function(ctx, plan, event)
    -- Bare calculation context: event.character / event.dungeon_id, no event.data.
    return { amount = math.min(4294967295, math.floor(plan.amount * multiplier)) }
end)
