mud/lib/obj/magic_scroll.c
2020-09-06 05:43:07 -07:00

86 lines
2.4 KiB
C

// magic_scroll.c
// This scroll contains a spell, which a player can learn by casting
// the read spell on the scroll.
// Mobydick@TMI-2, 3-24-93.
#include <mudlib.h>
inherit OBJECT ;
void create() {
::create();
set ("id", ({ "scroll" }) ) ;
set ("short", "a magical scroll") ;
set ("long",
"This is a magic scroll on which spells can be written. At the moment
"+"it is blank.\n") ;
set ("mass", 10) ;
set ("bulk", 4) ;
}
void init() {
add_action ("write_scroll", "write") ;
add_action ("read_scroll", "read") ;
add_action ("help", "help") ;
}
void set_spell (string str) {
//if (member_array(str,SPELLS)==-1) {
// write ("Error: tried to set an unknown spell.\n") ;
// return ;
// }
// set ("spell", str) ;
// set ("short", "A scroll of "+str) ;
set ("long",
"This is a magic scroll with the "+str+" spell written on it.\n") ;
}
int write_scroll (string str) {
string *known ;
// known = this_player()->query("spells") ;
// if (member_array(str,known)==-1) {
// notify_fail ("You don't know any "+str+" spell to write.\n") ;
// return 0 ;
// }
write ("You write the "+str+" spell onto the scroll.\n") ;
// set_spell(str) ;
return 1 ;
}
int read_scroll (string str) {
if (!query("spell")) {
write("You haven't written any spells on the scroll.\n");
return 1;
}
// if (str!="scroll" && str!="scroll of "+query("spell")) return 0 ;
// write ("You begin reading the scroll....\n") ;
// write ("You begin casting the "+query("spell")+" spell!\n") ;
// write ("On whom do you wish to cast it? (CR for yourself or current attacker) : ") ;
// input_to ("cast_args") ;
return 1 ;
}
int cast_args (string str) {
string name ;
// if (!str || str == "") str="NONE" ;
// name = PATH+query("spell")+EXTENSION ;
// name->cast(str, 1) ;
// remove() ;
return 1 ;
}
int help (string str) {
if (str!="scroll") return 0 ;
write ("If you know the read spell, you can cast it on the scroll and\n"+
"you will learn the spell written on the scroll, if there is one.\n"+
"If you don't know the read spell, you should find someone who can\n"+
"teach it to you.\n"+
"You can also simply \"read\" the scroll and cast the spell written\n"+
"on it, but if you do that you will not learn the spell.\n") ;
return 1 ;
}