Commit Graph

20 Commits

Author SHA1 Message Date
Brian S. Stephan 15df477fa4
add a manager query for level-up-able characters
will be used by the IRC plugin

Signed-off-by: Brian S. Stephan <bss@incorporeal.org>
2024-05-15 12:00:14 -05:00
Brian S. Stephan 2730978663
start implementation of the IRC plugin
not functional yet, but this has some of the operations implemented and
under test

Signed-off-by: Brian S. Stephan <bss@incorporeal.org>
2024-05-15 11:59:21 -05:00
Brian S. Stephan 497619e0ff
do a simple Game test of the string repr
Signed-off-by: Brian S. Stephan <bss@incorporeal.org>
2024-05-14 21:17:51 -05:00
Brian S. Stephan 27fcecd8aa
add a Character manager operation to log everyone out
this is without penalty

Signed-off-by: Brian S. Stephan <bss@incorporeal.org>
2024-05-14 14:10:33 -05:00
Brian S. Stephan 04e09af8a9
provide next_level as a nice-looking string
Signed-off-by: Brian S. Stephan <bss@incorporeal.org>
2024-05-14 13:03:32 -05:00
Brian S. Stephan fa56e51ce3
move the character password check into a separate method
just a bit of reuse

Signed-off-by: Brian S. Stephan <bss@incorporeal.org>
2024-05-14 13:00:20 -05:00
Brian S. Stephan 2ad79285b3
unique constraint for only one hostmask enabled at a time
this replaces the need for a game+hostmask unique constraint, with this
change, a player can only have one active character they're playing
with anyway, regardless of how many games there are

Signed-off-by: Brian S. Stephan <bss@incorporeal.org>
2024-05-14 11:13:13 -05:00
Brian S. Stephan d0531bff53
have character status display strings lowercase for use mid-sentence
Signed-off-by: Brian S. Stephan <bss@incorporeal.org>
2024-05-14 10:55:51 -05:00
Brian S. Stephan d322429157
tweak the formatting of the character summary string
Signed-off-by: Brian S. Stephan <bss@incorporeal.org>
2024-05-14 10:36:10 -05:00
Brian S. Stephan f941762f26
get rid of the online character status, it's not necessary
Signed-off-by: Brian S. Stephan <bss@incorporeal.org>
2024-05-12 23:36:25 -05:00
Brian S. Stephan 54e944b74b
actually, just make Character.name completely unique
login, logout, etc. are too annoying otherwise

Signed-off-by: Brian S. Stephan <bss@incorporeal.org>
2024-05-10 16:08:16 -05:00
Brian S. Stephan 7d0c8f3431
separate the logged in state from the online state for a character
I think we will need to distinguish in the database characters whose
players are online but not yet logged in, so start building for that now

Signed-off-by: Brian S. Stephan <bss@incorporeal.org>
2024-05-10 16:08:13 -05:00
Brian S. Stephan 34aa91ad9e
add unique constraint on name + hostmask
I'm thinking that the command to log out will be LOGOUT <name>, which
means the user hostmask must have an unambiguous link to name

Signed-off-by: Brian S. Stephan <bss@incorporeal.org>
2024-05-10 13:37:17 -05:00
Brian S. Stephan ab9690fa1c
only log idlerpg at DEBUG level
the IRC bot is spammy otherwise

Signed-off-by: Brian S. Stephan <bss@incorporeal.org>
2024-05-10 12:12:54 -05:00
Brian S. Stephan b9e8976b0f
add irc library to dependencies
Signed-off-by: Brian S. Stephan <bss@incorporeal.org>
2024-05-10 12:11:28 -05:00
Brian S. Stephan f452aab825
don't penalize character inside the log_out method
part, quit, kick are all going to have their own need to log out the
character without a penalty (because they apply their own), so to avoid
double penalties, the log out penalty should be moved into the bot
command and managed that way. this was the only place where an action
method was also applying a penalty, so hopefully this remains consistent
too

Signed-off-by: Brian S. Stephan <bss@incorporeal.org>
2024-05-07 08:42:48 -05:00
Brian S. Stephan 180d3f8b6f
rename the test app core from test_project to dr_botzo
the ircbot library expects to be able to load from the dr_botzo package

Signed-off-by: Brian S. Stephan <bss@incorporeal.org>
2024-05-07 00:23:27 -05:00
Brian S. Stephan d862aa16d8
implement the bones of character management
this provides character-level operations such as character creation,
logging in/out, leveling them, and penalizing them. this isn't a game,
yet, but it does implement and test a lot of the core functionality,
just without triggers or bulk operations

Signed-off-by: Brian S. Stephan <bss@incorporeal.org>
2024-05-06 00:16:16 -05:00
Brian S. Stephan 9540c98d18
add more development tools and start the test scaffolding
this runs with a basic model and even more basic test, but I'm not
committing those yet as I'm still playing with the model (lest I make 30
revisions right off the bat)

Signed-off-by: Brian S. Stephan <bss@incorporeal.org>
2024-05-05 23:03:23 -05:00
Brian S. Stephan c15438a194
initial project scaffolding, just structure + license stuff mostly
Signed-off-by: Brian S. Stephan <bss@incorporeal.org>
2024-05-03 14:50:57 -05:00