/* /daemon/spells.c
* From Dead Souls LPMud
* created by Descartes of Borg 961027
* Version: @(#) spells.c 1.2@(#)
* Last modified: 96/10/28
*/
#include <lib.h>
#include <dirs.h>
inherit LIB_DAEMON;
private mapping Spells = ([]);
void eventReloadSpells();
static void create() {
daemon::create();
SetNoClean(1);
eventReloadSpells();
}
void eventReloadSpells() {
string array spells;
Spells = ([]);
spells = get_dir(DIR_SPELLS "/*.c");
foreach(string spell in spells) {
object ob = find_object(DIR_SPELLS "/" + spell);
if( ob ) {
ob->eventDestruct();
}
if( ob = load_object(DIR_SPELLS "/" + spell) ) {
spell = ob->GetSpell();
if( spell ) {
Spells[spell] = ob;
}
}
}
}
object GetSpell(string spell) {
if( !Spells[spell] ) {
eventReloadSpells();
}
return Spells[spell];
}