nexus/spell.h

53 lines
3.2 KiB
C

#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, object_t *fromob);
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);
enum LOFTYPE getspellloftype(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, object_t *fromob, int includecentre);
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