I think I have found the alignment problem that I asked about yesterday. It seems that in the latest beta version, they decided to do a new alignment function like this: GET_ALIGNMENT(ch) += ((-GET_ALIGNMENT(vict) - GET_ALIGNMENT(ch)) >> 4); This is simple, and on the surface it looks good, but if you substitute in values for it, the error becomes obvious: GET_ALIGNMENT(ch) += ((-(-800) - (1000)) >> 4); GET_ALIGNMENT(ch) += (800 - 1000) >> 4; GET_ALIGNMENT(ch) += -200 >> 4; GET_ALIGNMENT(ch) += -12.5; To summarize, if you are good, and you kill something evil, you become less good! What I did was this: GET_ALIGNMENT(ch) += ((-GET_ALIGNMENT(vict)) >> 4); if (GET_ALIGNMENT(ch) > 1000) GET_ALIGNMENT(ch) = 1000; if (GET_ALIGNMENT(ch) < -1000) GET_ALIGNMENT(ch) = -1000; I think that fixes it(in a kludgey sorta way). Any comments? ------------------------------------------------------------------------------ ( Wyatt J. Bode | Macintosh Specialist/Manager | Juniata College ) ( / bode@juncol.juniata.edu \ ) ------------------------------------------------------------------------------
This archive was generated by hypermail 2b30 : 12/07/00 PST