/**
* The club badge. What fun!
* @author Pinkfish
* @started Sun Oct 4 04:23:52 EDT 1998
*/
#include <clubs.h>
#include <broadcaster.h>
inherit "/obj/clothing";
inherit "/std/basic/club_insignia";
protected int club_members(int online);
protected int do_recruit(object *players, string club);
protected int club_chat(string str, int emote);
protected int club_members(int online);
protected int club_info();
protected int do_history();
private string *extra_adjs;
/** @ignore yes */
void setup() {
extra_adjs = ({ });
set_name("badge");
add_adjective("club");
set_type("badge");
set_short("club badge");
setup_clothing(1000);
set_damage_chance(5);
set_long("The badge is a nice blue colour with a fringe "
"like a bunny rabbit.\n");
add_extra_look(this_object());
} /* setup() */
/**
* Print out some terribly using extra information.
* @return the useful extra information
*/
string extra_look() {
string tmp_name;
if (query_club() &&
CLUB_HANDLER->is_member_of(query_club(), this_player()->query_name())) {
tmp_name = replace(lower_case(query_club()), " ", "_");
return " You feel like the command '" + tmp_name + "' does something.\n";
}
return "\n";
} /* extra_look() */
/**
* @ignore yes
*/
void init() {
//clothing::init();
club_insignia::init();
} /* init() */
/** @@ignore yes */
mapping query_dynamic_auto_load(mapping map) {
map = clothing::query_dynamic_auto_load();
map = club_insignia::query_dynamic_auto_load(map);
map["verSion"] = 1;
return map;
} /* query_dynamic_auto_load() */
/** @@ignore yes */
void init_dynamic_arg(mapping map) {
if (map["verSion"] != 1) {
clothing::init_dynamic_arg(map["::"]);
} else {
clothing::init_dynamic_arg(map);
}
club_insignia::init_dynamic_arg(map);
} /* init_dynamic_arg() */
/** @ignore yes */
void set_club(string name) {
if (!name) {
extra_adjs = ({ });
set_short("club badge");
} else {
if (CLUB_HANDLER->is_club(name)) {
name = CLUB_HANDLER->query_club_name(name);
extra_adjs = explode(lower_case(name), " ");
// Keep track of the extra adjectives.
//if (!CLUB_HANDLER->query_club_secret(name)) {
//set_short(name + " club badge");
//} else {
set_short("club badge");
//}
}
}
::set_club(name);
} /* set_club() */
/** @ignore yes */
string *parse_command_adjectiv_id_list() {
return ::parse_command_adjectiv_id_list() +
extra_adjs;
} /* parse_command_adjectiv_id_list() */
mixed *stats()
{
return clothing::stats() +
club_insignia::stats();
}