#ifdef MUD_NAME string mud_name() { return capitalize(MUD_NAME); } #else string mud_name() { return "Fr"; } #endif #ifdef VERSION string version() { return VERSION; } #else #ifdef __VERSION__ string version() { return __VERSION__; } #else string version() { return "Unknown"; } #endif #endif varargs string extract(string str, int i, int j); mixed query_strange_inventory(mixed arr) { mixed inv; object ob; mixed desc; int i, k; inv = ({ }); for (k=0;k < sizeof(arr); k++) { ob = arr[k]; if (!(desc = (string)ob->short()) || (desc == "")) continue; if ((i = member_array(desc, inv)) >= 0) inv[i+1] += ({ ob }); else inv += ({ desc, ({ ob }) }); } return inv; } string add_a(string s) /* adds 'a' or 'an' on to the string as appropriate */ { //int i, e; int i; int c; return s; // Taniwha, totally poked efun. i = 0; // e = sizeof(s); while (s[i] == ' ') i++; c = (int)s[i..i]; switch(c) { case 'a': case 'e': case 'i': case 'o': case 'u': case 'y': case 'A': case 'E': case 'I': case 'O': case 'U': case 'Y': return "an "+(string)extract(s,i); // return "an "+s[i..e]; default: return "a "+(string)extract(s,i); // return "a "+s[i..e]; } } /* add_a() */ mixed *delete(mixed *arr, int start, int len) { return arr[0..start-1]+arr[start+len..sizeof(arr)]; } /* delete() */ mixed *slice_array(mixed *arr, int start, int fin) { return arr[start..fin]; } /* slice_array() */ mixed *insert(mixed *arr, mixed el, int pos) { return arr[0..pos-1]+({ el })+arr[pos..sizeof(arr)]; } /* insert() */ varargs mapping filter_mapping(mapping map, string func, mixed ob, mixed extra) { mixed *bing; mapping ret; int i; ret = ([ ]); bing = keys(map); for (i=0;i<sizeof(bing);i++) { if (call_other(ob, func, map[bing[i]], extra)) ret[bing[i]] = map[bing[i]]; } return ret; } /* filter_mapping() */ // Added by Taniwha 1995 efun one didn't // #include "/secure/simul_efun/pluralize.c" // added by Baldrick. Dummy for missing efun in new driver. // Maybe we should remove it again ? not sure, we have a fix (aragorn) #include "/secure/simul_efun/log_file.c" #include "/secure/simul_efun/secure_log_file.c" #include "/secure/simul_efun/find_match.c" #include "/secure/simul_efun/m_delete.c" #include "/secure/simul_efun/m_indices.c" #include "/secure/simul_efun/m_sizeof.c" #include "/secure/simul_efun/m_values.c" #include "/secure/simul_efun/mappingp.c" #include "/secure/simul_efun/modified_efuns.c" #include "/secure/simul_efun/notify_fail.c" #include "/secure/simul_efun/query_ident.c" #include "/secure/simul_efun/query_number.c" #include "/secure/simul_efun/replace.c" // Roll.c, a dicer made by Sojan. #include "/secure/simul_efun/roll.c" #include "/secure/simul_efun/stat_string.c" #include "/secure/simul_efun/shout.c" #include "/secure/simul_efun/vowel.c" #include "/secure/simul_efun/write.c" #include "/secure/simul_efun/multiple_short.c" #include "/secure/simul_efun/virtual.c" #include "/secure/simul_efun/snoop_simul.c" #include "/secure/simul_efun/extract.c" #include "/secure/simul_efun/minimax.c" #include "/secure/simul_efun/file_exists.c" #include "/secure/simul_efun/user_exists.c" #include "/secure/simul_efun/base_name.c" #include "/secure/simul_efun/arrange_string.c" #include "/secure/simul_efun/format_page.c" #include "/secure/simul_efun/pretty_time.c" #include "/secure/simul_efun/wrap.c" // Radix's simul's #include "/secure/simul_efun/users.c" //#include "/secure/simul_efun/file_commands.c" #include "/secure/simul_efun/files_obj.c" #include "/secure/simul_efun/resist_damage.c" #include "/secure/simul_efun/uniq_array.c" #include "/secure/simul_efun/exclude_array.c" #include "/secure/simul_efun/atoi.c" // Addedd 8 Nov 93 Chrisy for Driver upgrade to 0.9.18.9 #include "/secure/simul_efun/mudos.c" // Taniwha 1995, we can use a checked version #include "/secure/simul_efun/member_array.c" /* Added feb '95, Baldrick. */ #include "/secure/simul_efun/log_attack.c" #include "/secure/simul_efun/file_length.c" /* Hamlet patch */ #include "/secure/simul_efun/exec.c" /* Raskolnikov's simul_efuns */ #include "/secure/simul_efun/children.c" /* Wahooka's inane hacks NB: Magus == Wahooka =) */ #include "/secure/simul_efun/nice_list.c" /* needed for v22.1b19 * Baldrick. */ #include "/secure/simul_efun/process_string.c"