Alex Schultz wrote: > Alex Schultz wrote: Applied to CVS. > >> I noticed a small mistake to due with the recent 'conversion' to make >> the name glow_radius accurate again. In the changes I made to deal >> with the "conversion" from glow_radius, I accidentally made it so >> negative glow radiuses aren't working again. The circular lighting is >> working, it's just that negative glow radiuses won't be working. I've >> attached a small diff to fix that. (negetivefix.diff) >> > Aurg... I must have been asleep or something when I made those > 'conversion' changes. Here's another fix to my stupidity when doing that. > > Server Admins: If you update to the very latest cvs without this fix, > then your player will find that monsters will almost always detect them > even in complete darkness when the monster doesn't have night vision. I > highly suggest you either wait till this fix is in CVS (should be some > time within 24 hours), or apply this patch yourself. > > --Alex Schultz (aka Rednaxela) > > > ------------------------------------------------------------------------ > > Index: crossfire/server/monster.c > =================================================================== > RCS file: /cvsroot/crossfire/crossfire/server/monster.c,v > retrieving revision 1.75 > diff -c -5 -r1.75 monster.c > *** crossfire/server/monster.c 17 Apr 2005 04:25:55 -0000 1.75 > --- crossfire/server/monster.c 17 Apr 2005 21:11:51 -0000 > *************** > *** 1889,1909 **** > > > /* Check the spaces with the max light radius to see if any of them > * have lights, and if any of them light the player enough, then return 1. > */ > ! for (x = op->x - (2*MAX_LIGHT_RADII); x< op->x + (2*MAX_LIGHT_RADII); x++) { > ! for (y = op->y - (2*MAX_LIGHT_RADII); y< op->y + (2*MAX_LIGHT_RADII); y++) { > m = op->map; > nx = x; > ny = y; > > if (get_map_flags(m, &m, nx, ny, &nx, &ny) & P_OUT_OF_MAP) continue; > > x1 = abs(x - op->x)*abs(x - op->x); > y1 = abs(y - op->y)*abs(y - op->y); > ! if (isqrt(x1 + y1) > 0) return 1; > } > } > } > return 0; > } > --- 1889,1909 ---- > > > /* Check the spaces with the max light radius to see if any of them > * have lights, and if any of them light the player enough, then return 1. > */ > ! for (x = op->x - (MAX_LIGHT_RADII); x< op->x + (MAX_LIGHT_RADII); x++) { > ! for (y = op->y - (MAX_LIGHT_RADII); y< op->y + (MAX_LIGHT_RADII); y++) { > m = op->map; > nx = x; > ny = y; > > if (get_map_flags(m, &m, nx, ny, &nx, &ny) & P_OUT_OF_MAP) continue; > > x1 = abs(x - op->x)*abs(x - op->x); > y1 = abs(y - op->y)*abs(y - op->y); > ! if (isqrt(x1 + y1) < GET_MAP_LIGHT(m, nx, ny)) return 1; > } > } > } > return 0; > } > > > ------------------------------------------------------------------------ > > _______________________________________________ > crossfire mailing list > crossfire at metalforge.org > http://mailman.metalforge.org/mailman/listinfo/crossfire