ameiba@reed.UUCP (Keith Steiger) (11/02/88)
I've been collecting my discovered bugs over time, and it's time to post them all. Some are just mild fixes, some are really critical, but they all warrant implementation. In oeffect3.c: 1033,1040c1033,1038 < if (!Player.status[SHADOWFORM]) { < mprint("You feel like a shadow."); < Player.immunity[NORMAL_DAMAGE]++; < Player.immunity[ACID]++; < Player.immunity[THEFT]++; < Player.immunity[INFECTION]++; < Player.status[SHADOWFORM]+=Player.level; < } --- > mprint("You feel like a shadow."); > Player.immunity[NORMAL_DAMAGE]++; > Player.immunity[ACID]++; > Player.immunity[THEFT]++; > Player.immunity[INFECTION]++; > Player.status[SHADOWFORM]+=Player.level; This corrects a fundamental bug with the Shadowform spell. If you cast it twice and then dispell it, it will leave you immune to normal damage, acid, theft, and infection. With this correction, that's no longer possible. In oguild2.c: 621c620 < *newitem = Objects[SHIELDID+7]; /* shield of deflection */ --- > *newitem = Objects[SHIELDID+6]; /* shield of deflection */ Now the Paladin's Guild will actually give you a shield of deflection, instead of a plasteel shield.... In oinv.c: 708c710 < presenttime = Command_Duration; --- > 771,772c771,772 < if (Command_Duration>presenttime) < calc_melee(); --- > calc_melee(); > dataprint(); This stops the computer from checking your combat stats after commands which take no time, like moving around your directory. This speeds things up immensely. Furthermore, the dataprint() call is redundant, as calc_melee()'s last action is to call dataprint(). In omon.c: 179c179 < if (m->id == ML10+0) { /* death */ --- > if (m->id == ML10+10) { /* death */ Now, as intended, Death cannot die. This makes the Adept's Challenge far more complicated. Furthermore, you cannot see Death's corpse, which is aptly entitled "No way can you be seeing this!". In osave.c: 62c62 < print1("Game Saved."); --- > print2("Game Saved."); 66c66,68 < print2("Compressing Save File...."); --- > morewait(); > clearmsg(); > print1("Compressing Save File...."); This stops a completely (to my knowledge) useless request for a space. The users at Reed literally *BEGGED* for this one. In oscr.c: 587,589c587 < else if (showmonster) < return(Level->site[x][y].creature->monchar); < else return(WATER); --- > else return(Level->site[x][y].creature->monchar); This stops water-going monsters (most notably nightgaunts) from incorrectly erasing themselves. This was really easy to fix, once I started looking for it--I'm surprised someone didn't beat me to it. Well, that's all for now, boys and girls. May Omega live long, prosper, be forever supported on Unix machines, and get its very own newsgroup as soon as possible. TTYL, Keith Steiger "If only live role-playing could be started and stopped at whim...."