A few gaming features added, e.g. rolling dice, flipping coin, eightball.

This commit is contained in:
Storm Dragon committed 2026-09-03 13:25:32 -04:00
1 parent d0f78b1295
commit 77c687b6fe
12 files changed
+871 -11

No files matched your search

+29
View File
@@ -108,6 +108,35 @@ func TestGlobalShortcutAliasesStayDocumented(t *testing.T) {
requireContains(t, js, "if(isGlobalShortcut(e, 't'))", "microphone shortcut")
}
func TestDiceCommandStaysDiscoverableAndUsesServerRolls(t *testing.T) {
js := readStaticFile(t, "skald.js")
requireContains(t, js, "/NdS [ +|- modifier]: roll dice", "dice help")
requireContains(t, js, "const diceCommandRegexp", "dice notation parser")
requireFunctionContains(t, js, "handleInput", "diceCommandRegexp.test(data)")
requireFunctionContains(t, js, "handleInput", "serverConnection.hallAction('roll', data.slice(1))")
requireFunctionContains(t, js, "addToChatbox", "kind === 'dice' && privileged")
}
func TestEightBallCommandsUseServerResponses(t *testing.T) {
js := readStaticFile(t, "skald.js")
requireContains(t, js, "commands['8ball']", "Eight Ball primary command")
requireContains(t, js, "description: 'ask the Eight Ball a question'", "Eight Ball help")
requireContains(t, js, "commands.eightball", "Eight Ball spelling alias")
requireFunctionContains(t, js, "eightBallCommand", "serverConnection.hallAction('eightball', r)")
requireFunctionContains(t, js, "addToChatbox", "kind === 'eightball' && privileged")
}
func TestCoinCommandUsesServerFlip(t *testing.T) {
js := readStaticFile(t, "skald.js")
requireContains(t, js, "commands.coin", "coin command")
requireContains(t, js, "description: 'flip a coin'", "coin help")
requireContains(t, js, "serverConnection.hallAction('coin', r)", "coin request")
requireFunctionContains(t, js, "addToChatbox", "kind === 'coin' && privileged")
}
func TestTimedUnlockCommandStaysDocumentedAndUsesServerAnnouncements(t *testing.T) {
js := readStaticFile(t, "skald.js")
protocol := readStaticFile(t, "protocol.js")