------------------
- Missed adding updated __init__.py. [emsenn]
Forgot to add this to the last commit ffs
- Bumping things up to version 0.0.3. [emsenn]
Note to self: remember to rebuild documentation during *this* part of
the release process, not when closing a feature branch.
- Merge branch 'feature/textblob' into develop. [emsenn]
Fancier parsing, more qualities, expanded library.
- Documentation Update. [emsenn]
Rebuilt the Sphinx autodocumentation.
- Prehensile Quality, Hearing Quality. [emsenn]
Fixed adjectives, added a Prehensile quality that lets Things with it
'take' objects, which moves them from where they are into the contents
of the prehensile thing.
Also added the Hearing quality, which lets things listen. Added the
sounds string to Renderable quality.
- Sender Service, Fixing Commands. [emsenn]
A lot of commands broke when I set up the new parser, this fixes a fair
chunk of them, but certainly not all.
I also created the Sender service, which does basically what the
Renderer service does. Leaving the Renderer service for now, because it
will probably be used to format scenes (which maybe should be called
frames lol) for users.
- Implementing Natural Language Toolkit. [emsenn]
Changed qtmud.services.Parser to have the parse_line() function, which
uses the TextBlob package to do some basic parts of speech tagging on
player lines, to try and suss out what things the player might be
talking about.
It's functional in this commit, but uncommented and not fully
implemented. Check the Sighted quality's look() method for an example
usage.
- Merge branch 'feature/nametags' into develop. [emsenn]
The basic nametags code is finished. There's probably some parts of the
code which don't use it, though, so be careful.
- Applicative Fix. [emsenn]
After talking with a friend and having the difference between
applicative and imperative methods explained, made some changes to
make the applicative methods more, well, applicative. Also fixed some
older lines that were outdated but not throwing errors.
- Thing.search('target') method. [emsenn]
Added a simple method for looking around a thing's potential environment
to find a match for 'target', intended to be a nametag'
- Library Expansion. [emsenn]
Lots of MUDs let you 'look at <thing in room>', even if that thing isn't a
real "item", something you can interact with. A cobblestone road might let
you 'look cobbles', for example, even though you can't do anything beside
look at the cobbles. Normally this requires a weird archaic syntax to work.
because of the granular nature of qualities, these fake-but-still-observable
items are easy to make, by making a new item and applying the "Renderable"
quality to it.
The downside is that this means a new thing is instanced for every lookable
thing in every room, which could cause memory problems down the line.
However, I think the extensibility and power this gives the engine is way
worth that potential cost. Normally it's a big commitment in MUD development
to move a thing from a lookable to a genuine item - normally a complete
rewrite. In this case, however, it's as simple as
lookable.add_quality(Physical).
- Better Nametags Documentation. [emsenn]
Added some notes on how to use nametags
- Implemented Nametags. [emsenn]
Nametags are a new thing-level attribute, and are used to find a
thing if you only have some names it might respond to. (For example
a client has the nametags 'client', 'player', 'thing', and their name
(if they've set one).
I also added a __setattr__ function to qtmud.Thing, so that
qtmud.qualities.Renderable. Essentially, if a thing has a
set_attr() function, the thing will use that when attr is being
set, rather than the type default.
- "inventory" Command & Method in Container Quality. [emsenn]
Added the inventory() method to the Container quality, and changed
its apply() method to add the 'inventory' command to that container
if it is also Commandable.
- Never Forget Holiday Update. [emsenn]
qtmud's first holiday update! Added a memorial to commemorate September
11th. Also modified the look command so that people can actually look
at the memorial.
- Merge branch 'master' of github.com:emsenn/qtmud into develop.
[emsenn]
- Merge branch 'develop' [emsenn]
Documentation hotfix
- Merge branch 'release/0.0.2' [emsenn]
continued shifting of core functions, establishment of real
documentation using Sphinx, and starting to solidify library-building
API.
- Merge branch 'release/0.0.1' [emsenn]
First release version, though I use that term very loosely. It should
run, and the documentation should explain what the code does, but don't
expect anything close to gameplay.
- Merge branch 'feature/renderer' into develop. [emsenn]
Set up a renderer service, among other small changes
- Documentation Update. [emsenn]
Just some documentation expansion before bed.
- Cleaning up Qualities. [emsenn]
The last commit rolled out changes to the command backend pretty
quickly. This commit cleans a lot of that up, and expands the new
Sphinx-friendly docstrings through more of the code.
- Added Scene Rendering. [emsenn]
Created a new service at qtmud.services.renderer to handle scheduled
events for sending information to clients. This makes sure clients
aren't getting messages too soon - such as building a room description
with 'look' for a room the player just left.
Currently, only the 'look' function in the Sighted quality makes use
of render. Other places where things are currently being sent through
the Client's send() function will be fixed in later commits.
- Documentation Hotfix. [emsenn]
Documentation wasn't linking to source properly, reworked the
configuration files so it would.
- Merge branch 'release/0.0.2' into develop. [emsenn]