Path: utzoo!mnetor!uunet!munnari!mulga!davids From: davids@mulga.oz (David Spaziani) Newsgroups: comp.sources.games.bugs Subject: More Omega Bugs Message-ID: <2528@mulga.oz> Date: 1 Feb 88 01:45:48 GMT Organization: Comp Sci, Melbourne Uni, Australia Lines: 37 Hi, I have some more bugs that have cropped up in Omega, and the fixes that seem to work. I have posted the list to the author of Omega, who assures me that these and other bugs will be fixed in the next release coming soon. However, for those of you who can't wait, heres what I've found. I have only described the fixes rather than supply diffs - my solutions are probably not THE solutions. The first bug causes a core dump, and is found in "oaux2.c". The situation in which this occurs is when a monster disengages from a battle and runs. In the procedure "tacexecute", the DISENGAGE case in the switch statement contains two consecutive calls to "movemonster". The correct procedure is "monster_move". The second error occurs when a player surrenders to a guard. The guard remains hostile, following the player to gaol, eventually killing the player. The guard accepts the surrender in "m_guard_talk", in the file "omonf.c", but does not have the status changed from HOSTILE. The fix is to add the call "m_status_reset(m,HOSTILE)" to the block of code in which the player is sent to gaol. The last bug occurs when a player is bitten by a tsetse fly. The player is woken instantly (ie, at the next tick). The problem occurs because in "otime.c", the flag Skipplayer is always set to false each tick, even is Player.status[SLEPT] > 0. The solution is to only conditionally set Skipplayer, ie if (Player.status[SLEPT] <= 0) Skipplayer = FALSE; David Spaziani ============== =========================== UUCP: {seismo,mcvax,ukc,ubc-vision}!munnari!davids ARPA: davids%munnari.oz@seismo.css.gov CSNET: davids%munnari.oz@australia