xpcalc

Privateunrated

Content

27 lines
{=(dropsperminute):1}

{=():}
{{if(=={args(1)}):blacklist(Usage: `!xpcalc <target> [base]`):{server(id)}|{if({args(1)}!={m:trunc({args(1)}/1)}):blacklist(XP must be a whole number.):{server(id)}}}}

{=(xp):{args(1)}}

{=(basexp):{if(=={list(1):{join(~):{args}}}):0|{if({args(2)}!={m:trunc({args(2)}/1)}):0|{args(2)}}}}
{=(diffxp):{m:abs(trunc({xp}-{basexp}))}}
{=(min):{m:round({diffxp}/25)}}
{=(avg):{m:round({diffxp}/20)}}
{=(max):{m:round({diffxp}/15)}}

{=(commaxp):{replace(st,):{replace(nd,):{replace(rd,):{replace(th,):{ord:{xp}}}}}}}
{=(commabasexp):{replace(st,):{replace(nd,):{replace(rd,):{replace(th,):{ord:{basexp}}}}}}}
{=(commadiffxp):{replace(st,):{replace(nd,):{replace(rd,):{replace(th,):{ord:{diffxp}}}}}}}
{=(commamin):{replace(st,):{replace(nd,):{replace(rd,):{replace(th,):{ord:{min}}}}}}}
{=(commaavg):{replace(st,):{replace(nd,):{replace(rd,):{replace(th,):{ord:{avg}}}}}}}
{=(commamax):{replace(st,):{replace(nd,):{replace(rd,):{replace(th,):{ord:{max}}}}}}}

{=(mintime):{m:{min}/{dropsperminute}}}
{=(avgtime):{m:{avg}/{dropsperminute}}}
{=(maxtime):{m:{max}/{dropsperminute}}}

{=(mindisplay):{m:trunc({mintime} / 60)}h {m:trunc({mintime} % 60)}m}
{=(avgdisplay):{m:trunc({avgtime} / 60)} hours and {m:trunc({avgtime} % 60)} minutes}
{=(maxdisplay):{m:trunc({maxtime} / 60)}h {m:trunc({maxtime} % 60)}m}

Embed

1 line
{"url": "https://docs.carl.gg/levels/levels/", "color": 8311585, "title": "XP Calculation", "description": "You need **{commadiffxp}**xp to reach your target.\n\nThis will take **{commaavg}** messages on average (Min **{commamin}**, Max **{commamax}**).\n\nAssuming {dropsperminute} drop(s) per minute, this will take **{avgdisplay}** (Min **{mindisplay}**, Max **{maxdisplay}**)."}
Raw JSON
{
  "id": 1051831,
  "created_at": "2021-09-09T06:02:32.000Z",
  "tag_name": "xpcalc",
  "nsfw": false,
  "owner_id": "561139755274862594",
  "uses": 0,
  "description": null,
  "restricted": false,
  "shared": false,
  "deleted": false,
  "safe": "unrated",
  "hidden": false,
  "guild_id": "594784080449503240",
  "sharer": "561139755274862594",
  "content": "{=(dropsperminute):1}\n\n{=():}\n{{if(=={args(1)}):blacklist(Usage: `!xpcalc <target> [base]`):{server(id)}|{if({args(1)}!={m:trunc({args(1)}/1)}):blacklist(XP must be a whole number.):{server(id)}}}}\n\n{=(xp):{args(1)}}\n\n{=(basexp):{if(=={list(1):{join(~):{args}}}):0|{if({args(2)}!={m:trunc({args(2)}/1)}):0|{args(2)}}}}\n{=(diffxp):{m:abs(trunc({xp}-{basexp}))}}\n{=(min):{m:round({diffxp}/25)}}\n{=(avg):{m:round({diffxp}/20)}}\n{=(max):{m:round({diffxp}/15)}}\n\n{=(commaxp):{replace(st,):{replace(nd,):{replace(rd,):{replace(th,):{ord:{xp}}}}}}}\n{=(commabasexp):{replace(st,):{replace(nd,):{replace(rd,):{replace(th,):{ord:{basexp}}}}}}}\n{=(commadiffxp):{replace(st,):{replace(nd,):{replace(rd,):{replace(th,):{ord:{diffxp}}}}}}}\n{=(commamin):{replace(st,):{replace(nd,):{replace(rd,):{replace(th,):{ord:{min}}}}}}}\n{=(commaavg):{replace(st,):{replace(nd,):{replace(rd,):{replace(th,):{ord:{avg}}}}}}}\n{=(commamax):{replace(st,):{replace(nd,):{replace(rd,):{replace(th,):{ord:{max}}}}}}}\n\n{=(mintime):{m:{min}/{dropsperminute}}}\n{=(avgtime):{m:{avg}/{dropsperminute}}}\n{=(maxtime):{m:{max}/{dropsperminute}}}\n\n{=(mindisplay):{m:trunc({mintime} / 60)}h {m:trunc({mintime} % 60)}m}\n{=(avgdisplay):{m:trunc({avgtime} / 60)} hours and {m:trunc({avgtime} % 60)} minutes}\n{=(maxdisplay):{m:trunc({maxtime} / 60)}h {m:trunc({maxtime} % 60)}m}",
  "embed": "{\"url\": \"https://docs.carl.gg/levels/levels/\", \"color\": 8311585, \"title\": \"XP Calculation\", \"description\": \"You need **{commadiffxp}**xp to reach your target.\\n\\nThis will take **{commaavg}** messages on average (Min **{commamin}**, Max **{commamax}**).\\n\\nAssuming {dropsperminute} drop(s) per minute, this will take **{avgdisplay}** (Min **{mindisplay}**, Max **{maxdisplay}**).\"}",
  "last_fetched": "2026-10-20T17:34:41.234Z"
}