/**
* The Holy Symbol Inherit.
* Sandoz, 24th July 2001
*/
inherit ARMOUR_OBJ;
nosave string deity, long_desc;
/** @ignore yes */
void set_long_desc( string _long ) { long_desc = _long; }
/** @ignore yes */
string query_long_desc() { return long_desc; }
/** @ignore yes */
string query_deity() { return deity; }
/** @ignore yes */
void set_deity( string _name ) {
deity = _name;
add_adjective( lower_case(deity) );
add_property( deity, 1 );
} /* set_deity() */
/** @ignore yes */
string get_long() {
return long_desc+( TP->query_deity() == deity ? " You get the feeling "
"that it might be possible to get some info about your "
"fellow followers with the 'list' command.\n" : "\n" );
} /* get_long() */
/** @ignore yes */
void create() {
::create();
set_name("symbol");
set_short("holy symbol");
add_adjective("holy");
add_alias( ({"amulet", "jewellery"}) );
add_plural( ({"amulets", "jewellery"}) );
add_property("holy symbol", 1 );
add_property("no_recycle", 1 );
set_long( (: get_long :) );
set_type("necklace");
setup_armour(1200);
set_damage_chance(10);
set_value(6000);
set_weight(4);
TO->setup();
} /* setup() */
/** @ignore yes */
void init() {
add_command("list", "worshippers");
} /* init() */
/** @ignore yes */
int do_list() {
string *worshippers;
if( TP->query_deity() != deity ) {
add_failed_mess("Your connection with "+deity+" is too weak to get "
"anything useful out of "+the_short()+".\n");
return 0;
}
worshippers = (string *)DEITY_H->query_worshippers( deity );
worshippers = filter( worshippers, (: !creatorp($1) :) );
worshippers = map( worshippers, (: CAP($1) :) );
if( !sizeof( worshippers = sort_array( worshippers, 1 ) ) ) {
add_failed_mess("There are no worshippers currently in the service "
"of "+deity+".\n");
return 0;
}
add_succeeded_mess( ({ query_multiple_short(worshippers)+" are the "
"players currently in the service of "+deity+", with a total of "+
query_num( sizeof(worshippers) )+" worshipper"+
( sizeof(worshippers) > 1 ? "s" : "" )+".\n",
"$N briefly clasp$s "+TO->poss_short()+" in $p hand.\n" }));
return 1;
} /* do_list() */