projectmoon
3154f36dca
Add build badge
2020-11-05 21:08:17 +00:00
projectmoon
bc89088dd1
Fix GitHub link in readme.
2020-11-05 20:48:09 +00:00
projectmoon
53840bff9f
Add CoC mention to the readme
2020-11-05 20:39:58 +00:00
projectmoon
d456320e66
Update readme for repo mirroring.
2020-11-05 19:56:25 +00:00
projectmoon
e7520f6206
Test mirroring to github
2020-11-05 19:47:02 +00:00
projectmoon
cdc4254783
Note github moving.
2020-11-05 19:25:44 +00:00
projectmoon
6a93194cbb
Add drone CI config.
2020-11-05 19:21:15 +00:00
projectmoon
66f9bc6013
Move original dice rolling code into its own 'basic' module.
...
This gives it parity with the other systems: cofd and cthulhu. More
refactoring and a rewrite later as we trend towards more
system-specific implementations.
2020-11-04 20:46:25 +00:00
projectmoon
d2642d1fd3
Less verbose errors from internal dice parsing errors.
2020-11-04 20:33:30 +00:00
projectmoon
39e6eb9b46
Implement support for user variables in CoC dice rolling.
...
Also comes with reorganization of the dice rolling code to centralize
the variable -> dice amount logic, and changes the way the results of
those rolls are displayed.
2020-11-04 20:33:30 +00:00
projectmoon
b142b87d65
Remove references to olm in dynamic mode. No longer necessary.
2020-11-03 21:55:13 +00:00
projectmoon
bf4ce24b79
Better public API for user variables, avoid allocations in Context.
...
The database API for user variables has changed somewhat again, this
time closer to the proper vision. There are now two separate sled
Trees in the Variables struct, one for user-defined variables, and one
for counts. Keys have been changed to be username-first, then room ID.
The signatures of the functions now also use a strongly-typed struct,
UserAndRoom.
As part of this, the Context object now once again avoids allocating
new strings.
Other random changes included here:
- Remove tempfile crate in favor of sled temporary db config.
- Add bincode crate in anticipation of future (de)serializing.
2020-11-03 20:31:29 +00:00
projectmoon
8ec19c266f
Slightly different way of installing tini.
2020-11-01 19:55:06 +00:00
projectmoon
a15d3e0bac
Fix cthulhu advancement rolls, add remaining dice tests.
2020-11-01 19:29:09 +00:00
projectmoon
7e15379c58
Migrate existing delineators to delimiter 0xfe.
2020-11-01 19:08:54 +00:00
projectmoon
3ccd60c173
Do not respond to or log ignored commands.
2020-11-01 12:20:45 +00:00
projectmoon
29ef21087f
Remove dynamically linked olm from Dockerfile.
2020-10-31 21:33:52 +00:00
projectmoon
f4417d4c1a
Remove unnecessary Option from parse_command return type.
2020-10-31 21:03:17 +00:00
projectmoon
c55926a005
Support modifiers for cthulhu rolls, and add tests.
2020-10-31 20:51:17 +00:00
projectmoon
08b0e58193
Implement parsing of Cthulhu dice, only basic for now.
...
Does not understand anything besides single numbers at the moment.
2020-10-31 20:51:17 +00:00
projectmoon
c290393ddf
Centralize common parsing code.
...
Needed for further development of different systems that rely on these
kind of expressions, and lays groundwork for future changes.
2020-10-31 20:51:17 +00:00
projectmoon
e3b819ecb0
Wire up regular cthulhu roll commmand (not yet parsed).
2020-10-31 20:51:17 +00:00
projectmoon
7a302c4489
Extract Ruma error messages from matrix SDK errors.
2020-10-31 20:51:17 +00:00
projectmoon
88db00cc3d
Move commands into separate submodules
2020-10-31 20:51:17 +00:00
projectmoon
51c8075b44
Ignore bot-db
2020-10-31 20:51:17 +00:00
projectmoon
d5034c11dc
Basic implementation of CoC dice rolling.
...
Not hooked up to parser or commands yet.
2020-10-31 20:51:17 +00:00
projectmoon
9f598541fb
Remove variable_count keys missed in manual data migration.
2020-10-30 22:44:19 +00:00
projectmoon
5224357f8b
Add migration 2: remove old data.
2020-10-30 21:53:22 +00:00
projectmoon
6b21b0aff8
Add string name to migrations
2020-10-30 21:53:22 +00:00
projectmoon
3cec676b2f
Clean up migration to make it more readable
2020-10-30 21:53:22 +00:00
projectmoon
a53ce85f38
Add db migration support, change variables schema.
...
This is a bit of a large commit that adds basic database migration
support. It also alters the way user variables are stored in a way
requiring manual migration of existing data. The first automated
migration adds variable count in a new place.
2020-10-30 21:53:22 +00:00
projectmoon
4d9ad42bdd
De-asyncify database methods
2020-10-30 21:53:22 +00:00
projectmoon
5410c53513
Split database code into separate modules.
2020-10-30 21:53:22 +00:00
projectmoon
4033b343e7
Update dependencies.
2020-10-30 20:31:35 +00:00
projectmoon
9176e858d5
A bit of database code cleanup.
2020-10-23 20:30:03 +00:00
projectmoon
9f8ef281de
Store room user variable count under a room metadata space
2020-10-23 20:30:03 +00:00
projectmoon
d482046b9b
Actually roll a die when converting to chance die pool.
2020-10-22 23:36:50 +00:00
projectmoon
1a980aa608
Auto-convert dice pools to chance die if below 0.
2020-10-22 23:24:24 +00:00
projectmoon
7f971703e2
Sort variable list when showing all variables.
...
Fixes #28
2020-10-22 21:24:24 +00:00
projectmoon
c10ee5c0f3
Allow negative variables.
2020-10-22 20:47:20 +00:00
projectmoon
0c394d0f79
Get all variables command.
2020-10-22 20:29:37 +00:00
projectmoon
314b0520d9
Support multiple command execution.
2020-10-22 19:54:48 +00:00
projectmoon
2ee8ae2e34
Document the From trait on the DataError type.
2020-10-20 21:10:54 +00:00
projectmoon
114c879c6f
Count user variables on a per-room basis.
2020-10-20 21:10:54 +00:00
projectmoon
ebfd230f31
Use variables namespace for user variables.
2020-10-18 21:01:52 +00:00
projectmoon
6b7acbe520
Open trees for rooms and variables, but not yet use them.
2020-10-18 21:01:52 +00:00
projectmoon
ce82e6ddad
Fetch all variables into a map before rolling dice.
...
Goes from about 30 seconds to do 1 million variable resolutions down
to 18 seconds.
2020-10-18 20:37:02 +00:00
projectmoon
d5aae3ebb1
Fully async dice rolling. Also remove more unnecessary stuff.
2020-10-18 20:37:02 +00:00
projectmoon
3c2a37c0f7
Make command execution async.
2020-10-18 20:37:02 +00:00
projectmoon
97d91704a1
Make context owned, in hopes of async
2020-10-18 20:37:02 +00:00