/**
* A key object. This provides a nice easy way to create keys.
*
* @author ceres
*/
inherit "/std/object";
#include <shops/engrave.h>
/** @ignore yes */
void create() {
do_setup++;
::create();
do_setup--;
set_name("key");
set_long("A key. Wonder where it fits?.\n");
add_plural("keys");
set_short("key");
add_property(ENGRAVE_PROP, 1);
if(!do_setup) {
this_object()->setup();
}
}
/**
* Setup the key. This method handles setting up the short, plural,
* adjectives etc.
*
* @param str The short of the key (minus the word 'key')
* @param prop The key property (should match the lock)
*/
void set_key( string str, string prop ) {
string *bits;
int i;
set_short( str + " key" );
set_main_plural( str + " keys" );
set_name( "key" );
add_plural( "keys" );
bits = explode( str, " " );
for( i = 0; i < sizeof( bits ); i ++ ) {
add_adjective( bits[i] );
}
add_property( prop, 1 );
set_value( 0 );
set_weight( 1 );
} /* set_key() */
/** @ignore yes */
mixed query_static_auto_load() {
if ( base_name(this_object()) + ".c" == __FILE__ )
return int_query_static_auto_load();
return ([ ]);
}