switch source tree from k&r to c99
This commit is contained in:
310
src/zap.c
310
src/zap.c
@@ -12,22 +12,22 @@
|
||||
*/
|
||||
#define MAGIC_COOKIE 1000
|
||||
|
||||
static void FDECL(polyuse, (struct obj *, int, int));
|
||||
static void FDECL(create_polymon, (struct obj *, int));
|
||||
static int FDECL(stone_to_flesh_obj, (struct obj *));
|
||||
static boolean FDECL(zap_updown, (struct obj *));
|
||||
static void FDECL(zhitu, (int, int, const char *, XCHAR_P, XCHAR_P));
|
||||
static void FDECL(revive_egg, (struct obj *));
|
||||
static boolean FDECL(zap_steed, (struct obj *));
|
||||
static void FDECL(skiprange, (int, int *, int *));
|
||||
static int FDECL(zap_hit, (int, int));
|
||||
static void FDECL(disintegrate_mon, (struct monst *, int, const char *));
|
||||
static void FDECL(backfire, (struct obj *));
|
||||
static int FDECL(zap_ok, (struct obj *));
|
||||
static void FDECL(boxlock_invent, (struct obj *));
|
||||
static int FDECL(spell_hit_bonus, (int));
|
||||
static void FDECL(destroy_one_item, (struct obj *, int, int));
|
||||
static void FDECL(wishcmdassist, (int));
|
||||
static void polyuse(struct obj *, int, int);
|
||||
static void create_polymon(struct obj *, int);
|
||||
static int stone_to_flesh_obj(struct obj *);
|
||||
static boolean zap_updown(struct obj *);
|
||||
static void zhitu(int, int, const char *, xchar, xchar);
|
||||
static void revive_egg(struct obj *);
|
||||
static boolean zap_steed(struct obj *);
|
||||
static void skiprange(int, int *, int *);
|
||||
static int zap_hit(int, int);
|
||||
static void disintegrate_mon(struct monst *, int, const char *);
|
||||
static void backfire(struct obj *);
|
||||
static int zap_ok(struct obj *);
|
||||
static void boxlock_invent(struct obj *);
|
||||
static int spell_hit_bonus(int);
|
||||
static void destroy_one_item(struct obj *, int, int);
|
||||
static void wishcmdassist(int);
|
||||
|
||||
#define ZT_MAGIC_MISSILE (AD_MAGM - 1)
|
||||
#define ZT_FIRE (AD_FIRE - 1)
|
||||
@@ -93,8 +93,7 @@ const char *const flash_types[] = /* also used in buzzmu(mcastu.c) */
|
||||
|
||||
/* wand discovery gets special handling when hero is blinded */
|
||||
void
|
||||
learnwand(obj)
|
||||
struct obj *obj;
|
||||
learnwand(struct obj *obj)
|
||||
{
|
||||
/* For a wand (or wand-like tool) zapped by the player, if the
|
||||
effect was observable (determined by caller; usually seen, but
|
||||
@@ -127,9 +126,7 @@ struct obj *obj;
|
||||
/* Routines for IMMEDIATE wands and spells. */
|
||||
/* bhitm: monster mtmp was hit by the effect of wand or spell otmp */
|
||||
int
|
||||
bhitm(mtmp, otmp)
|
||||
struct monst *mtmp;
|
||||
struct obj *otmp;
|
||||
bhitm(struct monst *mtmp, struct obj *otmp)
|
||||
{
|
||||
boolean wake = TRUE; /* Most 'zaps' should wake monster */
|
||||
boolean reveal_invis = FALSE, learn_it = FALSE;
|
||||
@@ -476,8 +473,7 @@ struct obj *otmp;
|
||||
}
|
||||
|
||||
void
|
||||
probe_monster(mtmp)
|
||||
struct monst *mtmp;
|
||||
probe_monster(struct monst *mtmp)
|
||||
{
|
||||
struct obj *otmp;
|
||||
|
||||
@@ -514,10 +510,7 @@ struct monst *mtmp;
|
||||
* is not available or subject to the constraints above.
|
||||
*/
|
||||
boolean
|
||||
get_obj_location(obj, xp, yp, locflags)
|
||||
struct obj *obj;
|
||||
xchar *xp, *yp;
|
||||
int locflags;
|
||||
get_obj_location(struct obj *obj, xchar *xp, xchar *yp, int locflags)
|
||||
{
|
||||
switch (obj->where) {
|
||||
case OBJ_INVENT:
|
||||
@@ -552,10 +545,9 @@ int locflags;
|
||||
}
|
||||
|
||||
boolean
|
||||
get_mon_location(mon, xp, yp, locflags)
|
||||
struct monst *mon;
|
||||
xchar *xp, *yp;
|
||||
int locflags; /* non-zero means get location even if monster is buried */
|
||||
get_mon_location(struct monst *mon, xchar *xp, xchar *yp,
|
||||
int locflags) /* non-zero means get location even if monster
|
||||
is buried */
|
||||
{
|
||||
if (mon == &g.youmonst) {
|
||||
*xp = u.ux;
|
||||
@@ -573,10 +565,9 @@ int locflags; /* non-zero means get location even if monster is buried */
|
||||
|
||||
/* used by revive() and animate_statue() */
|
||||
struct monst *
|
||||
montraits(obj, cc, adjacentok)
|
||||
struct obj *obj;
|
||||
coord *cc;
|
||||
boolean adjacentok; /* False: at obj's spot only, True: nearby is allowed */
|
||||
montraits(struct obj *obj, coord *cc,
|
||||
boolean adjacentok) /* False: at obj's spot only, True: nearby is
|
||||
allowed */
|
||||
{
|
||||
struct monst *mtmp, *mtmp2 = has_omonst(obj) ? get_mtraits(obj, TRUE) : 0;
|
||||
|
||||
@@ -698,10 +689,7 @@ boolean adjacentok; /* False: at obj's spot only, True: nearby is allowed */
|
||||
* if applicable.
|
||||
*/
|
||||
struct monst *
|
||||
get_container_location(obj, loc, container_nesting)
|
||||
struct obj *obj;
|
||||
int *loc;
|
||||
int *container_nesting;
|
||||
get_container_location(struct obj *obj, int *loc, int *container_nesting)
|
||||
{
|
||||
if (!obj || !loc)
|
||||
return 0;
|
||||
@@ -728,9 +716,7 @@ int *container_nesting;
|
||||
* and only one monster will be resurrected.
|
||||
*/
|
||||
struct monst *
|
||||
revive(corpse, by_hero)
|
||||
struct obj *corpse;
|
||||
boolean by_hero;
|
||||
revive(struct obj *corpse, boolean by_hero)
|
||||
{
|
||||
struct monst *mtmp = 0;
|
||||
struct permonst *mptr;
|
||||
@@ -959,8 +945,7 @@ boolean by_hero;
|
||||
}
|
||||
|
||||
static void
|
||||
revive_egg(obj)
|
||||
struct obj *obj;
|
||||
revive_egg(struct obj *obj)
|
||||
{
|
||||
/*
|
||||
* Note: generic eggs with corpsenm set to NON_PM will never hatch.
|
||||
@@ -973,8 +958,7 @@ struct obj *obj;
|
||||
|
||||
/* try to revive all corpses and eggs carried by `mon' */
|
||||
int
|
||||
unturn_dead(mon)
|
||||
struct monst *mon;
|
||||
unturn_dead(struct monst *mon)
|
||||
{
|
||||
struct obj *otmp, *otmp2;
|
||||
struct monst *mtmp2;
|
||||
@@ -1035,7 +1019,7 @@ struct monst *mon;
|
||||
}
|
||||
|
||||
void
|
||||
unturn_you()
|
||||
unturn_you(void)
|
||||
{
|
||||
(void) unturn_dead(&g.youmonst); /* hit carried corpses and eggs */
|
||||
|
||||
@@ -1049,8 +1033,7 @@ unturn_you()
|
||||
|
||||
/* cancel obj, possibly carried by you or a monster */
|
||||
void
|
||||
cancel_item(obj)
|
||||
register struct obj *obj;
|
||||
cancel_item(struct obj *obj)
|
||||
{
|
||||
int otyp = obj->otyp;
|
||||
|
||||
@@ -1175,9 +1158,7 @@ register struct obj *obj;
|
||||
* possibly carried by you or a monster
|
||||
*/
|
||||
boolean
|
||||
drain_item(obj, by_you)
|
||||
struct obj *obj;
|
||||
boolean by_you;
|
||||
drain_item(struct obj *obj, boolean by_you)
|
||||
{
|
||||
boolean u_ring;
|
||||
|
||||
@@ -1253,9 +1234,9 @@ boolean by_you;
|
||||
}
|
||||
|
||||
boolean
|
||||
obj_resists(obj, ochance, achance)
|
||||
struct obj *obj;
|
||||
int ochance, achance; /* percent chance for ordinary objects, artifacts */
|
||||
obj_resists(struct obj *obj,
|
||||
int ochance, /* percent chance for ordinary objects */
|
||||
int achance) /* percent chance for artifacts */
|
||||
{
|
||||
if (obj->otyp == AMULET_OF_YENDOR
|
||||
|| obj->otyp == SPE_BOOK_OF_THE_DEAD
|
||||
@@ -1271,8 +1252,7 @@ int ochance, achance; /* percent chance for ordinary objects, artifacts */
|
||||
}
|
||||
|
||||
boolean
|
||||
obj_shudders(obj)
|
||||
struct obj *obj;
|
||||
obj_shudders(struct obj *obj)
|
||||
{
|
||||
int zap_odds;
|
||||
|
||||
@@ -1301,9 +1281,7 @@ struct obj *obj;
|
||||
* at the top of the pile.
|
||||
*/
|
||||
static void
|
||||
polyuse(objhdr, mat, minwt)
|
||||
struct obj *objhdr;
|
||||
int mat, minwt;
|
||||
polyuse(struct obj *objhdr, int mat, int minwt)
|
||||
{
|
||||
register struct obj *otmp, *otmp2;
|
||||
|
||||
@@ -1344,9 +1322,7 @@ int mat, minwt;
|
||||
* a golem of the kind okind.
|
||||
*/
|
||||
static void
|
||||
create_polymon(obj, okind)
|
||||
struct obj *obj;
|
||||
int okind;
|
||||
create_polymon(struct obj *obj, int okind)
|
||||
{
|
||||
struct permonst *mdat = (struct permonst *) 0;
|
||||
struct monst *mtmp;
|
||||
@@ -1437,8 +1413,7 @@ int okind;
|
||||
|
||||
/* Assumes obj is on the floor. */
|
||||
void
|
||||
do_osshock(obj)
|
||||
struct obj *obj;
|
||||
do_osshock(struct obj *obj)
|
||||
{
|
||||
long i;
|
||||
|
||||
@@ -1479,8 +1454,7 @@ struct obj *obj;
|
||||
|
||||
/* Returns TRUE if obj resists polymorphing */
|
||||
boolean
|
||||
obj_unpolyable(obj)
|
||||
struct obj *obj;
|
||||
obj_unpolyable(struct obj *obj)
|
||||
{
|
||||
return (unpolyable(obj)
|
||||
|| obj == uball || obj == uskin
|
||||
@@ -1504,9 +1478,7 @@ static const char charged_objs[] = { WAND_CLASS, WEAPON_CLASS, ARMOR_CLASS,
|
||||
* This should be safe to call for an object anywhere.
|
||||
*/
|
||||
struct obj *
|
||||
poly_obj(obj, id)
|
||||
struct obj *obj;
|
||||
int id;
|
||||
poly_obj(struct obj *obj, int id)
|
||||
{
|
||||
struct obj *otmp;
|
||||
xchar ox = 0, oy = 0;
|
||||
@@ -1775,8 +1747,7 @@ int id;
|
||||
|
||||
/* stone-to-flesh spell hits and maybe transforms or animates obj */
|
||||
static int
|
||||
stone_to_flesh_obj(obj)
|
||||
struct obj *obj;
|
||||
stone_to_flesh_obj(struct obj *obj)
|
||||
{
|
||||
int res = 1; /* affected object by default */
|
||||
struct permonst *ptr;
|
||||
@@ -1899,8 +1870,7 @@ struct obj *obj;
|
||||
* non-zero if the wand/spell had any effect.
|
||||
*/
|
||||
int
|
||||
bhito(obj, otmp)
|
||||
struct obj *obj, *otmp;
|
||||
bhito(struct obj *obj, struct obj *otmp)
|
||||
{
|
||||
int res = 1; /* affected object by default */
|
||||
boolean learn_it = FALSE, maybelearnit;
|
||||
@@ -2173,11 +2143,7 @@ struct obj *obj, *otmp;
|
||||
|
||||
/* returns nonzero if something was hit */
|
||||
int
|
||||
bhitpile(obj, fhito, tx, ty, zz)
|
||||
struct obj *obj;
|
||||
int FDECL((*fhito), (OBJ_P, OBJ_P));
|
||||
int tx, ty;
|
||||
schar zz;
|
||||
bhitpile(struct obj *obj, int (*fhito)(OBJ_P, OBJ_P), int tx, int ty, schar zz)
|
||||
{
|
||||
int hitanything = 0;
|
||||
register struct obj *otmp, *next_obj;
|
||||
@@ -2217,8 +2183,7 @@ schar zz;
|
||||
* added by GAN 11/03/86
|
||||
*/
|
||||
int
|
||||
zappable(wand)
|
||||
register struct obj *wand;
|
||||
zappable(struct obj *wand)
|
||||
{
|
||||
if (wand->spe < 0 || (wand->spe == 0 && rn2(121)))
|
||||
return 0;
|
||||
@@ -2229,7 +2194,7 @@ register struct obj *wand;
|
||||
}
|
||||
|
||||
void
|
||||
do_enlightenment_effect()
|
||||
do_enlightenment_effect(void)
|
||||
{
|
||||
You_feel("self-knowledgeable...");
|
||||
display_nhwindow(WIN_MESSAGE, FALSE);
|
||||
@@ -2243,8 +2208,7 @@ do_enlightenment_effect()
|
||||
* added by GAN 11/03/86
|
||||
*/
|
||||
void
|
||||
zapnodir(obj)
|
||||
register struct obj *obj;
|
||||
zapnodir(struct obj *obj)
|
||||
{
|
||||
boolean known = FALSE;
|
||||
|
||||
@@ -2291,8 +2255,7 @@ register struct obj *obj;
|
||||
}
|
||||
|
||||
static void
|
||||
backfire(otmp)
|
||||
struct obj *otmp;
|
||||
backfire(struct obj *otmp)
|
||||
{
|
||||
int dmg;
|
||||
|
||||
@@ -2305,8 +2268,7 @@ struct obj *otmp;
|
||||
|
||||
/* getobj callback for object to zap */
|
||||
static int
|
||||
zap_ok(obj)
|
||||
struct obj *obj;
|
||||
zap_ok(struct obj *obj)
|
||||
{
|
||||
if (obj && obj->oclass == WAND_CLASS)
|
||||
return GETOBJ_SUGGEST;
|
||||
@@ -2315,7 +2277,7 @@ struct obj *obj;
|
||||
|
||||
/* 'z' command (or 'y' if numbed_pad==-1) */
|
||||
int
|
||||
dozap()
|
||||
dozap(void)
|
||||
{
|
||||
struct obj *obj;
|
||||
int damage, need_dir;
|
||||
@@ -2374,8 +2336,7 @@ dozap()
|
||||
|
||||
/* Lock or unlock all boxes in inventory */
|
||||
static void
|
||||
boxlock_invent(obj)
|
||||
struct obj *obj;
|
||||
boxlock_invent(struct obj *obj)
|
||||
{
|
||||
struct obj *otmp;
|
||||
boolean boxing = FALSE;
|
||||
@@ -2391,9 +2352,7 @@ struct obj *obj;
|
||||
}
|
||||
|
||||
int
|
||||
zapyourself(obj, ordinary)
|
||||
struct obj *obj;
|
||||
boolean ordinary;
|
||||
zapyourself(struct obj *obj, boolean ordinary)
|
||||
{
|
||||
boolean learn_it = FALSE;
|
||||
int damage = 0;
|
||||
@@ -2697,8 +2656,7 @@ boolean ordinary;
|
||||
|
||||
/* called when poly'd hero uses breath attack against self */
|
||||
void
|
||||
ubreatheu(mattk)
|
||||
struct attack *mattk;
|
||||
ubreatheu(struct attack *mattk)
|
||||
{
|
||||
int dtyp = 20 + mattk->adtyp - 1; /* breath by hero */
|
||||
const char *fltxt = flash_types[dtyp]; /* blast of <something> */
|
||||
@@ -2708,10 +2666,10 @@ struct attack *mattk;
|
||||
|
||||
/* light damages hero in gremlin form */
|
||||
int
|
||||
lightdamage(obj, ordinary, amt)
|
||||
struct obj *obj; /* item making light (fake book if spell) */
|
||||
boolean ordinary; /* wand/camera zap vs wand destruction */
|
||||
int amt; /* pseudo-damage used to determine blindness duration */
|
||||
lightdamage(struct obj *obj, /* item making light (fake book if spell) */
|
||||
boolean ordinary, /* wand/camera zap vs wand destruction */
|
||||
int amt) /* pseudo-damage used to determine blindness
|
||||
duration */
|
||||
{
|
||||
char buf[BUFSZ];
|
||||
const char *how;
|
||||
@@ -2742,8 +2700,7 @@ int amt; /* pseudo-damage used to determine blindness duration */
|
||||
|
||||
/* light[ning] causes blindness */
|
||||
boolean
|
||||
flashburn(duration)
|
||||
long duration;
|
||||
flashburn(long duration)
|
||||
{
|
||||
if (!resists_blnd(&g.youmonst)) {
|
||||
You(are_blinded_by_the_flash);
|
||||
@@ -2760,8 +2717,7 @@ long duration;
|
||||
* Return FALSE if the steed was not hit by the wand.
|
||||
*/
|
||||
static boolean
|
||||
zap_steed(obj)
|
||||
struct obj *obj; /* wand or spell */
|
||||
zap_steed(struct obj *obj) /* wand or spell */
|
||||
{
|
||||
int steedhit = FALSE;
|
||||
|
||||
@@ -2824,10 +2780,8 @@ struct obj *obj; /* wand or spell */
|
||||
* themselves with cancellation.
|
||||
*/
|
||||
boolean
|
||||
cancel_monst(mdef, obj, youattack, allow_cancel_kill, self_cancel)
|
||||
register struct monst *mdef;
|
||||
register struct obj *obj;
|
||||
boolean youattack, allow_cancel_kill, self_cancel;
|
||||
cancel_monst(struct monst *mdef, struct obj *obj, boolean youattack,
|
||||
boolean allow_cancel_kill, boolean self_cancel)
|
||||
{
|
||||
static const char
|
||||
writing_vanishes[] = "Some writing vanishes from %s head!",
|
||||
@@ -2906,8 +2860,7 @@ boolean youattack, allow_cancel_kill, self_cancel;
|
||||
|
||||
/* you've zapped an immediate type wand up or down */
|
||||
static boolean
|
||||
zap_updown(obj)
|
||||
struct obj *obj; /* wand or spell */
|
||||
zap_updown(struct obj *obj) /* wand or spell */
|
||||
{
|
||||
boolean striking = FALSE, disclose = FALSE;
|
||||
int x, y, xx, yy, ptmp;
|
||||
@@ -3115,13 +3068,13 @@ struct obj *obj; /* wand or spell */
|
||||
|
||||
/* used by do_break_wand() was well as by weffects() */
|
||||
void
|
||||
zapsetup()
|
||||
zapsetup(void)
|
||||
{
|
||||
g.obj_zapped = FALSE;
|
||||
}
|
||||
|
||||
void
|
||||
zapwrapup()
|
||||
zapwrapup(void)
|
||||
{
|
||||
/* if do_osshock() set obj_zapped while polying, give a message now */
|
||||
if (g.obj_zapped)
|
||||
@@ -3131,8 +3084,7 @@ zapwrapup()
|
||||
|
||||
/* called for various wand and spell effects - M. Stephenson */
|
||||
void
|
||||
weffects(obj)
|
||||
struct obj *obj;
|
||||
weffects(struct obj *obj)
|
||||
{
|
||||
int otyp = obj->otyp;
|
||||
boolean disclose = FALSE, was_unkn = !objects[otyp].oc_name_known;
|
||||
@@ -3182,8 +3134,7 @@ struct obj *obj;
|
||||
|
||||
/* augment damage for a spell dased on the hero's intelligence (and level) */
|
||||
int
|
||||
spell_damage_bonus(dmg)
|
||||
int dmg; /* base amount to be adjusted by bonus or penalty */
|
||||
spell_damage_bonus(int dmg) /* base amount to be adjusted by bonus or penalty */
|
||||
{
|
||||
int intell = ACURR(A_INT);
|
||||
|
||||
@@ -3211,8 +3162,7 @@ int dmg; /* base amount to be adjusted by bonus or penalty */
|
||||
* spell class and dexterity.
|
||||
*/
|
||||
static int
|
||||
spell_hit_bonus(skill)
|
||||
int skill;
|
||||
spell_hit_bonus(int skill)
|
||||
{
|
||||
int hit_bon = 0;
|
||||
int dex = ACURR(A_DEX);
|
||||
@@ -3250,8 +3200,7 @@ int skill;
|
||||
}
|
||||
|
||||
const char *
|
||||
exclam(force)
|
||||
int force;
|
||||
exclam(int force)
|
||||
{
|
||||
/* force == 0 occurs e.g. with sleep ray */
|
||||
/* note that large force is usual with wands so that !! would
|
||||
@@ -3260,10 +3209,8 @@ int force;
|
||||
}
|
||||
|
||||
void
|
||||
hit(str, mtmp, force)
|
||||
const char *str;
|
||||
struct monst *mtmp;
|
||||
const char *force; /* usually either "." or "!" */
|
||||
hit(const char *str, struct monst *mtmp,
|
||||
const char *force) /* usually either "." or "!" */
|
||||
{
|
||||
if ((!cansee(g.bhitpos.x, g.bhitpos.y) && !canspotmon(mtmp)
|
||||
&& !(u.uswallow && mtmp == u.ustuck)) || !flags.verbose)
|
||||
@@ -3274,9 +3221,7 @@ const char *force; /* usually either "." or "!" */
|
||||
}
|
||||
|
||||
void
|
||||
miss(str, mtmp)
|
||||
register const char *str;
|
||||
register struct monst *mtmp;
|
||||
miss(const char *str, struct monst *mtmp)
|
||||
{
|
||||
pline(
|
||||
"%s %s %s.", The(str), vtense(str, "miss"),
|
||||
@@ -3286,8 +3231,7 @@ register struct monst *mtmp;
|
||||
}
|
||||
|
||||
static void
|
||||
skiprange(range, skipstart, skipend)
|
||||
int range, *skipstart, *skipend;
|
||||
skiprange(int range, int *skipstart, int *skipend)
|
||||
{
|
||||
int tr = (range / 4);
|
||||
int tmp = range - ((tr > 0) ? rnd(tr) : 0);
|
||||
@@ -3320,13 +3264,12 @@ int range, *skipstart, *skipend;
|
||||
* one is revealed for a weapon, but if not a weapon is left up to fhitm().
|
||||
*/
|
||||
struct monst *
|
||||
bhit(ddx, ddy, range, weapon, fhitm, fhito, pobj)
|
||||
register int ddx, ddy, range; /* direction and range */
|
||||
enum bhit_call_types weapon; /* defined in hack.h */
|
||||
int FDECL((*fhitm), (MONST_P, OBJ_P)), /* fns called when mon/obj hit */
|
||||
FDECL((*fhito), (OBJ_P, OBJ_P));
|
||||
struct obj **pobj; /* object tossed/used, set to NULL
|
||||
* if object is destroyed */
|
||||
bhit(int ddx, int ddy, int range, /* direction and range */
|
||||
enum bhit_call_types weapon, /* defined in hack.h */
|
||||
int (*fhitm)(MONST_P, OBJ_P), /* fns called when mon/obj hit */
|
||||
int (*fhito)(OBJ_P, OBJ_P),
|
||||
struct obj **pobj) /* object tossed/used, set to NULL
|
||||
if object is destroyed */
|
||||
{
|
||||
struct monst *mtmp, *result = (struct monst *) 0;
|
||||
struct obj *obj = *pobj;
|
||||
@@ -3630,9 +3573,7 @@ struct obj **pobj; /* object tossed/used, set to NULL
|
||||
* is too obviously silly.
|
||||
*/
|
||||
struct monst *
|
||||
boomhit(obj, dx, dy)
|
||||
struct obj *obj;
|
||||
int dx, dy;
|
||||
boomhit(struct obj *obj, int dx, int dy)
|
||||
{
|
||||
register int i, ct;
|
||||
int boom; /* showsym[] index */
|
||||
@@ -3710,10 +3651,8 @@ int dx, dy;
|
||||
/* used by buzz(); also used by munslime(muse.c); returns damage applied
|
||||
to mon; note: caller is responsible for killing mon if damage is fatal */
|
||||
int
|
||||
zhitm(mon, type, nd, ootmp)
|
||||
register struct monst *mon;
|
||||
register int type, nd;
|
||||
struct obj **ootmp; /* to return worn armor for caller to disintegrate */
|
||||
zhitm(struct monst *mon, int type, int nd,
|
||||
struct obj **ootmp) /* to return worn armor for caller to disintegrate */
|
||||
{
|
||||
register int tmp = 0;
|
||||
register int abstype = abs(type) % 10;
|
||||
@@ -3874,10 +3813,7 @@ struct obj **ootmp; /* to return worn armor for caller to disintegrate */
|
||||
}
|
||||
|
||||
static void
|
||||
zhitu(type, nd, fltxt, sx, sy)
|
||||
int type, nd;
|
||||
const char *fltxt;
|
||||
xchar sx, sy;
|
||||
zhitu(int type, int nd, const char *fltxt, xchar sx, xchar sy)
|
||||
{
|
||||
int dam = 0, abstyp = abs(type);
|
||||
|
||||
@@ -4017,10 +3953,10 @@ xchar sx, sy;
|
||||
* at position x,y; return the number of objects burned
|
||||
*/
|
||||
int
|
||||
burn_floor_objects(x, y, give_feedback, u_caused)
|
||||
int x, y;
|
||||
boolean give_feedback; /* caller needs to decide about visibility checks */
|
||||
boolean u_caused;
|
||||
burn_floor_objects(int x, int y,
|
||||
boolean give_feedback, /* caller needs to decide about
|
||||
visibility checks */
|
||||
boolean u_caused)
|
||||
{
|
||||
struct obj *obj, *obj2;
|
||||
long i, scrquan, delquan;
|
||||
@@ -4078,9 +4014,8 @@ boolean u_caused;
|
||||
|
||||
/* will zap/spell/breath attack score a hit against armor class `ac'? */
|
||||
static int
|
||||
zap_hit(ac, type)
|
||||
int ac;
|
||||
int type; /* either hero cast spell type or 0 */
|
||||
zap_hit(int ac,
|
||||
int type) /* either hero cast spell type or 0 */
|
||||
{
|
||||
int chance = rn2(20);
|
||||
int spell_bonus = type ? spell_hit_bonus(type) : 0;
|
||||
@@ -4096,10 +4031,9 @@ int type; /* either hero cast spell type or 0 */
|
||||
}
|
||||
|
||||
static void
|
||||
disintegrate_mon(mon, type, fltxt)
|
||||
struct monst *mon;
|
||||
int type; /* hero vs other */
|
||||
const char *fltxt;
|
||||
disintegrate_mon(struct monst *mon,
|
||||
int type, /* hero vs other */
|
||||
const char *fltxt)
|
||||
{
|
||||
struct obj *otmp, *otmp2, *m_amulet = mlifesaver(mon);
|
||||
|
||||
@@ -4141,10 +4075,7 @@ const char *fltxt;
|
||||
}
|
||||
|
||||
void
|
||||
buzz(type, nd, sx, sy, dx, dy)
|
||||
int type, nd;
|
||||
xchar sx, sy;
|
||||
int dx, dy;
|
||||
buzz(int type, int nd, xchar sx, xchar sy, int dx, int dy)
|
||||
{
|
||||
dobuzz(type, nd, sx, sy, dx, dy, TRUE);
|
||||
}
|
||||
@@ -4159,11 +4090,8 @@ int dx, dy;
|
||||
* called with dx = dy = 0 with vertical bolts
|
||||
*/
|
||||
void
|
||||
dobuzz(type, nd, sx, sy, dx, dy, say)
|
||||
register int type, nd;
|
||||
register xchar sx, sy;
|
||||
register int dx, dy;
|
||||
boolean say; /* Announce out of sight hit/miss events if true */
|
||||
dobuzz(int type, int nd, xchar sx, xchar sy, int dx, int dy,
|
||||
boolean say) /* Announce out of sight hit/miss events if true */
|
||||
{
|
||||
int range, abstype = abs(type) % 10;
|
||||
register xchar lsx, lsy;
|
||||
@@ -4430,9 +4358,7 @@ boolean say; /* Announce out of sight hit/miss events if true */
|
||||
}
|
||||
|
||||
void
|
||||
melt_ice(x, y, msg)
|
||||
xchar x, y;
|
||||
const char *msg;
|
||||
melt_ice(xchar x, xchar y, const char *msg)
|
||||
{
|
||||
struct rm *lev = &levl[x][y];
|
||||
struct obj *otmp;
|
||||
@@ -4485,9 +4411,9 @@ const char *msg;
|
||||
* permanent instead.
|
||||
*/
|
||||
void
|
||||
start_melt_ice_timeout(x, y, min_time)
|
||||
xchar x, y;
|
||||
long min_time; /* <x,y>'s old melt timeout (deleted by time we get here) */
|
||||
start_melt_ice_timeout(xchar x, xchar y,
|
||||
long min_time) /* <x,y>'s old melt timeout (deleted by
|
||||
time we get here) */
|
||||
{
|
||||
int when;
|
||||
long where;
|
||||
@@ -4516,9 +4442,7 @@ long min_time; /* <x,y>'s old melt timeout (deleted by time we get here) */
|
||||
* Called when ice has melted completely away.
|
||||
*/
|
||||
void
|
||||
melt_ice_away(arg, timeout)
|
||||
anything *arg;
|
||||
long timeout UNUSED;
|
||||
melt_ice_away(anything *arg, long timeout UNUSED)
|
||||
{
|
||||
xchar x, y;
|
||||
long where = arg->a_long;
|
||||
@@ -4539,11 +4463,8 @@ long timeout UNUSED;
|
||||
* amount by which range is reduced (the latter is just ignored by fireballs)
|
||||
*/
|
||||
int
|
||||
zap_over_floor(x, y, type, shopdamage, exploding_wand_typ)
|
||||
xchar x, y;
|
||||
int type;
|
||||
boolean *shopdamage;
|
||||
short exploding_wand_typ;
|
||||
zap_over_floor(xchar x, xchar y, int type, boolean *shopdamage,
|
||||
short exploding_wand_typ)
|
||||
{
|
||||
const char *zapverb;
|
||||
struct monst *mon;
|
||||
@@ -4844,8 +4765,7 @@ short exploding_wand_typ;
|
||||
|
||||
/* fractured by pick-axe or wand of striking */
|
||||
void
|
||||
fracture_rock(obj)
|
||||
register struct obj *obj; /* no texts here! */
|
||||
fracture_rock(struct obj *obj) /* no texts here! */
|
||||
{
|
||||
xchar x, y;
|
||||
boolean by_you = !g.context.mon_moving;
|
||||
@@ -4888,8 +4808,7 @@ register struct obj *obj; /* no texts here! */
|
||||
|
||||
/* handle statue hit by striking/force bolt/pick-axe */
|
||||
boolean
|
||||
break_statue(obj)
|
||||
register struct obj *obj;
|
||||
break_statue(struct obj *obj)
|
||||
{
|
||||
/* [obj is assumed to be on floor, so no get_obj_location() needed] */
|
||||
struct trap *trap = t_at(obj->ox, obj->oy);
|
||||
@@ -4939,9 +4858,7 @@ const char *const destroy_strings[][3] = {
|
||||
/* guts of destroy_item(), which ought to be called maybe_destroy_items();
|
||||
caller must decide whether obj is eligible */
|
||||
static void
|
||||
destroy_one_item(obj, osym, dmgtyp)
|
||||
struct obj *obj;
|
||||
int osym, dmgtyp;
|
||||
destroy_one_item(struct obj *obj, int osym, int dmgtyp)
|
||||
{
|
||||
long i, cnt, quan;
|
||||
int dmg, xresist, skip, dindx;
|
||||
@@ -5086,8 +5003,7 @@ int osym, dmgtyp;
|
||||
|
||||
/* target items of specified class for possible destruction */
|
||||
void
|
||||
destroy_item(osym, dmgtyp)
|
||||
int osym, dmgtyp;
|
||||
destroy_item(int osym, int dmgtyp)
|
||||
{
|
||||
register struct obj *obj;
|
||||
int i, deferral_indx = 0;
|
||||
@@ -5168,9 +5084,7 @@ int osym, dmgtyp;
|
||||
}
|
||||
|
||||
int
|
||||
destroy_mitem(mtmp, osym, dmgtyp)
|
||||
struct monst *mtmp;
|
||||
int osym, dmgtyp;
|
||||
destroy_mitem(struct monst *mtmp, int osym, int dmgtyp)
|
||||
{
|
||||
struct obj *obj;
|
||||
int skip, tmp = 0;
|
||||
@@ -5288,10 +5202,7 @@ int osym, dmgtyp;
|
||||
}
|
||||
|
||||
int
|
||||
resist(mtmp, oclass, damage, tell)
|
||||
struct monst *mtmp;
|
||||
char oclass;
|
||||
int damage, tell;
|
||||
resist(struct monst *mtmp, char oclass, int damage, int tell)
|
||||
{
|
||||
int resisted;
|
||||
int alev, dlev;
|
||||
@@ -5356,8 +5267,7 @@ int damage, tell;
|
||||
#define MAXWISHTRY 5
|
||||
|
||||
static void
|
||||
wishcmdassist(triesleft)
|
||||
int triesleft;
|
||||
wishcmdassist(int triesleft)
|
||||
{
|
||||
static NEARDATA const char *
|
||||
wishinfo[] = {
|
||||
@@ -5414,7 +5324,7 @@ int triesleft;
|
||||
}
|
||||
|
||||
void
|
||||
makewish()
|
||||
makewish(void)
|
||||
{
|
||||
char buf[BUFSZ] = DUMMY;
|
||||
char promptbuf[BUFSZ];
|
||||
|
||||
Reference in New Issue
Block a user