#include "defs.h" void addbodypart(race_t *r, enum BODYPART bp, char *name); lifeform_t *addlf(cell_t *cell, enum RACE rid, int level); lifeform_t *real_addlf(cell_t *cell, enum RACE rid, int level, int controller); poisontype_t *addpoisontype(enum POISONTYPE id, char *name, char *desc, char *damverb, enum OBTYPE vomitob, int dam, int dampct, enum POISONSEVERITY severity, int incubationtime); job_t *addjob(enum JOB id, char *name, char *desc); race_t *addrace(enum RACE id, char *name, float weight, char glyph, int glyphcolour, enum MATERIAL mat, enum RACECLASS raceclass, char *desc); raceclass_t *addraceclass(enum RACECLASS id, char *name, char *pluralname, enum SKILL skill); skill_t *addskill(enum SKILL id, char *name, char *desc, int traintime); void addskilldesc(enum SKILL id, enum SKILLLEVEL lev, char *text, int wantmsg); subjob_t *addsubjob(enum SUBJOB id, char *name, char *desc, char letter); object_t *addtrail(lifeform_t *lf, cell_t *where, int dir, int doprints, int doscents); void adjustdamlf(lifeform_t *lf, int *amt, enum DAMTYPE damtype); void adjustspeedforwater(lifeform_t *lf, int *speed); void age(lifeform_t *lf, int pct); void adjustdamforblessings(int *dam, lifeform_t *victim, int blessed); void applylfdammod(int *dam, lifeform_t *lf, object_t *wep); void applywalkdam(lifeform_t *lf, int dam, enum DAMTYPE damtype, object_t *o); int areallies(lifeform_t *lf1, lifeform_t *lf2); int areenemies(lifeform_t *lf1, lifeform_t *lf2); int armourfits(lifeform_t *lf, object_t *o, enum ERROR *reason); int askforinfo(lifeform_t *lf, int diffmod); //int askforpayment(lifeform_t *shk, lifeform_t *lf); char *assignnpcname(flagpile_t *fp); int attrincreasable(enum ATTRIB a); void autoshortcut(lifeform_t *lf, enum OBTYPE spellid); void autoskill(lifeform_t *lf); void autospells(lifeform_t *lf, int howmany); void autotarget(lifeform_t *lf); void autoweild(lifeform_t *lf); int appearsrandomly(enum RACE rid); void awardxpfor(lifeform_t *killed, float pct); void bleed(lifeform_t *lf, int splatter); int bleedfrom(lifeform_t *lf, enum BODYPART bp, int splatter); int bpcantakearmour(lifeform_t *lf, enum BODYPART bp); void breakgrabs(lifeform_t *lf, int fromme, int tome); void breakaitargets(lifeform_t *lf, int onlylowerlev); long calcscore(lifeform_t *lf); int calcxp(lifeform_t *lf); int calcxprace(enum RACE rid); void callguards(lifeform_t *caller, lifeform_t *victim); int canattack(lifeform_t *lf); int cancast(lifeform_t *lf, enum OBTYPE oid, int *mpcost); int cancook(lifeform_t *lf, recipe_t *rec, enum ERROR *reason); int canclimb(lifeform_t *lf, enum ERROR *reason); int candrink(lifeform_t *lf, object_t *o); int caneat(lifeform_t *lf, object_t *o); int canhaverandombehaviour(lifeform_t *lf); int canhear(lifeform_t *lf, cell_t *c, int volume, int *numwalls); int canlearn(lifeform_t *lf, enum SKILL skid); int canmakerecipe(lifeform_t *lf, recipe_t *rec); int canopendoors(lifeform_t *lf); int canpickup(lifeform_t *lf, object_t *o, int amt); int canpolymorphto(enum RACE rid); int canpush(lifeform_t *lf, object_t *o, int dir); int canquaff(lifeform_t *lf, object_t *o); int canreach(lifeform_t *lf, lifeform_t *victim, int *reachpenalty); int canreachbp(lifeform_t *lf, lifeform_t *victim, enum BODYPART bp); int cansee(lifeform_t *viewer, lifeform_t *viewee); int cansee_real(lifeform_t *viewer, lifeform_t *viewee, int uselos); int cansleep(lifeform_t *lf); int canuseweapons(lifeform_t *lf); int canwear(lifeform_t *lf, object_t *o, enum BODYPART where); int canweild(lifeform_t *lf, object_t *o); int cantakeoff(lifeform_t *lf, object_t *o); int cantalk(lifeform_t *lf); int castspell(lifeform_t *lf, enum OBTYPE sid, lifeform_t *targlf, object_t *targob, cell_t *targcell, object_t *fromob, int *seen); int celllitfor(lifeform_t *lf, cell_t *c, int maxvisrange, int nightvisrange); int celltransparentfor(lifeform_t *lf, cell_t *c, int *xray, int *rangemod); int charmedaction(lifeform_t *lf, flag_t *charmflag); int checkburdened(lifeform_t *lf, int preburdened); int checkfordrowning(lifeform_t *lf, object_t *o); int check_rest_ok(lifeform_t *lf); //void checkxp(enum RACE rid); lifeform_t *clonelf(lifeform_t *src, cell_t *where); float comparelfs(lifeform_t *lf1, lifeform_t *lf2); void completeincubation(lifeform_t *lf, flag_t *incubateflag); int confuse(lifeform_t *lf, int howlong); void copycorpseflags(flagpile_t *dst, flagpile_t *src); int continuedigging(lifeform_t *lf); int continuerepairing(lifeform_t *lf, flag_t *repairflag); int countinnateattacks(lifeform_t *lf); int countlegs(lifeform_t *lf); int countnearbyallies(lifeform_t *lf); int countnearbyhurtallies(lifeform_t *lf); int countplantsinsight(lifeform_t *lf); void debug(lifeform_t *lf); int demandbribe(lifeform_t *lf); void die(lifeform_t *lf); int digcell(lifeform_t *lf, cell_t *c, object_t *o); int digdown(lifeform_t *lf, object_t *o); int digup(lifeform_t *lf, object_t *o); void do_eyesight_adjust(lifeform_t *lf); void dumplev(void); void dumplf(void); void dumpmonsters(void); void dumpxp(void); int eat(lifeform_t *lf, object_t *o); void endlfturn(lifeform_t *lf); void enhancerandomskill(lifeform_t *lf); void enhanceskills(lifeform_t *lf); int exchangeweapon(lifeform_t *lf); void extinguishlf(lifeform_t *lf); object_t *eyesshaded(lifeform_t *lf); int fall(lifeform_t *lf, lifeform_t *fromlf, int announce); int fallasleep(lifeform_t *lf, enum SLEEPTYPE how, int howlong); int fall_from_air(lifeform_t *lf); void fightback(lifeform_t *lf, lifeform_t *attacker); behaviour_t *findbehaviour(enum BEHAVIOUR bid); job_t *findjob(enum JOB jobid); job_t *findjobbyname(char *name); lifeform_t *findlf(map_t *m, int lfid); lifeform_t *findlfunique(enum RACE rid); cell_t *findnearbylifeob(cell_t *src, int maxdist, flag_t *lifeobflag, object_t **retlifeob); poisontype_t *findpoisontype(enum POISONTYPE id); race_t *findrace(enum RACE id); race_t *findracebyname(char *name); raceclass_t *findraceclass(enum RACECLASS id); //lifeform_t *findshopkeeper(map_t *m, int roomid); skill_t *findskill(enum SKILL id); skill_t *findskillbyname(char *name); enum SKILLLEVEL findskilllevbyname(char *name); subjob_t *findsubjob(enum SUBJOB sjid); int fixcurses(lifeform_t *lf); int flee(lifeform_t *lf); void fleefrom(lifeform_t *lf, lifeform_t *enemy, int howlong, int onpurpose); int fovlist_contains(int *endx, int *endy, int nendcells, int x, int y); int freezelf(lifeform_t *freezee, lifeform_t *freezer, int howlong); void gainhp(lifeform_t *lf, int amt); void gainlevel(lifeform_t *lf, int autotrain); void gainmp(lifeform_t *lf, int amt); void gainxp(lifeform_t *lf, long amt); void genareaknowledge(flagpile_t *fp, int chancemod); void generatealignment(lifeform_t *lf); void genxplist(void); int get_adjacent_quadrants(int dir, enum QUADRANT *start, enum QUADRANT *end); int get_circular_fov_endpoints(lifeform_t *lf, int maxvisrange, int *endx, int *endy, int *nendcells); int getactspeed(lifeform_t *lf); int getadjenemies(lifeform_t *lf, lifeform_t **adjlf, int *nadjlfs); void getwhowillfollow(lifeform_t *lf, object_t *stairob, lifeform_t **adjally, int *seen, int *nadjallies); enum ALIGNMENT getalignment(lifeform_t *lf); int getalignmod(lifeform_t *lf); enum ALLEGIENCE getallegiance(lifeform_t *lf); int getallouterarmour(lifeform_t *lf, object_t **ob, int *nobs); object_t *getarmour(lifeform_t *lf, enum BODYPART bp); int getarmournoise(lifeform_t *lf); int getarmourrating(lifeform_t *lf, object_t **hitob, int *hitchance, enum BODYPART *hitbp, int *narms); int getattackspeed(lifeform_t *lf); float getattackstamloss(lifeform_t *lf); float getattackstamloss(lifeform_t *lf); int getattpoints(lifeform_t *lf); int getattr(lifeform_t *lf, enum ATTRIB attr); enum ATTRBRACKET getattrbracket(int attrval, enum ATTRIB whichatt, /*@null@*/char *buf); int real_getattr(lifeform_t *lf, enum ATTRIB attr, int ignoreattrset); int getavgdam(lifeform_t *lf, int forxp); enum CASTTYPE getcasttype(lifeform_t *lf, enum OBTYPE sid); float getequippedweight(lifeform_t *lf); int getevasion(lifeform_t *lf); object_t *getbestthrowmissile(lifeform_t *lf, lifeform_t *target); object_t *getbestweapon(lifeform_t *lf); object_t *getbestfirearm(lifeform_t *lf); int getbodyparthitchance(enum BODYPART bp); char *getbodypartname(lifeform_t *lf, enum BODYPART bp); char *getbodypartequipname(enum BODYPART bp); object_t *getequippedob(obpile_t *op, enum BODYPART bp); int getexposedlimbs(lifeform_t *lf); object_t *getfirearm(lifeform_t *lf); enum LOFTYPE getfirearmloftype(lifeform_t *lf); int getfootprinttime(lifeform_t *lf); enum GENDER getgender(lifeform_t *lf); lifeform_t *getguntarget(lifeform_t *lf); int getguntargetid(lifeform_t *lf); //int gethealtime(lifeform_t *lf); int gethearingrange(lifeform_t *lf); int gettrrace(race_t *r); int gethitstokill(lifeform_t *lf, lifeform_t *victim, int useevasion, int usearmour); int gethppct(lifeform_t *lf); enum COLOUR gethungercol(enum HUNGER hlev); enum HUNGER gethungerlevel(int hunger); char *gethungername(lifeform_t *lf, enum HUNGER hunger, char *buf); int gethungerval(lifeform_t *lf); job_t *getjob(lifeform_t *lf); enum SUBJOB getsubjob(lifeform_t *lf); char *getjobname(lifeform_t *lf); int getlastdir(lifeform_t *lf); int getleftrightwalls(lifeform_t *lf); int getlfaccuracy(lifeform_t *lf, object_t *wep); char getlfcol(lifeform_t *lf, enum MSGCHARCOL cc); enum LFCONDITION getlfcondition(lifeform_t *lf); int getlistendetectrange(lifeform_t *lf); int getflightsizemod(lifeform_t *lf); enum SKILLLEVEL getmaxskilllevel(lifeform_t *lf, enum SKILL skid); int getminions(lifeform_t *lf, lifeform_t **minion, int *nminions); int getmiscastchance(lifeform_t *lf); int getmorale(lifeform_t *lf); int getnextshortcut(lifeform_t *lf); int getnightvisrange(lifeform_t *lf); int getnoisedetails(lifeform_t *lf, enum NOISETYPE nid, flag_t *noiseflag, char *heartext,char *seetext, int *volume); char *getlfconditionname(enum LFCONDITION cond); object_t *getouterequippedob(lifeform_t *lf, enum BODYPART bp); //int getowing(lifeform_t *buyer, int shopid, int *retnitems); enum LFCONDITION getseenlfconditioncutoff(lifeform_t *lf); char *getseenlfconditionname(lifeform_t *lf, lifeform_t *viewer); int getsmellrange(lifeform_t *lf); flag_t *getspellcasttextflag(lifeform_t *lf, enum OBTYPE sid); glyph_t *getlfglyph(lifeform_t *lf); enum MATERIAL getlfmaterial(lifeform_t *lf); enum SKILLLEVEL getlorelevel(lifeform_t *lf, enum RACECLASS rcid); int getattacks(lifeform_t *lf, int *min, int *max); float getmaxcarryweight(lifeform_t *lf); float getmaxliftweight(lifeform_t *lf); int getmaxmp(lifeform_t *lf); float getmaxpushweight(lifeform_t *lf); float getmaxstamina(lifeform_t *lf); object_t *getmeleeweapon(lifeform_t *lf); int getmr(lifeform_t *lf); int real_getmr(lifeform_t *lf, int onlyexternal); int getvisrange(lifeform_t *lf, int useambient); void idxtoxy(lifeform_t *lf, int idx, int *x, int *y); //void setviscell(lifeform_t *lf, cell_t *cell, int how); //int getviscell(lifeform_t *lf, cell_t *cell); int xytoidx(lifeform_t *lf, int x, int y); int getmovespeed(lifeform_t *lf); char *getmoveverb(lifeform_t *lf); char *getmoveverbother(lifeform_t *lf); lifeform_t *getnearbypeaceful(lifeform_t *lf); char *getpitverb(lifeform_t *lf, int dir, int onpurpose, int climb); char *getlfname(lifeform_t *lf, char *buf); char *real_getlfname(lifeform_t *lf, char *buf, lifeform_t *usevis, int showall, int useorigrace); char *getlfnamea(lifeform_t *lf, char *buf); char *real_getlfnamea(lifeform_t *lf, char *buf, lifeform_t *usevis, int showall, int useorigrace); enum LFSIZE getlfsize(lifeform_t *lf); float getlfweight(lifeform_t *lf, int withobs); object_t *getsecmeleeweapon(lifeform_t *lf); object_t *getshield(lifeform_t *lf, enum DAMTYPE dt); int getallshields(lifeform_t *lf, enum DAMTYPE damtype, object_t **retob, int *checkmod, int *nretobs); int getshieldblockmod(lifeform_t *lf, object_t *o); int getspellspeed(lifeform_t *lf); int getstamina(lifeform_t *lf); float getstamregen(lifeform_t *lf); char *getplayername(char *buf); char *getplayernamefull(char *buf); /* int getpoisondamchance(enum POISONTYPE ptype); char *getpoisondamverb(enum POISONTYPE ptype); char *getpoisondesc(enum POISONTYPE ptype); char *getpoisonname(enum POISONTYPE ptype); enum POISONSEVERITY getpoisonseverity(enum POISONTYPE ptype); */ enum RACECLASS getraceclass(lifeform_t *lf); int getracerarity(map_t *map, enum RACE rid, enum RARITY *rr); object_t *getrandomarmour(lifeform_t *lf, lifeform_t *attacker); enum BEHAVIOUR getrandombehaviour(void); enum BODYPART getrandomcorebp(lifeform_t *lf, lifeform_t *attacker); race_t *getrandomcorpserace(cell_t *c); job_t *getrandomjob(int onlyplayerjobs); int getrandommonlevel(race_t *r, map_t *m); race_t *getrandomrace(cell_t *c, int forcedepth); race_t *getrandomracewithflag(enum FLAG fid); race_t *getreallyrandomrace(enum RACECLASS wantrc); enum SKILL getrandomskill(void); object_t *getrestob(lifeform_t *lf); enum SKILLLEVEL getskill(lifeform_t *lf, enum SKILL id); int getskilllevcost(enum SKILLLEVEL slev); int getsounddist(int volume); char *getspeedname(int speed, char *buf); char *getspeednameshort(int speed, char *buf); long getspforpoint(lifeform_t *lf); float getstatmod(lifeform_t *lf, enum ATTRIB att); char *getskilldesc(enum SKILL id ); char *getskillname(enum SKILL id ); char *getskilllevelname(enum SKILLLEVEL sl); int getteachableskills(lifeform_t *teacher, lifeform_t *student, int *info, enum TRADEINFOTYPE *tradetype, int *ninfo ); int gettr(lifeform_t *lf); char *gettradeinfoname(int what, enum TRADEINFOTYPE tradetype, char *buf); int getthrowspeed(lifeform_t *lf); int getturnspeed(lifeform_t *lf); void getwantdistance(lifeform_t *lf, lifeform_t *victim, int *min, int *max, int attacking); object_t *getweapon(lifeform_t *lf); int getweapons(lifeform_t *lf, int meleeonly, object_t **wep, flag_t **damflag, int *lastweaponidx, obpile_t **op, int *nweps); enum SKILLLEVEL getweaponskill(lifeform_t *lf, object_t *o); long getxpforlev(int level); void givebehaviour(lifeform_t *lf, enum BEHAVIOUR bid); void givejob(lifeform_t *lf, enum JOB jobid); void givesubjob(lifeform_t *lf, enum SUBJOB sj); int givemoney(lifeform_t *from, lifeform_t *to, int amt); void giveobflags(lifeform_t *lf, object_t *o, enum FLAG whattype); int giverandomobs(lifeform_t *lf, int amt); flag_t *giveskill(lifeform_t *lf, enum SKILL id); flag_t *giveskilllev(lifeform_t *lf, enum SKILL id, enum SKILLLEVEL slev); void givestartobs(lifeform_t *lf, object_t *targob, flagpile_t *fp); void givestartskills(lifeform_t *lf, flagpile_t *fp); map_t *gotolev(lifeform_t *lf, int depth, object_t *fromstairs); int gotosleep(lifeform_t *lf, int onpurpose); void growhydrahead(lifeform_t *lf, int announce); void losehydrahead(lifeform_t *lf); flag_t *hasbleedinginjury(lifeform_t *lf, enum BODYPART bp); int hasfreeaction(lifeform_t *lf); int real_hasfreeaction(lifeform_t *lf, enum FLAG exception); int hashealableinjuries(lifeform_t *lf); job_t *hasjob(lifeform_t *lf, enum JOB job); int hassubjob(lifeform_t *lf, enum SUBJOB id); void inc_quad_range(enum QUADRANT *start, enum QUADRANT *end, int howmuch); int injure(lifeform_t *lf, enum BODYPART where, enum DAMTYPE damtype, enum INJURY forcetype); int lfcanbekod(lifeform_t *lf); int lfcanbestoned(lifeform_t *lf); flag_t *lfhasflag(lifeform_t *lf, enum FLAG fid); flag_t *lfhasflagval(lifeform_t *lf, enum FLAG fid, int val0, int val1, int val2, char *text); flag_t *lfhasknownflag(lifeform_t *lf, enum FLAG fid); flag_t *lfhasknownflagval(lifeform_t *lf, enum FLAG fid, int val0, int val1, int val2, /*@null@*/ char *text); int lfproduceslight(lifeform_t *lf, object_t **fromwhat); int lockpick(lifeform_t *lf, cell_t *targcell, object_t *target, object_t *device); void loseobflags(lifeform_t *lf, object_t *o, int kind); int hasbp(lifeform_t *lf, enum BODYPART bp); flag_t *hasactivespell(lifeform_t *lf, enum OBTYPE sid); int haslof(cell_t *src, cell_t *dest, enum LOFTYPE loftype, cell_t **newdest); int haslofknown(cell_t *src, cell_t *dest, enum LOFTYPE loftype, cell_t **newdest); int haslof_real(cell_t *src, cell_t *dest, enum LOFTYPE loftype, cell_t **newdest, lifeform_t *srclf, int walllfsok); int haslos(lifeform_t *viewer, cell_t *dest); int haslosdark(lifeform_t *viewer, cell_t *dest); int haslos_fast(lifeform_t *viewer, cell_t *dest); void interrupt(lifeform_t *lf); enum FLAG isairborne(lifeform_t *lf); int isaquatic(lifeform_t *lf); flag_t *isasleep(lifeform_t *lf); int isbehind(lifeform_t *lf, lifeform_t *otherlf); int isbleeding(lifeform_t *lf); int isblind(lifeform_t *lf); enum BURDENED isburdened(lifeform_t *lf); int ischarmable(lifeform_t *lf); int isclimbing(lifeform_t *lf); int isdead(lifeform_t *lf); int isdeaf(lifeform_t *lf); object_t *isdualweilding(lifeform_t *lf); int isfleeing(lifeform_t *lf); int isfreebp(lifeform_t *lf, enum BODYPART bp); int isfriendly(lifeform_t *lf); int isfullyhealed(lifeform_t *lf); int isgenius(lifeform_t *lf); int isgod(lifeform_t *lf); int ishelplessvictim(lifeform_t *victim, lifeform_t *attacker, enum HELPLESSTYPE *how); flag_t *ishidingfrom(lifeform_t *hider, lifeform_t *seeker); int ishirable(lifeform_t *lf); int isimmobile(lifeform_t *lf); flag_t *isimmuneto(flagpile_t *fp, enum DAMTYPE dt, int onlytemp); int isinbattle(lifeform_t *lf, int includedistant, int onlyarmed); int isingunrange(lifeform_t *lf, cell_t *where); int isliving(lifeform_t *lf); int isloreskill(enum SKILL skid); int islowhp(lifeform_t *lf); int isspellskill(enum SKILL skid); int ismadeofice(lifeform_t *lf); int ismaxedattr(lifeform_t *lf, enum ATTRIB a); int ismaxedskill(lifeform_t *lf, enum SKILL skid); int ispeaceful(lifeform_t *lf); int isknownpeaceful(lifeform_t *lf); int ispetof(lifeform_t *lf, lifeform_t *owner); flag_t *ispetortarget(lifeform_t *lf, lifeform_t *ownertarget); int isplayer(lifeform_t *lf); flag_t *ispoisoned(lifeform_t *lf); flag_t *ispoisonedwith(lifeform_t *lf, enum POISONTYPE pt); int ispolymorphed(lifeform_t *lf); int isprone(lifeform_t *lf); flag_t *isresistantto(flagpile_t *fp, enum DAMTYPE dt, int onlytemp); flag_t *isresting(lifeform_t *lf); int issleepingtimefor(lifeform_t *lf); object_t *isstuck(lifeform_t *lf); int issmellablelf(lifeform_t *lf); int isswimming(lifeform_t *lf); int isunconscious(lifeform_t *lf); int isundead(lifeform_t *lf); flag_t *isvulnto(flagpile_t *fp, enum DAMTYPE dt, int onlytemp); int isweaponbp(enum BODYPART bp); int isweaponskill(enum SKILL skid); enum FLAG iswoozy(lifeform_t *lf); void killjob(job_t *job); void killlf(lifeform_t *lf); void killpoisontype(poisontype_t *pt); void killrace(race_t *race); void killsubjob(subjob_t *sj); flag_t *levelabilityready(lifeform_t *lf); int loadfirearm(lifeform_t *lf, object_t *gun, object_t *ammo); int loadfirearmfast(lifeform_t *lf, int onpurpose); void loseconcentration(lifeform_t *lf); void loseconsciousness(lifeform_t *lf, int howlong, lifeform_t *fromlf); int losehp(lifeform_t *lf, int amt, enum DAMTYPE damtype, lifeform_t *fromlf, char *damsrc); int losehp_real(lifeform_t *lf, int amt, enum DAMTYPE damtype, lifeform_t *fromlf, char *damsrc, int reducedam, object_t *fromob, int retaliate, int *waskod, int doeffects); void losehpeffects(lifeform_t *lf, int dam, enum DAMTYPE damtype, lifeform_t *fromlf, object_t *fromob, int retaliate, int ko, int *waskod, int prelowhp); void losemp(lifeform_t *lf, int amt); void makefriendly(lifeform_t *lf, int howlong); void makeheard(lifeform_t *listener, lifeform_t *noisemaker, int showglyph, char *noisetext, int howlong); int makelearnable(lifeform_t *lf, enum SKILL skid); int makenauseated(lifeform_t *lf, int amt, int howlong); void makenoise(lifeform_t *lf, enum NOISETYPE nid); void makepeaceful(lifeform_t *lf, lifeform_t *causedby); lifeform_t *makezombie(object_t *o); void mayusespellschool(flagpile_t *fp, enum SPELLSCHOOL ss, enum FLAG how, int overridepower); int meetsallattreqs(lifeform_t *lf, object_t *o); int meetsattreq(lifeform_t *lf, flag_t *f, object_t *o, int *modpct); int mightflee(lifeform_t *lf); int modattr(lifeform_t *lf, enum ATTRIB attr, int amt); void modhunger(lifeform_t *lf, int amt); float modifybystat(float num, lifeform_t *lf, enum ATTRIB att); void modmorale(lifeform_t *lf, int howmuch); void modstamina(lifeform_t *lf, float howmuch); int movecausesnoise(lifeform_t *lf); int needstobreath(lifeform_t *lf); int needstorest(lifeform_t *lf, char *validchars); void noarmouron(race_t *r, enum BODYPART bp); int noise(cell_t *c, lifeform_t *noisemaker, enum NOISECLASS nt, int volume, char *text, char *seetext); enum NOISECLASS noisetypetoclass(enum NOISETYPE nt); void outfitlf(lifeform_t *lf); void petify(lifeform_t *lf, lifeform_t *owner); int pickup(lifeform_t *lf, object_t *what, int howmany, int fromground, int antannounce); void poison(lifeform_t *lf, int howlong, enum POISONTYPE ptype, int power, char *fromwhat, enum RACE srcraceid); int poisoneffects(lifeform_t *lf, enum POISONTYPE ptid, int power); int poisoncausesvomit(enum POISONTYPE ptype); int poisonthreatenslife(lifeform_t *lf, flag_t *f); int polymorphto(lifeform_t *lf, enum RACE rid, int howlong); void practice(lifeform_t *lf, enum SKILL skid, int amt); //void precalclos_old(lifeform_t *lf); void precalclos(lifeform_t *lf); void preparecorpse(lifeform_t *lf, object_t *corpse); int push(lifeform_t *lf, object_t *o, int dir); int racecantalk(enum RACE rid); int readytotrain(lifeform_t *lf); int recruit(lifeform_t *lf); void refreshlevelabilities(lifeform_t *lf); void relinklf(lifeform_t *src, map_t *dst); int resizelf(lifeform_t *lf, enum LFSIZE newsize, int doobs); lifeform_t *ressurect(object_t *o); int rest(lifeform_t *lf, int onpurpose); void setskillused(lifeform_t *lf, enum SKILL skid); void spot_hiding_lf(lifeform_t *lf, lifeform_t *hider); int startclimbing(lifeform_t *lf); int startresting(lifeform_t *lf, int willtrain); int rollattr(enum ATTRBRACKET bracket); int rollstat(lifeform_t *lf, enum ATTRIB attr); int safetorest(lifeform_t *lf); int say(lifeform_t *lf, char *text, int volume); int sayphrase(lifeform_t *lf, enum SAYPHRASE what, int volume, int val0, char *text); int scare(lifeform_t *lf, lifeform_t *scarer, int howlong, int scarerbonus); //int setammo(lifeform_t *lf, object_t *o); void setalignment(lifeform_t *lf, enum ALIGNMENT al); void setattr(lifeform_t *lf, enum ATTRIB attr, int val); void setbodypartname(race_t *r, enum BODYPART bp, char *name); void setbodytype(race_t *r, enum BODYTYPE bt); int setfacing(lifeform_t *lf, int dir); void setfollowdistance(lifeform_t *lf, int min, int max); void setguntarget(lifeform_t *lf, lifeform_t *targ); void sethomeroom(lifeform_t *lf); void setkillverb(lifeform_t *lf, char *buf); void setrace(lifeform_t *lf, enum RACE rid, int frompolymorph); void setlastdam(lifeform_t *lf, char *buf); //void setlftarget(lifeform_t *lf, lifeform_t *victim); int setlfmaterial(lifeform_t *lf, enum MATERIAL id, int wantannounce); void setlosdirty(lifeform_t *lf); void setstamina(lifeform_t *lf, float howmuch); int shoot(lifeform_t *lf); int getskillcheckchance(lifeform_t *lf, enum CHECKTYPE ct, int diff, int mod) ; int skillcheck(lifeform_t *lf, enum CHECKTYPE ct, int diff, int mod); int real_skillcheck(lifeform_t *lf, enum CHECKTYPE ct, int diff, int mod, int *result); int skillcheckvs(lifeform_t *lf1, enum CHECKTYPE ct1, int mod1, lifeform_t *lf2, enum CHECKTYPE ct2, int mod2); int slipon(lifeform_t *lf, object_t *o); void sortlf(map_t *map, lifeform_t *lf); void startlfturn(lifeform_t *lf); int steal(lifeform_t *lf, obpile_t *op, enum FLAG wantflag); int stone(lifeform_t *lf); int stopclimbing(lifeform_t *lf, int onpurpose); void stopeating(lifeform_t *lf); void stopresting(lifeform_t *lf); void stoprunning(lifeform_t *lf); void stopsprinting(lifeform_t *lf); int stun(lifeform_t *lf, int nturns); lifeform_t *summonmonster(lifeform_t *caster, cell_t *c, enum RACE rid, char *racename, int lifetime, int wantfriendly); //int testammo(lifeform_t *lf, object_t *o); int takeoff(lifeform_t *lf, object_t *o); void takerotationtime(lifeform_t *lf); void taketime(lifeform_t *lf, long howlong); int throwat(lifeform_t *thrower, object_t *o, cell_t *where); void timeeffectslf(lifeform_t *lf); int tradeknowledge(lifeform_t *lf); int tryclimb(lifeform_t *lf, cell_t *where, char *towhat, int onpurpose); int touch(lifeform_t *lf, object_t *o); int real_touch(lifeform_t *lf, object_t *o, int onpurpose); void turntoface(lifeform_t *lf, cell_t *dstcell); void unequipeffects(lifeform_t *lf, object_t *o); void unpoison(lifeform_t *lf); void unsummon(lifeform_t *lf, int vanishobs); int unweild(lifeform_t *lf, object_t *o); int useability(lifeform_t *lf, enum OBTYPE aid, lifeform_t *who, cell_t *where); int useringofmiracles(lifeform_t *lf, int charges); int usestairs(lifeform_t *lf, object_t *o, int onpurpose, int climb); int validateraces(void); void wakeup(lifeform_t *lf, int howmuch); int wear(lifeform_t *lf, object_t *o); int weild(lifeform_t *lf, object_t *o); int willbackstab(lifeform_t *lf, lifeform_t *victim, object_t *wep); int willbleedfrom(lifeform_t *lf, enum BODYPART bp); int willburden(lifeform_t *lf, object_t *o, int howmany); int willeatlf(lifeform_t *eater, lifeform_t *eatee); //int youhear(cell_t *c, char *text);