#include "hack.h"
Data Structures | |
struct | worn |
Defines | |
#define | w_blocks(o, m) |
#define | RACE_EXCEPTION TRUE |
Functions | |
STATIC_DCL void | FDECL (m_lose_armor,(struct monst *, struct obj *)) |
STATIC_DCL void | FDECL (m_dowear_type,(struct monst *, long, BOOLEAN_P, BOOLEAN_P)) |
STATIC_DCL int | FDECL (extra_pref,(struct monst *, struct obj *)) |
void | setworn (struct obj *obj, long mask) |
void | setnotworn (struct obj *obj) |
void | mon_set_minvis (struct monst *mon) |
void | mon_adjust_speed (struct monst *mon, int adjust, struct obj *obj) |
void | update_mon_intrinsics (struct monst *mon, struct obj *obj, boolean on, boolean silently) |
int | find_mac (struct monst *mon) |
void | m_dowear (struct monst *mon, boolean creation) |
STATIC_OVL void | m_dowear_type (struct monst *mon, long flag, boolean creation, boolean racialexception) |
struct obj * | which_armor (struct monst *mon, long flag) |
STATIC_OVL void | m_lose_armor (struct monst *mon, struct obj *obj) |
void | clear_bypasses () |
void | bypass_obj (struct obj *obj) |
void | mon_break_armor (struct monst *mon, boolean polyspot) |
static int | extra_pref (struct monst *mon, struct obj *obj) |
int | racial_exception (struct monst *mon, struct obj *obj) |
Variables | |
struct worn | worn [] |
#define RACE_EXCEPTION TRUE |
Referenced by m_dowear().
#define w_blocks | ( | o, | |
m | |||
) |
((o->otyp == MUMMY_WRAPPING && ((m) & W_ARMC)) ? INVIS : \ (o->otyp == TINFOIL_HAT && ((m) & W_ARMH)) ? TELEPAT : \ (o->otyp == CORNUTHAUM && ((m) & W_ARMH) && \ !Role_if(PM_WIZARD)) ? CLAIRVOYANT : 0)
Referenced by setnotworn(), setworn(), and update_mon_intrinsics().
void bypass_obj | ( | struct obj * | obj ) |
References flag::bypasses, flags, and TRUE.
Referenced by bhitm(), make_corpse(), mon_break_armor(), newcham(), and possibly_unwield().
void clear_bypasses | ( | ) |
References flag::bypasses, DEADMONSTER, FALSE, flags, fmon, fobj, get_obj_location(), migrating_mons, migrating_objs, monst::minvent, newsym(), monst::nmon, obj::nobj, objects, otmp, and obj::otyp.
Referenced by moveloop(), and savebones().
References MFAST, obj::otyp, and SPEED_BOOTS.
Referenced by m_dowear_type().
STATIC_DCL void FDECL | ( | m_dowear_type | , |
(struct monst *, long, BOOLEAN_P, BOOLEAN_P) | |||
) |
int find_mac | ( | struct monst * | mon ) |
References ARM_BONUS, obj::nobj, and obj::owornmask.
Referenced by bhitm(), buzz(), drag_ball(), experience(), find_roll_to_hit(), mattackm(), mattacku(), mbhitm(), mstatusline(), ohitmon(), thitm(), and thitmonst().
References bimanual, cantweararm, FALSE, is_animal, m_dowear_type(), mindless, MON_WEP, mons, MZ_SMALL, nohands, PM_SKELETON, RACE_EXCEPTION, S_CENTAUR, S_MUMMY, slithy, verysmall, W_AMUL, W_ARM, W_ARMC, W_ARMF, W_ARMG, W_ARMH, and W_ARMS.
Referenced by animate_statue(), bhitm(), dog_invent(), final_level(), makemon(), mk_mplayer(), mpickstuff(), newcham(), savebones(), shkinit(), and spo_end_moninvent().
STATIC_OVL void m_dowear_type | ( | struct monst * | mon, |
long | flag, | ||
boolean | creation, | ||
boolean | racialexception | ||
) |
References AMULET_CLASS, AMULET_OF_LIFE_SAVING, AMULET_OF_REFLECTION, ARM_BONUS, BUFSZ, canseemon, distant_name(), doname(), extra_pref(), FALSE, has_horns, is_boots, is_cloak, is_flimsy, is_gloves, is_helmet, is_shield, is_shirt, is_suit, makeknown, mon_nam(), Monnam(), nambuf, obj::nobj, objects, objclass::oc_delay, obj::oclass, obj::otyp, obj::owornmask, pline(), racial_exception(), See_invisible, Sprintf, Strcpy, TOURIST, TRUE, update_mon_intrinsics(), W_AMUL, W_ARM, W_ARMC, W_ARMF, W_ARMG, W_ARMH, W_ARMS, and which_armor().
Referenced by m_dowear().
References FALSE, newsym(), obj_extract_self(), obj::owornmask, place_object(), and update_mon_intrinsics().
Referenced by mon_break_armor().
References canseemon, FALSE, FAST, flags, in_mklev, makeknown, MFAST, Monnam(), MSLOW, obj::nobj, objects, objclass::oc_class, objclass::oc_oprop, otmp, obj::otyp, obj::owornmask, pline(), SPBOOK_CLASS, TRUE, and flag::verbose.
Referenced by bhitm(), cast_wizard_spell(), damageum(), golemeffects(), makemon(), mdamagem(), minstapetrify(), mon_consume_unstone(), potionhit(), revive(), update_mon_intrinsics(), use_bell(), and use_misc().
References an(), breakarm(), BUFSZ, bypass_obj(), cansee, cloak_simple_name(), Dragon_mail_to_pm, Dragon_scales_to_pm, has_horns, Is_dragon_mail, Is_dragon_scales, is_flimsy, is_whirly, m_lose_armor(), m_useup(), mhim, mhis, permonst::mlet, mon_nam(), MON_WEP, Monnam(), nohands, obj::oartifact, otmp, obj::otyp, pline(), rnl(), S_CENTAUR, s_suffix(), sliparm(), slithy, Sprintf, Stone_resistance, surface(), touch_petrifies, u, verysmall, vis, W_ARM, W_ARMC, W_ARMF, W_ARMG, W_ARMH, W_ARMS, and which_armor().
Referenced by new_were(), and newcham().
void mon_set_minvis | ( | struct monst * | mon ) |
References mons, newsym(), PM_GIANT_TURTLE, see_wsegs(), and unblock_point().
Referenced by bhitm(), cast_wizard_spell(), potionhit(), and use_misc().
References is_elven_armor, mons, PM_HOBBIT, and raceptr().
Referenced by break_armor(), canwearobj(), and m_dowear_type().
void setnotworn | ( | struct obj * | obj ) |
References prop::blocked, CLAIRVOYANT, prop::extrinsic, objects, objclass::oc_oprop, set_artifact_intrinsic(), TELEPAT, you::twoweap, u, update_inventory, you::uprops, uswapwep, uwep, w_blocks, worn::w_mask, and worn::w_obj.
Referenced by Armor_gone(), destroy_item(), do_break_wand(), lava_effects(), merged(), remove_worn_item(), Ring_off_or_gone(), shopdig(), use_mirror(), and useupall().
void setworn | ( | struct obj * | obj, |
long | mask | ||
) |
References prop::blocked, CLAIRVOYANT, CONDUCT_NUDISM, prop::extrinsic, I_SPECIAL, if(), is_weptool, obj::oartifact, objects, objclass::oc_oprop, obj::otyp, obj::owornmask, set_artifact_intrinsic(), TELEPAT, you::twoweap, u, update_inventory, you::uprops, uskin, violated(), W_ARM, W_ARMOR, w_blocks, worn::w_mask, worn::w_obj, W_QUIVER, W_SWAPWEP, W_WEP, and WEAPON_CLASS.
Referenced by Amulet_off(), Armor_off(), armoroff(), Blindf_off(), Blindf_on(), Boots_off(), break_armor(), cancel_item(), Cloak_off(), doputon(), dorecover(), dowear(), Gloves_off(), Helmet_off(), ini_inv(), merged(), poly_obj(), punish(), realloc_obj(), recharge(), remove_worn_item(), restgamestate(), Ring_off_or_gone(), seffects(), setuqwep(), setuswapwep(), setuwep(), Shield_off(), throwit(), unpunish(), uqwepgone(), uswapwepgone(), and uwepgone().
References ACID_RES, ANTIMAGIC, begin_burn(), canseemon, CLAIRVOYANT, COLD_RES, DISINT_RES, DISPLACED, end_burn(), FALSE, FAST, FIRE_RES, FUMBLING, in_mklev, INVIS, Is_gold_dragon_armor, JUMPING, LEVITATION, mon_adjust_speed(), newsym(), obj::nobj, objects, objclass::oc_oprop, otmp, obj::otyp, obj::owornmask, pline(), POISON_RES, PROTECTION, REFLECTING, SADDLE, SHOCK_RES, SLEEP_RES, STEALTH, STONE_RES, TELEPAT, The(), TRUE, u, w_blocks, WWALKING, and xname().
Referenced by bhitm(), loot_mon(), m_dowear_type(), m_lose_armor(), m_useup(), makedog(), mdamagem(), mdrop_obj(), monstone(), and steal_it().
References obj::nobj, and obj::owornmask.
Referenced by bhitm(), burnarmor(), dochug(), domindblast(), drop_boulder_on_monster(), final_level(), find_offensive(), fix_worst_trouble(), hurtmarmor(), in_trouble(), loot_mon(), m_dowear_type(), m_slips_free(), magic_negation(), mattacku(), mdamagem(), mfndpos(), mintrap(), mlifesaver(), mon_break_armor(), mon_reflects(), mon_wield_item(), muse_newcham_mon(), priestini(), rnd_offensive_item(), rndcurse(), select_newcham_form(), some_armor(), and zhitm().