#ifndef __SPELLS_H #define __SPELLS_H #include "defs.h" int abilityeffects(lifeform_t *user, enum OBTYPE abilid, cell_t *targcell, lifeform_t *target, flag_t *cwflag); int dospelleffects(lifeform_t *caster, enum OBTYPE spellid, int power, lifeform_t *target, object_t *targob, cell_t *targcell, int blessed, int *seenbyplayer, int frompot); objecttype_t *findspelln(char *buf); enum SPELLSCHOOL findspellschoolbyname(char *buf); void fizzle(lifeform_t *caster); //int getiqreq(enum OBTYPE oid); enum OBTYPE getfirstwizspell(enum SPELLSCHOOL school); char *getforcedspellrace(lifeform_t *lf, enum OBTYPE spellid, char *racestr, int *count); int getmpcost(lifeform_t *lf, enum OBTYPE oid); int getmrdiff(enum OBTYPE spellid, int power); enum OBTYPE getrandomspell(int maxlev); enum OBTYPE getrandomspellfromschool(enum SPELLSCHOOL school, int wantlev); enum SPELLSCHOOL getrandomspellschool(lifeform_t *wantknowntolf, int wantknown); enum SKILL getschoolskill(enum SPELLSCHOOL ss); enum SPELLSCHOOL getskillschool(enum SKILL skid); char *getspellcosttext(lifeform_t *lf, enum OBTYPE spellid, int power, char *buf); int getspellduration(int min,int max,int blessed); int getspelllevel(enum OBTYPE spellid); int getspellmaxpower(enum OBTYPE spellid); char *getspellname(enum OBTYPE spellid, lifeform_t *lf, char *buf, int forcepower); int getspellpower(lifeform_t *lf, enum OBTYPE spellid); int getspellpowergodmod(lifeform_t *lf, enum SPELLSCHOOL school, enum RACE *godid); int getspellpowerstatmod(lifeform_t *lf, enum SPELLSCHOOL school, enum ATTRIB *att); enum SPELLSCHOOL getspellschool(enum OBTYPE spellid); enum SPELLSCHOOL getspellschoolknown(lifeform_t *lf, enum OBTYPE spellid); enum SKILLLEVEL getspellskill(lifeform_t *lf, enum OBTYPE spellid); int getspellrange(lifeform_t *lf, enum OBTYPE spellid, int power, int *minrange); int getstamcost(lifeform_t *lf, enum OBTYPE oid); char *getspelldesc(enum OBTYPE spellid, int power, char *buf); int getworkablematerials(lifeform_t *lf, enum SKILL skid , enum MATERIAL *repairablemats, int *cutoffpct, int *nmats); object_t *getworkhelpob(obpile_t *op, enum MATERIAL mat); void pullobto(object_t *o, lifeform_t *lf); int schoolappearsinbooks(enum SPELLSCHOOL ss); void spellcloud(cell_t *srcloc, int radius, int ch, enum COLOUR col, enum OBTYPE sid, int power, int frompot, char *seetext, char *noseetext, int aimedateyes); int spellisfromschool(int spellid, enum SPELLSCHOOL school); int spellokformonsters(int spellid); int spellresisted(lifeform_t *target, lifeform_t *caster, int spellid, int power, int *seenbyplayer, int announce); int stopspell(lifeform_t *caster, enum OBTYPE spellid); int stopallspells(lifeform_t *lf); int stopallspellsexcept(lifeform_t *lf, ...); int summonlfs(lifeform_t *caster, cell_t *where, enum RACE wantrace, enum RACECLASS wantrc, enum LFSIZE wantsize, enum ALIGNMENT wantalign, int howmany, int lifetime, int friendly); lifeform_t *validateabillf(lifeform_t *user, enum OBTYPE aid, lifeform_t **target); cell_t *validatespellcell(lifeform_t *caster, cell_t **targcell, int targtype, enum OBTYPE spellid, int power, int frompot); //lifeform_t *validatespelllf(lifeform_t *caster, lifeform_t **lf); #endif