diff --git a/source/src/server.cpp b/source/src/server.cpp index fdae0d1e..389f401e 100644 --- a/source/src/server.cpp +++ b/source/src/server.cpp @@ -3458,12 +3458,13 @@ void process(ENetPacket *packet, int sender, int chan) time = min(time, 60); if (vi->gonext) { - int ccs = mode ? maprot.next(false,false) : maprot.get_next(); + int ccs = rnd(maprot.configsets.length()); configset *c = maprot.get(ccs); if(c) { strcpy(vi->text,c->mapname); mode = vi->num1 = c->mode; + time = vi->num2 = c->time; } else fatal("unable to get next map in maprot"); } diff --git a/source/src/serverfiles.h b/source/src/serverfiles.h index f64f1200..118739ab 100644 --- a/source/src/serverfiles.h +++ b/source/src/serverfiles.h @@ -398,18 +398,6 @@ struct servermaprot : serverconfigfile configset *current() { return configsets.inrange(curcfgset) ? &configsets[curcfgset] : NULL; } configset *get(int ccs) { return configsets.inrange(ccs) ? &configsets[ccs] : NULL; } - int get_next() - { - int ccs = curcfgset; - while(!strcmp(configsets[curcfgset].mapname,configsets[ccs].mapname)) - { - ccs++; - if(!configsets.inrange(ccs)) ccs=0; - if (ccs == curcfgset) break; - } - curcfgset = ccs; - return ccs; - } }; // serverblacklist.cfg