aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/src/oneroll/grammar.pest
diff options
context:
space:
mode:
author简律纯 <i@jyunko.cn>2025-09-12 18:11:33 +0800
committer简律纯 <i@jyunko.cn>2025-09-12 18:11:33 +0800
commit899ca820e34b1b62190e88da71cf734295974a19 (patch)
tree2164917914cb8871d59d78db6305fcc5d14cd99a /src/oneroll/grammar.pest
parent183e39d9ebfe6e48e5ce666dee36b5347d47f53e (diff)
downloadOneRoll-899ca820e34b1b62190e88da71cf734295974a19.tar.gz
OneRoll-899ca820e34b1b62190e88da71cf734295974a19.zip
feat: enhance dice modifiers with new options for aliasing, sorting, and counting
Diffstat (limited to 'src/oneroll/grammar.pest')
-rw-r--r--src/oneroll/grammar.pest10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/oneroll/grammar.pest b/src/oneroll/grammar.pest
index 27d1c5e..09b86f8 100644
--- a/src/oneroll/grammar.pest
+++ b/src/oneroll/grammar.pest
@@ -22,23 +22,33 @@ dice_sides = @{ number }
modifiers = { modifier+ }
modifier = {
explode
+ | explode_alias
+ | explode_keep_high
| reroll
| reroll_once
+ | keep_alias
| keep_high
| keep_low
| drop_high
| drop_low
| unique
+ | sort
+ | count
}
explode = { "!" }
+explode_alias = { "e" }
+explode_keep_high = { "K" ~ number }
reroll = { "r" ~ number }
reroll_once = { "ro" ~ number }
+keep_alias = { "k" ~ number }
keep_high = { "kh" ~ number }
keep_low = { "kl" ~ number }
drop_high = { "dh" ~ number }
drop_low = { "dl" ~ number }
unique = { "u" }
+sort = { "s" }
+count = { "c" ~ number }
op = { "+" | "-" | "*" | "/" | "^" }