#include <lib.h> #include <daemons.h> inherit LIB_ITEM; string array chapters, globalheader; string Title = "Generic Book"; string Source = "/obj/book_source"; static mapping BookItems = ([]); static mapping BookReads = ([]); string globalstr, globalstr2; void LoadBook(); string ReadBook(mixed args...){ return BOOKS_D->GetBookRead(Source, args); } string ReadBookIndex(){ return BOOKS_D->GetBookIndex(Source); } void SetTitle(string title){ if(title) Title = title; BOOKS_D->SetBookTitle(Source, title); } mixed GetTitle(){ return BOOKS_D->GetBookTitle(Source); } void SetSource(string source){ if(source && directory_exists(source)) Source = source; } string GetSource(){ if(Source) return Source; else return ""; } mixed *eventLoadChapters(){ return BOOKS_D->LoadChapters(Source); } string eventLoadIndex(){ return BOOKS_D->LoadIndex(Source); } void create(){ ::create(); call_out( (: LoadBook :), 1); SetDefaultRead("Try \"read chapter 1 in book\" or " "\"read index in book\""); } void init(){ ::init(); } void LoadBook(){ mixed *map_array = this_object()->eventLoadChapters(); SetItems(map_array); AddItem( "index", "This is a list of the chapters in this book."); SetRead("index", (: ReadBookIndex :)); foreach(mixed key, mixed val in map_array){ SetRead(key, (: ReadBook :)); } }