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...."