Commit graph

2866 commits

Author SHA1 Message Date
Griatch
811bdc623f Implemented @cchown as per MUX specifications (Issue 53). 2009-08-30 13:02:25 +00:00
Griatch
cdd4770330 Implemented clearcom as per MUX specifications (Issue 48).
Added a 'clear' argument to addcom as a shortcut to clearcom.
Changed addcom to now change the alias to a new one if giving the command on an already subscribed channel.
Added the exception in command handler so that giving the channel alias without argument gives an error instead
of sending None to the channel.
/Griatch
2009-08-30 12:28:38 +00:00
Griatch
117207e3ca Implemented allcom as per MUX specifications (Issue 47). Added some more functionality to it, such as giving allcom without an
argument makes it work as comlist. Also cleaned up some of the channel listing commands to make their output more consistent.
2009-08-30 10:07:15 +00:00
Griatch
ceaf7d2a2f Implements @cboot as per MUX specifications (Issue 20). Some code cleanup. 2009-08-29 22:29:19 +00:00
Griatch
69cb8e5655 Implemented @cpattr functionality as per MUX specification (Issue 26). 2009-08-29 19:15:32 +00:00
Griatch
bd2f7a845c Added @mvattr command as per MUX (Issue 25). Cleaned up @set to give better feedback. Some minor cleanups. 2009-08-29 17:41:00 +00:00
Griatch
5a3d901b5c Added #1 to default channels. Had IRC log to a default channel. Added some more feedback upon module import failures. 2009-08-29 10:36:00 +00:00
Griatch
929786638d Cleaning up erroneous commit. 2009-08-28 19:13:25 +00:00
Griatch
72ec7377b9 Added some changes to revision conttrol. 2009-08-28 19:07:25 +00:00
Griatch
e39537dc04 Fixed traceback in @irc2chan when channel not known. 2009-08-28 18:54:41 +00:00
Griatch
8d239ba382 Fixed a bug causing IMC users to see an echo when talking. The IRC<->Evennia<->IRC system seems to work as advertised now.
/Griatch
2009-08-28 18:38:08 +00:00
Griatch
72e55f417a Added the command/irc.py directory that was not committed properly.
Added some more helper commands and changed a bit under the hood on those
previously committed for mapping irc/imc channels to each other.

There seems to be an issue with IMC2 users seeing an echo back to themselves when talking. Investigating.
/Griatch
2009-08-28 18:13:07 +00:00
Griatch
5f58c4384b IRC_ENABLED was accidentally left to True in default config file. Fixed. 2009-08-28 16:01:21 +00:00
Griatch
d3165867c3 Added IRC connectivity for Evennia.
This allows the Evennia server to launch a bot that pipes output from an IRC channel to an Evennia channel. IMC2 and IRC channels
mapped to the same channel will also see traffic from each other.
New fields in settings.py were added to setup the IRC bot.
Added new in-game commands '@imc2chan' and @irc2chan for mapping irc/imc channels to evennia channels; you don't have to
use the admin interface anymore.

This is a correction commit to add the correct text info; the irc bot was really added in r650.

/Griatch
2009-08-28 01:43:45 +00:00
Griatch
4bd567386f Some code cleanup and clarification in comments. 2009-08-28 01:33:15 +00:00
Griatch
2640bd057a Fixed some minor typos. 2009-08-23 09:30:09 +00:00
Griatch
6bbdde763d Minor fix of an argument typo as well as making an example more compacent with the wiki. 2009-08-16 09:09:55 +00:00
Griatch
1d4f075ca7 * Updated and expanded the State system; the API changed a bit. You now have to first *create* the state using
GLOBAL_STATE_TABLE.add_state() before adding commands to it. The state can now be much more configured by including as much or as
little of the normal default commands into it as wanted (so you can now have states which are almost as normal, except some
commands are missing or change their behaviour ... illness or darkness comes to mind). The possibilities here are limitless.
* States now also optionally allow traversing exits as well as using command tables defined on objects.
* States now better handle error messages (so if you try 'look' in a state which does not contain a look command you will no
longer get the 'Huh?' but will be told that the command is not available at the moment).
* All examples in commands/examples/ have been updated to use the new State system. Also added a @test_state function for trying out
the functionality.
* Added hooks at_before_move() and at_after_move(), useful for character based move-restrictions and checks (e.g. movement speed)
* Minor tweaks to the event system; avoiding the counters to go negative should they hit an uncaught traceback.
* Small fixes of typos and minor extra safety checks.
/Griatch
2009-08-16 01:18:58 +00:00
Ari Mudev
f5b40648a6 Correct minor inline documentation typos. 2009-07-06 13:14:10 +00:00
Greg Taylor
49f24d2372 svn:ignore property update on management command. 2009-07-06 02:56:45 +00:00
Greg Taylor
05791b3593 Two patches, courtesy of Ari:
* The startup script (evennia.py) will now take your PYTHONPATH environmental variable into account when starting. This may resolve potential issues with Twisted on Windows with certain combinations of Python.
* The INSTALL file still referred to startup.bat, which is now gone in favor of evennia.py.

Thanks Ari!
2009-07-06 02:55:25 +00:00
Greg Taylor
ddfd479ba9 Fix a really obscure bug with adding default channels. Had a string substitution that didn't match up and wasn't throwing an exception (for some weird reason).
Also add CommChannelMembershipAdmin.
2009-06-04 04:03:16 +00:00
Greg Taylor
d29c6340fc Finally transition away from those horrid channel attributes for tracking channel memberships. We'll see about doing away with them altogether if it's possible efficiently.
NOTE: MAKE SURE YOU SYNCDB. A new model was added to track channel memberships.
2009-06-04 03:42:19 +00:00
Greg Taylor
acbfa1be6a Re-arrange line breaks for the examine command to match MUX/MUSH. 2009-06-04 02:14:15 +00:00
Greg Taylor
1d0b05c229 IMC commenting in config_defaults.py. 2009-06-04 01:13:30 +00:00
Griatch
c339c1f6f6 Changed the input format of the create_object() function as suggested in the code. A more normal function now, no more strange dictionary input. 2009-05-03 18:21:12 +00:00
Griatch
9bf3e48def Fixed a bug in @dig for handling if no arguments where supplied. 2009-05-03 17:10:10 +00:00
Griatch
05554e290a Moved the object's 'description' into an attribute, as suggested in the code. This means that get_description() and set_description() should no longer be used; instead use set_attribute('desc',value) and get_attribute('desc') as you would any attribute. 'desc' is used by the default look command, but apart from that, desc has no special status anymore.
/Griatch
2009-05-03 16:55:42 +00:00
Griatch
e7d7284d5c Added pickle'able attributes. The attribute.get_attr(), object.set_attribute and object.get_attribute_value() have been updated to accept and return values of any type. If the value is a string, it will be stored normally, other types will be pickled. Possibly we could choose to save also single numbers as strings, but not sure it's any faster to convert from string than it is from cPickle ...
To use these, you need to either start over with a fresh database or change the changed fields manually.
2009-05-02 19:02:36 +00:00
Griatch
1314629a06 Minor bugfix of addcom command, some other cleanup. 2009-05-02 15:55:47 +00:00
Griatch
5bc1db70ed Added help/del to the state-help system, made some appearance tweaks on the examples. 2009-05-02 08:55:12 +00:00
Griatch
fd050f75ca Some adjustments of the formatting for auto_help. Added some colours to the state_example menu. 2009-05-02 08:25:37 +00:00
Griatch
cafbdf720e Minor typo-fixes as well as making some variable names more intuitive. 2009-05-01 15:56:19 +00:00
Griatch
0efe2c3095 Created a state system. See
http://groups.google.com/group/evennia/browse_thread/thread/66a7ff6cce5303b7
for more detailed description.

Created a new folder gamesrc/commands/examples and moved all examples in there.
/Griatch
2009-05-01 15:34:43 +00:00
Griatch
cae925c29b Made so the local_and_global_search strips the query of surrounding whitespace. Many calling functions don't do this properly, making it a source of bugs. E.g. "@desc obj = text" did not locate obj but "@desc obj= text" did. 2009-05-01 07:16:44 +00:00
Griatch
ba623af351 Took out some useless code and imports left in after testing this. 2009-05-01 06:42:37 +00:00
Greg Taylor
119f5f6d49 Show a little more info in the Django admin for comm channels. 2009-05-01 05:07:13 +00:00
Greg Taylor
a5efca450d Looks like there's an import in here that doesn't exist. Commenting it out. Starkiel, was this supposed to do anything? 2009-05-01 05:03:52 +00:00
Griatch
3eb4cddf42 - implemented @destroy as per the MUX help specifications. As part of this, fixed the object recycling routines to actually properly replace GARBAGE-flagged objects (it crashed before).
- Set up a global cleaner event to clean all @destroyed objects every 30 minutes (makes their dbrefs available).
- Added the @recover command for recovering @destroyed objects up until the point that the cleaner runs and actually destroys them. This can recover @destroyed objects, rooms and exits to the same state as before @destroy. It could easily be made to recover player objects too, but I'm thinking this would be a security issue.
- Added to @dig in order to allow for creating rooms with a particular parent. Also auto-creates exits in each room if desired. The only things that is not implemented is the aliases of the exits, I don't really know how to do that.
- Changed the @create command format to match the @dig (it uses : to mark the parent instead of = now, since MUX' @dig reserve = to the exit list.)
- Added extra security in the example event to guard against the bug that causes the whole scheduler to freak out if the event_function() gives a traceback.
- Changed many instances of type to point to the defines_global.OTYPE instead of giving the integer explicitly.
/Starkiel
2009-04-30 15:01:59 +00:00
Griatch
8799a0fd55 Added example of how to handle event errors gracefully without them taking down the server with with unhandled exceptions (this should be handled somewhere above exception too, but it's hard to tell when to do it since twisted is raising them). /Starkiel 2009-04-30 08:23:54 +00:00
Greg Taylor
b53c228257 Add a note about Python 2.6. 2009-04-30 06:20:00 +00:00
Greg Taylor
d03b214f24 Add FollowSymLinks to the media directory by default. 2009-04-30 06:17:51 +00:00
Greg Taylor
6c5488aab3 Show the IMC server name for IMC2ChannelMapping objects in the Django admin interface. 2009-04-30 04:21:58 +00:00
Greg Taylor
45f17f6732 In the strange case where someone creates two mappings with the same IMC2 name, handle it gracefully by emitting to all matching mappings instead of just assuming there'll only be one match. 2009-04-30 04:20:03 +00:00
Greg Taylor
9b8f1cf3ea Handle IMC ice-destroy packets. 2009-04-30 04:05:19 +00:00
Greg Taylor
181133d917 Add tracking of IMC2 channels and the new 'imcchanlist' command. 2009-04-30 03:56:52 +00:00
Greg Taylor
50e70327fe Be a good little IMC2 denizen and send is-alive packets when a keepalive-request comes our way. 2009-04-30 03:26:53 +00:00
Greg Taylor
76f14b4779 Clean up send_cmessage() a bit. Changed noheader keyword arg to show_header and defaulted it to True. This should read a little better. Also updated some of the various function calls. More importantly, check to see if the channel argument is a string or unicode object and find the correct channel object as needed, which was the previous behavior. However, if it's not a string or unicode object, assume it's a CommChannel object and avoid querying for it again. This may be a performance win in some cases down the road. 2009-04-30 03:13:46 +00:00
Greg Taylor
70602efaa7 Remove an unneeded import that was causing a deprecation warning. 2009-04-30 02:52:16 +00:00
Greg Taylor
426932b5a6 Add the MudBytes connection details to config_default.py for easy access. 2009-04-30 02:49:47 +00:00