Commit graph

76 commits

Author SHA1 Message Date
Griatch
f734e9511c Handle the case of doing aliases=<string> instead of aliases=[<string>] in create_object - this caused the malformed data to be stored in cache and causing tracebacks in cmdhandler until @reloaded. 2013-02-01 21:03:03 +01:00
Griatch
8eefc5d9f9 Fixed a bug in @del dbref lookup. 2013-02-01 20:00:17 +01:00
Griatch
d1125c65dc Fixed a formatting error viewing single-string aliases of objects with the examine command. 2013-02-01 19:27:45 +01:00
Griatch
91281e6bb8 Fixed an error in @delete that caused ranges of dbrefs not work non-locally. Based on patch supplied in Issue 344 (thanks!). 2013-01-20 17:23:31 +01:00
Griatch
58c010ef46 Some further work on the OOBhandler mechanism. 2013-01-04 10:35:29 +01:00
Griatch
6e46158946 Fixed an arg_regex in the examine command - it was disabling switches 2012-12-12 23:21:22 +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
030c245b5b Fixed a bug in examine when listing more than one cmdset. 2012-12-08 14:17:11 +01:00
Griatch
c0302f7cff Added global_dbref argument to caller.search, for allowing e.g. the examine command to view globally by dbref yet local-only if supplying a name. Resolves Issue 327. 2012-12-08 14:09:42 +01:00
Griatch
6a1f66d759 Fixed a bug in examine when examining Players. 2012-10-23 23:08:43 +02:00
Griatch
ce036e07f3 Added the ability of obj.move_to to accept a None location with a keyword to_none. Also changed the @tel command to accept a /tonone switch for putting things' location to None. Resolves Issue 307. 2012-10-23 22:31:51 +02:00
Griatch
4dff822764 Fixed bug in @batchcommand (Resolves Issue 287). Also updated @dig to again handle deleting ranges of dbrefs (with or without # in front). 2012-10-14 16:24:21 +02:00
Griatch
86a44ab84d Made sure the cmd-classes for 'home' and '@home' were differently named, which messed up their appearance in ev. Resolves Issue 285. 2012-10-14 16:03:02 +02:00
Griatch
d80daccb70 lockhandler.get() returned on the wrong format. Now returns the lockstring as the API specifies. Resolves Issue 282. 2012-10-14 12:39:59 +02:00
Griatch
14cc2e0f97 Removed global search for setting @aliases. Resolves Issue 264. 2012-09-27 22:23:05 +02:00
Griatch
59ccd3eb38 Fixed a bug in exact search pattern matching. 2012-09-27 21:29:01 +02:00
Griatch
60e3f5f172 Fix to @set reducing errors during building using strings without using quotes. 2012-09-27 21:02:43 +02:00
Griatch
a30029472b Fixes @set to be more accepting of various Python structures. It will now instead convert to string on a ValueError (commonly because a string was not enclosed in quotes) while giving a error string to the user informing of this. This should fix Issue 256. 2012-09-22 22:16:30 +02:00
Griatch
4bd3be334d Added a warning to @delete command if trying to delete CHARACTER_DEFAULT_HOME (Limbo by default). 2012-09-20 01:42:51 +02:00
Griatch
dff64215a2 Fixed a bug in the @link command. 2012-06-28 22:50:53 +02:00
Griatch
e92c9ac93e Edited lockhandler to pre-determine an object's superuser-status instead of re-acquiring it every lock check. This caused a surprisingly large overhead considering how often locks are checked for various reasons. 2012-04-28 15:26:52 +02:00
Griatch
21eed74c8d Minor fixes to various default commands. 2012-04-22 23:31:22 +02:00
Griatch
3306e36d82 Fixed a bug in @set. Unittests all clear again. 2012-04-21 18:21:38 +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
63329f5420 Added the ability to escape colour codes with \, So using \{g in a text will now result in '{g' being printed instead of the text switching to bright green. This can be useful for documentation. 2012-04-15 23:42:57 +02:00
Griatch
5a2228763f Fixed a lingering bug with @set that made it not work when assigning normal strings without quotes. Changed so that proper Python constructs (lists, dicts etc) now requires you to entering proper Python syntax (since this is parsed). 2012-04-15 23:09:56 +02:00
Griatch
bcf214ee0d Changed so object.move_to() traverses exits by default - i.e. you will no longer end up INSIDE the exit object if you move_to the exit, but instead you will go to the exits destination. This should be the most common use. The use_destination keyword to object.move_to can be used to change this behaviour. Also @teleport (which uses move_to()) has gotten a new flag to allow for teleporting into exits if so specifically desired. Resolves issue 224. 2012-04-15 22:04:15 +02:00
Griatch
464aa8ca9e Added the ability to clear an object from the global cache. This is rarely
needed (and can be potentially dangerous if the object depends on certain
startup methods to run and/or holds temporary attributes on themselves -
these will all be lost due to a new instance being created. It is hoever
necessary when it comes to renaming Exits - since the Command on the exit
must then change name too, recaching the Exit will also update the command.
Resolves issue 223.
2012-04-15 21:46:43 +02:00
Griatch
5264dc85bb @set now supports all forms of nested dicts and lists under Python 2.6. Python2.5 still depends on the old recursive solution that does not support nesting. Maybe time to up the python dependency number? Fixes Issue 225. 2012-04-14 10:55:56 +02:00
Griatch
551a91caef Editing the ev.py API, removing db_* manager shortcuts in favour of a 'managers' container holding them all. It makes the API slightly less "flat", but makes for a cleaner interface. 2012-03-31 16:50:53 +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
Griatch
5beee55149 Added ability of @set command to actually store real Python types, not just strings. 2012-03-13 23:56:19 +01:00
Griatch
641d829154 Added inlineCallback operator for cmdhandler, allowing the system to yield more often. 2012-02-20 21:40:28 +01:00
Griatch
7195e1e773 Minor fixes to create command. 2011-10-16 00:40:11 +02:00
Griatch
70b4b559a5 Fixed a typeclass access bug in @find. Resolves issue 199. 2011-10-10 09:14:50 +02:00
Griatch
2c4af9076d Made some commands sensible to the new form of obj.typeclass (it's not a typeclass instance, not a class). Changed the way TypedObject.swap_typeclass works, so as to properly manage failures. 2011-10-03 23:53:23 +02:00
Griatch
c8d2e3d6a2 Fixed some issues with the @script command. 2011-10-01 13:13:48 +02:00
Griatch
1995f61d46 Put up a warning about not using BaseObject.at_init() at this time (it's not called, as per issue 188). Also removed the deprecated at_cache() hook (it doesn't work anymore now that the caching system is much more efficient and only caches once). 2011-09-15 10:46:41 +02:00
Griatch
5a2b9e27a0 Resolves issue 187. 2011-09-09 23:58:51 +02:00
Griatch
7237be87c6 Fixing typo in lock definitions for @dig as well as docstrings. Patch by sergi.reyner. Resolves issue 186. 2011-09-08 10:41:55 +00:00
Griatch
f13e8cdf7c Trunk: Merged griatch-branch. This implements a new reload mechanism - splitting Evennia into two processes: Server and Portal with different tasks. Also cleans and fixes several bugs in script systems as well as introduces i18n (courtesy of raydeejay). 2011-09-03 10:22:19 +00:00
Griatch
6cb2b8b745 Working on cleaning some strange behavior when trying to submitting faulty typeclasses to script system. Also fixing bugs here and there. 2011-07-03 21:01:06 +00:00
Griatch
8770a263ac Fixes, cleanups and bugfixes in various systems. 2011-06-26 22:03:09 +00:00
Griatch
1565ac3a72 Fixed a rare conditional bug affecting Exits with custom cmdsets on them. 2011-06-26 15:36:49 +00:00
Griatch
95d672763b Multiple fixes and cleanups - command parser excludes inaccessible commands already at parse level now. Fixed the functionality of a few of the lock functions to be more intuitive. Added functionality to the examine command to better show the commands available to an object. 2011-06-26 14:35:02 +00:00
Griatch
88c1002fde Added better error handling if SSH keypair fail to generate (issue 167) 2011-05-31 19:16:03 +00:00
Griatch
790f840715 Added the @tunnel command as a wrapper for @dig, for easy building in commonly used directions (n,sw, up, down, in, out etc) 2011-05-31 15:33:37 +00:00
Griatch
d2400a8a6b Added the ability to give multiple typeclass search-paths to config file. This way you can add a path to your custom directory and don't have to write so much when creating typeclassed objects using e.g. @create. 2011-05-13 22:26:08 +00:00
Griatch
b9c1921a0b Added a new 'contrib' folder for optional code snippets not suitable for the server core. Added contrib/menusystem for implementing a multi-choice menu system. Added contrib/lineeditor - a powerful line editor with commands mimicking VI. Also added an example NPC class using the menu system to allow for a conversation. As part of creating these contributions, lots of bugs were found and fixed. A new and more powerful cmdparser was intruduced as a result - this one is much easier to understand than the old one, while being more efficient and versatile. All testsuites were updated. Also: Resolves issue 165. 2011-05-12 21:51:11 +00:00
Griatch
2c47d6a66b Made all unittests validate again. 2011-05-01 20:44:01 +00:00