/**
* This is a set of functions to be used for people controlling things
* in rooms and shops.
* @author Pinkfish
* @started Fri Jun 1 21:29:18 PDT 2001
*/
#include <expressions.h>
#include <player_handler.h>
#include <clubs.h>
#include <nomic_system.h>
void add_allowed_function(string name, int type, int* args, function value);
void add_allowed_variable(string name, int type, function value);
private int variable_player_level(string seller) {
return PLAYER_HANDLER->test_level(seller);
} /* variable_player_level() */
private string variable_player_guild(string seller) {
string guild;
guild = PLAYER_HANDLER->test_guild(seller);
if (guild) {
return guild->query_name();
}
return "";
} /* variable_player_guild() */
private string variable_player_order(string seller) {
string guild;
guild = PLAYER_HANDLER->test_guild(seller);
if (guild) {
guild = guild->query_wizard_order();
if (guild) {
return replace_string(lower_case(guild), "_", " ");
}
}
return "";
} /* variable_player_order() */
private string variable_player_name(string seller) {
return lower_case(seller);
} /* variable_player_order() */
private string variable_player_deity(string seller) {
string deity;
deity = PLAYER_HANDLER->test_deity(seller);
if (deity) {
return deity;
}
return "";
} /* variable_player_deity() */
private string variable_player_family(string seller) {
string family;
family = PLAYER_HANDLER->test_family(seller);
if (family) {
return family;
}
return "";
} /* variable_player_family() */
private int function_club_member(string club, string seller) {
return CLUB_HANDLER->is_member_of(club, seller);
} /* function_club_member() */
private int function_citizen_of(string region, string seller) {
return NOMIC_HANDLER->is_citizen_of(region, seller);
} /* function_citizen_of() */
/**
* This method adds all the functions and variables.
*/
void create() {
if (!function_exists("add_allowed_variable", this_object())) {
return ;
}
add_allowed_variable("level", EXPRESSION_TYPE_INTEGER,
(: variable_player_level :) );
add_allowed_variable("guild", EXPRESSION_TYPE_STRING,
(: variable_player_guild :) );
add_allowed_variable("deity", EXPRESSION_TYPE_STRING,
(: variable_player_deity :) );
add_allowed_variable("family", EXPRESSION_TYPE_STRING,
(: variable_player_family :) );
add_allowed_variable("order", EXPRESSION_TYPE_STRING,
(: variable_player_order :) );
add_allowed_variable("playername", EXPRESSION_TYPE_STRING,
(: variable_player_name :) );
add_allowed_function("clubmember", EXPRESSION_TYPE_BOOLEAN,
({ EXPRESSION_TYPE_STRING }),
(: function_club_member :) );
add_allowed_function("citizenof", EXPRESSION_TYPE_BOOLEAN,
({ EXPRESSION_TYPE_STRING }),
(: function_club_member :) );
} /* create() */