mud/lib/verbs/common/mail.c
2020-09-06 05:43:07 -07:00

71 lines
2.0 KiB
C

/* /verbs/common/mail.c
* from the Dead Souls Mud Library
* mail
* mail STR
* created by Descartes of Borg 950113
*/
#include <lib.h>
#include <objects.h>
#include "include/mail.h"
inherit LIB_VERB;
static void create() {
verb::create();
SetVerb("mail");
SetRules("","STR");
}
mixed can_mail() { return can_mail_str(""); }
mixed can_mail_str(string str) {
if( !str ) return 0;
else if( str == "" ) str = 0;
if( !creatorp(this_player()) ) {
mixed tmp;
tmp = environment(this_player())->CanMail(this_player(), str);
if( !tmp ) return "Does this place look like a post office?";
else return tmp;
}
return 1;
}
mixed do_mail() { return do_mail_str(0); }
mixed do_mail_str(string str) {
object ob;
if( !creatorp(this_player()) )
return environment(this_player())->eventMail(this_player(), str);
if( !(ob = new(OBJ_POST)) ) {
this_player()->eventPrint("Failed to load postal object!");
return 1;
}
if( !(ob->eventMove(this_player())) ) {
this_player()->eventPrint("You can't seem to carry the postal "
"object.");
return 1;
}
this_player()->eventPrint("%^RED%^Remember!%^RESET%^ To end a post, enter a single period on an otherwise blank line, and then hit return.");
ob->start_post(str);
return 1;
}
string GetHelp(string str) {
return ("Syntax: mail\n"
" mail <PLAYER>\n"
" mail <GROUP>\n"
" mail <PLAYER@MUD>\n\n"
"Allows you to send mail to another player on this game. "
"Without arguments, you are simply set to read your "
"mail. With arguments, you are creating mail to be sent. "
"You may only read mail in your home town. The mailer will "
"properly route any mail you send to the proper home town "
"for the player or players you intend it to go to.\n"
"See also: mudlist");
}