Commit graph

72 commits

Author SHA1 Message Date
Griatch
06e858b3f6 Moved permissions into a the tag system as a separate handler. Permissions still don't work quite right yet. 2013-08-24 23:57:44 +02:00
Griatch
37886adea1 Added signalhandler in test suite, still issues. 2013-07-13 15:39:16 +02:00
Griatch
6bc16e46cc Made aliases work with the new handler. The location.contents updated is not working yet - this causes locational information to not be available until objects and manually initialized (e.g. by calling examine #dbref) 2013-07-12 20:21:52 +02:00
Griatch
45706f598a Fixed remaining issues so the login process works. 2013-07-12 15:57:46 +02:00
Griatch
78e7346962 Updated commands to use the new objectdb.search API. 2013-05-11 23:22:02 +02:00
Griatch
8969017aaa Added prettytable (http://code.google.com/p/prettytable/) as a replacement for utils.format_table and updated almost all places where the old formatter was used. The code becomes much simpler and shorter with prettytable, there are some situations, such as the contrib/menusystem where the old format_table works well for dynamically creating any number of columns and rows on the fly. 2013-04-12 22:06:41 +02:00
Griatch
a6544f2848 changed cmdset_default -> cmdset_character and changed the class names to match. Added migrations to properly update default-set cmdset_stores to the new positions (objects created from custom types are not migrated, these should see errors and need to re-point their imports to the new defaults) 2013-04-12 13:01:20 +02:00
Griatch
1aff5f1fd1 Renamed cmdset_ooc -> cmdset_player and settings.CMDSET_OOC -> settings.CMDSET_PLAYER. Also split most of the player-specific commands to a new module player. 2013-04-11 01:02:05 +02:00
Griatch
a22ce6d563 Added missing object.db_sessid migration. 2013-04-09 19:34:15 +02:00
Griatch
c967cc7914 MULTISESSION_MODE 0-2 works as they should. Remains some fixes to migrations. 2013-04-09 19:19:53 +02:00
Griatch
1e07b8ca34 After the rework of the many-char mode, mode 0 now works stably and auto-logins correctly it seems. 2013-04-09 17:11:34 +02:00
Griatch
26ced2cb90 Heavily reworked the many-char system, cleaner and more consistent by not having any persistent links on the Object side once a player has unconnected. 2013-04-09 15:59:21 +02:00
Griatch
5100a0561f Some further bug fixes. 2013-04-09 11:14:08 +02:00
Griatch
20a57d4167 Further fixes to the system, still some issues remaining. 2013-04-06 21:36:52 +02:00
Griatch
9eb1903f02 Lots of cleanup and bug fixes. Still some issues with reconnecting to the right location in multisession_mode 0. 2013-04-03 18:31:53 +02:00
Griatch
85d4250f1d Added all functionality for all 3 MULTISESSION_MODEs. 2013-04-03 10:07:01 +02:00
Griatch
11d612a72a Added more permission info to ooclook. 2013-03-12 10:29:21 +01:00
Griatch
7581d65cb3 Made superuser able to have a separate "superuser character" in order to be able to have also test-characters without privileges. 2013-03-11 22:01:52 +01:00
Griatch
29e313492f Added more session info to ooclook. Working on a bug that causes superuser to not be recognized now and then - this seems to be related to character.player returning None. This revision contains some printout debug messages since that bug is not yet fixed. 2013-03-11 01:32:17 +01:00
Griatch
458e3e7599 Added @sessions command for viewing active sessions connected to a given account. 2013-02-17 20:21:23 +01:00
Griatch
25505d69a6 Moved login and disconnect from session-level to sessionhandler level to make the process cleaner with hooks rather than direct calls. 2013-02-17 18:48:48 +01:00
Griatch
1f676eda60 Some more fixes to the commands. 2013-02-16 21:26:59 +01:00
Griatch
a84b4f24fc Fixed bugs that now allows multiple sessions to connect through the same player to different characters. Still lots of bugs and inconsistencies, the permissions of superusers don't quite transfer sometimes, for example. 2013-02-04 22:02:04 +01:00
Griatch
ab5b9116df More bugfixes. 2013-02-03 21:38:37 +01:00
Griatch
b82a75d816 Fixed initial_setup and set up the _playable_characters attribute on all players, for handling multi-accounts. Still some issues with how the character's permissions is accessed. 2013-02-03 20:04:40 +01:00
Griatch
b26c3ab872 Fixed bugs and allowed for logging in using one character. Added a simple command for creating a new character. 2013-02-03 17:00:46 +01:00
Griatch
f1767251c6 Can now log in to a character selection screen. Lots more testing required before one-char-per-session works. 2013-02-03 00:25:06 +01:00
Griatch
231af4a351 Continued work on multi-char-per-account. Added a new default login point. Still need to add sessid to commands. 2013-02-02 15:55:42 +01:00
Griatch
f8514bb0f1 Added a little more info about the player needing the right permissions to @puppet, not the character. Resolves Issue 340. 2013-01-07 18:35:36 +01:00
Griatch
c615693a2a Added a give command to the default command set. As part of this also fixed some bugs in how object typeclasses were compared. 2012-12-08 17:11:22 +01:00
Griatch
d2d9953f94 Cache changes: Moved all caches (except idmapper) to central caching module. This makes it easier to overview cache memory usage (and clean it) as well as plug-in external cache mechanisms. 2012-11-01 11:20:07 +01:00
Griatch
20d6de5104 Made a better check for cleaning module names, should resolve Issue 319. 2012-10-28 14:38:17 +01:00
Griatch
ec46465656 Implemented ansi-colour backgrounds in webclient. Added a new @color command for displaying colour spaces. Also changed a number of other features outlined in Issue 309. 2012-10-24 21:41:07 +02:00
Griatch
fc4d7c92f9 Cleaned up the drop-command's error messages somewhat. 2012-10-23 20:39:59 +02:00
Griatch
0cf3b42e14 Removed a hard-coded "nicks" alias from CmdNicks for easier overloading. Use nick/list to get the same functionality (or overload func to add it again). Resolves Issue 291. 2012-10-14 16:42:04 +02:00
Griatch
97973dd5f9 Fixed erroneous global_search keyword in a few places in the code due to the API having changed. Resolves issue 276. 2012-10-14 12:06:42 +02:00
Griatch
e874343387 Adjusted search() functionality to handle also a list of location(s) to search. Changed "get" command to not search inventory (which could lead to multimatch errors). 2012-09-21 08:36:59 +02:00
Adam_ASE
e748d6d5ae Addressing original issue 254 - Fixed DROP command multi-match error for similarly or identically
named items when one or more of the items are at the location but not in
character's inventory.
2012-09-20 23:50:34 -04:00
Griatch
5e33690f40 Optimization: Added caching of object contents. This makes obj.contents not have to hit
the database at all. So far there are no regressions from this, but time will tell if
there are any problems.
2012-08-19 18:48:29 +02:00
Griatch
f0f240b7ce Fixed a bug in sessionhandler that erroneously caused Portal sessions to not be deleted properly at user @quit. This caused the session to be copied back to the Server side after a reload (caused "ghost" connections in e.g. the "who" command). Resolves Issue 244. 2012-06-20 23:48:19 +02:00
Griatch
8ad4f4a9fc Changed player.search to only search for players explicitly.
Added a MuxCommandOOC class to handle the OOC commands in a more uniform way.
Fixed the @ic/@ooc and page commands. Resolves issue 233. Resolves issue 234.
2012-05-17 19:42:37 +02:00
Griatch
21eed74c8d Minor fixes to various default commands. 2012-04-22 23:31:22 +02:00
Griatch
4678234e9a Multiple fixes to ev and utils:
Made utils.variable_from_module more generic (it can now load pretty much any form of module it's given and also supports searching and returning multiple variables).

Removed the variable-load functionality from utils.load_module; this is now purely a loader - use variable_from_module instead.

I found out that one couldn't import from src.commands.default due to the __init__ file being restrictive for the sake of the ev API. Removed that and instead imported the default commands into ev.py with the help of utils.variable_from_module instead. Some more fixes in ev followed on this.
2012-04-22 12:23:42 +02:00
Griatch
8c3b49e704 Changed how the Typeclass system returns errors. Instead of echoing typeclass erros to the MUD-info channel (which is not only not only very spammy for everyone but also very hard to make clean so as to avoid recursion at a stage of typeclass failing), the system instead stores a property on itself called 'typeclass_last_errmsg' that holds eventual errors. This means that the task of reporting errors does not fall on the typeclass system itself but on the calling methods, as it should be. So src.utils.create.create_* functions now takes a new optional keyword "report_to" that holds an object to receive errors. If this keyword is given, the function msg():es that object with the error and returns None as before. If report_to is not set however, the create_* methods now return an Exception containing the error text. All default commands have been changed to accomodate for this behaviour, which allows for much more control over errors.
Also, the default ADMIN_MEDIA static files changed location in Django 1.4. The initial_setup function now accounts for this.
2012-04-21 16:15:37 +02:00
Griatch
0d01462077 Adding a new API system to Evennia. This centralizes all access of the evennia driver through a single module "ev". Importing ev one should be able to access (and also importantly, easily explore) Evennia's API much easier. This API goes a long way to "flatten" the structure so that one doesn't need to remember how to find some method in a deeply nested subdirectory.
As part of this work, I have also written full listings of all available properties on Typeclassed objects (including those inherited in various ways). Should hopefully make things easier to find.
One can of course still import things directly from src/ as before. But this is a first step towards removing the "base" objects in game/gamesrc and instead making those accessible through the core API.
2012-03-24 23:02:45 +01:00
ploosh
f09bfdf1d6 Fixed pose command to echo in room only if a pose is actually struck 2012-03-17 03:22:52 -04:00
Griatch
690bfadd9d Added arg_regex, an optional Command class-method for customizing how commands are identified by using a regex to enforce a specific look/grammar to the command argument. Discussed and suggested in issue 213. 2012-02-27 20:56:01 +01:00
Griatch
9e2380decd Added ' as an alias for the "say" command, common in many muds. 2012-02-22 21:39:27 +01:00
Griatch
6e53e6a1fd Added state persistence to commands. For commands that want to, their state will be saved for the next command to access through the self.caller.ndb.last_cmd variable. The state only persists one command before it is cleared or replaced. 2012-02-17 18:53:47 +01:00
Griatch
68f0a236cb Fixed an issue with using WHO when users where OOC. Also made the @ic command able to look for objects globally. 2011-11-14 19:13:30 +01:00