Docs menu

docs / xp-and-levels

XP and levels

Members earn chat XP by chatting, talking in voice and claiming dailies. Chat XP adds up to levels, and levels can hand out roles. Fights, quests and the rest of the RPG pay Combat XP instead (see Combat).

Already have a leveling bot?#

Turn off Use havocish for leveling at the top of Dashboard → Leveling, or press Leveling in /config. Members then earn no chat or voice XP from havocish, see no level-ups, and dailies pay only gold. Everything in the RPG keeps working. To tie it to your other bot's levels, require the role it gives at a level on any item, recipe, gathering spot, enemy or quest (see Requirements).

Role rewards

Give gold, an item or Combat XP when a member gets a role, whoever gave it: another leveling bot's level role, a booster role, a mod. Set them under Role rewards at Dashboard → Leveling; they work whether havocish's own leveling is on or off. Each member is paid once per role, so losing and regaining it pays nothing; /admin reset-role-reward lets a member get one (or all) again. Members who already had the role when you set its reward get it the next time they chat. Pick a channel to announce them in, or leave it empty and rewards arrive quietly.

Message XP#

Each message can earn XP, at most once per cooldown. Edit these at Dashboard → Leveling.

SettingDefaultWhat it does
XP per message5XP for a message, before bonuses.
Message cooldown60 sA member earns XP for at most one message in this window, so spamming doesn't pay.

Channel and role bonuses

A message's XP is worked out in this order:

  • Start with XP per message.
  • Add the channel's flat bonus, then multiply by the channel's multiplier. A channel can also have its own cooldown, or give no XP at all.
  • For each of the member's roles with a bonus: add its extra XP, then apply its multiplier. A role can also shorten the cooldown (the shortest one wins).

Note

Channel and role bonuses live under Advanced settings on the Leveling page. Switch to Advanced at the top of the page to see them.

Voice XP#

Members in voice channels earn XP per minute, paid when they leave. It's off by default: turn it on at Dashboard → Leveling or with /config.

SettingDefaultWhat it does
XP per minute2XP for each minute spent in voice.
Minimum minutes0Sessions shorter than this earn nothing.
Per channelnoneTurn voice XP off in a channel, or give it its own minimum.
Per rolenoneExtra voice XP for members with a role.

Daily rewards and streaks#

/daily gives XP and gold once a day. Claiming on consecutive days builds a streak, and each streak day makes the reward bigger.

SettingDefaultWhat it does
Daily XP / gold50 / 20The base reward.
Streak bonus0.1Each streak day adds 10% to the reward, so day 5 pays 1.4×.
Streak rewardsnoneExtra XP and gold on chosen days, like a bonus on day 7 and day 30, with an optional announcement.
Role bonusesnoneExtra daily XP or gold, or a bigger streak bonus, for members with a role.

/daily also restores a member's HP to full, which matters once combat is on.

Levels#

Levels come from total XP on a curve you choose at Dashboard → Leveling. The page draws the curve as you change it.

CurveFeels like
polynomialEach level costs a bit more than the last. The default (factor 78, degree 2), and what the setup wizard uses.
linearEvery level costs the same.
exponentialLate levels get very expensive. Use with care.
logarithmicFast early, then flattens out.
  • Max level is 100 by default.
  • Overrides set the exact XP for specific levels, if you want a hand-tuned curve.
  • /levels shows members how the curve works in your server.

Level-up messages and rewards#

Each level-up posts a banner image in your theme colour. Choose a channel for them, or leave it empty to post where the member was chatting. The message accepts {user} and {level}.

Level rewards run when a member reaches a level: give a role, take a role, post a message, or pay into the RPG with gold, an item or Combat XP. The RPG rewards are listed under the level-up message. Members who jump several levels at once get every reward they passed. Set them at Dashboard → Leveling under Level actions.

Watch out

Role rewards need the havocish role above the roles it gives. See Add the bot.