#include "hack.h"
#include "edog.h"
Functions | |
STATIC_DCL int | NDECL (pet_type) |
void | initedog (struct monst *mtmp) |
STATIC_OVL int | pet_type () |
struct monst * | make_familiar (struct obj *otmp, xchar x, xchar y, boolean quietly) |
struct monst * | makedog () |
void | update_mlstmv () |
void | losedogs () |
void | mon_arrive (struct monst *mtmp, boolean with_you) |
void | mon_catchup_elapsed_time (struct monst *mtmp, long nmv) |
void | keepdogs (boolean pets_only) |
void | migrate_to_level (struct monst *mtmp, xchar tolev, xchar xyloc, coord *cc) |
int | dogfood (struct monst *mon, struct obj *obj) |
struct monst * | tamedog (struct monst *mtmp, struct obj *obj) |
void | wary_dog (struct monst *mtmp, boolean was_dead) |
void | abuse_dog (struct monst *mtmp) |
void abuse_dog | ( | struct monst * | mtmp ) |
References Aggravate_monster, Conflict, EDOG, growl(), m_unleash(), monst::mtame, newsym(), rn2(), TRUE, and yelp().
Referenced by domove(), hmon_hitmon(), kickdmg(), and try_disarm().
References ACCFOOD, acidic, AMULET_OF_STRANGULATION, APPLE, APPORT, BALL_CLASS, BANANA, CADAVER, carnivorous, CARROT, CHAIN_CLASS, CLOVE_OF_GARLIC, CORPSE, DOGFOOD, EDOG, EGG, FOOD_CLASS, has_blood, hates_silver(), herbivorous, HUGE_CHUNK_OF_MEAT, is_metallic, is_organic, is_quest_artifact(), is_rider, is_rustprone, is_undead, is_vampiric, MANFOOD, MEAT_RING, MEAT_STICK, MEATBALL, metallivorous, mons, monstermoves, obj_resists(), objects, peek_at_iced_corpse_age(), PM_GELATINOUS_CUBE, PM_GHOUL, PM_LICHEN, PM_LIZARD, PM_RUST_MONSTER, POISON, poisonous, resists_acid, resists_poison, resists_ston, RIN_SLOW_DIGESTION, ROCK_CLASS, S_FUNGUS, S_YETI, SILVER, SLIME_MOLD, TABU, TIN, touch_petrifies, TRIPE_RATION, UNDEF, and vegan.
Referenced by dog_eat(), dog_goal(), dog_invent(), dog_move(), tamedog(), and thitmonst().
void initedog | ( | struct monst * | mtmp ) |
References EDOG, is_domestic, monstermoves, monst::mtame, and set_malign().
Referenced by cloneu(), make_familiar(), makedog(), and tamedog().
void keepdogs | ( | boolean | pets_only ) |
References canseemon, count_wsegs(), monst::data, DEADMONSTER, FALSE, fmon, Has_contents, humanoid, ledger_no(), levl_follower(), m_unleash(), MAX_NUM_WORMS, monst::meating, MIGR_EXACT_XY, migrate_to_level(), min, monst::minvent, monst::mlstmv, mon_has_amulet(), Monnam(), monnear(), monstermoves, monst::mstrategy, monst::mtame, monst::mx, monst::my, mydogs, newsym(), monst::nmon, obj::nobj, picked_container(), pline(), relmon(), s_suffix(), set_residency(), STEED, STRAT_WAITFORU, TRUE, u, you::uhave, you::ux, you::uy, you::uz, and wormgone().
Referenced by done(), and goto_level().
void losedogs | ( | ) |
References d_level::dlevel, d_level::dnum, FALSE, migrating_mons, mon_arrive(), monst::mux, monst::muy, mydogs, monst::nmon, TRUE, u, and you::uz.
Referenced by goto_level().
References AT_WEAP, attacktype(), christen_monst(), monst::data, G_EXTINCT, initedog(), is_pool(), makemon(), MAXMONNO, mbirth_limit(), minliquid(), MM_EDOG, MM_IGNOREWATER, mon_wield_item(), mons, monst::mtame, monst::mx, monst::my, NEED_HTH_WEAPON, newsym(), ONAME, pet_type(), pline(), pm, rn2(), rndmonst(), set_malign(), and monst::weapon_check.
Referenced by fig_transform(), spelleffects(), and use_figurine().
struct monst* makedog | ( | ) | [read] |
References catname, christen_monst(), d(), dogname, FALSE, horsename, initedog(), monst::m_id, monst::m_lev, makemon(), monst::mhp, monst::mhpmax, monst::misc_worn_check, mksobj(), MM_EDOG, mons, mpickobj(), otmp, obj::owornmask, pet_type(), PM_BABY_CROCODILE, PM_BARBARIAN, PM_CAVEMAN, PM_KITTEN, PM_LITTLE_DOG, PM_MONKEY, PM_PONY, PM_RANGER, PM_SAMURAI, PM_WINTER_WOLF_CUB, PM_WOLF, preferred_pet, rn2(), Role_if, SADDLE, TRUE, u, update_mon_intrinsics(), you::ux, and you::uy.
Referenced by newgame().
References count_wsegs(), depth(), d_level::dlevel, d_level::dnum, Has_contents, In_W_tower(), ledger_to_dlev(), ledger_to_dnum(), m_unleash(), MAX_NUM_WORMS, migrating_mons, min, monstermoves, newsym(), obj::nobj, picked_container(), relmon(), set_residency(), TRUE, u, you::uz, wormgone(), nhcoord::x, and nhcoord::y.
Referenced by digactualhole(), keepdogs(), make_happy_shk(), mlevel_tele_trap(), use_defensive(), and use_misc().
References COLNO, CORPSE, FALSE, fmon, ftrap, get_obj_location(), get_wormno(), dest_area::hx, dest_area::hy, In_endgame, in_rooms(), initworm(), dest_area::lx, dest_area::ly, MAGIC_PORTAL, max, MIGR_APPROX_XY, MIGR_EXACT_XY, MIGR_LADDER_DOWN, MIGR_LADDER_UP, MIGR_NEAR_PLAYER, MIGR_PORTAL, MIGR_RANDOM, MIGR_SSTAIRS, MIGR_STAIRS_DOWN, MIGR_STAIRS_UP, min, mkcorpstat(), mkgold(), mnearto(), mnexto(), MON_AT, mon_catchup_elapsed_time(), mongone(), mons, monstermoves, trap::ntrap, obj_extract_self(), obj_no_longer_held(), obj::owornmask, place_object(), PM_LONG_WORM, rloc(), rloc_to(), rloco(), rn1, rn2(), ROOMOFFSET, rooms, ROWNO, set_residency(), setmnotwielded(), somexy(), sstairs, STRAT_ARRIVE, stairway::sx, stairway::sy, TRUE, trap::tx, trap::ty, u, updest, you::ux, you::uy, you::uz, W_WEP, nhcoord::x, xdnladder, xdnstair, xupladder, xupstair, nhcoord::y, ydnladder, ydnstair, yupladder, and yupstair.
Referenced by losedogs(), and resurrect().
void mon_catchup_elapsed_time | ( | struct monst * | mtmp, |
long | nmv | ||
) |
References carnivorous, EDOG, FALSE, herbivorous, edog::hungrytime, if(), LARGEST_INT, m_unleash(), monstermoves, regenerates, and rn2().
Referenced by getlev(), mon_arrive(), and resurrect().
STATIC_DCL int NDECL | ( | pet_type | ) |
STATIC_OVL int pet_type | ( | ) |
References NON_PM, Role::petnum, PM_BABY_CROCODILE, PM_CAVEMAN, PM_KITTEN, PM_LITTLE_DOG, PM_MONKEY, PM_RANGER, PM_ROGUE, PM_TOURIST, PM_WINTER_WOLF_CUB, PM_WOLF, preferred_pet, rn2(), Role_if, and urole.
Referenced by make_familiar(), and makedog().
References ACCFOOD, AT_WEAP, attacktype(), cansee, canseemon, CORPSE, monst::data, dog_eat(), DOGFOOD, dogfood(), EDOG, expels(), FALSE, flags, FULL_MOON, initedog(), is_covetous, is_demon, is_human, q_score::leader_m_id, LOW_PM, M3_WANTSARTI, MANFOOD, mon_wield_item(), Monnam(), mons, monstermoves, flag::moonphase, permonst::msize, monst::mx, monst::mxlth, monst::my, NAME, NEED_HTH_WEAPON, newmonst, newsym(), night(), place_object(), pline(), PM_MEDUSA, quest_status, replmon(), rn2(), S_DOG, set_malign(), sticks(), Strcpy, the(), Tobjnam(), TRUE, u, unstuck(), Upolyd, you::ustuck, monst::weapon_check, xname(), and youmonst.
Referenced by charm_monsters(), clone_mon(), deadbook(), demonpet(), djinni_from_bottle(), domagictrap(), hatch_egg(), maybe_tame(), revive(), thitmonst(), and were_summon().
void update_mlstmv | ( | ) |
References DEADMONSTER, fmon, monst::mlstmv, mon, monstermoves, and monst::nmon.
Referenced by goto_level(), and savebones().
References edog::abuse, edog::apport, body_part(), cansee, monst::data, edog::dropdist, edog::droptime, EDOG, EYE, haseyes, edog::hungrytime, m_unleash(), edog::mhpmax_penalty, Monnam(), monstermoves, newsym(), edog::ogoal, pline(), edog::revivals, rn2(), TRUE, edog::whistletime, nhcoord::x, nhcoord::y, and youmonst.
Referenced by animate_statue(), lifesaved_monster(), and revive().