=== modified file 'src/engrave.c' --- src/engrave.c 2008-04-04 16:21:45 +0000 +++ src/engrave.c 2008-04-04 18:59:22 +0000 @@ -458,7 +458,10 @@ /* The current engraving */ struct obj *otmp; /* Object selected with which to engrave */ char *writer; - +#ifdef OWLBREATH + int dx, dy; /* Direction of immediate adverse effects */ +#endif + multi = 0; /* moves consumed */ nomovemsg = (char *)0; /* occupation end message */ @@ -1108,6 +1111,22 @@ if (!Blind) Your(vision_clears); } +#ifdef OWLBREATH + if (!strcmp(ebuf, "Owlbreath")) { + /* Making Elbereth angry is probably not a good idea */ + exercise(A_WIS, FALSE); + pline("Suddenly, a bolt of white lightning strikes you!"); + dx = dy = 0; /* So the lightning is not reflected by default */ + if(rnl(100) < 20) { + /* Elbereth's wrath is coming from outside the player, + * and thus can be reflected at innocent bystanders */ + dx = rnd(3)-2; + dy = rnd(3)-2; + } + buzz(WAN_LIGHTNING - WAN_MAGIC_MISSILE, 6, u.ux-dx, u.uy-dy, dx, dy); + } +#endif + return(1); }