#include "hack.h"
Defines | |
#define | URETREATING(x, y) (distmin(u.ux,u.uy,x,y) > distmin(u.ux0,u.uy0,x,y)) |
#define | POLE_LIM 5 |
Functions | |
STATIC_DCL int | FDECL (drop_throw,(struct obj *, BOOLEAN_P, int, int)) |
int | thitu (int tlev, int dam, struct obj *obj, const char *name) |
STATIC_OVL int | drop_throw (struct obj *obj, boolean ohit, int x, int y) |
int | ohitmon (struct monst *mtmp, struct obj *otmp, int range, boolean verbose) |
void | m_throw (struct monst *mon, int x, int y, int dx, int dy, int range, struct obj *obj) |
void | m_useup (struct monst *mon, struct obj *obj) |
void | thrwmu (struct monst *mtmp) |
int | spitmu (struct monst *mtmp, struct attack *mattk) |
int | breamu (struct monst *mtmp, struct attack *mattk) |
boolean | linedup (xchar ax, xchar ay, xchar bx, xchar by) |
boolean | lined_up (struct monst *mtmp) |
struct obj * | m_carrying (struct monst *mtmp, int type) |
boolean | hits_bars (struct obj **obj_p, int x, int y, int always_hit, int whodidit) |
Variables | |
STATIC_OVL NEARDATA const char * | breathwep [] |
#define POLE_LIM 5 |
Referenced by thrwmu().
#define URETREATING | ( | x, | |
y | |||
) | (distmin(u.ux,u.uy,x,y) > distmin(u.ux0,u.uy0,x,y)) |
Referenced by thrwmu().
References AD_ACID, AD_MAGM, AD_RBRE, AD_SLEE, buzz(), canseemon, flags, lined_up(), Monnam(), nomul(), pline(), rn2(), rnd(), sgn(), Sleep_resistance, flag::soundok, tbx, and tby.
Referenced by mattacku().
References CREAM_PIE, down_gate(), EGG, FALSE, flooreffects(), is_multigen, m_at, obfree(), passive_obj(), PIT, place_object(), rn2(), ROCK, ship_object(), SPIKED_PIT, stackobj(), t_at(), u, you::ux, you::uy, VENOM_CLASS, and youmonst.
Referenced by m_throw(), and ohitmon().
STATIC_DCL int FDECL | ( | drop_throw | , |
(struct obj *, BOOLEAN_P, int, int) | |||
) |
References ARM_GLOVES, ARMOR_CLASS, BALL_CLASS, BOULDER, breaks(), CHAIN_CLASS, COIN_CLASS, CORPSE, obj::corpsenm, CREDIT_CARD, FALSE, FOOD_CLASS, GOLD, HEAVY_IRON_BALL, hero_breaks(), HUGE_CHUNK_OF_MEAT, LENSES, LOCK_PICK, MAGIC_WHISTLE, MEAT_STICK, mons, permonst::msize, MZ_TINY, objects, obj::oclass, otmp, obj::otyp, P_BOW, P_CROSSBOW, P_DART, P_JAVELIN, P_KNIFE, P_SHURIKEN, P_SPEAR, pline(), ROCK_CLASS, SILVER, SKELETON_KEY, SPBOOK_CLASS, STATUE, TALLOW_CANDLE, TIN_WHISTLE, TOOL_CLASS, TRUE, WAND_CLASS, WAX_CANDLE, and WEAPON_CLASS.
Referenced by bhit(), launch_obj(), and m_throw().
References BOLT_LIM, clear_path(), couldsee, distmin(), FALSE, tbx, tby, TRUE, u, you::ux, and you::uy.
Referenced by ghod_hitsu(), and lined_up().
References obj::nobj, otmp, and obj::otyp.
Referenced by dog_move(), find_defensive(), m_move(), mfndpos(), mon_wield_item(), move_special(), and select_rwep().
References A_STR, AT_SPIT, AT_WEAP, bhitpos, bigmonst, Blind, Blinded, BLINDING_VENOM, body_part(), BUFSZ, can_blnd(), canseemon, closed_door(), obj::corpsenm, CREAM_PIE, monst::data, delay_output, DISP_END, DISP_FLASH, distmin(), dmgval(), drop_throw(), dropy(), EGG, ELVEN_ARROW, ELVEN_BOW, EYE, eyecount, FACE, FALSE, flags, GEM_CLASS, hits_bars(), hold_another_object(), IRONBARS, is_ammo, is_elf, is_poisonable, IS_ROCK, IS_SINK, is_unicorn, isok(), killer, killer_xname(), LAST_GEM, levl, m_at, make_blinded(), makeknown, makeplural(), mon_nam(), MON_NOWEP, MON_WEP, Monnam(), mons, multi, nomul(), obj_extract_self(), obj_to_glyph, objects, obj::oclass, ohitmon(), obj::otyp, obj::owornmask, P_BOW, piday(), pline(), PM_STONE_GOLEM, poisoned(), poly_when_stoned(), polymon(), POTION_CLASS, potionhit(), rn2(), rnd(), s_suffix(), setmnotwielded(), SINKS, something, obj::spe, splitobj(), Stone_resistance, Stoned, stop_occupation(), Strcpy, thitu(), tmp_at(), Tobjnam(), touch_petrifies, TRUE, u, you::ucreamed, you::ux, you::uy, flag::verbose, vision_clears, nhcoord::x, xname(), nhcoord::y, and youmonst.
Referenced by spitmu(), thrwmu(), and use_offensive().
References FALSE, obfree(), obj_extract_self(), obj::owornmask, obj::owt, possibly_unwield(), obj::quan, update_mon_intrinsics(), and weight().
Referenced by buzz(), destroy_mitem(), gulpum(), hmon_hitmon(), lifesaved_monster(), mdamagem(), mon_break_armor(), mon_consume_unstone(), precheck(), revive(), use_defensive(), use_misc(), use_offensive(), and zhitm().
References ACID_VENOM, AT_SPIT, AT_WEAP, bhitpos, BLINDING_VENOM, BOULDER, can_blnd(), cansee, canspotmon, distant_name(), dmgval(), drop_throw(), exclam(), FALSE, find_mac(), flags, hates_silver(), hit(), is_poisonable, M_AP_MONSTER, miss(), flag::mon_moving, mon_nam(), mondied(), Monnam(), mshot_xname(), nonliving, obfree(), obj_extract_self(), objects, obj::oclass, omon_adj(), oresist_disintegration, obj::otyp, obj::owt, pline(), POTION_CLASS, potionhit(), resists_acid, resists_poison, rn2(), rnd(), s_suffix(), seemimic(), SILVER, the(), vis, nhcoord::x, xkilled(), xname(), and nhcoord::y.
Referenced by launch_obj(), m_throw(), and scatter().
References ACID_VENOM, AD_ACID, AD_BLND, AD_DRST, BLINDING_VENOM, BOLT_LIM, canseemon, distmin(), FALSE, flags, lined_up(), m_throw(), mksobj(), mon_nam(), Monnam(), nomul(), otmp, pline(), rn2(), s_suffix(), sgn(), flag::soundok, tbx, tby, and TRUE.
Referenced by mattacku().
int thitu | ( | int | tlev, |
int | dam, | ||
struct obj * | obj, | ||
const char * | name | ||
) |
References A_CON, A_STR, Acid_resistance, ACID_VENOM, an(), Blind, BUFSZ, monst::data, doname(), exclam(), exercise(), FALSE, flags, Half_physical_damage, hates_silver(), KILLED_BY, KILLED_BY_AN, killer_xname(), losehp(), mshot_xname(), name, obj_is_pname(), objects, obj::otyp, pline(), obj::quan, rnd(), SILVER, strncmpi(), the(), u, you::uac, flag::verbose, and youmonst.
Referenced by boomhit(), dotrap(), launch_obj(), m_throw(), scatter(), thrwmu(), and use_whip().
void thrwmu | ( | struct monst * | mtmp ) |
References ammo_and_launcher, an(), bigmonst, BOLT_LIM, BUFSZ, canseemon, couldsee, monst::data, dist2(), distmin(), dmgval(), ELVEN_ARROW, ELVEN_BOW, FALSE, multishot::i, if(), is_elf, is_lord, is_orc, is_pole, is_prince, lined_up(), m_shot, m_throw(), MON_WEP, mon_wield_item(), Monnam(), monsndx(), multishot::n, NEED_RANGED_WEAPON, NEED_WEAPON, nomul(), multishot::o, obj_is_pname(), objects, ORCISH_ARROW, ORCISH_BOW, otmp, obj::otyp, P_DAGGER, P_DART, P_SHURIKEN, pline(), PM_NINJA, PM_RANGER, PM_ROGUE, PM_SAMURAI, POLE_LIM, obj::quan, rn2(), rnd(), multishot::s, select_rwep(), sgn(), singular(), obj::spe, Sprintf, stop_occupation(), STRANGE_OBJECT, tbx, tby, the(), thitu(), TRUE, u, URETREATING, you::ux, you::uy, xname(), YA, youmonst, and YUMI.
Referenced by mattacku().
STATIC_OVL NEARDATA const char* breathwep[] |
{ "fragments", "fire", "frost", "sleep gas", "a disintegration blast", "lightning", "poison gas", "acid", "strange breath #8", "strange breath #9" }