Commit graph

467 commits

Author SHA1 Message Date
Griatch
c676c9965f Merged. Still need to update some migrations. 2013-07-11 19:11:27 +02:00
Griatch
46d1c48a38 Working implementation of User->PlayerDB conversion. Superuser must be created separately. The player-create method was corrected, along with the most obvious places where the user-setup was used. One can log in and look around but it's not heavily debugged yet. 2013-07-11 18:03:07 +02:00
Griatch
2b332c3b9a Attribute cache is working, lots of other updates, but still not a cleanly updatable system. It seems the Attribute-migrations are not coming through properly. Fixed a misnamed table in the comm app. 2013-07-11 09:51:52 +02:00
Griatch
033344ad2c Moved get_evennia_pids into src.utils.utils for more general access. 2013-07-10 11:06:38 +02:00
Griatch
92a8e39de5 Changed how the cmdset's errmessage is propagated. Adding failing cmdsets added ErrorCmdsets to the cmdhandler. This was for callback reasons, but it clutters up things for no good reason. 2013-07-02 15:50:42 +02:00
Griatch
47a324f720 Made cmdhandler merge same-prio cmdsets in groups. Before this fix one could face the following situation: Two exits "allcom" and "test". Both have exit cmdsets with prio 9. If "test" merges first, it contains no "allcom" command to overload the "allcom" in the Player cmdset (prio -5). But the merged set now has a priority of 9 thanks to merging the "test" set. So when merging the "allcom" exit-command, it merges with a same-prio set. And since exit-cmdsets have the duplicate-flag set, there will be two allcom commands in the final set. The problem does not show up if "allcom" happened to be merged first, making this effect non-consistent and buggy.
Merging the same-prio exit-sets first, then merging onto the lower-prio sets resolves this issue.
2013-07-02 13:38:38 +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
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
e6067c873c Fixing old docstring on @quell command, suggesting superuser cannot be quelled. 2013-06-20 18:06:10 +02:00
Griatch
31410f5710 Merge from Kelketek clone. 2013-06-03 16:28:38 +02:00
Daniel Benoy
c10a02f713 Fixed security hole checking channels with @cwho 2013-06-02 06:53:57 -04:00
Kelketek
7623b1a863 Fixed #379. Addcom no longer crashes when used IC. 2013-06-01 07:22:46 -05:00
Griatch
4715499958 Fixed a missing sessid on System commands. Resolves Issue 377. 2013-05-26 19:29:42 +02:00
Griatch
a9a70c91b1 Fixed a bug with the who command. 2013-05-23 21:38:01 +02:00
Griatch
efdb954491 Fixed a logical error in obj.manager causing it to fail to find arbitrary db_>fieldname>. Resolves Issue 373. 2013-05-21 14:29:50 +02:00
Kelketek
93d0db8489 Removed the redundant handling of location within @IC and @OOC. These should be handled by the hooks. 2013-05-18 20:05:42 -05:00
Kelketek
65328e94ff Fixed issue with OOC command sending the menu to all connected sessions of a player. 2013-05-18 19:30:47 -05:00
Griatch
51cf5461fa Fixed a typo on the @ic command's search_object call. 2013-05-14 21:47:25 +02:00
Griatch
95268406ab Made @examine show the superuser flag also when called as a Player. Removed some debug printouts. 2013-05-14 15:25:35 +02:00
Griatch
f00053710c Added Character-level quelling possibilities to superuser. This makes the superuser quelling completely in line with normal quelling for other permission levels. It also removes the need for the special _superuser_character bypass used before (the migration no longer creates it an initial_setup won't either). 2013-05-14 14:53:08 +02:00
Griatch
77a0b47859 Fixed some issues with the _superuser_character bypass as well as the is_superuser property on objects. Also fixed a bug with @examine that caused it to display object Attribute instead of Player Attributes when called from the ooc state. 2013-05-14 13:55:03 +02:00
Griatch
68e4384761 Some minor fixes to debug output. 2013-05-12 20:28:30 +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
a6840aff15 First draft of a reworked the unittest framework to handle the new form of chars/players/commands. Not functioning yet. 2013-05-12 14:13:13 +02:00
Griatch
3ac44946c3 Changed perm lockfunc to primarily use the Player-level permission and added the @quell command for managing permission downgrading. 2013-05-12 13:45:46 +02:00
Griatch
78e7346962 Updated commands to use the new objectdb.search API. 2013-05-11 23:22:02 +02:00
Griatch
218e4a149c Implemented a modified and cleaned objectdb.search and accompanying object.manager.search_object that also searches globally. The default commands have not yet been converted to use the new call. 2013-05-11 20:01:19 +02:00
Griatch
be22a31ec4 Made it possible to "take" over puppeting from one's own stale sessions. Fixed a nasty bug in swap_typeclass. 2013-05-11 16:09:26 +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
89c33a9197 Some deprecation fixes for django1.4+. Added the ability to add lists to Attribute-stores lists using e.g. obj.db.mylist + [1,2,3,4] 2013-04-17 19:43:37 +02:00
Griatch
c943b13351 Fixed error in who when playing as a character. 2013-04-15 01:01:21 +02:00
Griatch
17d7ad9b37 Fixed a traceback in CmdExamine. 2013-04-14 22:57:23 +02:00
Griatch
8d48aa5a06 Added the last migrations needed to fully convert the Attribute system. Cleaned up the @ooclook command a bit as well as tidied up the who command a bit. 2013-04-14 13:35:25 +02:00
Griatch
1a00797021 The new Attribute system should properly handle non-ascii characters. Also updated examine command to match. Resolves Issue 355. 2013-04-14 00:54:39 +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
0fddf433dc Updated all Player-level commands to properly relay messages using self.msg rather than caller.msg (the former will properly relay to the right sessid without needing any extra arguments). 2013-04-12 14:27:36 +02:00
Griatch
b58a464409 Cleaned up all commands of the player type to correctly relay their msg-data only to their assigned session. 2013-04-12 13:59:15 +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
c152202082 Forgot to add the default/player.py module holding Player-specific commands. 2013-04-11 01:02:40 +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
ea4c30a0b1 Added a convenience property player.character that will return the (puppeted) Object if in MULTISESSION_MODE 0 or 1, all puppeted Objects for MULTISESSION_MODE=2. Note that this is not quite the same as the old player.character - it will only return a character if that character is actually puppeted (the old scheme returned it also if the Player was offline). 2013-04-09 22:44: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