#include "hack.h"
#include "eshk.h"
Defines | |
#define | is_bigfoot(x) ((x) == &mons[PM_SASQUATCH]) |
#define | martial() |
Functions | |
STATIC_DCL void | FDECL (kickdmg,(struct monst *, BOOLEAN_P)) |
STATIC_DCL void | FDECL (kick_monster,(XCHAR_P, XCHAR_P)) |
STATIC_DCL int | FDECL (kick_object,(XCHAR_P, XCHAR_P)) |
STATIC_DCL char * | FDECL (kickstr,(char *)) |
STATIC_DCL void | FDECL (otransit_msg,(struct obj *, BOOLEAN_P, long)) |
STATIC_DCL void | FDECL (drop_to,(coord *, SCHAR_P)) |
STATIC_OVL void | kickdmg (struct monst *mon, boolean clumsy) |
STATIC_OVL void | kick_monster (xchar x, xchar y) |
boolean | ghitm (struct monst *mtmp, struct obj *gold) |
void | container_impact_dmg (struct obj *obj) |
STATIC_OVL int | kick_object (xchar x, xchar y) |
STATIC_OVL char * | kickstr (char *buf) |
int | dokick () |
STATIC_OVL void | drop_to (coord *cc, schar loc) |
void | impact_drop (struct obj *missile, xchar x, xchar y, xchar dlev) |
boolean | ship_object (struct obj *otmp, xchar x, xchar y, boolean shop_floor_obj) |
void | obj_delivery () |
STATIC_OVL void | otransit_msg (struct obj *otmp, boolean nodrop, long num) |
schar | down_gate (xchar x, xchar y) |
Variables | |
static NEARDATA struct rm * | maploc |
static NEARDATA const char * | gate_str |
boolean | notonhead |
static NEARDATA struct obj * | kickobj |
static const char | kick_passes_thru [] = "kick passes harmlessly through" |
#define is_bigfoot | ( | x ) | ((x) == &mons[PM_SASQUATCH]) |
#define martial | ( | ) |
(martial_bonus() || is_bigfoot(youmonst.data) || \ (uarmf && uarmf->otyp == KICKING_BOOTS))
Referenced by dokick(), kick_monster(), kick_object(), and kickdmg().
void container_impact_dmg | ( | struct obj * | obj ) |
References change_luck(), obj::cobj, obj::corpsenm, costly_spot(), currency(), EGG, GEM_CLASS, GLASS, in_rooms(), inside_shop(), Is_container, Is_mbag, LOW_PM, make_angry_shk(), MIRROR, mon_nam(), obj::nobj, obfree(), obj_extract_self(), obj_resists(), objects, obj::oclass, otmp, obj::otyp, obj::ox, obj::quan, rn2(), shop_keeper(), SHOPBASE, obj::spe, stolen_value(), TRUE, u, useup(), you::ushops, you::ux, and you::uy.
Referenced by hitfloor(), kick_object(), and throwit().
int dokick | ( | ) |
References A_CON, A_DEX, A_STR, A_WIS, ACURR, ACURRSTR, add_damage(), altar_wrath(), Amonnam(), An(), angry_guards(), b_trapped(), Blind, body_part(), BOTH_SIDES, BOULDER, bp, BUFSZ, canspotmon, CORR, couldsee, cvt_sdoor_to_door(), permonst::cwt, D_BROKEN, D_ISOPEN, D_LOCKED, D_NODOOR, D_TRAPPED, D_WARNED, monst::data, DEADMONSTER, dealloc_obj(), DILITHIUM_CRYSTAL, display_nhwindow, doormask, dunlev(), dunlevs_in_dungeon(), you::dx, you::dy, enexto(), EWounded_legs, exercise(), fall_through(), FALSE, feel_location(), find_drawbridge(), flags, fmon, FOOT, flag::forcefight, G_GONE, getdir(), glyph_is_invisible, hcolor(), hurtle(), in_rooms(), in_town(), inv_weight(), IRONBARS, Is_airlevel, IS_ALTAR, is_animal, IS_DOOR, is_drawbridge_wall(), IS_FOUNTAIN, IS_GRAVE, is_plural, is_pool(), IS_ROCK, IS_SINK, IS_STWALL, IS_THRONE, IS_TREE, Is_waterlevel, isok(), kick_monster(), kick_object(), KICKING_BOOTS, kickstr(), KILLED_BY, LA_DOWN, LADDER, LEFT_SIDE, LEG, Levitation, levl, looted, losehp(), Luck, LUCKSTONE, m_at, makemon(), makeplural(), map_invisible(), martial, MAY_HIT, mkgold(), mkobj_at(), mksobj(), mksobj_at(), permonst::mlet, MM_ANGRY, MON_AT, mon_nam(), Monnam(), mons, flag::move, monst::mx, monst::my, near_capacity(), newsym(), NH_BLACK, monst::nmon, NO_MM_FLAGS, nolimbs, OBJ_AT, obj::otyp, pay_for_damage(), pline(), PM_BLACK_PUDDING, PM_INCUBUS, PM_KILLER_BEE, PM_SUCCUBUS, PM_WATCH_CAPTAIN, PM_WATCHMAN, poly_gender(), obj::quan, RIGHT_SIDE, RING_CLASS, rn1, rn2(), rnd(), rnd_class(), rnd_treefruit_at(), rnl(), ROOM, rust_dmg(), S_LDWASHER, S_LIZARD, S_LPUDDING, S_LRING, scatter(), SCORR, SDOOR, set_wounded_legs(), SHOPBASE, slithy, SLT_ENCUMBER, sobj_at(), Something, something, flag::soundok, STAIRS, T_LOOTED, TREE_LOOTED, TREE_SWARM, TRUE, TT_BEARTRAP, TT_PIT, TT_WEB, rm::typ, u, u_wipe_engr(), uarmf, unblock_point(), unmap_object(), you::ustuck, you::utrap, you::utraptype, you::ux, you::uy, you::uz, flag::verbose, verysmall, wake_nearby(), weight_cap(), WIN_MESSAGE, Wounded_legs, nhcoord::x, trap::x, xname(), nhcoord::y, trap::y, yn_function(), ynchars, and youmonst.
References gate_str, HOLE, MIGR_LADDER_UP, MIGR_NOWHERE, MIGR_RANDOM, MIGR_SSTAIRS, MIGR_STAIRS_UP, ok_to_quest(), on_level(), qstart_level, sstairs, stairway::sx, stairway::sy, t_at(), TRAPDOOR, u, stairway::up, you::uz, xdnladder, xdnstair, ydnladder, and ydnstair.
Referenced by drop_throw(), impact_drop(), launch_obj(), and ship_object().
References d_level::dlevel, d_level::dnum, In_endgame, Is_botlevel(), Is_stronghold, MIGR_LADDER_UP, MIGR_NOWHERE, MIGR_RANDOM, MIGR_SSTAIRS, MIGR_STAIRS_UP, sstairs, stairway::tolev, u, you::uz, and valley_level.
Referenced by impact_drop(), and ship_object().
STATIC_DCL void FDECL | ( | kickdmg | , |
(struct monst *, BOOLEAN_P) | |||
) |
STATIC_DCL char* FDECL | ( | kickstr | , |
(char *) | |||
) |
STATIC_DCL void FDECL | ( | kick_monster | , |
(XCHAR_P, XCHAR_P) | |||
) |
STATIC_DCL void FDECL | ( | otransit_msg | , |
(struct obj *, BOOLEAN_P, long) | |||
) |
STATIC_DCL int FDECL | ( | kick_object | , |
(XCHAR_P, XCHAR_P) | |||
) |
STATIC_DCL void FDECL | ( | drop_to | , |
(coord *, SCHAR_P) | |||
) |
References A_CHA, ACURR, add_to_minv(), cansee, canseemon, currency(), dealloc_obj(), ESHK, FALSE, invent, is_mercenary, likes_gold, make_happy_shk(), mhis, miss(), mon_nam(), Monnam(), mons, objects, objclass::oc_cost, oresist_disintegration, otense(), pline(), PM_CAPTAIN, PM_LIEUTENANT, PM_SERGEANT, PM_SOLDIER, rn2(), setmangry(), TRUE, u, you::ugold, you::ulevel, vtense(), wakeup(), and xname().
Referenced by kick_object(), and throw_gold().
References add_to_migration(), angry_guards(), BOULDER, cansee, COIN_CLASS, costly_spot(), currency(), down_gate(), drop_to(), ESHK, FALSE, gate_str, Has_contents, hot_pursuit(), in_rooms(), index, Is_sokoprize, level, MIGR_NEAR_PLAYER, Monnam(), monst::mx, monst::my, OBJ_AT, obj_extract_self(), dlevel_t::objects, obj::oclass, obj::otyp, obj::owornmask, obj::ox, obj::oy, picked_container(), PL_NSIZ, pline(), plname, obj::quan, rn2(), ROCK, shop_keeper(), SHOPBASE, stolen_value(), TRUE, u, uball, uchain, you::urooms, you::ux, you::uy, what, nhcoord::x, and nhcoord::y.
Referenced by digactualhole(), fall_through(), goto_level(), and ship_object().
References A_DEX, attack::aatyp, ACURR, an(), AT_KICK, attack_checks(), attacktype(), bhitpos, bigmonst, BUFSZ, can_teleport, damageum(), monst::data, destroy_arm(), exercise(), FALSE, find_roll_to_hit(), Fumbling, glyph_is_invisible, haseyes, inv_weight(), is_floater, is_flyer, kickdmg(), Levitation, levl, m_at, martial, permonst::mattk, monst::mhp, missum(), permonst::mlet, permonst::mmove, permonst::mname, mnexto(), mon, mon_nam(), Monnam(), mons, multi, monst::mx, monst::my, NATTK, newsym(), nohands, nolimbs, objects, oresist_disintegration, obj::otyp, obj::owt, passive(), pline(), PM_SHADE, rn2(), rnd(), S_EEL, setmangry(), slithy, Sprintf, thick_skinned, TRUE, uarm, uarmf, unmap_object(), Upolyd, verysmall, weight_cap(), nhcoord::x, nhcoord::y, and youmonst.
Referenced by dokick().
References A_DEX, ACURR, ACURRSTR, addtobill(), an(), ART_MJOLLNIR, bhit(), bhitpos, Blind, body_part(), BOULDER, BUFSZ, chest_trap(), closed_door(), COIN_CLASS, container_impact_dmg(), CORPSE, corpse_xname(), obj::corpsenm, costly_gold(), costly_spot(), monst::data, distant_name(), Doname2(), done(), you::dx, you::dy, FALSE, FDECL, find_trap(), flooreffects(), FOOT, Fumbling, ghitm(), Hallucination, hero_breaks(), in_rooms(), index, IRON_SAFE, Is_box, is_ice(), is_pool(), IS_ROCK, KICKED_WEAPON, KILLED_BY, killer, killer_format, LEG, level, levl, makeplural(), martial, mon, mons, MONST_P, monst::mx, monst::my, newsym(), notonhead, obj::oartifact, obj_extract_self(), OBJ_MIGRATING, OBJ_MINVENT, OBJ_P, dlevel_t::objects, obj::oclass, otense(), obj::otyp, obj::owt, obj::ox, obj::oy, Passes_walls, PIT, place_object(), pline(), PM_STONE_GOLEM, poly_when_stoned(), polymon(), obj::quan, rn2(), rnd(), shop_keeper(), SHOPBASE, snuff_candle(), something, SPIKED_PIT, splitobj(), Sprintf, stackobj(), stolen_value(), Stone_resistance, STONING, surface(), t_at(), The(), thitmonst(), touch_petrifies, TRUE, u, uarmf, uball, uchain, you::urooms, you::ux, you::uy, WEB, obj::where, nhcoord::x, trap::x, xname(), nhcoord::y, trap::y, youmonst, and ZAP_POS.
Referenced by dokick().
References A_CON, A_DEX, abuse_dog(), ACURR, ACURRSTR, AT_KICK, bigmonst, check_caitiff(), you::dx, you::dy, exercise(), FALSE, goodpos(), is_demon, is_undead, KICKING_BOOTS, killed(), m_in_out_region(), martial, mintrap(), monflee(), Monnam(), mons, newsym(), obj::otyp, P_MARTIAL_ARTS, P_NONE, passive(), pline(), PM_SHADE, remove_monster(), rn2(), rnd(), seemimic(), set_apparxy(), showdmg(), obj::spe, thick_skinned, TRUE, u, uarmf, you::udaminc, use_skill(), and you::ustuck.
Referenced by kick_monster().
STATIC_OVL char* kickstr | ( | char * | buf ) |
void obj_delivery | ( | ) |
References d_level::dlevel, d_level::dnum, MIGR_LADDER_UP, MIGR_NEAR_PLAYER, MIGR_RANDOM, MIGR_SSTAIRS, MIGR_STAIRS_UP, migrating_objs, obj::nobj, obj_extract_self(), otmp, obj::owornmask, obj::ox, obj::oy, place_object(), rloco(), rnd(), scatter(), sstairs, stackobj(), stairway::sx, stairway::sy, u, you::ux, you::uy, you::uz, where, xupladder, xupstair, yupladder, and yupstair.
Referenced by goto_level().
References add_to_migration(), BOULDER, breaktest(), cansee, change_luck(), obj::cobj, COIN_CLASS, obj::corpsenm, costly_spot(), count_unpaid(), down_gate(), drop_to(), EGG, EXPENSIVE_CAMERA, FALSE, GLASS, Has_contents, HOLE, impact_drop(), in_rooms(), index, Is_sokoprize, level, LOW_PM, MIGR_LADDER_UP, MIGR_NOWHERE, min, MIRROR, newsym(), obfree(), OBJ_AT, obj_extract_self(), objects, dlevel_t::objects, obj::oclass, otransit_msg(), obj::otyp, obj::owornmask, obj::ox, obj::oy, picked_container(), obj::quan, rn2(), setuqwep(), setuswapwep(), setuwep(), shop_keeper(), SHOPBASE, obj::spe, stolen_value(), subfrombill(), t_at(), TOURIST, TRAPDOOR, TRUE, u, uball, uchain, uquiver, you::urooms, you::ushops, uswapwep, uwep, you::ux, you::uy, nhcoord::x, and nhcoord::y.
Referenced by bhit(), drop_throw(), dropx(), hitfloor(), launch_obj(), throw_gold(), and throwit().
NEARDATA const char* gate_str [static] |
Referenced by down_gate(), impact_drop(), and otransit_msg().
const char kick_passes_thru[] = "kick passes harmlessly through" [static] |