Commit graph

31 commits

Author SHA1 Message Date
Griatch
7f7306a6e4 - Implemented permission system management inside the game
- changed @chperm to @setperm to avoid confusion with channel commands
- added @setgroup command for adding user group permissions
- Moved permissions/group setup into settings file to allow admins to tweak without going into evennia engine.
- Add all new players to default permission group (defined in settings)
- Defined a basic group hierarchy, removed permission 'genperms.builder' in favour of a group named builders instead, containing all relevant permissions.
- Filtered out all django's automatic permissions in @setperm/list to make permission system more controlled by admin.
- Probably fixed bug that caused new users to not be signed up to channels (more testing needed)
- Added Exception handler in unloggedin method create, this was killing tracebacks upon user creation.
/Griatch
2009-10-03 14:40:34 +00:00
Griatch
6d45c98b8e Fixed bug that allowed addcom to set the same alias to two different channels.
/Griatch
2009-09-28 17:08:18 +00:00
Griatch
4cee971169 Fixed some bugs in move reporting. Made feedback from default commands a bit more informative and consistent. Added some more text and error handling to the login commands. 2009-09-19 20:48:06 +00:00
Griatch
5e8a047111 Cleaned spammy output to IMC users from IRC and evennia channels, where channel names tended to be added
after one another several times. IMC is not seeing the IRC channel name anymore, output should be on the standard
simple name@MUD: msg format as far as IMC is concerned.
/Griatch
2009-09-05 07:24:04 +00:00
Griatch
68217072a6 Fixed an issue with "Fuzzy" pattern matching that would not find names at certain times.
For example, before the fix, you could face the following issue: Create a bunch of boxes with @create:
box, box1, box2, box3 ... Now try to examine 'box'. This would not work - the game would tell you that there
were multiple matches - it just found "box" in all entries and went with that. So despite there only being one
thing named solely "box", you could not target it! This fix resolves this by giving precedence to exact matches
whenever they exist. I have only done it for the support routine behind local_and_global_search() though, there
are other search functions that uses django directly for fuzzy __in searches. I don't know how to add a similar
functionality to them.
/Griatch
2009-08-30 20:18:56 +00:00
Griatch
811bdc623f Implemented @cchown as per MUX specifications (Issue 53). 2009-08-30 13:02:25 +00:00
Griatch
cdd4770330 Implemented clearcom as per MUX specifications (Issue 48).
Added a 'clear' argument to addcom as a shortcut to clearcom.
Changed addcom to now change the alias to a new one if giving the command on an already subscribed channel.
Added the exception in command handler so that giving the channel alias without argument gives an error instead
of sending None to the channel.
/Griatch
2009-08-30 12:28:38 +00:00
Griatch
117207e3ca Implemented allcom as per MUX specifications (Issue 47). Added some more functionality to it, such as giving allcom without an
argument makes it work as comlist. Also cleaned up some of the channel listing commands to make their output more consistent.
2009-08-30 10:07:15 +00:00
Griatch
ceaf7d2a2f Implements @cboot as per MUX specifications (Issue 20). Some code cleanup. 2009-08-29 22:29:19 +00:00
Griatch
4bd567386f Some code cleanup and clarification in comments. 2009-08-28 01:33:15 +00:00
Greg Taylor
d29c6340fc Finally transition away from those horrid channel attributes for tracking channel memberships. We'll see about doing away with them altogether if it's possible efficiently.
NOTE: MAKE SURE YOU SYNCDB. A new model was added to track channel memberships.
2009-06-04 03:42:19 +00:00
Griatch
e7d7284d5c Added pickle'able attributes. The attribute.get_attr(), object.set_attribute and object.get_attribute_value() have been updated to accept and return values of any type. If the value is a string, it will be stored normally, other types will be pickled. Possibly we could choose to save also single numbers as strings, but not sure it's any faster to convert from string than it is from cPickle ...
To use these, you need to either start over with a fresh database or change the changed fields manually.
2009-05-02 19:02:36 +00:00
Griatch
1314629a06 Minor bugfix of addcom command, some other cleanup. 2009-05-02 15:55:47 +00:00
Greg Taylor
76f14b4779 Clean up send_cmessage() a bit. Changed noheader keyword arg to show_header and defaulted it to True. This should read a little better. Also updated some of the various function calls. More importantly, check to see if the channel argument is a string or unicode object and find the correct channel object as needed, which was the previous behavior. However, if it's not a string or unicode object, assume it's a CommChannel object and avoid querying for it again. This may be a performance win in some cases down the road. 2009-04-30 03:13:46 +00:00
Greg Taylor
9954700bdd Fixed formatting on @clist. 2009-04-29 01:03:26 +00:00
Greg Taylor
723cdab4aa Make @clist actually show channel descriptions instead of 'No description' all the time. 2009-04-25 04:34:29 +00:00
Greg Taylor
829b91dcce To prevent funkage, added some checks to make sure IMC2 is enabled before messing with IMC stuff on @cemit. 2009-04-17 14:26:01 +00:00
Greg Taylor
67d3d5a3c5 Don't show dbrefs on @clist. 2009-04-17 05:35:42 +00:00
Greg Taylor
5372bb5a05 The IMC2 client now sends and receives. For most, this should be all that is needed. There are a bunch more support commands that will need to be implemented, as well as a few other things, but this is very usable now. 2009-04-17 05:20:55 +00:00
Greg Taylor
4ca5a4a7bf Revamp how commands are loaded. This will now allow for easy addition of custom commands and over-riding existing Evennia-supplied commands. 2009-01-27 15:21:15 +00:00
Greg Taylor
9407eb0ee4 Huge overhaul in the way objects and sessions are used with commands. We now pass all commands through objects (aside from unlogged commands), which means session.msg() is now deprecated for any use other than unlogged out.
As a side-effect of all of this, logging in more than once acts as behaves now. Also, this will allow things/rooms/exits (IE: not players) or un-logged in players to run commands or be forced to run them via @fo. All of this will bring us more in-line with MUX behavior.
2009-01-24 20:30:46 +00:00
Greg Taylor
4c562cd6ce Work on the comsys. @cwho is working now. 2009-01-22 03:19:40 +00:00
Greg Taylor
51a648ddab Fixes a few more command errors in commands without args. Create from the login screen now works without errors again. 2009-01-15 03:48:42 +00:00
Greg Taylor
59e5f60e34 Whoops, forgot to protect against no arguments. Silly me. 2009-01-15 03:25:27 +00:00
Greg Taylor
800e84a15e This should fix the comsys channels not behaving well. 2009-01-15 03:22:29 +00:00
Greg Taylor
18e2eca2c5 Removed some retarded uses of 'server' reference variables. 2008-12-16 03:17:45 +00:00
Greg Taylor
d58f4eb517 Looking through our command code after a long hiatus, I realized that it was pretty much awful. So here's part 1 of the command interpreter overhaul.
- The command handler has been drastically simplified. We were doing way too much processing in the handler that should have been done in the individual command functions themselves.
- The 'cdat' dict we were previously passing around has been replaced with a Command object that has useful methods for performing some of the parsing command functions will probably want to do from time to time.
- All commands were updated to use the new Command object, tested, and cleaned up in general.
- A lot of formatting was cleaned up.
- A lot of previously un-found bugs and limitations were fixed.
- The 'page' command has been broken out into its own file, since it's going to have a number of functions that would otherwise clutter commands/general.py.

Expect a commit (probably later today) that will clean up the second half of cmdhandler.py.
2008-12-14 20:21:02 +00:00
Greg Taylor
a954069776 Finished moving stuff around, things should be in mostly working order now. 2008-06-15 20:31:25 +00:00
Greg Taylor
5064d0cacc Moved defines_globals to src/ 2008-06-15 20:04:06 +00:00
Greg Taylor
811016867b Comsys moved to src/ 2008-06-15 19:41:27 +00:00
Greg Taylor
4bb00013ae Even more death and destruction. A lot more stuff moved to src/. A lot more bugs probably introduced. 2008-06-15 19:38:39 +00:00
Renamed from commands/comsys.py (Browse further)