kcwellsch@water.UUCP (Ken C. Wellsch) (07/05/85)
Bug Report
Function: shipdamage()
Export Version: Jun 9, 1984.
I was looking through the `shipdamage' function from
"Export Version of Jun 9, 1984" and noticed that the
items in `shp_v[]' are not `correctly' damaged.
Each entry in `shp_v[]' should be checked to see whether
it is an item using vchrstr, (vchr[type].vch_flag == VCH_ITEM),
which then implies that it can be damaged.
In fact, whatever sector currently resides in `sect' is
indexed to get the type rather than the ship structure.
The index range is correctly obtained with respect to the ship
in question but `sect.sct_v[i].v_type' is indexed rather
than `shp->shp_v[i].v_type' for the entry type.
This implies that some unrelated type is obtained and if it
should be an `item' then whatever is contained at that index on
the ship will be damaged. Naturally the items damaged on the
ship will not follow a logical pattern, and should the type
field of whatever is in `sect' contain a bizarre value, then
the indexing of `vchr' will be out to lunch.
I should expect such an obvious bug has been fixed in later
releases...
Ken Wellsch
------
Ken C. Wellsch
{decvax,clyde,ihnp4,allegra}!watmath!water!kcwellschewa@sdcc3.UUCP (Eric Anderson) (07/17/85)
This reminds me of a bug associated with sailing over mines. I don't know if it was ever fixed. If your ship was damaged below 20% it kept sailing until it ran out of mobility. Only when you stopped with 'h' did it sink. And if you killed the process, the damage was never inflicted. Eric Anderson, UC San Diego