Badge Conditions
| Condition Type | Description |
|---|---|
manual | Admin awards only |
xp_threshold | Automatically awarded when user's total XP reaches the value |
login_streak | Awarded when streak reaches the value |
Automatic checking
BadgeEngine::check_conditions() is called every time XP is awarded. It queries all active non-manual badges and awards any that the user now qualifies for.
Duplicate prevention
{prefix}or_user_badges has a UNIQUE KEY on (user_id, badge_id) — badges can only be earned once.
