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.
| Setting | Default | What it does |
|---|---|---|
| XP per message | 5 | XP for a message, before bonuses. |
| Message cooldown | 60 s | A 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
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.
| Setting | Default | What it does |
|---|---|---|
| XP per minute | 2 | XP for each minute spent in voice. |
| Minimum minutes | 0 | Sessions shorter than this earn nothing. |
| Per channel | none | Turn voice XP off in a channel, or give it its own minimum. |
| Per role | none | Extra 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.
| Setting | Default | What it does |
|---|---|---|
| Daily XP / gold | 50 / 20 | The base reward. |
| Streak bonus | 0.1 | Each streak day adds 10% to the reward, so day 5 pays 1.4×. |
| Streak rewards | none | Extra XP and gold on chosen days, like a bonus on day 7 and day 30, with an optional announcement. |
| Role bonuses | none | Extra 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.
| Curve | Feels like |
|---|---|
polynomial | Each level costs a bit more than the last. The default (factor 78, degree 2), and what the setup wizard uses. |
linear | Every level costs the same. |
exponential | Late levels get very expensive. Use with care. |
logarithmic | Fast 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.
/levelsshows 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