#include <phantasmal/lpc_names.h>
private mapping tags;
static void create(varargs int clone) {
tags = ([ ]);
}
void upgraded(void) {
}
nomask mixed get_tag(string tag_name) {
if(previous_program() == TAGD) {
return tags[tag_name];
}
error("Only TagD can directly get tag values!");
}
nomask mixed* get_all_tags(void) {
string *tag_names;
mixed *ret;
int ctr;
if(previous_program() != TAGD)
error("Only TagD can directly get tag values!");
ret = ({ });
tag_names = map_indices(tags);
for(ctr = 0; ctr < sizeof(tag_names); ctr++) {
ret += ({ tag_names[ctr], tags[tag_names[ctr]] });
}
return ret;
}
nomask void set_tag(string tag_name, mixed value) {
if(previous_program() == TAGD)
tags[tag_name] = value;
else
error("Only TagD can directly get tag values!");
}