Commit graph

439 commits

Author SHA1 Message Date
Griatch
3e8b43d222 More fixes and cleanup in wake of ic/ooc changes. 2011-11-06 23:55:24 +01:00
Griatch
86f76d0d08 Contrib: Added chargen module, showing a simple example of creating a character from inside the game. 2011-11-06 22:28:24 +01:00
Griatch
703accdd60 Added an error_check_python_modules function to evennia.py. This basically imports a host of critical modules and quits with tracebacks if there are problems. This catches pure python-syntax errors (i.e. cases where the source-file itself is malformed), something which is hard to properly handle in the running server (where there's also an issue as to how to best report it). Best they fail out already at an early stage. 2011-11-06 21:32:00 +01:00
Griatch
55f6f5b713 Contrib: Added a new, alternative login system, using menus. Also edited the ways unlogged commands are started by the engine, by using a standardized system command name (it does not need to be "look" anymore). 2011-11-06 18:53:10 +01:00
Griatch
2b2d27ed39 Changed the way unloggedin commands work. Rather than the cmdhander having a special state for unlogged-in commands, the session itself simply stores the cmdset from settings.CMDSET_UNLOGGEDIN. Clean and efficient and also gives a lot more freedom for creating custom login mechanisms (notably it opens the door to using menu systems). 2011-11-06 17:38:29 +01:00
Griatch
0ed692c19c Fixed a bug that prevented objects inside the room designated as "default home" from escaping when deleting that room. Objects will now be dumped to a null location (and warnings be given) instead of being deleted with the room.
Also noticed that large parts of the server is not covered by i18n.
2011-11-05 21:19:57 +01:00
Griatch
ce00d7c920 LOCALE: Added Swedish translation. 2011-11-03 22:55:12 +01:00
Griatch
b6303808ec Added a simple quell command to contrib/ for showing how to use a command to launch other commands (in this case with a lower permission than you normally do (including bypassing superuser status). 2011-11-03 18:23:45 +01:00
Griatch
e7b46c89b4 Added the ability for the Command.func() method to return a value. This allows to potentially do e.g. value = caller.execute_cmd('cmdname'). Not used at all by default commands nor the engine itself, but potentially useful for admins wanting to implement some sort of 'nested' command structure, maybe using a custom input language. 2011-10-27 10:18:18 +02: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
8d3817ccd4 Added at_initial_setup hook. Create a module in game/ and point to it with settings.AT_INITIAL_SETUP_HOOK_MODULE. This module must contain at function at_initial_setup(), which will be called very last in the setup procedure. If no module is given or fail to load, this will fail quietly. 2011-10-09 19:42:39 +02:00
Griatch
7f31534618 Made creation of #1 check for custom room/home assignment by hooks. 2011-10-09 18:02:43 +02:00
Griatch
ef84d3790b Added another error message to initial_setup.py. 2011-10-09 16:44:10 +02:00
Griatch
aee147102b Gave better error messages when a player typeclass has bugs and thus won't load. Also made a better solution for hiding new characters from the start room when first being created (also makes sure that character.location never starts as being None, recovering back to home in that case). 2011-10-09 16:32:55 +02:00
Griatch
8c6b27b5b3 Fixed a migration that failed under mysql. 2011-10-05 21:49:43 +02:00
Griatch
1291509d03 Added inlines and fixed admin interface to not allow editing User once a Player is created. 2011-10-04 21:14:41 +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
c8b4f7518d Fix of admin setup for DEBUG=False, based on https://code.djangoproject.com/ticket/10405#comment:11 (thanks to catch22 for finding this) 2011-10-03 21:25:06 +02:00
Griatch
bf72239dc9 Admin interface: some more listings. 2011-10-02 23:02:43 +02:00
Griatch
bc0195bbaa Worked with admin interface, cleaning up and adding functionality. There are still some strange behaviour that makes e.g. the presence of inlines to auto-create empty database objects for some strange reason. Inlines are turned off at the moment (so there is no convenient way to add attributes from the admin interface at this time). Creating players now work, but one needs to create all three components (User, Player, Character) in one go and tie them together. The User-admin form was changed to also support multi-word usernames (django default didn't allow spaces). 2011-10-02 22:37:07 +02:00
Griatch
7f2e6dd4fa Tidying up the admin interface by adding more verbose and helpful names to database fields as well as adding more help texts. The ObjectAdmin still gives tracebacks. 2011-10-02 01:21:03 +02:00
Griatch
6ae1123421 Fixed hook method descriptions. 2011-10-01 22:36:55 +02:00
Griatch
23cd9e31b1 Restructured the way typeclasses are loaded. This makes it possible to run at_init() hooks at initiation also for objects without any custom cases for character/players. at_init() hooks are called only when an object is initiated. This means that a room's at_init() hook is only called when someone looks or enters it or a script operates on it, for example, rest of the time these objects are dormant, most efficiently. 2011-10-01 22:00:22 +02:00
Griatch
0a1bcd36c2 Removed FULL_PERSISTENCE setting. It was a "feature" that was added at a time when caching was more inefficient than now. Also the new reload mechanism make FULL_PERSISTENCE=False unfeasable. Use ndb explicitly for non-persistence. 2011-10-01 15:10:21 +02:00
Griatch
c8d2e3d6a2 Fixed some issues with the @script command. 2011-10-01 13:13:48 +02:00
Griatch
bab89b191b Resolves issue 195. A typo in the sessionhandler that lead to big consequences. 2011-10-01 12:44:30 +02:00
Griatch
2597df0512 Last commit had a typo leading to startup traceback. 2011-09-20 20:26:35 +02:00
Griatch
18669c8700 Fixing so assigning to a nested attribute value doesn't loose data. It is unfortunately not possible to support direct assignment of deeply nested attributes at this time. So if obj.db.mydict = {1:{2:3}}, then obj.db.mydict[1] = 1 will work just fine, but obj.db.mydict[1][2] = 4 will not. For more advanced manipulation such as the latter case, store the dict in a temporary variable and save it back after changes have been done. 2011-09-20 19:59:08 +02:00
Griatch
058f8a9519 Fixed a bug in creating fresh dict-attributes/lists in the new attribute-save system. Resolves issue 191. 2011-09-20 15:55:58 +02:00
Griatch
ecf11b38cd Fixed an issue with the locks not getting properly set on rooms. 2011-09-20 13:44:26 +02:00
Griatch
9a719d7fb0 Updated rst files to latest wiki. 2011-09-20 13:21:07 +02:00
Griatch
475361ad28 Added functionality to Attributes to store and update dicts and lists dynamically. One side effect of this is that dicts and tuples need to be stored as custom object types which means that e.g. isintance(obj.db.mylist) == type(list) will return False. In order to do checks like this, use src.utils.utils.inherits_from() instead. The Attribute system now also supports tuples. All other iterables except dicts, lists and tuples are stored and retrieved as lists, same as before.
This fixes issue 189.
2011-09-20 12:37:45 +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
f1d743f14c Checked at_init() due to reported issues of it not getting called. Couldn't find any problems, rather it was called too many times, so removed an unecessary call. 2011-09-15 01:18:53 +02:00
Griatch
de9c2ec437 Cleaned admin interface, removing misleading fields. It's still broken in a few places however, objects give a traceback here, not sure why. 2011-09-15 00:28:26 +02:00
Griatch
399919a8a9 Database schema has changed. Run migrations if you use South. Started work on tidying up admin interface. 2011-09-14 22:34:10 +02:00
Griatch
5a2b9e27a0 Resolves issue 187. 2011-09-09 23:58:51 +02:00
Griatch
f8234ec932 Updated docstring for cmdhandler to better reflect the current functionality. 2011-09-08 11:59:19 +00: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
Greg Taylor
3aad32d7b4 Fixing issue 183, reported by sergi.reyner. Typo in src/objects/models.py, ocation/location. 2011-09-07 15:47:19 +00:00
Greg Taylor
d2e0dfe59c Fixing an issue with stopping script LoopingCall instances. Reported and investigated by raydeejay. 2011-09-07 15:44:13 +00:00
Griatch
bc587dfd0c Fixed bug in get command that let you pick something up several times. 2011-09-04 07:27:11 +00:00
Griatch
71bdc47fbb Fixed typo. Changed reload argument for evennia.py to be 'reload' rather than 'restart'. 2011-09-03 15:10:28 +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
14dae44a46 fixed typo 2011-08-15 20:57:08 +00:00
Griatch
c7605e9dc5 Minor cleaup of multiple-match return for commands. 2011-08-11 21:58:03 +00:00
Griatch
2b4e008d18 Scripts and Exits updated. Fixed some deep issues with Scripts that caused object-based scripts to not properly shut down in some situations, as well as spawn multiple instances of themselves. I think this should resolve all "at_repeat doubling" issues reported. Due to optimizations in the typeclass cache loader in a previous update, the Exit cmdsets were not properly loaded (they were loaded at cache time, which now doesn't happen as often). So Exits instead rely on the new "at_cmdset_get" hook called by the cmdhandler. It allows dynamic modification of cmdsets just before they are accessed. Resolves issue173 (I hope). Resolves issue180. Resolves issue 181. 2011-08-11 21:16:35 +00:00
Griatch
16affc284b Allow for changing the home location of new characters by changing a setting. The given location must exist and is given as a dbref. If one wants more advanced control over start locations, one needs to customize the unloggedin/create command to match the particular game. Resolves issue 178. 2011-08-06 19:39:06 +00:00
Griatch
2059fd9701 Fixed a bug that had global scripts think they were already running. Resolves issue 176. Made the @time command a tad more useful by having it report uptime also in seconds. 2011-08-06 18:56:05 +00:00