View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0000354 | LDMud 3.2-dev | Efuns | public | 2005-01-28 07:05 | 2005-05-15 13:02 |
Reporter | Sorcerer | Assigned To | |||
Priority | normal | Severity | feature | Reproducibility | N/A |
Status | closed | Resolution | fixed | ||
Summary | 0000354: Extension for tell_object() | ||||
Description | Would it be possible to extend tell_object(object ob, string str) in a way that it accepts as second argument not only a string but alternatively a pointer in which case this array is passed on to catch_msg() of ob. This is a behaviour like tell_room() and say(). We implement this functionality currently as a simul_efun overwriting tell_object() but since it proved to be very handy it might be worth implementing it into the real efun. (Especially since there is currently no efun for sending to an individual's catch_msg().) This would break no existing code but offer a (useful) feature. | ||||
Tags | No tags attached. | ||||
|
Honestly, I don't think this is required. say()/tell_room() exist because there was no efun to list all possible recipients of a message (and back then there wouldn't have been a simple way to call them if the efun existed), and catch_msg() was grafted onto it. tell_object() exists because interactive and non-interactive objects handle string messages differently, but on the mudlib level it was advantageous to treat them alike. However, a tell_object(obj, msg) (with msg being an array) would do one thing and one thing only: execute obj->catch_msg(msg). |
|
I agree that it is not required since a call_other would do exactly the same thing. The idea behind our simul_efun for that behaviour was to offer a more consistent tell_object() for coders. Since most of them are not really "programmers" it is easier for them to just use tell_room() and tell_object() the same way with respect to syntax. If implementing that behaviour is a larger issue (I realized only after writing that report that tell_object() and tell_room() are implemented more differently in the driver than I thought first) it probably won't be worth the effort and in case that would cause a drop in performance of tell_object() it definitely is not worth it. But in case it can be done easily I still consider it a nice feature offering a more "homogenous" language. |
|
I can see the symmetry argument - I have implemented it in 3.2-dev.716 and 3.3.686. |
Date Modified | Username | Field | Change |
---|---|---|---|
2005-01-28 07:05 | Sorcerer | New Issue | |
2005-02-21 00:17 |
|
Note Added: 0000344 | |
2005-02-21 00:17 |
|
Status | new => feedback |
2005-02-21 04:40 | Sorcerer | Note Added: 0000347 | |
2005-03-12 13:24 |
|
Status | feedback => resolved |
2005-03-12 13:24 |
|
Resolution | open => fixed |
2005-03-12 13:24 |
|
Assigned To | => lars |
2005-03-12 13:24 |
|
Note Added: 0000356 | |
2005-05-15 13:02 |
|
Status | resolved => closed |