wileymud-1.187b/
wileymud-1.187b/attic/
wileymud-1.187b/attic/bin/
wileymud-1.187b/attic/lib/
wileymud-1.187b/attic/lib/adm/
wileymud-1.187b/attic/lib/man/
wileymud-1.187b/attic/lib/new-wld/
wileymud-1.187b/attic/lib/new-wld/default/
wileymud-1.187b/attic/lib/old/
wileymud-1.187b/attic/lib/wld/
wileymud-1.187b/attic/public_html/
wileymud-1.187b/attic/public_html/gfx/
wileymud-1.187b/attic/src/bin/
wileymud-1.187b/attic/src/etc/
wileymud-1.187b/attic/src/libauth-4.0-p5/
wileymud-1.187b/attic/src/sedna/
wileymud-1.187b/backups/
wileymud-1.187b/bin/
wileymud-1.187b/docs/
wileymud-1.187b/etc/
wileymud-1.187b/lib/
wileymud-1.187b/lib/adm/
wileymud-1.187b/lib/boards/
wileymud-1.187b/lib/log/
wileymud-1.187b/lib/man/
wileymud-1.187b/lib/ply/
wileymud-1.187b/lib/ply/a/
wileymud-1.187b/lib/ply/b/
wileymud-1.187b/lib/ply/c/
wileymud-1.187b/lib/ply/d/
wileymud-1.187b/lib/ply/g/
wileymud-1.187b/lib/ply/k/
wileymud-1.187b/lib/ply/m/
wileymud-1.187b/lib/ply/s/
wileymud-1.187b/lib/ply/t/
wileymud-1.187b/public_html/gfx/
wileymud-1.187b/src/bin/
wileymud-1.187b/src/convert/attic/
wileymud-1.187b/src/convert/obj/
wileymud-1.187b/src/convert/perl/
wileymud-1.187b/src/convert/perl/MudConvert/
wileymud-1.187b/src/convert/perl/MudConvert/DUMP/
wileymud-1.187b/src/convert/perl/MudConvert/Report/
wileymud-1.187b/src/convert/perl/MudConvert/WileyMUD/
wileymud-1.187b/src/convert/perl/output/
wileymud-1.187b/src/convert/perl/output/DUMP/
wileymud-1.187b/src/convert/perl/output/Report/
wileymud-1.187b/src/convert/perl/output/WileyMUD/
wileymud-1.187b/src/etc/
wileymud-1.187b/src/etc/init.d/
wileymud-1.187b/src/etc/rc.d/
wileymud-1.187b/src/etc/rc.d/init.d/
wileymud-1.187b/src/lib/
wileymud-1.187b/src/lib/adm/
wileymud-1.187b/src/lib/boards/
wileymud-1.187b/src/lib/log/
wileymud-1.187b/src/lib/man/
wileymud-1.187b/src/lib/ply/
wileymud-1.187b/src/lib/ply/a/
wileymud-1.187b/src/lib/ply/b/
wileymud-1.187b/src/lib/ply/c/
wileymud-1.187b/src/lib/ply/d/
wileymud-1.187b/src/lib/ply/e/
wileymud-1.187b/src/lib/ply/f/
wileymud-1.187b/src/lib/ply/g/
wileymud-1.187b/src/lib/ply/h/
wileymud-1.187b/src/lib/ply/i/
wileymud-1.187b/src/lib/ply/j/
wileymud-1.187b/src/lib/ply/k/
wileymud-1.187b/src/lib/ply/l/
wileymud-1.187b/src/lib/ply/m/
wileymud-1.187b/src/lib/ply/n/
wileymud-1.187b/src/lib/ply/o/
wileymud-1.187b/src/lib/ply/p/
wileymud-1.187b/src/lib/ply/q/
wileymud-1.187b/src/lib/ply/r/
wileymud-1.187b/src/lib/ply/s/
wileymud-1.187b/src/lib/ply/t/
wileymud-1.187b/src/lib/ply/u/
wileymud-1.187b/src/lib/ply/v/
wileymud-1.187b/src/lib/ply/w/
wileymud-1.187b/src/lib/ply/x/
wileymud-1.187b/src/lib/ply/y/
wileymud-1.187b/src/lib/ply/z/
wileymud-1.187b/src/obj/
wileymud-1.187b/src/utils/
wileymud-1.187b/src/utils/mobmaker/
#ifndef _SPELL_PARSER_H
#define _SPELL_PARSER_H

#define MANA_MU 1
#define MANA_CL 1

#define ASSIGN_SPELL( nr, cast, use, nam, func, dly, minmana, maxmana, tar, pos, glev, gcl, mlev, clev, wlev, tlev, rlev, dlev ) {\
  spell_info[nr].castable = (cast); \
  spell_info[nr].useable = (use); \
  spell_info[nr].name = (nam); \
  spell_info[nr].spell_pointer = (func); \
  spell_info[nr].delay = (dly); \
  spell_info[nr].min_mana = (minmana); \
  spell_info[nr].max_mana = (maxmana); \
  spell_info[nr].targets = (tar); \
  spell_info[nr].minimum_position = (pos); \
  spell_info[nr].generic_level= (glev); \
  spell_info[nr].generic_classes= (gcl); \
  spell_info[nr].min_level[MAGE_LEVEL_IND] = (mlev); \
  spell_info[nr].min_level[CLERIC_LEVEL_IND] = (clev); \
  spell_info[nr].min_level[WARRIOR_LEVEL_IND] = (wlev); \
  spell_info[nr].min_level[THIEF_LEVEL_IND] = (tlev); \
  spell_info[nr].min_level[RANGER_LEVEL_IND] = (rlev); \
  spell_info[nr].min_level[DRUID_LEVEL_IND] = (dlev); \
}

/* 100 is the MAX_MANA for a character */
#if 0
#define USE_MANA(ch, sn)                            \
  MAX(spell_info[sn].min_usesmana,100/MAX(2,(2+GET_LEVEL(ch,BestMagicClass(ch))-SPELL_LEVEL(ch,sn))))
#endif
#define USE_MANA(ch, sn) \
  MAX(spell_info[sn].min_mana, spell_info[sn].max_mana/MAX(1, (GET_LEVEL(ch, BestMagicClass(ch))- SPELL_LEVEL(ch, sn))+1))

#ifndef _SPELL_PARSER_C
extern struct spell_info_type           spell_info[MAX_SKILLS];

/* extern const char *spells[]; */
extern const char                      
  saving_throws[ABS_MAX_CLASS][MAX_SAVING_THROWS][ABS_MAX_LVL];

#endif

int                                     GetSpellByName(const char *name);
int                                     GetSkillByName(const char *name);
int                                     SPELL_LEVEL(struct char_data *ch, int sn);
 int                              SKILL_LEVEL(struct char_data *ch, int sn);
int                                     CanCast(struct char_data *ch, int sn);
 int                              CanCastClass(struct char_data *ch, int sn, int cl);
int                                     CanUse(struct char_data *ch, int sn);
 int                              CanUseClass(struct char_data *ch, int sn, int cl);
void                                    affect_update(void);
void                                    clone_char(struct char_data *ch);
void                                    clone_obj(struct obj_data *obj);
char                                    circle_follow(struct char_data *ch,
						      struct char_data *victim);
void                                    stop_follower(struct char_data *ch);
void                                    die_follower(struct char_data *ch);
void                                    add_follower(struct char_data *ch,
						     struct char_data *leader);
void                                    say_spell(struct char_data *ch, int si);
char                                    saves_spell(struct char_data *ch, short int save_type);
char                                    ImpSaveSpell(struct char_data *ch, short int save_type,
						     int mod);
const char                            *skip_spaces(const char *string);
void                                    do_cast(struct char_data *ch, const char *argument, int cmd);
void                                    assign_spell_pointers(void);
int                                     splat(struct char_data *ch, struct room_data *rp,
					      int height);
int                                     check_falling(struct char_data *ch);
int                                     check_drowning(struct char_data *ch);
void                                    check_falling_obj(struct obj_data *obj, int room);
 int                              check_nature(struct char_data *i);
 void                             check_all_nature(int current_pulse);

#endif