6

I just got the message

You hear a leprechaun reading a scroll labeled FOOBIE BLETCH.

I know that monsters can read scrolls of create monster (which I've identified) and teleportation (which I haven't).

Is it safe to assume that this was a scroll of teleportation (it's a leprechaun hall, so I can't tell whether one of them teleported with telepathy since several have already used their innate teleportation ability)? Or are there other scrolls that monsters will read?

In short, I'm looking for a list of scrolls that monsters can read. I'm almost positive I've seen a list like this before, but the wiki pages for scroll, monster, and read don't mention anything about monster use.

4

Monsters can read scrolls of teleportation, create monster and earth. The source includes code to allow monsters to read scrolls of fire, but it's not compiled into the game executable (it's enclosed in #if 0).

The relevant source code is in muse.c at line 222 and line 943. The #defines relating to scrolls (which constitute a complete list of the scrolls possibly used by monsters) are

#define MUSE_SCR_TELEPORTATION 1
#define MUSE_SCR_CREATE_MONSTER 11

#define MUSE_SCR_FIRE 8
#define MUSE_SCR_EARTH 17

which are referenced from the find_defensive, use_defensive, find_offensive and use_offensive functions in the same file.

  • Hmm, after a bit of investigation, all references to MUSE_SCR_FIRE seem to be in commented-out #if 0 blocks. Hence, monsters will only use teleportation, create monster, and (occasionally) earth. Thanks! – Doorknob Jan 10 '15 at 1:10
  • 1
    I don't understand how the source code you quoted is related to your answer. Those are just constant definitions that have no meaning without context. More relevant are the chunks of code labelled find_defensive and find_offensive. The specific items are mentioned on lines 464, 511, 1066, and 1083. – murgatroid99 Jan 10 '15 at 1:10
  • @murgatroid99: They're a complete list of the scrolls referenced from find_defensive and find_offensive. If you just want a list, looking at the #defines is easier than reading those large functions, and grepping for the defines will show specifically where they're used. – Jeffrey Bosboom Jan 10 '15 at 1:15
  • 1
    I see your point, but my point is still that those lines don't mean anything included in this answer. Also, Doorknob has a point: the lines that actually check for fire scrolls are removed by the precompiler. – murgatroid99 Jan 10 '15 at 1:20

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.