it is in asss 1.4.4. Unless I am completely missing something and I am about to look like a real idiot
#define MAXFLAGS 255
//flagcore.c:800 ASSS 1.4.4
local void ReserveFlags(Arena *a, int flagcount)
{
adata *ad = P_ARENA_DATA(a, adkey);
if (flagcount < 0 || flagcount >= MAXFLAGS)
return;
LOCK();
ensure_space(ad, flagcount);
UNLOCK();
}
Notice the ">=" part, it should be ">". Unless a flagcount of 0 really means 1 flag. It does it again in make_turf_packet on line 129. It does it correctly in set_flag tho:
local void set_flag(Arena *a, int fid, FlagInfo *nfi)
{
adata *ad = P_ARENA_DATA(a, adkey);
FlagInfo *ofi;
if (fid < 0 || fid >= MAXFLAGS)
return;
<snip>