58 object *applier,
int aflags) {
70 "You are unable to read while blind.", NULL);
76 "The scroll just doesn't make sense!", NULL);
91 "You are unable to decipher the strange symbols.", NULL);
108 failure = -
rndm(35, 100);
124 "Your scroll of %s glows for a second!",
125 "Your scroll of %s glows for a second!",
129 "The scroll of %s turns to dust.",
130 "The scroll of %s turns to dust.",
void change_exp(object *op, sint64 exp, const char *skill_name, int flag)
#define MSG_TYPE_APPLY_FAILURE
void draw_ext_info(int flags, int pri, const object *pl, uint8 type, uint8 subtype, const char *message, const char *oldmessage)
const char * skill_names[NUM_SKILLS]
void draw_ext_info_format(int flags, int pri, const object *pl, uint8 type, uint8 subtype, const char *new_format, const char *old_format,...)
int rndm(int min, int max)
uint8 spell_failure_effects
void identify(object *op)
sint64 calc_skill_exp(object *who, object *op, object *skill)
int die_roll(int num, int size, const object *op, int goodbad)
void register_apply(int ob_type, apply_func method)
#define QUERY_FLAG(xyz, p)
#define MSG_TYPE_APPLY_SUCCESS
void scroll_failure(object *op, int failure, int power)
#define MSG_TYPE_APPLY_ERROR
object * find_skill_by_name(object *who, const char *name)
int cast_spell(object *op, object *caster, int dir, object *spell_ob, char *stringarg)