/**
* @author Ringo
* @started 21st September 1999
*/
inherit "/std/object";
private nosave string _office, _stock_policy;
void setup()
{
set_name( "notice" );
set_short( "policy notice" );
set_long( "This is the list of shop's policies. The policies "
"on this notice are definitive and final." );
add_adjective( "policy" );
add_extra_look( this_object() );
reset_get();
}
/* setup() */
/**
* @ignore yes
* Where to get the data from?
*/
void set_office( string office )
{
_office = office;
_stock_policy = _office->get_stock_policy();
}
/* set_office() */
/**
* @ignore yes
* Chart display
*/
string extra_look( object thing )
{
int i;
string display = "", policy;
mapping policies;
if ( thing == this_object() )
{
display = sprintf( " This shop deals strictly in %s. "
"Items that do not fit this description should not be "
"stocked.\n\n", "%^BOLD%^"+ _stock_policy+ "%^RESET%^" );
policies = _office->get_policies();
if ( !m_sizeof( policies ) )
{
return display;
}
i = 1;
foreach( policy in m_indices( policies ) )
{
if( _office->query_manager( this_player()->query_name() ) ||
_office->query_retired( this_player()->query_name() ) )
{
display += sprintf( "%d [%s]. %s\n", i++, policy, policies[policy] );
}
else
{
display += sprintf( "%d. %s\n", i++, policies[policy] );
}
}
return display;
}
}
/* extra_look() */