`_.,-'~'-,._.,-'~'-,._.,-'~'-,._.,-'~'-,._.,-'~'-,._.,-'~'-,._.,-'~'-,._' Object Sending via MUDmail Copyright 1996, by Daniel Koepke `_.,-'~'-,._.,-'~'-,._.,-'~'-,._.,-'~'-,._.,-'~'-,._.,-'~'-,._.,-'~'-,._' I. Introduction =============== This small patch allows objects to be attached to and sent via MUDmail. Attaching objects adds 10% of the stamp price, plus the object's weight times 10. If you don't want to attach an object to the mail, you don't have to. NOTE: Do not mail containers, only the container itself will arrive. You're already existing mail files will have to be deleted since this changes the header block. II. Standard (Keep-me-from-court) Disclaimer ============================================ Use this at your own risks. There is (like pretty much all code) some bugs. That is to be expected. I am giving you this, so I expect that, in return, you will send me improvements you add, or report any bugs you encounter. My e-mail address is dkoepke@california.com. You do not need to give me credit for this. I ask, though, that you do not take credit for it. I appreciate any credit you give me. Of course, you have to follow the CircleMUD license... but that goes without saying and you are *obviously* already doing that [pssst, read doc/license.doc if you haven't, yet]. I believe this patch, because of it's size, to be entirely bug free. But if you find any bugs, don't hesistate to prove me wrong. III. Installing =============== Okay, now on to how to install this thing... Move the obj_mail.diff file to the src/ directory. Go into the src/ directory and type: % patch < obj_mail.diff If you get any failures/rejects, look at the .rej files and manually install from that (key: '+' is add, '-' is remove, '!' is change). If the entire thing fails, manually patch from the obj_mail.diff file (same key). IV. For the Coders ================== Here's some basics about how this patch works: VARIABLE: ch->desc->mail_vnum, sh_int/descriptor_data This variable holds the vnum of the object you are attaching to the mail. It's neccessary because the mail header isn't devised until we have the body of the message which, because of the way the line editor is coded, is not received inside the mailing functions. FUNCTION: store_mail(to, from, vnum, text), mail.c The function to store mail. I added the _vnum_ variable to accept the vnum of the attached object. FUNCTION: read_delete(recipient, &obj_vnum), mail.c This function reads a piece of mail for _recipient_ (id number) and returns a string containing the message about the object. The second argument is a pointer to an integer, and is set to the vnum of the attached object (hence returning the vnum to the calling function). COMMAND: mail [obj_name], mail.c Mails an object to the person by the name of . If the optional argument of is present and an object by that name is the mailing character's inventory, the object is attached to the mail for a small surcharge and sent to the target of the mail. The target will always receive the attached object. V. Other Patches By Me ====================== The below are availible at the CircleMUD anonymous ftp site (see below for the address): Filename: new.do_who.diff.gz, /pub/CircleMUD/contrib/code Usage : A replacement for do_who(), it splits apart immortals and mortals, gives immortals a "who title" ("Immortal" instead of "31 War"), keeps a count of highest players on per boot, and a little bit more. Filename: mount.diff.gz, /pub/CircleMUD/contrib/code Usage : A small, basic mount system with a TAME skill, your mount taking the move point cost, and a little more. Filename: query_ansi.diff.gz, /pub/CircleMUD/contrib/code Usage : A patch to query a logging in user for whether they want ANSI color support on/off before display of the title screen. Actually quite useful... Filename: new_prompt.diff.gz, /pub/CircleMUD/contrib/code Usage : Enhanced prompt code that interprets a character's prompt. Beware: THIS WILL CHANGE YOUR PFILE! Filename: multi_hit.diff.gz, /pub/CircleMUD/contrib/code Usage : Adds multiple attacks per round and the connected skills. VI. Popular CircleMUD Sites =========================== Anonymous ftp : [ftp.circlemud.org] Homepage : [http://www.circlemud.org/] Code snippets : [http://cspo.queensu.ca/~fletcher/Circle/Snippet/] Have fun and godspeed, -- Daniel Koepke dkoepke@california.com Forgive me father, for I am sin.