delizin
e070617751
Fixed multiword drop bug #442
2014-01-31 22:05:15 -05:00
delizin
6e50d7e357
Fixed multiword drop bug #442
2014-01-31 22:00:31 -05:00
delizin
8de289f5ad
Update objects.py
2014-01-31 13:33:35 -05:00
delizin
967d283507
Update objects.py
...
Removed the following line from at_pre_puppet, because it is repeated in at_post_puppet and results in the message "%s has entered the game" appearing twice.
self.location.msg_contents("%s has entered the game." % self.name, exclude=[self])
2014-01-31 13:32:33 -05:00
Griatch
f48fd8fa2c
Changed how dep-messages were placed for the new access hooks.
2014-01-19 00:09:10 +01:00
Griatch
87f3093dac
Deprecation warning: Added combined hook at_access(result, accessing_obj, access_type, **kwargs) to Objects and Players. This hook replaces at_access_failure and at_access_success, which are now both DEPRECATED and will be removed later.
2014-01-18 23:56:07 +01:00
Griatch
1ae17bcbe4
PEP8 cleanup of the entire codebase. Unchanged are many cases of too-long lines, partly because of the rewrite they would require but also because splitting many lines up would make the code harder to read. Also the third-party libraries (idmapper, prettytable etc) were not cleaned.
2013-11-14 19:31:17 +01:00
Griatch
149b06a6a4
Fixed an issue with exit commands not using arg_regex ending correctly (it turns out you need to include this in the ExitCommand creation call or the metaclass will not pick it up and precompile the regex). Resolves Issue 397.
2013-11-12 00:05:06 +01:00
Griatch
bc8e27fea6
Changed object.search() to include nick-matching by default.
2013-10-21 22:56:03 +02:00
Griatch
4659ddbfc3
Changed object.msg() to relay directly to connected session rather than via the player.msg() method.
2013-09-22 11:39:24 +02:00
Griatch
e36c7d5cc1
Cleaned up worst instability. Test suite does validate yet.
2013-09-21 17:33:48 +02:00
Griatch
4a5de04956
Changed msg() to work with **kwargs rather than data dicts. Still not fully updated the portal side (also remember that keywords let through to the portal must not contain dbobjs, since the portal has no connection to the database).
2013-09-14 09:10:31 +02:00
Griatch
9620867031
Fixed simple bug in creating a new character - it got the wrong puppet hook lock type.
2013-08-25 15:09:28 +02:00
Griatch
c0b5c506a4
Removed a lot of old references to Aliases and Nicks. Still failing on @puppet.
2013-07-12 15:34:54 +02:00
Griatch
3cf01ce711
Reverted previous merge, instead solving the issue by the metaclass making sure to add cmd:all() to the exit command only if the object itself does not specify it.
2013-07-02 11:51:04 +02:00
Griatch
5800b960ff
Added safety feature to lock handling.
2013-07-02 09:34:35 +02:00
Griatch
0164574c00
Added sessid keyword to at_pre_puppet and at_post_unpuppet hooks, where the sessid is otherwise not yet available, as per Issue 383.
2013-07-01 15:03:12 +02:00
Griatch
92339362ec
Changed/fixed some issues with the command priorities that caused a lower-prio dynamically-created command to not properly be accounted for. Also changed the prio order for which of the cmdsets are used for checking the "duplicates" flag - it is now the new set being merged onto the new one (i.e. the priorotized) cmdset that must have this flag set in order for the result to have duplicates.
2013-07-01 14:30:17 +02:00
Griatch
1e6384e40c
Fixed some documentation typos/rewrites as suggested in Issue 393.
2013-06-30 14:13:01 +02:00
Griatch
bd9421d4b0
Implemented unittests for all default commands in a new and much faster way.
2013-05-12 19:53:19 +02:00
Griatch
78e7346962
Updated commands to use the new objectdb.search API.
2013-05-11 23:22:02 +02:00
Griatch
ad8a9fbe69
Added warning message for puppeting to an object without neither location nor home set.
2013-04-20 16:14:12 +02:00
Griatch
416d6e14bc
Fixing a bug in @ic if trying to puppet while already puppeting. Added sessid keyword to at_post_login hook in order to correctly relay login text only to the correct session. Removed the src.utils.debug module as well as the CmdDebug command which has not been supported for a good while.
2013-04-18 09:13:31 +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
be2d0086a3
Updated the game/gamesrc/ examples with the new hook names.
2013-04-09 22:22:17 +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
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
458e3e7599
Added @sessions command for viewing active sessions connected to a given account.
2013-02-17 20:21:23 +01:00
Griatch
261363bae7
Moved connect/disconnect messages to be triggered by Player, not by Character.
2013-02-17 14:24:31 +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
ea545d7ff3
Added the ability to deactivate local caching, by use of the settings.GAME_CACHE_TYPE variable. A temporary solution for working with multiple processes. Will also be useful for debugging and profiling.
2013-01-09 19:43:46 +01:00
Griatch
15feb915e6
Fixing a missing report.
2013-01-08 09:45:59 +01:00
Griatch
45bf38679f
Moving a check for the connect channel, probably resolving a weird django error appearing in postgreSQL. Related to Issue 341.
2013-01-08 09:44:13 +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
949da47917
Removed some old and now confusing, unsused variables and added some documenting strings.
2012-12-08 15:39:09 +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
28c625c12c
Re-activated connect-channel again, called from hooks. Fixed some bugs and minor things to give more control over how messages sent to channels are handled.
2012-11-13 21:24:05 +01:00
Griatch
52af816977
Added hooks at_access_success and at_access_failure to allow for custom messaging for certain lock errors. Resolves Issue 311.
2012-10-28 14:07:18 +01: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
21408c56cf
Made the docstrings for objects' basetype_setup() more informative. Resolves Issue 302.
2012-10-20 09:33:40 +02:00
Griatch
4830560ac5
Added better error checking for when trying to set an attribute on an object stored in an attribute but which after retrieved and cached was deleted. The fix doesn't fully fix the problem of stale caching but does give more information. Related to Issue 295.
...
Also fixed a curiously phrased import.
2012-10-14 19:29:56 +02:00
Griatch
446dfe9509
Properly set the auto_help flag to False on Exit commands, so they don't show up in the help listings.
2012-10-14 16:37:36 +02:00
Griatch
99c2dda8dc
Changed the way ExitCommands work by adding at_traverse() as a new hook to do the actual moving. This should allow for more flexibility in overloading new Exit typeclasses without having to re-implement the Exit Cmdset functionality more than necessary. By default the same error hooks are called wether the failure is due to a lock or some other error, this is (now) easy to modify as needed.
2012-10-14 13:11:13 +02:00
Griatch
532cbc5fb6
Changed initial look command (at login) to be called from at_post_login hook instead of from the default connect command, supposedly making it easier for those only wanting to change this one line rather than having to re-target connect. The player.at_post_login now also calls look in case no character is defined, for the cases when logging in without having a character selected. Resolves Issue 277.
2012-10-14 12:28:01 +02:00
Griatch
4c83d3e7a1
Various speed optimizations in various places, following further profiling.
2012-09-20 00:47:28 +02:00
Griatch
c53a9b5770
Changed how Objects are searched, using proper Django Q objects instead of hack-y evals to build queries. This has lead to a number of changes to the ObjectDB manager search. Notably there is now no way to supply a "location" to either of the manager search methods anymore. Instead you can now supply the keyword "candidates", a list of objects which should be used to limit the search. This is much more generic than giving location. The higher-level search (like caller.search, reached from commands) have not changed its API, so commands should work the same unless you are using the manager backbone directly. This search function is now using location to create the "candidates" list. Some other things, like matching for "me" and "here" have also been moved up to a level were it can be easily overloaded. "me" and "here" etc were also moved under i18n.
...
As part of this overhaul I implemented the partial_matching algorithm originally asked for by user "Adam_ASE" over IRC. This will allow for (local-only) partial matching of objects. So "big black sword" will now be matched by "bi", "sword", "bi bla" and so on. The partial matcher sits in src.utils.utils.py if one wants to use it for something else.
2012-09-17 15:31:50 +02:00
Griatch
cc6fa079b6
Added some more functionality to the copy method of objects, as well as some minor fixes.
2012-09-11 23:47:29 +02:00
Griatch
327cfc5098
Changed default permission of objects so as to not have 'control' permission of themselves. As user Kelketek pointed out, this could be a possible exploit. At any rate there is no need for objects to have control of themselves.
2012-08-18 20:20:42 +02:00
Griatch
0d1f9d5bdc
Fixed a bug in object's __eq__ that returned erroneous fails.
2012-08-12 09:55:19 +02:00