// A birthday card given to the creators
// Windy, December 2001
inherit OBJECT_OBJ;
int do_open();
void setup()
{
set_name("card");
set_short("birthday card");
set_long("A large white floppy birthday card. It's currently closed.\n");
set_read_mess("Perhaps you should open the card first?\n");
set_value(0);
set_weight(0);
}
void init()
{
TP -> add_command("open", TO, "card", (: do_open :) );
}
int do_open()
{
tell_object( TP, "You slowly open the card...\n");
tell_room( ENV( TP ), TP -> the_short() +" slowly opens "+ TP -> HIS +" "+
"card...\n", TP );
call_out("open2", 4 );
return 1;
}
void open2()
{
tell_object( TP, "All of a sudden and out of nowhere, a small firecracker "+
"shoots out of the card, detonating just above your head!\n");
call_out("open3", 4 );
}
void open3()
{
string *ret = ({ });
foreach( string str in DOMAIN_H -> query_creators() )
ret += ({ CAP( str ) });
ret -= ({ TP -> query_short() });
tell_object( TP, "The explosion reshapes and reforms itself until it reads:\n"+
"\n**** HAPPY BIRTHDAY "+ TP -> query_short() +" ****\n\nLooking down at the "+
"card once more, you see its insides slowly change. Perhaps you will be able "+
"to read it now.\n");
tell_room( ENV( TP ), TP -> the_short() +" looks quite pleased after having "+
"opened "+ TP -> HIS +" birthday card.\n", TP);
TO -> set_long("A large white floppy birthday card. It is currently open.\n");
TO -> set_read_mess("Happy Birthday "+ TP -> query_short() +"!"+
"\n\nIt is signed:\n\n"+ query_multiple_short( ret ) +".");
}