#include "hack.h"
Defines | |
#define | SATIATED 0 |
#define | NOT_HUNGRY 1 |
#define | HUNGRY 2 |
#define | WEAK 3 |
#define | FAINTING 4 |
#define | FAINTED 5 |
#define | STARVED 6 |
#define | CANNIBAL_ALLOWED() (Role_if(PM_CAVEMAN) || Race_if(PM_ORC) || Race_if(PM_VAMPIRE)) |
#define | ROTTEN_TIN 4 |
#define | HOMEMADE_TIN 5 |
#define | SZECHUAN_TIN 10 |
#define | FRENCH_FRIED_TIN 11 |
#define | TTSZ SIZE(tintxts) |
Functions | |
STATIC_PTR int | NDECL (eatmdone) |
STATIC_PTR int | NDECL (eatfood) |
STATIC_PTR void | FDECL (costly_tin,(const char *)) |
STATIC_PTR int | NDECL (opentin) |
STATIC_PTR int | NDECL (unfaint) |
STATIC_DCL const char * | FDECL (food_xname,(struct obj *, BOOLEAN_P)) |
STATIC_DCL void | FDECL (choke,(struct obj *)) |
STATIC_DCL void | NDECL (recalc_wt) |
STATIC_DCL struct obj * | FDECL (touchfood,(struct obj *)) |
STATIC_DCL void | NDECL (do_reset_eat) |
STATIC_DCL void | FDECL (done_eating,(BOOLEAN_P)) |
STATIC_DCL void | FDECL (cprefx,(int)) |
STATIC_DCL int | FDECL (intrinsic_possible,(int, struct permonst *)) |
STATIC_DCL void | FDECL (givit,(int, struct permonst *)) |
STATIC_DCL void | FDECL (cpostfx,(int)) |
STATIC_DCL void | FDECL (start_tin,(struct obj *)) |
STATIC_DCL int | FDECL (eatcorpse,(struct obj *)) |
STATIC_DCL void | FDECL (start_eating,(struct obj *)) |
STATIC_DCL void | FDECL (fprefx,(struct obj *)) |
STATIC_DCL void | FDECL (accessory_has_effect,(struct obj *)) |
STATIC_DCL void | FDECL (fpostfx,(struct obj *)) |
STATIC_DCL int | NDECL (bite) |
STATIC_DCL int | FDECL (edibility_prompts,(struct obj *)) |
STATIC_DCL int | FDECL (rottenfood,(struct obj *)) |
STATIC_DCL void | NDECL (eatspecial) |
STATIC_DCL void | FDECL (eataccessory,(struct obj *)) |
STATIC_DCL const char * | FDECL (foodword,(struct obj *)) |
STATIC_DCL boolean | FDECL (maybe_cannibal,(int, BOOLEAN_P)) |
boolean | is_edible (struct obj *obj) |
void | init_uhunger () |
STATIC_PTR int | eatmdone () |
STATIC_OVL const char * | food_xname (struct obj *food, boolean the_pfx) |
STATIC_OVL void | choke (struct obj *food) |
STATIC_OVL void | recalc_wt () |
void | reset_eat () |
STATIC_OVL struct obj * | touchfood (struct obj *otmp) |
void | food_disappears (struct obj *obj) |
void | food_substitution (struct obj *old_obj, struct obj *new_obj) |
STATIC_OVL void | do_reset_eat () |
STATIC_PTR int | eatfood () |
STATIC_OVL void | done_eating (boolean message) |
STATIC_OVL boolean | maybe_cannibal (int pm, boolean allowmsg) |
STATIC_OVL void | cprefx (int pm) |
boolean | bite_monster (struct monst *mon) |
void | fix_petrification () |
STATIC_OVL int | intrinsic_possible (int type, struct permonst *ptr) |
STATIC_OVL void | givit (int type, struct permonst *ptr) |
STATIC_OVL void | cpostfx (int pm) |
void | violated_vegetarian () |
STATIC_PTR void | costly_tin (char *verb) const |
STATIC_PTR int | opentin () |
STATIC_OVL void | start_tin (struct obj *otmp) |
int | Hear_again () |
STATIC_OVL int | rottenfood (struct obj *obj) |
STATIC_OVL int | eatcorpse (struct obj *otmp) |
STATIC_OVL void | start_eating (struct obj *otmp) |
STATIC_OVL void | fprefx (struct obj *otmp) |
STATIC_OVL void | accessory_has_effect (struct obj *otmp) |
STATIC_OVL void | eataccessory (struct obj *otmp) |
STATIC_OVL void | eatspecial () |
STATIC_OVL const char * | foodword (struct obj *otmp) |
STATIC_OVL void | fpostfx (struct obj *otmp) |
STATIC_OVL int | edibility_prompts (struct obj *otmp) |
int | doeat () |
STATIC_OVL int | bite () |
void | gethungry () |
void | morehungry (int num) |
void | lesshungry (int num) |
STATIC_PTR int | unfaint () |
boolean | is_fainted () |
void | reset_faint () |
void | newuhs (boolean incr) |
struct obj * | floorfood (char *verb, int corpsecheck) const |
void | vomit () |
int | eaten_stat (int base, struct obj *obj) |
void | consume_oeaten (struct obj *obj, int amt) |
boolean | maybe_finished_meal (boolean stopping) |
Variables | |
char | msgbuf [BUFSZ] |
STATIC_OVL NEARDATA const char | comestibles [] = { FOOD_CLASS, 0 } |
STATIC_OVL NEARDATA const char | allobj [] |
STATIC_OVL boolean | force_save_hs = FALSE |
const char * | hu_stat [] |
struct { | |
const char * txt | |
int nut | |
} | tintxts [] |
struct { | |
struct obj * piece | |
int usedtime | |
int reqtime | |
int nmod | |
} | victual |
static char * | eatmbuf = 0 |
static const char * | foodwords [] |
#define CANNIBAL_ALLOWED | ( | ) | (Role_if(PM_CAVEMAN) || Race_if(PM_ORC) || Race_if(PM_VAMPIRE)) |
Referenced by cprefx(), fprefx(), and maybe_cannibal().
#define FAINTED 5 |
Referenced by is_fainted(), and newuhs().
#define FRENCH_FRIED_TIN 11 |
Referenced by opentin().
#define HOMEMADE_TIN 5 |
Referenced by opentin().
#define HUNGRY 2 |
Referenced by newuhs().
#define NOT_HUNGRY 1 |
Referenced by init_uhunger(), and newuhs().
#define ROTTEN_TIN 4 |
Referenced by opentin().
#define STARVED 6 |
Referenced by newuhs().
#define SZECHUAN_TIN 10 |
Referenced by opentin().
#define WEAK 3 |
Referenced by newuhs().
STATIC_OVL void accessory_has_effect | ( | struct obj * | otmp ) |
References pline(), and RING_CLASS.
Referenced by eataccessory().
STATIC_OVL int bite | ( | ) |
References choke(), consume_oeaten(), do_reset_eat(), FALSE, lesshungry(), recalc_wt(), TRUE, u, you::uhunger, and victual.
Referenced by eatfood(), and start_eating().
Called when a vampire bites a monster. Returns TRUE if hero died and was lifesaved.
References acidic, monst::data, done_in_by(), FALSE, fix_petrification(), mons, monsndx(), pline(), PM_DEATH, PM_FAMINE, PM_FIRE_ELEMENTAL, PM_FIRE_VORTEX, PM_GREEN_SLIME, PM_LIZARD, PM_PESTILENCE, Slimed, Stoned, TRUE, Unchanging, and youmonst.
Referenced by passive().
STATIC_OVL void choke | ( | struct obj * | food ) |
References A_CON, A_LAWFUL, adjalign(), AMULET_OF_STRANGULATION, Breathless, CHOKING, COIN_CLASS, CORPSE, done(), exercise(), FALSE, food_xname(), foodword(), G_UNIQ, permonst::geno, KILLED_BY, KILLED_BY_AN, killer, killer_format, mons, morehungry(), nomovemsg, PM_KNIGHT, rn2(), Role_if, SATIATED, Strangled, the(), align::type, type_is_pname, u, you::ualign, you::uhs, and vomit().
Referenced by bite(), eataccessory(), and lesshungry().
void consume_oeaten | ( | struct obj * | obj, |
int | amt | ||
) |
References obj::oeaten, and victual.
Referenced by bite(), doeat(), eatcorpse(), and readobjnam().
STATIC_PTR void costly_tin | ( | char* | verb ) | const |
References bill_dummy_object(), carried, costly_spot(), obj::ox, obj::oy, obj::quan, splitobj(), and tin.
Referenced by opentin().
STATIC_OVL void cpostfx | ( | int | pm ) |
References A_INT, ABASE, AD_HALU, AD_STUN, AD_WERE, adjattrib(), an(), ATTRMAX, BInvis, Blind, flag::botl, BUFSZ, curs_on_u(), monst::data, defends(), display_nhwindow, dmgtype(), dropx(), eatmbuf, eatmdone(), FALSE, flags, FROMOUTSIDE, gainstr(), givit(), GOLD_PIECE, Hallucination, HConfusion, HFast, HHallucination, HInvis, HSee_invisible, HStun, INTRINSIC, intrinsic_possible(), Invis, is_giant, LAST_PROP, M_AP_OBJECT, monst::m_ap_type, make_confused(), make_hallucinated(), make_stunned(), monst::mappearance, you::mh, you::mhmax, permonst::mlet, permonst::mname, mons, newsym(), nomovemsg, nomul(), Race::noun, ORANGE, pline(), pluslvl(), pm, PM_BAT, PM_CHAMELEON, PM_DOPPELGANGER, PM_GIANT_BAT, PM_GIANT_MIMIC, PM_HUMAN_WEREJACKAL, PM_HUMAN_WERERAT, PM_HUMAN_WEREWOLF, PM_LARGE_MIMIC, PM_LIZARD, PM_MASTER_MIND_FLAYER, PM_MIND_FLAYER, PM_NEWT, PM_NURSE, PM_QUANTUM_MECHANIC, PM_SMALL_MIMIC, PM_STALKER, PM_VIOLET_FUNGUS, PM_WEREJACKAL, PM_WERERAT, PM_WEREWOLF, PM_WRAITH, PM_YELLOW_LIGHT, polyself(), rn1, rn2(), rnd(), S_MIMIC, self_invis_message(), set_itimeout(), Sprintf, touch_artifact(), TRUE, u, you::uen, you::uenmax, you::uhp, you::uhpmax, you::ulycn, Unchanging, Upolyd, urace, uwep, uwepgone(), you::ux, you::uy, WIN_MAP, and youmonst.
Referenced by done_eating(), and opentin().
STATIC_OVL void cprefx | ( | int | pm ) |
References acidic, flag::botl, BUFSZ, CANNIBAL_ALLOWED, monst::data, DIED, done(), FALSE, fix_petrification(), flags, flaming, FROMOUTSIDE, HAggravate_monster, KILLED_BY, killer, killer_buf, killer_format, maybe_cannibal(), mons, NO_KILLER_PREFIX, pline(), PM_DEATH, PM_DOG, PM_FAMINE, PM_GREEN_SLIME, PM_HOUSECAT, PM_KITTEN, PM_LARGE_CAT, PM_LARGE_DOG, PM_LITTLE_DOG, PM_LIZARD, PM_MEDUSA, PM_PESTILENCE, PM_STONE_GOLEM, poly_when_stoned(), polymon(), revive_corpse(), Slimed, Sprintf, Stone_resistance, Stoned, STONING, touch_petrifies, TRUE, Unchanging, victual, and youmonst.
Referenced by opentin(), and start_eating().
STATIC_OVL void do_reset_eat | ( | ) |
References FALSE, newuhs(), recalc_wt(), stop_occupation(), touchfood(), and victual.
Referenced by bite(), and eatfood().
int doeat | ( | ) |
References obj::age, BALL_CLASS, body_part(), BONE, CANDY_BAR, carried, CHAIN_CLASS, check_capacity(), permonst::cnutrit, COIN_CLASS, CONDUCT_FOODLESS, CONDUCT_VEGAN, CONDUCT_VEGETARIAN, consume_oeaten(), CORPSE, obj::corpsenm, CREAM_PIE, monst::data, docall(), DRAGON_HIDE, drainlevel, dropy(), eatcorpse(), eatspecial(), edibility_prompts(), EGG, FALSE, FLESH, floorfood(), u_conduct::food, FOOD_CLASS, foodword(), FORTUNE_COOKIE, fprefx(), freeinv(), HStun, is_edible(), is_metallic, is_vampiric, KILLED_BY_AN, LEATHER, losehp(), losestr(), LUMP_OF_ROYAL_JELLY, make_stunned(), mons, monstermoves, NOSE, objects, objclass::oc_delay, objclass::oc_nutrition, objclass::oc_uname, obj::oclass, obj::oeaten, otmp, obj::otyp, obj::owornmask, PANCAKE, peek_at_iced_corpse_age(), pline(), PM_RUST_MONSTER, Poison_resistance, obj::quan, RIN_SLOW_DIGESTION, rn2(), rnd(), rottenfood(), rounddiv(), SATIATED, singular(), something, splitobj(), stackobj(), start_eating(), start_tin(), STEED, Strangled, surface(), the(), TIN, touchfood(), TRUE, u, you::uconduct, you::uhs, you::umonnum, useup(), useupf(), you::ux, you::uy, victual, violated(), W_AMUL, W_ARMOR, W_TOOL, WAX, WEAPON_CLASS, weight(), xname(), and youmonst.
STATIC_OVL void done_eating | ( | boolean | message ) |
STATIC_OVL void eataccessory | ( | struct obj * | otmp ) |
References A_CHA, A_CON, A_DEX, A_INT, A_STR, A_WIS, accessory_has_effect(), adjattrib(), AMULET_OF_CHANGE, AMULET_OF_LIFE_SAVING, AMULET_OF_REFLECTION, AMULET_OF_RESTFUL_SLEEP, AMULET_OF_STRANGULATION, AMULET_OF_UNCHANGING, BInvis, Blind, flag::botl, change_sex(), choke(), d(), monst::data, EInvis, ESee_invisible, flag::female, flags, float_up(), FROMOUTSIDE, Hallucination, HLevitation, HProtection, HSleep_resistance, HSleeping, incr_itimeout(), prop::intrinsic, Invis, Levitation, LEVITATION, makeknown, newsym(), objects, objclass::oc_oprop, obj::otyp, perceives, pline(), rehumanize(), rescham(), RIN_ADORNMENT, RIN_FREE_ACTION, RIN_GAIN_CONSTITUTION, RIN_GAIN_DEXTERITY, RIN_GAIN_INTELLIGENCE, RIN_GAIN_STRENGTH, RIN_GAIN_WISDOM, RIN_INCREASE_ACCURACY, RIN_INCREASE_DAMAGE, RIN_INVISIBILITY, RIN_LEVITATION, RIN_PROTECTION, RIN_PROTECTION_FROM_SHAPE_CHAN, RIN_SEE_INVISIBLE, RIN_SUSTAIN_ABILITY, RING_CLASS, Ring_gone(), rn2(), rnd(), See_invisible, see_monsters(), set_mimic_blocking(), Sleep_resistance, u, you::ublessed, you::udaminc, you::uhitinc, you::uhp, uleft, Unchanging, Upolyd, you::uprops, uright, you::ux, you::uy, and youmonst.
Referenced by eatspecial().
STATIC_OVL int eatcorpse | ( | struct obj * | otmp ) |
References Acid_resistance, acidic, obj::age, amorphous, body_part(), BUFSZ, carnivorous, carried, permonst::cnutrit, CONDUCT_FOODLESS, CONDUCT_VEGAN, CONDUCT_VEGETARIAN, consume_oeaten(), corpse_xname(), obj::corpsenm, permonst::cwt, monst::data, drainlevel, FALSE, FINGER, food_xname(), G_UNIQ, permonst::geno, Glib, Hallucination, herbivorous, incr_itimeout(), is_vampiric, KILLED_BY_AN, losehp(), losestr(), make_sick(), makeplural(), maybe_cannibal(), mons, monstermoves, peek_at_iced_corpse_age(), pline(), PM_ACID_BLOB, PM_LICHEN, PM_LIZARD, Poison_resistance, poisonous, poly_when_stoned(), rn1, rn2(), rnd(), rnf(), rottenfood(), rounddiv(), S_BLOB, S_FUNGUS, S_MIMIC, S_NAGA, S_SNAKE, s_suffix(), Sick, Sick_resistance, SICK_VOMITABLE, slithy, Sprintf, Stone_resistance, the(), touch_petrifies, touchfood(), TRUE, type_is_pname, useup(), useupf(), vegan, vegetarian, victual, violated(), and youmonst.
Referenced by doeat().
int eaten_stat | ( | int | base, |
struct obj * | obj | ||
) |
References permonst::cnutrit, CORPSE, mons, objects, objclass::oc_nutrition, and obj::oeaten.
Referenced by dog_nutrition(), dosacrifice(), revive(), and weight().
STATIC_PTR int eatfood | ( | ) |
References bite(), carried, monst::data, do_reset_eat(), done_eating(), drainlevel, is_vampiric, lesshungry(), obj_here(), TRUE, u, you::ux, you::uy, victual, and youmonst.
Referenced by eatspecial(), lesshungry(), maybe_finished_meal(), newuhs(), and start_eating().
STATIC_PTR int eatmdone | ( | ) |
References M_AP_NOTHING, monst::m_ap_type, newsym(), nomovemsg, u, you::ux, you::uy, and youmonst.
Referenced by cpostfx().
STATIC_OVL void eatspecial | ( | ) |
References A_CON, A_WIS, AMULET_CLASS, carried, COIN_CLASS, dealloc_obj(), dopotion(), eataccessory(), eatfood(), exercise(), FLINT, Hallucination, LEASH, lesshungry(), o_unleash(), OBJ_FREE, obj::oclass, otmp, obj::otyp, pline(), POTION_CLASS, obj::quan, RING_CLASS, set_occupation(), TRIDENT, TRUE, uball, uchain, unpunish(), uquiver, uqwepgone(), useup(), useupall(), useupf(), uswapwep, uswapwepgone(), uwep, uwepgone(), victual, and obj::where.
Referenced by doeat().
STATIC_OVL int edibility_prompts | ( | struct obj * | otmp ) |
References Acid_resistance, acidic, obj::age, BONE, BUFSZ, CORPSE, monst::data, DRAGON_HIDE, EGG, FALSE, flaming, is_metallic, LEATHER, mons, monstermoves, objects, peek_at_iced_corpse_age(), PM_ACID_BLOB, PM_GREEN_SLIME, PM_LICHEN, PM_LIZARD, PM_RUST_MONSTER, Poison_resistance, poisonous, poly_when_stoned(), QBUFSZ, you::roleplay, Sick_resistance, Sprintf, Stone_resistance, Strcpy, TIN, Tobjnam(), touch_petrifies, u, you::umonnum, Unchanging, Upolyd, vegan, u_roleplay::vegan, u_roleplay::vegetarian, vegetarian, WAX, yn_function(), ynchars, and youmonst.
Referenced by doeat().
STATIC_DCL void FDECL | ( | start_tin | , |
(struct obj *) | |||
) |
STATIC_DCL int FDECL | ( | eatcorpse | , |
(struct obj *) | |||
) |
STATIC_DCL void FDECL | ( | start_eating | , |
(struct obj *) | |||
) |
STATIC_DCL void FDECL | ( | fprefx | , |
(struct obj *) | |||
) |
STATIC_DCL const char* FDECL | ( | foodword | , |
(struct obj *) | |||
) |
STATIC_DCL void FDECL | ( | done_eating | , |
(BOOLEAN_P) | |||
) |
STATIC_DCL void FDECL | ( | accessory_has_effect | , |
(struct obj *) | |||
) |
STATIC_DCL void FDECL | ( | fpostfx | , |
(struct obj *) | |||
) |
STATIC_DCL int FDECL | ( | edibility_prompts | , |
(struct obj *) | |||
) |
STATIC_PTR void FDECL | ( | costly_tin | , |
(const char *) | |||
) |
STATIC_DCL int FDECL | ( | rottenfood | , |
(struct obj *) | |||
) |
STATIC_DCL void FDECL | ( | cprefx | , |
(int) | |||
) |
STATIC_DCL void FDECL | ( | eataccessory | , |
(struct obj *) | |||
) |
STATIC_DCL int FDECL | ( | intrinsic_possible | , |
(int, struct permonst *) | |||
) |
STATIC_DCL boolean FDECL | ( | maybe_cannibal | , |
(int, BOOLEAN_P) | |||
) |
STATIC_DCL const char* FDECL | ( | food_xname | , |
(struct obj *, BOOLEAN_P) | |||
) |
STATIC_DCL void FDECL | ( | givit | , |
(int, struct permonst *) | |||
) |
STATIC_DCL void FDECL | ( | choke | , |
(struct obj *) | |||
) |
STATIC_DCL void FDECL | ( | cpostfx | , |
(int) | |||
) |
void fix_petrification | ( | ) |
References A_CHA, ACURR, delayed_killer, Hallucination, pline(), and Stoned.
Referenced by bite_monster(), cprefx(), peffects(), and zapyourself().
struct obj* floorfood | ( | char * | verb, |
int | corpsecheck | ||
) | const [read] |
References AMULET_OF_YENDOR, BEAR_TRAP, BEARTRAP, Breathless, can_reach_floor(), COIN_CLASS, CORPSE, monst::data, deltrap(), doname(), FAKE_AMULET_OF_YENDOR, FALSE, Flying, FOOD_CLASS, g_at(), getobj(), is_clinger, is_edible(), is_lava(), is_pool(), level, metallivorous, mksobj(), mons, dlevel_t::objects, obj::oclass, otense(), otmp, obj::otyp, PM_RUST_MONSTER, QBUFSZ, obj::quan, Sprintf, t_at(), tinnable(), TRUE, TT_BEARTRAP, u, you::utrap, you::utraptype, you::ux, you::uy, Wwalking, yn_function(), ynqchars, and youmonst.
Referenced by doeat(), and use_tinning_kit().
void food_disappears | ( | struct obj * | obj ) |
References obj_stop_timers(), and victual.
Referenced by obfree(), and saveobjchn().
References CORPSE, obj::corpsenm, G_UNIQ, permonst::geno, mons, s_suffix(), singular(), Sprintf, the(), type_is_pname, and xname().
Referenced by choke(), done_eating(), eatcorpse(), and start_eating().
STATIC_OVL const char* foodword | ( | struct obj * | otmp ) |
References FOOD_CLASS, GEM_CLASS, GLASS, makeknown, and objects.
Referenced by choke(), doeat(), and rottenfood().
STATIC_OVL void fpostfx | ( | struct obj * | otmp ) |
References bcsign(), Blind, BY_COOKIE, CARROT, CONDUCT_ILLITERACY, monst::data, delayed_killer, done(), EGG, EUCALYPTUS_LEAF, FORTUNE_COOKIE, gainstr(), heal_legs(), u_roleplay::illiterate, is_were, KILLED_BY_AN, killer, killer_buf, killer_format, LOW_PM, LUMP_OF_ROYAL_JELLY, make_blinded(), make_sick(), make_vomiting(), you::mh, you::mhmax, permonst::mname, mons, outrumor(), pline(), PM_STONE_GOLEM, POISONING, poly_when_stoned(), polymon(), rehumanize(), rn2(), rnd(), you::roleplay, Sick, SICK_ALL, SPRIG_OF_WOLFSBANE, Sprintf, Stone_resistance, Stoned, touch_petrifies, TRUE, u, you::ucreamed, you::uhp, you::uhpmax, you::ulycn, Upolyd, violated(), Vomiting, you_unwere(), and youmonst.
Referenced by done_eating().
STATIC_OVL void fprefx | ( | struct obj * | otmp ) |
References APPLE, body_part(), C_RATION, CANNIBAL_ALLOWED, carnivorous, CLOVE_OF_GARLIC, CRAM_RATION, current_fruit, d(), monst::data, EGG, FALSE, FOOD_RATION, Hallucination, HUGE_CHUNK_OF_MEAT, humanoid, is_orc, is_undead, K_RATION, make_vomiting(), maybe_polyd, MEAT_RING, MEAT_STICK, MEATBALL, more_experienced(), newexplevel(), PEAR, pline(), PM_ORC, Race_if, rn1, rn2(), rnd(), singular(), SLIME_MOLD, stale_egg, STOMACH, TRIPE_RATION, TRUE, u, you::uhunger, victual, Vomiting, xname(), and youmonst.
Referenced by doeat().
void gethungry | ( | ) |
References carnivorous, monst::data, EConflict, ERegeneration, HConflict, herbivorous, HRegeneration, Hunger, is_vampire, moves, near_capacity(), newuhs(), obj::oartifact, objects, obj::otyp, rn2(), Slow_digestion, SLT_ENCUMBER, obj::spe, TRUE, u, uamul, you::uhave, you::uhunger, uleft, uright, you::usleep, uwep, W_ART, W_ARTI, W_WEP, and youmonst.
Referenced by domove(), and moveloop().
STATIC_OVL void givit | ( | int | type, |
struct permonst * | ptr | ||
) |
References Blind, BTelepat, COLD_RES, DISINT_RES, FIRE_RES, FROMOUTSIDE, Hallucination, HCold_resistance, HDisint_resistance, HFire_resistance, HPoison_resistance, HShock_resistance, HSleep_resistance, HTelepat, HTeleport_control, HTeleportation, mons, PM_KILLER_BEE, PM_SCORPION, POISON_RES, Poison_resistance, rn2(), see_monsters(), SHOCK_RES, SLEEP_RES, TELEPAT, TELEPORT, and TELEPORT_CONTROL.
Referenced by cpostfx().
int Hear_again | ( | ) |
References flags, and flag::soundok.
Referenced by fall_asleep(), rottenfood(), and unfaint().
void init_uhunger | ( | ) |
References NOT_HUNGRY, u, you::uhs, and you::uhunger.
Referenced by fix_worst_trouble(), pleased(), savelife(), and u_init().
STATIC_OVL int intrinsic_possible | ( | int | type, |
struct permonst * | ptr | ||
) |
References can_teleport, COLD_RES, control_teleport, DISINT_RES, FALSE, FIRE_RES, MR_COLD, MR_DISINT, MR_ELEC, MR_FIRE, MR_POISON, MR_SLEEP, POISON_RES, SHOCK_RES, SLEEP_RES, TELEPAT, telepathic, TELEPORT, TELEPORT_CONTROL, and TRUE.
Referenced by cpostfx().
References CORPSE, monst::data, drainlevel, FALSE, FOOD_CLASS, has_blood, Has_contents, is_metallic, is_organic, is_rustprone, is_vampiric, metallivorous, mons, objects, PM_GELATINOUS_CUBE, PM_RUST_MONSTER, TRUE, u, you::umonnum, and youmonst.
Referenced by doeat(), floorfood(), and getobj().
boolean is_fainted | ( | ) |
References FAINTED, u, and you::uhs.
Referenced by gd_move(), hitmu(), newuhs(), outrumor(), reset_faint(), and steal().
void lesshungry | ( | int | num ) |
References choke(), eatfood(), FALSE, multi, newuhs(), nomovemsg, opentin(), pline(), reset_eat(), tin, TRUE, u, you::uhunger, victual, yn_function(), and ynchars.
Referenced by bite(), damageum(), eatfood(), eatspecial(), opentin(), and peffects().
References CANNIBAL_ALLOWED, change_luck(), FALSE, FROMOUTSIDE, HAggravate_monster, mons, rn1, TRUE, Upolyd, and your_race.
Referenced by cprefx(), and eatcorpse().
void morehungry | ( | int | num ) |
References newuhs(), TRUE, u, and you::uhunger.
Referenced by choke(), damageum(), dosit(), dotele(), drinkfountain(), hitmu(), jump(), spelleffects(), and vomiting_dialogue().
STATIC_PTR int NDECL | ( | unfaint | ) |
STATIC_DCL void NDECL | ( | recalc_wt | ) |
STATIC_PTR int NDECL | ( | opentin | ) |
STATIC_PTR int NDECL | ( | eatfood | ) |
STATIC_DCL int NDECL | ( | bite | ) |
STATIC_DCL void NDECL | ( | eatspecial | ) |
STATIC_PTR int NDECL | ( | eatmdone | ) |
STATIC_DCL void NDECL | ( | do_reset_eat | ) |
void newuhs | ( | boolean | incr ) |
References A_CON, ACURR, bot(), flag::botl, done(), eatfood(), FAINTED, FAINTING, FALSE, flags, Hallucination, HUNGRY, is_fainted(), KILLED_BY, killer, killer_format, losestr(), RoleName::m, you::mh, multi, Role::name, nomovemsg, nomul(), NOT_HUNGRY, opentin(), pline(), PM_ELF, PM_VALKYRIE, PM_WIZARD, Race_if, rn2(), Role_if, SATIATED, flag::soundok, STARVED, STARVING, stop_occupation(), TRUE, u, you::uhp, you::uhs, you::uhunger, unfaint(), Upolyd, urole, and WEAK.
Referenced by do_reset_eat(), done_eating(), drinkfountain(), gethungry(), gulpum(), lesshungry(), morehungry(), newman(), peffects(), and savelife().
STATIC_PTR int opentin | ( | ) |
References b_trapped(), Blind, body_part(), carried, CONDUCT_FOODLESS, CONDUCT_VEGAN, CONDUCT_VEGETARIAN, obj::corpsenm, costly_tin(), cpostfx(), cprefx(), FALSE, FINGER, flags, FORTUNE_COOKIE, FRENCH_FRIED_TIN, G_UNIQ, gainstr(), permonst::geno, Glib, Hallucination, hcolor(), hold_another_object(), HOMEMADE_TIN, incr_itimeout(), lesshungry(), make_vomiting(), makeplural(), mksobj(), permonst::mname, mons, NH_GREEN, NON_PM, nut, obj_here(), pline(), PM_LICHEN, PM_LIZARD, rn1, rn2(), rnd(), rndmonnam(), ROTTEN_TIN, obj::spe, SZECHUAN_TIN, tin, tintxts, TRUE, TTSZ, txt, type_is_pname, u, useup(), useupf(), you::ux, you::uy, vegan, vegetarian, flag::verbose, victual, violated(), what, and yn.
Referenced by lesshungry(), newuhs(), and start_tin().
STATIC_OVL void recalc_wt | ( | ) |
void reset_eat | ( | ) |
void reset_faint | ( | ) |
References is_fainted(), and nomul().
Referenced by invault().
STATIC_OVL int rottenfood | ( | struct obj * | obj ) |
References Blind, body_part(), d(), FALSE, flags, foodword(), Hallucination, HConfusion, Hear_again(), Is_airlevel, Is_waterlevel, Levitation, LIGHT_HEADED, make_blinded(), make_confused(), nomovemsg, nomul(), pline(), rn2(), rnd(), flag::soundok, surface(), u, you::ux, you::uy, you::uz, vision_clears, what, and where.
Referenced by doeat(), and eatcorpse().
STATIC_OVL void start_eating | ( | struct obj * | otmp ) |
References bite(), CORPSE, cprefx(), done_eating(), eatfood(), FALSE, food_xname(), objects, objclass::oc_delay, set_occupation(), Sprintf, TRUE, and victual.
Referenced by doeat().
STATIC_OVL void start_tin | ( | struct obj * | otmp ) |
References A_DEX, ACURR, ACURRSTR, aobjnam(), ATHAME, AXE, body_part(), carried, CRYSKNIFE, DAGGER, monst::data, dropx(), ELVEN_DAGGER, FINGER, Glib, makeplural(), metallivorous, nolimbs, opentin(), ORCISH_DAGGER, otmp, obj::otyp, PICK_AXE, pline(), rn1, set_occupation(), SILVER_DAGGER, splitobj(), stackobj(), tin, TIN_OPENER, uwep, and youmonst.
Referenced by doeat().
References addinv(), bill_dummy_object(), carried, permonst::cnutrit, CORPSE, costly_spot(), dropy(), freeinv(), inv_cnt(), mons, objects, objclass::oc_nutrition, SELL_DONTSELL, SELL_NORMAL, sellobj_state(), and splitobj().
Referenced by do_reset_eat(), doeat(), and eatcorpse().
STATIC_PTR int unfaint | ( | ) |
References flag::botl, FAINTING, flags, Hear_again(), stop_occupation(), u, and you::uhs.
Referenced by newuhs().
void violated_vegetarian | ( | ) |
References CONDUCT_VEGETARIAN, and violated().
Referenced by peffects().
void vomit | ( | ) |
References make_sick(), nomul(), SICK_VOMITABLE, and TRUE.
Referenced by choke(), drinkfountain(), and vomiting_dialogue().
STATIC_OVL NEARDATA const char allobj[] |
STATIC_OVL NEARDATA const char comestibles[] = { FOOD_CLASS, 0 } |
const char* foodwords[] [static] |
{ "meal", "liquid", "wax", "food", "meat", "paper", "cloth", "leather", "wood", "bone", "scale", "metal", "metal", "metal", "silver", "gold", "platinum", "mithril", "plastic", "glass", "rich food", "stone" }
STATIC_OVL boolean force_save_hs = FALSE |
const char* hu_stat[] |
{ "Satiated", " ", "Hungry ", "Weak ", "Fainting", "Fainted ", "Starved " }
Referenced by bot2().
char msgbuf[BUFSZ] |
Referenced by fall_through(), and gulpum().
int nmod |
Referenced by recalc_wt().
int reqtime |
static { ... } tin |
Referenced by costly_tin(), food_substitution(), lesshungry(), opentin(), and start_tin().
const char* txt |
Referenced by grease_protect(), opentin(), set_occupation(), spo_engraving(), and spo_grave().
int usedtime |
NEARDATA { ... } victual [static] |