View Issue Details

IDProjectCategoryView StatusLast Update
0000354LDMud 3.2-devEfunspublic2005-05-15 13:02
ReporterSorcerer Assigned Tolars 
PrioritynormalSeverityfeatureReproducibilityN/A
Status closedResolutionfixed 
Summary0000354: Extension for tell_object()
DescriptionWould 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.
TagsNo tags attached.

Activities

lars

2005-02-21 00:17

reporter   ~0000344

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).

Sorcerer

2005-02-21 04:40

reporter   ~0000347

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.

lars

2005-03-12 13:24

reporter   ~0000356

I can see the symmetry argument - I have implemented it in 3.2-dev.716 and 3.3.686.

Issue History

Date Modified Username Field Change
2005-01-28 07:05 Sorcerer New Issue
2005-02-21 00:17 lars Note Added: 0000344
2005-02-21 00:17 lars Status new => feedback
2005-02-21 04:40 Sorcerer Note Added: 0000347
2005-03-12 13:24 lars Status feedback => resolved
2005-03-12 13:24 lars Resolution open => fixed
2005-03-12 13:24 lars Assigned To => lars
2005-03-12 13:24 lars Note Added: 0000356
2005-05-15 13:02 lars Status resolved => closed