From 84e7d0704483ce39bbdeacd5e676168db6fa664f Mon Sep 17 00:00:00 2001 From: christos Date: Sun, 19 Oct 1997 16:56:41 +0000 Subject: WARNsify... --- hack/hack.mhitu.c | 366 +++++++++++++++++++++++++++++------------------------- 1 file changed, 198 insertions(+), 168 deletions(-) (limited to 'hack/hack.mhitu.c') diff --git a/hack/hack.mhitu.c b/hack/hack.mhitu.c index 430bfa42..c5749cc1 100644 --- a/hack/hack.mhitu.c +++ b/hack/hack.mhitu.c @@ -1,129 +1,136 @@ +/* $NetBSD: hack.mhitu.c,v 1.4 1997/10/19 16:58:22 christos Exp $ */ + /* * Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */ +#include #ifndef lint -static char rcsid[] = "$NetBSD: hack.mhitu.c,v 1.3 1995/03/23 08:30:42 cgd Exp $"; -#endif /* not lint */ +__RCSID("$NetBSD: hack.mhitu.c,v 1.4 1997/10/19 16:58:22 christos Exp $"); +#endif /* not lint */ -#include "hack.h" -extern struct monst *makemon(); +#include "hack.h" +#include "extern.h" /* * mhitu: monster hits you * returns 1 if monster dies (e.g. 'y', 'F'), 0 otherwise */ +int mhitu(mtmp) -register struct monst *mtmp; + struct monst *mtmp; { - register struct permonst *mdat = mtmp->data; - register int tmp, ctmp; + struct permonst *mdat = mtmp->data; + int tmp, ctmp; nomul(0); /* If swallowed, can only be affected by hissers and by u.ustuck */ - if(u.uswallow) { - if(mtmp != u.ustuck) { - if(mdat->mlet == 'c' && !rn2(13)) { + if (u.uswallow) { + if (mtmp != u.ustuck) { + if (mdat->mlet == 'c' && !rn2(13)) { pline("Outside, you hear %s's hissing!", - monnam(mtmp)); + monnam(mtmp)); pline("%s gets turned to stone!", - Monnam(u.ustuck)); + Monnam(u.ustuck)); pline("And the same fate befalls you."); done_in_by(mtmp); /* "notreached": not return(1); */ } - return(0); + return (0); } - switch(mdat->mlet) { /* now mtmp == u.ustuck */ + switch (mdat->mlet) { /* now mtmp == u.ustuck */ case ',': - youswld(mtmp, (u.uac > 0) ? u.uac+4 : 4, + youswld(mtmp, (u.uac > 0) ? u.uac + 4 : 4, 5, "The trapper"); break; case '\'': - youswld(mtmp,rnd(6),7,"The lurker above"); + youswld(mtmp, rnd(6), 7, "The lurker above"); break; case 'P': - youswld(mtmp,d(2,4),12,"The purple worm"); + youswld(mtmp, d(2, 4), 12, "The purple worm"); break; default: /* This is not impossible! */ pline("The mysterious monster totally digests you."); u.uhp = 0; } - if(u.uhp < 1) done_in_by(mtmp); - return(0); + if (u.uhp < 1) + done_in_by(mtmp); + return (0); } - - if(mdat->mlet == 'c' && Stoned) - return(0); + if (mdat->mlet == 'c' && Stoned) + return (0); /* make eels visible the moment they hit/miss us */ - if(mdat->mlet == ';' && mtmp->minvis && cansee(mtmp->mx,mtmp->my)){ + if (mdat->mlet == ';' && mtmp->minvis && cansee(mtmp->mx, mtmp->my)) { mtmp->minvis = 0; pmon(mtmp); } - if(!index("1&DuxynNF",mdat->mlet)) - tmp = hitu(mtmp,d(mdat->damn,mdat->damd)); + if (!strchr("1&DuxynNF", mdat->mlet)) + tmp = hitu(mtmp, d(mdat->damn, mdat->damd)); else tmp = 0; - if(index(UNDEAD, mdat->mlet) && midnight()) - tmp += hitu(mtmp,d(mdat->damn,mdat->damd)); + if (strchr(UNDEAD, mdat->mlet) && midnight()) + tmp += hitu(mtmp, d(mdat->damn, mdat->damd)); ctmp = tmp && !mtmp->mcan && - (!uarm || objects[uarm->otyp].a_can < rnd(3) || !rn2(50)); - switch(mdat->mlet) { + (!uarm || objects[uarm->otyp].a_can < rnd(3) || !rn2(50)); + switch (mdat->mlet) { case '1': - if(wiz_hit(mtmp)) return(1); /* he disappeared */ + if (wiz_hit(mtmp)) + return (1); /* he disappeared */ break; case '&': - if(!mtmp->cham && !mtmp->mcan && !rn2(13)) { - (void) makemon(PM_DEMON,u.ux,u.uy); + if (!mtmp->cham && !mtmp->mcan && !rn2(13)) { + (void) makemon(PM_DEMON, u.ux, u.uy); } else { - (void) hitu(mtmp,d(2,6)); - (void) hitu(mtmp,d(2,6)); - (void) hitu(mtmp,rnd(3)); - (void) hitu(mtmp,rnd(3)); - (void) hitu(mtmp,rn1(4,2)); + (void) hitu(mtmp, d(2, 6)); + (void) hitu(mtmp, d(2, 6)); + (void) hitu(mtmp, rnd(3)); + (void) hitu(mtmp, rnd(3)); + (void) hitu(mtmp, rn1(4, 2)); } break; case ',': - if(tmp) justswld(mtmp,"The trapper"); + if (tmp) + justswld(mtmp, "The trapper"); break; case '\'': - if(tmp) justswld(mtmp, "The lurker above"); + if (tmp) + justswld(mtmp, "The lurker above"); break; case ';': - if(ctmp) { - if(!u.ustuck && !rn2(10)) { + if (ctmp) { + if (!u.ustuck && !rn2(10)) { pline("%s swings itself around you!", - Monnam(mtmp)); + Monnam(mtmp)); u.ustuck = mtmp; - } else if(u.ustuck == mtmp && - levl[mtmp->mx][mtmp->my].typ == POOL) { + } else if (u.ustuck == mtmp && + levl[mtmp->mx][mtmp->my].typ == POOL) { pline("%s drowns you ...", Monnam(mtmp)); done("drowned"); } } break; case 'A': - if(ctmp && rn2(2)) { - if(Poison_resistance) - pline("The sting doesn't seem to affect you."); - else { - pline("You feel weaker!"); - losestr(1); - } + if (ctmp && rn2(2)) { + if (Poison_resistance) + pline("The sting doesn't seem to affect you."); + else { + pline("You feel weaker!"); + losestr(1); + } } break; case 'C': - (void) hitu(mtmp,rnd(6)); + (void) hitu(mtmp, rnd(6)); break; case 'c': - if(!rn2(5)) { + if (!rn2(5)) { pline("You hear %s's hissing!", monnam(mtmp)); - if(ctmp || !rn2(20) || (flags.moonphase == NEW_MOON - && !carrying(DEAD_LIZARD))) { + if (ctmp || !rn2(20) || (flags.moonphase == NEW_MOON + && !carrying(DEAD_LIZARD))) { Stoned = 5; /* pline("You get turned to stone!"); */ /* done_in_by(mtmp); */ @@ -131,238 +138,261 @@ register struct monst *mtmp; } break; case 'D': - if(rn2(6) || mtmp->mcan) { - (void) hitu(mtmp,d(3,10)); - (void) hitu(mtmp,rnd(8)); - (void) hitu(mtmp,rnd(8)); + if (rn2(6) || mtmp->mcan) { + (void) hitu(mtmp, d(3, 10)); + (void) hitu(mtmp, rnd(8)); + (void) hitu(mtmp, rnd(8)); break; } - kludge("%s breathes fire!","The dragon"); - buzz(-1,mtmp->mx,mtmp->my,u.ux-mtmp->mx,u.uy-mtmp->my); + kludge("%s breathes fire!", "The dragon"); + buzz(-1, mtmp->mx, mtmp->my, u.ux - mtmp->mx, u.uy - mtmp->my); break; case 'd': - (void) hitu(mtmp,d(2, (flags.moonphase == FULL_MOON) ? 3 : 4)); + (void) hitu(mtmp, d(2, (flags.moonphase == FULL_MOON) ? 3 : 4)); break; case 'e': - (void) hitu(mtmp,d(3,6)); + (void) hitu(mtmp, d(3, 6)); break; case 'F': - if(mtmp->mcan) break; - kludge("%s explodes!","The freezing sphere"); - if(Cold_resistance) pline("You don't seem affected by it."); + if (mtmp->mcan) + break; + kludge("%s explodes!", "The freezing sphere"); + if (Cold_resistance) + pline("You don't seem affected by it."); else { - xchar dn; - if(17-(u.ulevel/2) > rnd(20)) { + xchar dn; + if (17 - (u.ulevel / 2) > rnd(20)) { pline("You get blasted!"); dn = 6; } else { pline("You duck the blast..."); dn = 3; } - losehp_m(d(dn,6), mtmp); + losehp_m(d(dn, 6), mtmp); } mondead(mtmp); - return(1); + return (1); case 'g': - if(ctmp && multi >= 0 && !rn2(3)) { - kludge("You are frozen by %ss juices","the cube'"); + if (ctmp && multi >= 0 && !rn2(3)) { + kludge("You are frozen by %ss juices", "the cube'"); nomul(-rnd(10)); } break; case 'h': - if(ctmp && multi >= 0 && !rn2(5)) { + if (ctmp && multi >= 0 && !rn2(5)) { nomul(-rnd(10)); kludge("You are put to sleep by %ss bite!", - "the homunculus'"); + "the homunculus'"); } break; case 'j': - tmp = hitu(mtmp,rnd(3)); - tmp &= hitu(mtmp,rnd(3)); - if(tmp){ - (void) hitu(mtmp,rnd(4)); - (void) hitu(mtmp,rnd(4)); + tmp = hitu(mtmp, rnd(3)); + tmp &= hitu(mtmp, rnd(3)); + if (tmp) { + (void) hitu(mtmp, rnd(4)); + (void) hitu(mtmp, rnd(4)); } break; case 'k': - if((hitu(mtmp,rnd(4)) || !rn2(3)) && ctmp){ - poisoned("bee's sting",mdat->mname); + if ((hitu(mtmp, rnd(4)) || !rn2(3)) && ctmp) { + poisoned("bee's sting", mdat->mname); } break; case 'L': - if(tmp) stealgold(mtmp); + if (tmp) + stealgold(mtmp); break; case 'N': - if(mtmp->mcan && !Blind) { - pline("%s tries to seduce you, but you seem not interested.", - Amonnam(mtmp, "plain")); - if(rn2(3)) rloc(mtmp); - } else if(steal(mtmp)) { + if (mtmp->mcan && !Blind) { + pline("%s tries to seduce you, but you seem not interested.", + Amonnam(mtmp, "plain")); + if (rn2(3)) + rloc(mtmp); + } else if (steal(mtmp)) { rloc(mtmp); mtmp->mflee = 1; } break; case 'n': - if(!uwep && !uarm && !uarmh && !uarms && !uarmg) { - pline("%s hits! (I hope you don't mind)", - Monnam(mtmp)); + if (!uwep && !uarm && !uarmh && !uarms && !uarmg) { + pline("%s hits! (I hope you don't mind)", + Monnam(mtmp)); u.uhp += rnd(7); - if(!rn2(7)) u.uhpmax++; - if(u.uhp > u.uhpmax) u.uhp = u.uhpmax; + if (!rn2(7)) + u.uhpmax++; + if (u.uhp > u.uhpmax) + u.uhp = u.uhpmax; flags.botl = 1; - if(!rn2(50)) rloc(mtmp); + if (!rn2(50)) + rloc(mtmp); } else { - (void) hitu(mtmp,d(2,6)); - (void) hitu(mtmp,d(2,6)); + (void) hitu(mtmp, d(2, 6)); + (void) hitu(mtmp, d(2, 6)); } break; case 'o': - tmp = hitu(mtmp,rnd(6)); - if(hitu(mtmp,rnd(6)) && tmp && /* hits with both paws */ + tmp = hitu(mtmp, rnd(6)); + if (hitu(mtmp, rnd(6)) && tmp && /* hits with both paws */ !u.ustuck && rn2(2)) { u.ustuck = mtmp; - kludge("%s has grabbed you!","The owlbear"); - u.uhp -= d(2,8); - } else if(u.ustuck == mtmp) { - u.uhp -= d(2,8); + kludge("%s has grabbed you!", "The owlbear"); + u.uhp -= d(2, 8); + } else if (u.ustuck == mtmp) { + u.uhp -= d(2, 8); pline("You are being crushed."); } break; case 'P': - if(ctmp && !rn2(4)) - justswld(mtmp,"The purple worm"); + if (ctmp && !rn2(4)) + justswld(mtmp, "The purple worm"); else - (void) hitu(mtmp,d(2,4)); + (void) hitu(mtmp, d(2, 4)); break; case 'Q': - (void) hitu(mtmp,rnd(2)); - (void) hitu(mtmp,rnd(2)); + (void) hitu(mtmp, rnd(2)); + (void) hitu(mtmp, rnd(2)); break; case 'R': - if(tmp && uarmh && !uarmh->rustfree && + if (tmp && uarmh && !uarmh->rustfree && (int) uarmh->spe >= -1) { pline("Your helmet rusts!"); uarmh->spe--; - } else - if(ctmp && uarm && !uarm->rustfree && /* Mike Newton */ - uarm->otyp < STUDDED_LEATHER_ARMOR && - (int) uarm->spe >= -1) { + } else if (ctmp && uarm && !uarm->rustfree && /* Mike Newton */ + uarm->otyp < STUDDED_LEATHER_ARMOR && + (int) uarm->spe >= -1) { pline("Your armor rusts!"); uarm->spe--; } break; case 'S': - if(ctmp && !rn2(8)) { - poisoned("snake's bite",mdat->mname); + if (ctmp && !rn2(8)) { + poisoned("snake's bite", mdat->mname); } break; case 's': - if(tmp && !rn2(8)) { - poisoned("scorpion's sting",mdat->mname); + if (tmp && !rn2(8)) { + poisoned("scorpion's sting", mdat->mname); } - (void) hitu(mtmp,rnd(8)); - (void) hitu(mtmp,rnd(8)); + (void) hitu(mtmp, rnd(8)); + (void) hitu(mtmp, rnd(8)); break; case 'T': - (void) hitu(mtmp,rnd(6)); - (void) hitu(mtmp,rnd(6)); + (void) hitu(mtmp, rnd(6)); + (void) hitu(mtmp, rnd(6)); break; case 't': - if(!rn2(5)) rloc(mtmp); + if (!rn2(5)) + rloc(mtmp); break; case 'u': mtmp->mflee = 1; break; case 'U': - (void) hitu(mtmp,d(3,4)); - (void) hitu(mtmp,d(3,4)); + (void) hitu(mtmp, d(3, 4)); + (void) hitu(mtmp, d(3, 4)); break; case 'v': - if(ctmp && !u.ustuck) u.ustuck = mtmp; + if (ctmp && !u.ustuck) + u.ustuck = mtmp; break; case 'V': - if(tmp) u.uhp -= 4; - if(ctmp) losexp(); + if (tmp) + u.uhp -= 4; + if (ctmp) + losexp(); break; case 'W': - if(ctmp) losexp(); + if (ctmp) + losexp(); break; #ifndef NOWORM case 'w': - if(tmp) wormhit(mtmp); -#endif NOWORM + if (tmp) + wormhit(mtmp); +#endif /* NOWORM */ break; case 'X': - (void) hitu(mtmp,rnd(5)); - (void) hitu(mtmp,rnd(5)); - (void) hitu(mtmp,rnd(5)); + (void) hitu(mtmp, rnd(5)); + (void) hitu(mtmp, rnd(5)); + (void) hitu(mtmp, rnd(5)); break; case 'x': - { register long side = rn2(2) ? RIGHT_SIDE : LEFT_SIDE; - pline("%s pricks in your %s leg!", - Monnam(mtmp), (side == RIGHT_SIDE) ? "right" : "left"); - set_wounded_legs(side, rnd(50)); - losehp_m(2, mtmp); - break; + { + long side = rn2(2) ? RIGHT_SIDE : LEFT_SIDE; + pline("%s pricks in your %s leg!", + Monnam(mtmp), (side == RIGHT_SIDE) ? "right" : "left"); + set_wounded_legs(side, rnd(50)); + losehp_m(2, mtmp); + break; } case 'y': - if(mtmp->mcan) break; + if (mtmp->mcan) + break; mondead(mtmp); - if(!Blind) { + if (!Blind) { pline("You are blinded by a blast of light!"); - Blind = d(4,12); + Blind = d(4, 12); seeoff(0); } - return(1); + return (1); case 'Y': - (void) hitu(mtmp,rnd(6)); + (void) hitu(mtmp, rnd(6)); break; } - if(u.uhp < 1) done_in_by(mtmp); - return(0); + if (u.uhp < 1) + done_in_by(mtmp); + return (0); } -hitu(mtmp,dam) -register struct monst *mtmp; -register dam; +int +hitu(mtmp, dam) + struct monst *mtmp; + int dam; { - register tmp, res; + int tmp, res; nomul(0); - if(u.uswallow) return(0); + if (u.uswallow) + return (0); - if(mtmp->mhide && mtmp->mundetected) { + if (mtmp->mhide && mtmp->mundetected) { mtmp->mundetected = 0; - if(!Blind) { - register struct obj *obj; - extern char * Xmonnam(); - if(obj = o_at(mtmp->mx,mtmp->my)) + if (!Blind) { + struct obj *obj; + if ((obj = o_at(mtmp->mx, mtmp->my)) != NULL) pline("%s was hidden under %s!", - Xmonnam(mtmp), doname(obj)); + Xmonnam(mtmp), doname(obj)); } } - tmp = u.uac; /* give people with Ac = -10 at least some vulnerability */ - if(tmp < 0) { - dam += tmp; /* decrease damage */ - if(dam <= 0) dam = 1; + if (tmp < 0) { + dam += tmp; /* decrease damage */ + if (dam <= 0) + dam = 1; tmp = -rn2(-tmp); } tmp += mtmp->data->mlevel; - if(multi < 0) tmp += 4; - if((Invis && mtmp->data->mlet != 'I') || !mtmp->mcansee) tmp -= 2; - if(mtmp->mtrapped) tmp -= 2; - if(tmp <= rnd(20)) { - if(Blind) pline("It misses."); - else pline("%s misses.",Monnam(mtmp)); + if (multi < 0) + tmp += 4; + if ((Invis && mtmp->data->mlet != 'I') || !mtmp->mcansee) + tmp -= 2; + if (mtmp->mtrapped) + tmp -= 2; + if (tmp <= rnd(20)) { + if (Blind) + pline("It misses."); + else + pline("%s misses.", Monnam(mtmp)); res = 0; } else { - if(Blind) pline("It hits!"); - else pline("%s hits!",Monnam(mtmp)); + if (Blind) + pline("It hits!"); + else + pline("%s hits!", Monnam(mtmp)); losehp_m(dam, mtmp); res = 1; } stop_occupation(); - return(res); + return (res); } -- cgit v1.2.3-56-ge451