Merge branch '459-activitypub-integration' of github.com:NuSkooler/enigma-bbs into 459-activitypub-integration
This commit is contained in:
commit
0b1794c210
|
@ -1,469 +0,0 @@
|
||||||
/*
|
|
||||||
./\/\." ENiGMA½ Achievement Configuration -/--/-------- - -- -
|
|
||||||
|
|
||||||
_____________________ _____ ____________________ __________\_ /
|
|
||||||
\__ ____/\_ ____ \ /____/ / _____ __ \ / ______/ // /___jp!
|
|
||||||
// __|___// | \// |// | \// | | \// \ /___ /_____
|
|
||||||
/____ _____| __________ ___|__| ____| \ / _____ \
|
|
||||||
---- \______\ -- |______\ ------ /______/ ---- |______\ - |______\ /__/ // ___/
|
|
||||||
/__ _\
|
|
||||||
<*> ENiGMA½ // HTTPS://GITHUB.COM/NUSKOOLER/ENIGMA-BBS <*> /__/
|
|
||||||
|
|
||||||
*-----------------------------------------------------------------------------*
|
|
||||||
|
|
||||||
General Information
|
|
||||||
------------------------------- - -
|
|
||||||
This configuration is in HJSON (http://hjson.org/) format. Strict to-spec
|
|
||||||
JSON is also perfectly valid. Use "hjson" from npm to convert to/from JSON.
|
|
||||||
|
|
||||||
See http://hjson.org/ for more information and syntax.
|
|
||||||
|
|
||||||
Various editors and IDEs such as Sublime Text 3 Visual Studio Code and so
|
|
||||||
on have syntax highlighting for the HJSON format which are highly recommended.
|
|
||||||
|
|
||||||
------------------------------- -- - -
|
|
||||||
Achievement Configuration
|
|
||||||
------------------------------- - -
|
|
||||||
Achievements are currently fairly limited in what can trigger them. This is
|
|
||||||
being expanded upon and more will be available in the near future. For now
|
|
||||||
you should mostly be interested in:
|
|
||||||
- Perhaps adding additional *levels* of triggers & points
|
|
||||||
- Applying customizations via the achievements section in theme.hjson
|
|
||||||
|
|
||||||
Some tips:
|
|
||||||
- For 'userStatSet' types, see user_property.js
|
|
||||||
|
|
||||||
Don"t forget to RTFM ...er uh... see the documentation for more information and
|
|
||||||
don"t be shy to ask for help:
|
|
||||||
|
|
||||||
BBS : Xibalba @ xibalba.l33t.codes
|
|
||||||
FTN : BBS Discussion on fsxNet or ArakNet
|
|
||||||
IRC : #enigma-bbs / FreeNode
|
|
||||||
Email : bryan@l33t.codes
|
|
||||||
*/
|
|
||||||
{
|
|
||||||
// Set to false to disable the achievement system
|
|
||||||
enabled : true
|
|
||||||
|
|
||||||
art : {
|
|
||||||
localHeader: achievement_local_header
|
|
||||||
localFooter: achievement_local_footer
|
|
||||||
globalHeader: achievement_global_header
|
|
||||||
globalFooter: achievement_global_footer
|
|
||||||
}
|
|
||||||
|
|
||||||
achievements: {
|
|
||||||
user_login_count: {
|
|
||||||
type: userStatSet
|
|
||||||
statName: login_count
|
|
||||||
match: {
|
|
||||||
2: {
|
|
||||||
title: "Return Caller"
|
|
||||||
globalText: "{userName} has returned to {boardName}!"
|
|
||||||
text: "You've returned to {boardName}!"
|
|
||||||
points: 5
|
|
||||||
}
|
|
||||||
10: {
|
|
||||||
title: "Curious Caller"
|
|
||||||
globalText: "{userName} has logged into {boardName} {achievedValue} times!"
|
|
||||||
text: "You've logged into {boardName} {achievedValue} times!"
|
|
||||||
points: 10
|
|
||||||
}
|
|
||||||
25: {
|
|
||||||
title: "Inquisitive"
|
|
||||||
globalText: "{userName} has logged into {boardName} {achievedValue} times!"
|
|
||||||
text: "You've logged into {boardName} {achievedValue} times!"
|
|
||||||
points: 10
|
|
||||||
}
|
|
||||||
75: {
|
|
||||||
title: "Still Interested!"
|
|
||||||
globalText: "{userName} has logged into {boardName} {achievedValue} times!"
|
|
||||||
text: "You've logged into {boardName} {achievedValue} times!"
|
|
||||||
points: 15
|
|
||||||
}
|
|
||||||
100: {
|
|
||||||
title: "Regular Customer"
|
|
||||||
globalText: "{userName} has logged into {boardName} {achievedValue} times!"
|
|
||||||
text: "You've logged into {boardName} {achievedValue} times!"
|
|
||||||
points: 25
|
|
||||||
}
|
|
||||||
250: {
|
|
||||||
title: "Speed Dial",
|
|
||||||
globalText: "{userName} has logged into {boardName} {achievedValue} times!"
|
|
||||||
text: "You've logged into {boardName} {achievedValue} times!"
|
|
||||||
points: 50
|
|
||||||
}
|
|
||||||
500: {
|
|
||||||
title: "System Addict"
|
|
||||||
globalText: "{userName} the BBS {boardName} addict has logged in {achievedValue} times!"
|
|
||||||
text: "You're a {boardName} addict! You've logged in {achievedValue} times!"
|
|
||||||
points: 50
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
user_post_count: {
|
|
||||||
type: userStatSet
|
|
||||||
statName: post_count
|
|
||||||
match: {
|
|
||||||
2: {
|
|
||||||
title: "Poster"
|
|
||||||
globalText: "{userName} has posted {achievedValue} messages!"
|
|
||||||
text: "You've posted {achievedValue} messages!"
|
|
||||||
points: 5
|
|
||||||
}
|
|
||||||
5: {
|
|
||||||
title: "Poster... again!",
|
|
||||||
globalText: "{userName} has posted {achievedValue} messages!"
|
|
||||||
text: "You've posted {achievedValue} messages!"
|
|
||||||
points: 5
|
|
||||||
}
|
|
||||||
20: {
|
|
||||||
title: "Just Want to Talk",
|
|
||||||
globalText: "{userName} has posted {achievedValue} messages!"
|
|
||||||
text: "You've posted {achievedValue} messages!"
|
|
||||||
points: 10
|
|
||||||
}
|
|
||||||
100: {
|
|
||||||
title: "Probably Just Spam",
|
|
||||||
globalText: "{userName} has posted {achievedValue} messages!"
|
|
||||||
text: "You've posted {achievedValue} messages!"
|
|
||||||
points: 25
|
|
||||||
}
|
|
||||||
250: {
|
|
||||||
title: "Scribe"
|
|
||||||
globalText: "{userName} the scribe has posted {achievedValue} messages!"
|
|
||||||
text: "Such a scribe! You've posted {achievedValue} messages!"
|
|
||||||
points: 50
|
|
||||||
}
|
|
||||||
500: {
|
|
||||||
title: "Writing a Book"
|
|
||||||
globalText: "{userName} is writing a book and has posted {achievedValue} messages!"
|
|
||||||
text: "You've posted {achievedValue} messages!"
|
|
||||||
points: 50
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
user_upload_count: {
|
|
||||||
type: userStatSet
|
|
||||||
statName: ul_total_count
|
|
||||||
match: {
|
|
||||||
1: {
|
|
||||||
title: "Uploader"
|
|
||||||
globalText: "{userName} has uploaded a file!"
|
|
||||||
text: "You've uploaded somthing!"
|
|
||||||
points: 5
|
|
||||||
}
|
|
||||||
10: {
|
|
||||||
title: "Moar Uploads!"
|
|
||||||
globalText: "{userName} has uploaded {achievedValue} files!"
|
|
||||||
text: "You've uploaded {achievedValue} files!"
|
|
||||||
points: 10
|
|
||||||
}
|
|
||||||
50: {
|
|
||||||
title: "Contributor"
|
|
||||||
globalText: "{userName} has uploaded {achievedValue} files!"
|
|
||||||
text: "You've uploaded {achievedValue} files!"
|
|
||||||
points: 25
|
|
||||||
|
|
||||||
}
|
|
||||||
100: {
|
|
||||||
title: "Courier"
|
|
||||||
globalText: "Courier {userName} has uploaded {achievedValue} files!"
|
|
||||||
text: "You've uploaded {achievedValue} files!"
|
|
||||||
points: 50
|
|
||||||
}
|
|
||||||
200: {
|
|
||||||
title: "Must Be a Drop Site"
|
|
||||||
globalText: "{userName} has uploaded a whomping {achievedValue} files!"
|
|
||||||
text: "You've uploaded a whomping {achievedValue} files!"
|
|
||||||
points: 55
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
user_upload_bytes: {
|
|
||||||
type: userStatSet
|
|
||||||
statName: ul_total_bytes
|
|
||||||
match: {
|
|
||||||
10240: {
|
|
||||||
text: "UNIVAC Drum"
|
|
||||||
globalText: "{userName} has uploaded 10k. Enough to fill a UNIVAC drum!"
|
|
||||||
text: "You've uploaded 10k. Enough to fill a UNIVAC drum!"
|
|
||||||
points: 5
|
|
||||||
}
|
|
||||||
524288: {
|
|
||||||
title: "Kickstart"
|
|
||||||
globalText: "{userName} has uploaded 512KB, enough for a Kickstart!"
|
|
||||||
text: "You've uploaded 512KB, enough for a Kickstart!"
|
|
||||||
points: 10
|
|
||||||
}
|
|
||||||
1474560: {
|
|
||||||
title: "AOL Disk Anyone?"
|
|
||||||
globalText: "{userName} has uploaded 1.44M worth of data. Hopefully it's not AOL!"
|
|
||||||
title: "You've uploaded 1.44M worth of data. Hopefully it's not AOL!"
|
|
||||||
points: 10
|
|
||||||
}
|
|
||||||
6291456: {
|
|
||||||
title: "A Quake of a Upload"
|
|
||||||
globalText: "{userName} has uploaded 6 x 1.44MB disks worth of data. That's the size of Quake for DOS!"
|
|
||||||
text: "You've uploaded 6 x 1.44MB disks worth of data. That's the size of Quake for DOS!"
|
|
||||||
points: 20
|
|
||||||
}
|
|
||||||
104857600: {
|
|
||||||
title: "Zip 100"
|
|
||||||
globalText: "{userName} has uploaded a Zip 100 disk's worth of data!"
|
|
||||||
text: "You've uploaded a Zip 100 disk's worth of data!"
|
|
||||||
points: 25
|
|
||||||
}
|
|
||||||
1073741824: {
|
|
||||||
title: "Gigabyte!"
|
|
||||||
globalText: "{userName} has uploaded a Gigabyte worth of data!"
|
|
||||||
text: "You've uploaded a Gigabyte worth of data!"
|
|
||||||
points: 50
|
|
||||||
}
|
|
||||||
3407872000: {
|
|
||||||
title: "Encarta"
|
|
||||||
globalText: "{userName} has uploaded 5xCD discs worth of data. That's the size of Encarta!"
|
|
||||||
text: "You've uploaded 5xCD discs worth of data. That's the size of Encarta!"
|
|
||||||
points: 50
|
|
||||||
}
|
|
||||||
7025459200: {
|
|
||||||
title: "NFL_Madden_2007_USA_BLURAY_DIRFIX_PS3-PARADOX"
|
|
||||||
globalText: "{userName} has uploaded 67x100 MiB worth of data, the size of the worlds first PS3 rip!"
|
|
||||||
text: "You've uploaded 67x100 MiB worth of data, the size of the world first PS3 rip!"
|
|
||||||
points: 100
|
|
||||||
}
|
|
||||||
25018184499: {
|
|
||||||
title: "WaYsTeD"
|
|
||||||
globalText: "{userName} has uploaded 23.3 GiB of data, the size of the first PS4 rip: Watch.Dogs.PS4-WaYsTeD!"
|
|
||||||
text: "You've uploaded 23.3 GiB of data, the size of the first PS4 rip: Watch.Dogs.PS4-WaYsTeD!"
|
|
||||||
points: 150
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
user_download_count: {
|
|
||||||
type: userStatSet
|
|
||||||
statName: dl_total_count
|
|
||||||
match: {
|
|
||||||
1: {
|
|
||||||
title: "Downloader"
|
|
||||||
globalText: "{userName} has downloaded a file!"
|
|
||||||
text: "You've downloaded somthing!"
|
|
||||||
points: 5
|
|
||||||
}
|
|
||||||
10: {
|
|
||||||
title: "Moar Downloads!"
|
|
||||||
globalText: "{userName} has downloaded {achievedValue} files!"
|
|
||||||
text: "You've downloaded {achievedValue} files!"
|
|
||||||
points: 10
|
|
||||||
}
|
|
||||||
50: {
|
|
||||||
title: "Leecher"
|
|
||||||
globalText: "{userName} has leeched {achievedValue} files!"
|
|
||||||
text: "You've leeched... er... downloaded {achievedValue} files!"
|
|
||||||
points: 15
|
|
||||||
}
|
|
||||||
100: {
|
|
||||||
title: "Hoarder"
|
|
||||||
globalText: "{userName} has downloaded {achievedValue} files!"
|
|
||||||
text: "Hoarding files? You've downloaded {achievedValue} files!"
|
|
||||||
points: 20
|
|
||||||
}
|
|
||||||
200: {
|
|
||||||
title: "Digital Archivist"
|
|
||||||
globalText: "{userName} the digital archivist has {achievedValue} files!"
|
|
||||||
text: "Building an archive? You've downloaded {achievedValue} files!"
|
|
||||||
points: 25
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
user_download_bytes: {
|
|
||||||
type: userStatSet
|
|
||||||
statName: dl_total_bytes
|
|
||||||
match: {
|
|
||||||
655360: {
|
|
||||||
title: "Ought to be Enough"
|
|
||||||
globalText: "{userName} has downloaded 640K. Ought to be enough for anyone!"
|
|
||||||
text: "You've downloaded 640K. Ought to be enough for anyone!"
|
|
||||||
points: 5
|
|
||||||
}
|
|
||||||
1474560: {
|
|
||||||
title: "Fits on a Floppy"
|
|
||||||
globalText: "{userName} has downloaded 1.44MB worth of data!"
|
|
||||||
text: "You've downloaded 1.44MB of data!"
|
|
||||||
points: 5
|
|
||||||
}
|
|
||||||
104857600: {
|
|
||||||
title: "Click of Death"
|
|
||||||
globalText: "{userName} has downloaded 100MB... perhaps to a Zip Disk?"
|
|
||||||
text: "You've downloaded 100MB of data... perhaps to a Zip Disk?"
|
|
||||||
points: 10
|
|
||||||
}
|
|
||||||
681574400: {
|
|
||||||
title: "CD Rip"
|
|
||||||
globalText: "{userName} has downloaded a CD-ROM's worth of data!"
|
|
||||||
text: "You've downloaded a CD-ROM's worth of data!"
|
|
||||||
points: 15
|
|
||||||
}
|
|
||||||
1073741824: {
|
|
||||||
title: "Like One Hundred Floppys, Man"
|
|
||||||
globalText: "{userName} has downloaded {achievedValue!sizeWithAbbr} of data!"
|
|
||||||
text: "You've downloaded {achievedValue!sizeWithAbbr} of data!"
|
|
||||||
points: 25
|
|
||||||
}
|
|
||||||
5368709120: {
|
|
||||||
title: "That's a Lot of Bits!"
|
|
||||||
globalText: "{userName} has downloaded {achievedValue!sizeWithAbbr} of data!"
|
|
||||||
text: "You've downloaded {achievedValue!sizeWithAbbr} of data!"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
user_door_runs: {
|
|
||||||
type: userStatSet
|
|
||||||
statName: door_run_total_count
|
|
||||||
match: {
|
|
||||||
1: {
|
|
||||||
title: "Nostalgia Toe Dip",
|
|
||||||
globalText: "{userName} ran a door!"
|
|
||||||
text: "You ran a door!"
|
|
||||||
points: 5
|
|
||||||
},
|
|
||||||
10: {
|
|
||||||
title: "This is Kinda Fun"
|
|
||||||
globalText: "{userName} ran {achievedValue} doors!"
|
|
||||||
text: "You've run {achievedValue} doors!"
|
|
||||||
points: 10
|
|
||||||
}
|
|
||||||
50: {
|
|
||||||
title: "Gamer"
|
|
||||||
globalText: "{userName} ran {achievedValue} doors!"
|
|
||||||
text: "You've run {achievedValue} doors!"
|
|
||||||
points: 20
|
|
||||||
}
|
|
||||||
100: {
|
|
||||||
title: "Trying Them All"
|
|
||||||
globalText: "{userName} must really like textmode and has run {achievedValue} doors!"
|
|
||||||
text: "You've run {achievedValue} doors! You must really like textmode!"
|
|
||||||
points: 50
|
|
||||||
}
|
|
||||||
200: {
|
|
||||||
title: "Dropfile Enthusiast"
|
|
||||||
globalText: "{userName} the dropfile enthusiast ran {achievedValue} doors!"
|
|
||||||
text: "You're a dropfile enthusiast! You've run {achievedValue} doors!"
|
|
||||||
points: 55
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
user_individual_door_run_minutes: {
|
|
||||||
type: userStatInc
|
|
||||||
statName: door_run_total_minutes
|
|
||||||
retroactive: false
|
|
||||||
match: {
|
|
||||||
1: {
|
|
||||||
title: "Nevermind!"
|
|
||||||
globalText: "{userName} ran a door for {achievedValue!durationMinutes}. Guess it's not their thing!"
|
|
||||||
text: "You ran a door for only {achievedValue!durationMinutes}. Not your thing?"
|
|
||||||
points: 5
|
|
||||||
}
|
|
||||||
10: {
|
|
||||||
title: "It's OK I Guess"
|
|
||||||
globalText: "{userName} ran a door for {achievedValue!durationMinutes}!"
|
|
||||||
text: "You ran a door for {achievedValue!durationMinutes}!"
|
|
||||||
points: 10
|
|
||||||
}
|
|
||||||
30: {
|
|
||||||
title: "Good Game"
|
|
||||||
globalText: "{userName} ran a door for {achievedValue!durationMinutes}!"
|
|
||||||
text: "You ran a door for {achievedValue!durationMinutes}!"
|
|
||||||
points: 20
|
|
||||||
}
|
|
||||||
60: {
|
|
||||||
title: "What? Limited Turns?!"
|
|
||||||
globalText: "{userName} has spent {achievedValue!durationMinutes} in a door!"
|
|
||||||
text: "You've spent {achievedValue!durationMinutes} in a door!"
|
|
||||||
points: 25
|
|
||||||
}
|
|
||||||
120: {
|
|
||||||
title: "It's the Only One I Know!"
|
|
||||||
globalText: "{userName} has spent {achievedValue!durationMinutes} in a door!"
|
|
||||||
text: "You've spent {achievedValue!durationMinutes} in a door!"
|
|
||||||
points: 50
|
|
||||||
}
|
|
||||||
240: {
|
|
||||||
title: "Possible Addict"
|
|
||||||
globalText: "{userName} has spent {achievedValue!durationMinutes} in a door!"
|
|
||||||
text: "You've spent {achievedValue!durationMinutes} in a door!"
|
|
||||||
points: 55
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
user_door_run_total_minutes: {
|
|
||||||
type: userStatIncNewVal
|
|
||||||
statName: door_run_total_minutes
|
|
||||||
match: {
|
|
||||||
10: {
|
|
||||||
title: "Enough for the Instructions"
|
|
||||||
globalText: "{userName} has spent {achievedValue!durationMinutes} playing doors!"
|
|
||||||
text: "You've spent {achievedValue!durationMinutes} playing doors!"
|
|
||||||
points: 10
|
|
||||||
}
|
|
||||||
30: {
|
|
||||||
title: "Probably Just L.O.R.D."
|
|
||||||
globalText: "{userName} has spent {achievedValue!durationMinutes} playing doors!"
|
|
||||||
text: "You've spent {achievedValue!durationMinutes} playing doors!"
|
|
||||||
points: 20
|
|
||||||
}
|
|
||||||
60: {
|
|
||||||
title: "Retro or Bust"
|
|
||||||
globalText: "{userName} has spent {achievedValue!durationMinutes} playing doors!"
|
|
||||||
text: "You've spent {achievedValue!durationMinutes} playing doors!"
|
|
||||||
points: 25
|
|
||||||
}
|
|
||||||
240: {
|
|
||||||
title: "Textmode Dragon Slayer"
|
|
||||||
globalText: "{userName} has spent {achievedValue!durationMinutes} playing doors!"
|
|
||||||
text: "You've spent {achievedValue!durationMinutes} playing doors!"
|
|
||||||
points: 50
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
user_total_system_online_minutes: {
|
|
||||||
type: userStatSet
|
|
||||||
statName: minutes_online_total_count
|
|
||||||
match: {
|
|
||||||
30: {
|
|
||||||
title: "Just Poking Around"
|
|
||||||
globalText: "{userName} has spent {achievedValue!durationMinutes} on {boardName}!"
|
|
||||||
text: "You've been on {boardName} for a total of {achievedValue!durationMinutes}!"
|
|
||||||
points: 5
|
|
||||||
}
|
|
||||||
60: {
|
|
||||||
title: "Mildly Interesting"
|
|
||||||
globalText: "{userName} has spent {achievedValue!durationMinutes} on {boardName}!"
|
|
||||||
text: "You've been on {boardName} for a total of {achievedValue!durationMinutes}!"
|
|
||||||
points: 15
|
|
||||||
}
|
|
||||||
120: {
|
|
||||||
title: "Nothing Better to Do"
|
|
||||||
globalText: "{userName} has spent {achievedValue!durationMinutes} on {boardName}!"
|
|
||||||
text: "You've been on {boardName} for a total of {achievedValue!durationMinutes}!"
|
|
||||||
points: 25
|
|
||||||
}
|
|
||||||
1440: {
|
|
||||||
title: "Idle Bot"
|
|
||||||
globalText: "{userName} is probably a bot. They've spent {achievedValue!durationMinutes} on {boardName}!"
|
|
||||||
text: "You're a bot, aren't you? You've been on {boardName} for a total of {achievedValue!durationMinutes}!"
|
|
||||||
points: 55
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -125,8 +125,8 @@ collections:
|
||||||
- modding/user-2fa-otp-config.md
|
- modding/user-2fa-otp-config.md
|
||||||
- modding/autosig-edit.md
|
- modding/autosig-edit.md
|
||||||
- modding/menu-modules.md
|
- modding/menu-modules.md
|
||||||
- admin/administration.md
|
|
||||||
- modding/wfc.md
|
- modding/wfc.md
|
||||||
|
- admin/administration.md
|
||||||
- admin/oputil.md
|
- admin/oputil.md
|
||||||
- admin/updating.md
|
- admin/updating.md
|
||||||
- troubleshooting/monitoring-logs.md
|
- troubleshooting/monitoring-logs.md
|
||||||
|
|
Loading…
Reference in New Issue