SpellBook players_book "spell book" with name "spell" "book" "my" "spellbook", description "My Spell Book^"; Spell frotz_spell with name "frotz", purpose "cause an object to give off light", magic [; if (second==0) "There is a brief, blinding flash of light."; if (second has animate) "The spell, not designed for living creatures, goes sour."; if (second in compass) "The spell dissipates vaguely."; give second light; print_ret "There is an almost blinding flash of light as ", (the) second, " begins to glow! It slowly fades to a less painful level, but ", (the) second, " is now quite usable as a light source."; ], unmagic [; if (second==0) "There is a brief moment of deep darkness."; if (second has animate) "The spell, not designed for living creatures, goes sour."; if (second in compass) "The spell dissipates vaguely."; if (second hasnt light) print_ret (The) second, " isn't producing light as it is."; give second ~light; print_ret "A pool of darkness coagulates around ", (the) second, " but slowly fades back to normality. Still, ", (the) second, " is no longer any kind of light source."; ]; Spell rezrov_spell with name "rezrov", purpose "open even locked or enchanted objects", magic [; if (second==0) "The world is open already."; if (second has animate) "It might be a boon to surgeons if it worked, but it doesn't."; if (second has open || second hasnt openable) "It doesn't need opening."; if (second hasnt locked) { give second open; print_ret (The) second, " opens obediently. Like swatting a fly with a sledge hammer, if you ask me."; } give second open ~locked; print "Silently, ", (the) second, " swings open. "; if (second has container) <>; new_line; rtrue; ], unmagic [; if (second==0) "The world is closed already."; if (second has animate) "Happily, that is unnecessary."; if (second has locked || second hasnt lockable) "It doesn't need locking."; give second ~open locked; "Silently, ", (the) second, " swings shut and locks."; ]; Spell yomin_spell with name "yomin", purpose "mind probe", magic [; if (second==0 || second hasnt animate) "That must be either vegetable or mineral."; if (second==player) "You give yourself a mild headache."; print_ret "You look into the rather ordinary thoughts of ", (the) second, "."; ], unmagic [; if (second==0 || second hasnt animate) "That must be either vegetable or mineral."; if (second==player) "You give yourself a mild headache."; print_ret (The) second, " is rather shocked, for some reason."; ];