Commit graph

  • 9459178c43 Fixed character swap mechanisms. Created an example command @puppet for switching control between characters (note that it does not currently check permissions, nor make sure the target has the appropriate cmdsets). Griatch 2010-10-18 21:07:26 +00:00
  • 922a7d5064 Windows fix. Always start twistd.py using a Python interpreter. Ari Mudev 2010-10-18 16:37:07 +00:00
  • 151595a042 Turned off Django DEBUG in the default setup. This resolves all issues with memory leakage and resource hogging seen in issue112. Griatch 2010-10-11 17:22:39 +00:00
  • 12acb34ce7 Extended new encoding functionality also to batch commands. Griatch 2010-10-03 21:02:52 +00:00
  • 7080de4022 Implemented @encoding command as a default way for managing encodings on a per-player level. Griatch 2010-10-03 20:34:46 +00:00
  • c29649cd53 Made characters disappear from the room when their controlling player logs off. This is a trivial thing to customize, but the old default (leave the character objects in the room, although "headless") confused people. Griatch 2010-10-03 19:49:48 +00:00
  • 745df8356f Added comprehensive encoding handling to support both player-level encoding choices as well as global multiple encodings through the settings file. Griatch 2010-10-03 19:11:43 +00:00
  • 7904916dba Fixed a simple list-bug in @objects command. This resolves issue111. Griatch 2010-09-26 09:21:01 +00:00
  • 164eb5b89b Some command bugfixes. Added some more debug messages for pinning down issue101. Griatch 2010-09-19 06:57:08 +00:00
  • 27b7570aab Fixed a bug in @debug (resolves issue107). Also moved @debug command to commands/default/tests.py instead. Griatch 2010-09-12 16:37:00 +00:00
  • af89dd1ef7 Some minor bugfixes. Griatch 2010-09-12 16:19:02 +00:00
  • 5361bd03d3 Made @create not overwrite a script-defined 'desc' attribute if it exists. Resolves issue109. Griatch 2010-09-12 15:14:09 +00:00
  • 8bedd4d793 Fixed and debugged object_search to more generically search for any attribute name except 'key' (issue110). Also included alias-search as a last-resort if normal searches fail. This is now also working for global searches (issue106). Griatch 2010-09-12 15:07:12 +00:00
  • 7e736d19e2 Cleaned up the ansi.py module and made it better match the the style rest of the code. Griatch 2010-09-05 20:59:32 +00:00
  • e125763ea5 Made so the default add_default_cmdset script also removes the added cmdset when stopped. Fixed the function of @delplayer command. Griatch 2010-09-05 18:20:39 +00:00
  • 212061abb6 Made so the @scripts command properly display when scripts will fire next. Griatch 2010-09-05 16:35:39 +00:00
  • c4128e4656 Fixed the strange login error reported in issue103. Griatch 2010-09-05 15:05:40 +00:00
  • a2291953f2 Changed erroneous DateField to DateTimeField in ObjectDB, so you might have to resync your database. Fixed lots of formatting issues in the info and list commands. Resolved issue105. Griatch 2010-09-05 14:42:09 +00:00
  • 76624cd6f3 Modify Django version requirements to suit our usage of csrf middleware, which was modified heavily between Django v1.1 and Django v1.2. Ari Mudev 2010-09-05 12:36:53 +00:00
  • 1ed013dc11 Fixed a bug in @open (issue104). Some other refinements. Griatch 2010-09-04 21:52:35 +00:00
  • cbdeae5334 Add 'page-pose' functionality. Ari Mudev 2010-09-04 18:58:13 +00:00
  • d9e854404d Add common alias to "say" command (single double-quote). Ari Mudev 2010-09-04 18:55:52 +00:00
  • 56a03367f7 Allow speaking and posing while blind. Ari Mudev 2010-09-04 18:53:52 +00:00
  • cfbb249d96 Added more functionality to page command (resolving and going beyond issue102). Cleaned up the output of sevreral commands as well as added a few more useful functions in src/utils/utils.py. Griatch 2010-09-04 17:21:26 +00:00
  • 60851ade11 Fix trivial typo in CmdSethandler documentation. Ari Mudev 2010-09-04 16:57:01 +00:00
  • 6413f2251e Fix trivial typo in @service help. Ari Mudev 2010-09-04 16:21:01 +00:00
  • 98c898ffeb Add "exam" alias to examine command; it is an extremely common alias in other codebases. Ari Mudev 2010-09-04 16:04:16 +00:00
  • 25dec92db5 Fix trivial typo. Ari Mudev 2010-09-04 16:00:31 +00:00
  • e4a71ef420 Fix red button nudge lid aliases. Ari Mudev 2010-09-04 15:39:43 +00:00
  • 09cc31dafc Fix nudge lid randomness, fix order of emits. Ari Mudev 2010-09-04 15:35:38 +00:00
  • 7d8edf0235 Better (and correct) output from the 'groups' command. Griatch 2010-09-04 14:19:07 +00:00
  • 39e66dbc34 Remove debugging print statements introduced in r1044. Ari Mudev 2010-09-04 14:05:04 +00:00
  • 142cb00566 Removed spam-possibilities with page command (issue100). Also did several other refinements to the comm system. Griatch 2010-09-04 13:52:01 +00:00
  • d90c2909a2 Fixed a lacking implementation in the Msg API. You need to re-sync the database since Msg now relies on three fields that where commented out before. Griatch 2010-09-04 12:18:00 +00:00
  • 72bb8ac667 Fixes towards resolving issue99. Griatch 2010-09-04 09:47:38 +00:00
  • 933e29afee Gave a more informative error message when reading non-UTF-8 batchfiles containing international symbols (issue97) as well as refactored the processors a bit further. Fixed some minor typographic details in some other commands. Griatch 2010-09-04 07:55:25 +00:00
  • 76edd254b0 Fix minor typo. Ari Mudev 2010-09-03 22:24:58 +00:00
  • ec5295b973 Included 'Alias' field for examine (issue98). Fixed a rare traceback with @reload in situations when it tried to move on before modules has time to finish reloading. Also clarified how @perm and examine display information. Griatch 2010-09-03 21:17:51 +00:00
  • e2f92f0bfe Resolved issue99, which concerned commands on adjacent players being erroneously included among a player's available commands (giving multiple-command errors). Griatch 2010-09-03 19:33:17 +00:00
  • 35bb9444a1 Update pylint instructions for pylint v0.19.0 (included with Ubuntu 10.04 LTS). Ari Mudev 2010-09-03 15:14:42 +00:00
  • 9be2b5a64b Fixed some strange behaviour in the help system due to recent changes in how cmdsets are merged by cmdhandler. Griatch 2010-09-02 18:14:45 +00:00
  • e767b3458a Give correct code repository URL to Subversion checkout command. Ari Mudev 2010-09-02 14:51:59 +00:00
  • 4528e26e03 Fixed a minor batchcommand reload bug. Griatch 2010-09-02 11:50:45 +00:00
  • 4d8fc05157 Cleaned up the batch processors (both cmd- and code processor) and homogenized their interfaces and APIs. Also test-ran the example codes and fixed some bugs. Griatch 2010-09-02 11:39:01 +00:00
  • e114c33d8a Fixed a bug with red_button introduced in a previous revision. Resolves issue95. Griatch 2010-09-02 07:48:39 +00:00
  • 900f6da80f Fixed several special cases of handling multiple same-named commands gracefully. Should resolve issue94. Griatch 2010-09-01 21:59:13 +00:00
  • 03cc4970d0 Fixed the behaviour of some build commands to match that in wiki build tutorial. Griatch 2010-08-31 17:31:48 +00:00
  • 96be66828c Added some functionality to command 'get' to match wiki tutorial. Griatch 2010-08-31 11:24:08 +00:00
  • 2cee32a75b Fixed bug in @stats (issue93). Griatch 2010-08-29 23:39:33 +00:00
  • 9148705c89 Fixed a trivial bug in @perm (r92) as well as expanded its functionality a bit. Griatch 2010-08-29 23:35:25 +00:00
  • 0a95e17758 Updated the trunk version file from 'SVN-griatch-branch' to 'SVN-Alpha'. Griatch 2010-08-29 19:02:07 +00:00
  • f83c2bddf8 Trunk: Merged the Devel-branch (branches/griatch) into /trunk. This constitutes a major refactoring of Evennia. Development will now continue in trunk. See the wiki and the past posts to the mailing list for info. /Griatch Griatch 2010-08-29 18:46:58 +00:00
  • df29defbcd Added gamesrc/utils.py as a convenient shorthand for often-used methods from the engine Added a @deluser command and gave it and @boot an option to give a reason for booting/deleting a player Fixed a bug in @dig that confused exit directions in text Small bug fixes /Griatch Griatch 2009-12-20 20:51:26 +00:00
  • 81bec61d7d Added the apropos command for broader help searching (uses icontains). The suggestions: footer used in help gave too narrow results, now using apropos-style search instead. Bug fix of state-help command to make it accept switches. Added several new example commands and cleaned up old ones to be more user-friendly. Added protection in @delevent to make it harder to delete system events. Some small bug fixes and other cleanup. Griatch 2009-12-20 12:39:08 +00:00
  • c7cbc4854e Reworked object command tables. Object commands used to require re-adding every call in the script parent's __init__ or factory functions, adding the commands to a new command table directly on the object. Since all other attributes can be set up in at_object_creation(), this was both inconsistent and a bit confusing to work with. There is now a method add_commands() directly defined on all objects. It takes the same arguments as the normal add_command()o but use a reserved attribute to create and update a command table on the object. This has the advantange of completely removing the __init__ call in the script parent, all definitions can now be kept in at_object_creation() and are, more importantly, persistent without having to be recreated every call. - I updated the examine command to show all the commands defined on an object (if any). - I updated gamesrc/parents/examples/red_button.py considerably using the new command methodology and also using the updated Events. . Griatch Griatch 2009-12-03 00:41:53 +00:00
  • 5f6454ea1e Updated the batch processor to use the new global cache system instead of the custom dict-based cache it used before. Much cleaner now. . Griatch Griatch 2009-11-25 23:23:24 +00:00
  • c2d603c3db Fixes in batchprocessor. The batchprocessor now completely ignores states (so running a batch file where e.g. a player is forced into a state by entering a room will no longer also trap the builder using the batchprocessor to build that trapping room.) This is by automatically setting the flag ADMIN_NOSTATE on the user running batchprocessor. . Griatch Griatch 2009-11-25 23:02:28 +00:00
  • 1e2fba9680 Small bugfix to cmdhandler to avoid a unicode-related traceback. . Griatch Griatch 2009-11-25 22:02:22 +00:00
  • 4d9081d710 Various cleanups in the recent modifications, and improvements to how time is handled and displayed. . Griatch Griatch 2009-11-25 19:27:32 +00:00
  • 1ea7e69821 Implemented persistent cache, events and gametime counter. Griatch 2009-11-22 21:18:55 +00:00
  • 5e866c6b73 Added more stable events. - added PIDs to all events, so they can be deleted safely. - scheduler.del_event(pid) cleanly deletes events from the scheduler - added @delevent for deleting events based on PID (@ps shows this now) - Events has a self.repeat property allowing them to only be repeated a certain time (default is infinitely many times). After the set number of repeats, the event deletes itself from the scheduler. Griatch 2009-11-18 20:10:35 +00:00
  • 642932a403 * Implemented a non-persistent cache in src/cache.py. The cache is lost when restarting the server but it has the advantage of not hitting the database, and so is useful for implementing things that should be remembered over time but does not need to be persistently saved in the database at every point, like fast-updating combat systems, timers etc. Using the cache can substantially cut down on database access at the cost of memory comsumption. It is easiest accessed through the object model using normal dot notation. So to store a variable in volatile memory e.g. from your script parent, you can do things like self.scripted_obj.cache.myvariable = variable and be sure that later (unless there was a reboot) doing self.scripted_obj.cache.myvariable will return the value you stored there. * OBS - doing e.g. self.scripted_obj.myvariable = variable was always iffy and since a few revisions back this will NOT work - this is because the objects are now consistently synced with the database (in the past this was not done consistently which caused strange behaviour). * Fixed some bugs in the multi-word command handler. It can handle multi-word exits as well now. Griatch 2009-11-01 15:12:38 +00:00
  • af19724bb2 Make sure player input is valid unicode. If an un-decodable character is encountered, replace it with question marks. We'll need to test this with a more unicode capable client than I have. Greg Taylor 2009-10-27 20:18:01 +00:00
  • b57608cf55 Set the default encoding to UTF-8. UTF-8 support in new codebases is pretty much expected, especially given that MUX/MUSH now have excellent support. This should alleviate some of those encoding errors, and allows us to get rid of that ascii error checker in session.py. Greg Taylor 2009-10-27 20:03:03 +00:00
  • eb6f82fea0 Added an at_obj_receive hook to basic player/object script parents. This allows e.g. room parents to react when a player enters them. Griatch 2009-10-25 15:25:15 +00:00
  • d06ac3e239 Not sure how we ended up with bold cyan as the default object name color, reverting that to bold white as per MUX/MUSH. Greg Taylor 2009-10-24 03:54:03 +00:00
  • 239af1593d Fix issue #77, dealing with clearing objects out of a room being @dest'd. Greg Taylor 2009-10-24 03:49:14 +00:00
  • 4125c93c8b @dest shouldn't use a global search for object. The only time this is global is when a player specifies a dbref, which is a very specific query. Greg Taylor 2009-10-24 03:42:42 +00:00
  • 3be514ffdc Added high/low dbref limits to @find (Issue 59). /Griatch Griatch 2009-10-22 20:59:19 +00:00
  • 3614960471 Protected the server against non-standard characters on input line; this would give traceback or weird results before. /Griatch Griatch 2009-10-22 20:10:31 +00:00
  • 656ecd9f97 Added VisibleKey, allowing objects to be locked so they are not visible by normal look command. Fixed bug in create_object that sometimes caused rooms to be created with a location !=None Expanded @destroy to better handle names and not just dbrefs. /Griatch Griatch 2009-10-22 19:44:16 +00:00
  • 557c4eb07b Fixed bug in destroy command; cleaned up @dig a bit. Griatch 2009-10-22 14:30:57 +00:00
  • 9b6bd7125f Made several admin commands handle multi-word global searching; defined a new search function on objects.model for global name searching. /Griatch Griatch 2009-10-21 18:42:52 +00:00
  • d8787bfc70 Minor cleanup in batchprocessor messaging. Griatch 2009-10-20 22:27:06 +00:00
  • a6ae6e936a Patched the batch-processor's interactive mode so it will not abort if it processes an object/script parent that changes the player's state. Also added a variable BATCH_IMPORT_PATH to config so one can keep all batch scripts in one location and don't have to write the full path to get them. Default is the new directory game/gamesrc/world. Added the permission genperms.admin_nostate so that builders can avoid entering a state when working on a room with a state-changing parent. Superusers have to set the flag ADMIN_NOSTATE on themselves to achieve the same effect (this is necessary since superusers always have all permissions, so they would otherwise never be able to enter states). /Griatch Griatch 2009-10-20 22:21:01 +00:00
  • c4114938cc Many small but useful bug fixes in various modules. /Griatch Griatch 2009-10-20 20:38:24 +00:00
  • 615cb51b33 Check the user's location for commands after checking neighboring objects. Greg Taylor 2009-10-20 15:24:33 +00:00
  • a711e07b80 Added the capability of evennia commands to consist of more than one word. So the examples.red_button parent can now be pressed with the command 'push button' instead of 'pushbutton' as before. The variable COMMAND_MAXLEN in the config defines how many words your commands may maximum contain (don't set it higher than needed for efficiency reasons). The main drawback of multi-word commands are that they can not have any switches; they are intended for in-game use (in states and on objects). Use normal one-word commands for administration and more complex commands with many options. /Griatch Griatch 2009-10-18 19:29:18 +00:00
  • 0c29d359f6 Added @setcmdalias for creating aliases for commands (l -> look etc). Also moved the hard-coded defaults to settings.py instead. Griatch 2009-10-16 21:04:07 +00:00
  • a286841030 Added mentions of the ;-style aliasing when creating and naming objects to all relevant help entries. Griatch 2009-10-15 20:38:32 +00:00
  • c575d098a0 Expanded @emit with more functionality. Implemented @pemit (Issue 19) Implemented @remit, @fsay and @fpose. /Griatch Griatch 2009-10-15 17:31:44 +00:00
  • 45bf3374a1 Implemented @cdesc as per Issue 65. Griatch 2009-10-15 14:01:48 +00:00
  • 3a40bf5241 Changed the name of the default state-help command 'info' to 'statehelp' to avoid clashing with the standard info channel. Griatch 2009-10-15 11:30:44 +00:00
  • df4ede7229 Added fix to statetable that has it not add a state-help entry if there is no __doc__ string. This is useful if one overwrites a global command but wants to retain its original help entry. /Griatch Griatch 2009-10-15 11:09:40 +00:00
  • 84aeabb272 Some cleanup. Fixed all examples to match the changes in the states and help systems, also ran them through pylint to pretty them up. /Griatch Griatch 2009-10-15 09:43:34 +00:00
  • 8074617285 Largely rewrote and refactored the help system. Griatch 2009-10-14 18:15:15 +00:00
  • 46e2cd3ecb Added FuncKeys - locking of objects depending on the result from an arbitrary function. Added AttrKeys and FlagKeys - locks depending on the value of the unlocker's attribute or if they have a flag set. Finally I updated @lock to handle all these lock types. There are a large amount of possible configurations though, so more testing is needed. /Griatch Griatch 2009-10-12 20:58:15 +00:00
  • 42254355a0 Cleaned up @link, @open and @dig, making these commands more useful and less buggy with strange input. Also made them work not only with #dbrefs but with any unique game object (possibly one should limit this to e.g. room's); if there's a multiple match a list of the relevant dbrefs are shown. You can also now inspect links/home settins using this command. @open also supports script_parents when creating exits. /Griatch Griatch 2009-10-05 23:06:57 +00:00
  • 66095a0b16 Implemented locks. The main command to use is @lock, which accept three types of locks at the moment, and three types of keys: Locks: DefaultLock, UseLock, EnterLock Keys: ObjectIDs, Groups, Permissions This offers the most useful functionality - stopping people from picking up things, blocking exits and stopping anyone from using an object. If the attributes lock_msg, use_lock_msg and enter_lock_msg are defined on the locked object, these will be used as error messages instead of a standard one (so "the door is locked" instead of "you cannot traverse that exit"). Griatch 2009-10-05 20:04:15 +00:00
  • 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 Griatch 2009-10-03 14:40:34 +00:00
  • 77f2186d9a Implemented the @chgroup command for adding/deleting users to/from permission groups. You can also view all groups and their permissions. At the moment groups have no permissions assigned to them from the onset though, so groups are not very useful out of the box. . Griatch Griatch 2009-10-02 20:51:56 +00:00
  • fc35cffb98 A commit activating the auto_help for @chperm. Griatch 2009-10-01 23:33:57 +00:00
  • e05eabe5ef * Implemented @chperm - a command for viewing and setting individual permissions on a user without using the admin interface. I consider expanding this later with a group handling method as well (@chgroup). The command supports viewing all permissions available in the game, viewing those set on a user, add and delete a permission. No refactoring of the permission models (moving them into their respective application) has been done yet. * Added del_event() to scheduler, allowing to remove events from the event queue. This allows for creating e.g. one-time events. . Griatch Griatch 2009-10-01 23:28:58 +00:00
  • 82fe65f31f * Fixed bug in @reload that had modules reload in random order (causing custom user modules to not overwrite default ones properly). * Added more info to multiple match search results, to show which matches are in inventory or not. /Griatch Griatch 2009-09-28 20:45:36 +00:00
  • f99614346d Made the StateSystem example commands in gamesrc/commands/examples/state_example more elaborate and informative. These are the commands: entermenu (shows a simple menu system) enterstate (enters one of six different states with descriptions and hints of usage) Leave all states with @exit. /Griatch Griatch 2009-09-28 19:27:35 +00:00
  • 6d45c98b8e Fixed bug that allowed addcom to set the same alias to two different channels. /Griatch Griatch 2009-09-28 17:08:18 +00:00
  • 35676b7660 Fixed bug in drop command, giving error log messages since it was trying to force non-player objects to execute a look when dropped. Griatch 2009-09-27 21:11:34 +00:00
  • 45ba9ea73c Fixed bug that had recycled objects not properly forget flags set on them before they were destroyed. /Griatch Griatch 2009-09-27 16:36:03 +00:00
  • 0e46a61c85 * Added copy_object() to the object manager * Added @copy command (builders only) * Moved the greeting for first-time logins into a hook in basicplayer * Fixed bug in @set to handle whitespace better * Added the /drop switch to @create /Griatch Griatch 2009-09-27 10:05:47 +00:00
  • ee1b891ef4 * Refactored the structure of the code a bit, for easier plugin expansion. The create_object() function now handles all the basic aspects of setting up an object, instead of relying on @create/@dig to set up things like parents, default descs etc. This also calls the creation hook on_object_creation() now. As part of this, the set-script-parent mechanism changed a bit under the hood - the engine itself is calling the set_script_parent() method on Object now instead of setting it up on its own and/or trusting @create and @dig to do it. Also set up the default descs for different object classes into the defaults_global file for easier administration. The @dig command now accepts the specification of parents for all entries (room and all exits). In principle it also supports ALIASes for each exit, but the ALIAS attribute does not seem to be operational at the moment. /Griatch Griatch 2009-09-26 23:37:52 +00:00