]> git.pond.sub.org Git - empserver/blobdiff - src/util/fairland.c
Change fairland not to reject small worlds without trying
[empserver] / src / util / fairland.c
index 5536ddc2e0ccf9f312f2132fe310ae97f26416bc..e95b33d33cf8366ccd572cab992bda2971045a3a 100644 (file)
@@ -1,6 +1,6 @@
 /*
  *  Empire - A multi-player, client/server Internet based war game.
- *  Copyright (C) 1986-2009, Dave Pare, Jeff Bailey, Thomas Ruschak,
+ *  Copyright (C) 1986-2010, Dave Pare, Jeff Bailey, Thomas Ruschak,
  *                           Ken Stevens, Steve McClure
  *
  *  This program is free software; you can redistribute it and/or modify
@@ -420,10 +420,9 @@ parse_args(int argc, char *argv[])
        exit(1);
     }
     if (nc * sc + nc * my_sqrt(sc) * 2 * (di + 1) > WORLD_X * WORLD_Y) {
-       puts("fairland: error -- world not big enough to fit continents.");
-       puts("arguments must satisfy:");
+       puts("fairland: warning -- world might be too small to fit continents.");
+       puts("arguments should satisfy:");
        puts("nc*sc*sc + nc*sqrt(sc)*2*(di+1) < WORLD_X * WORLD_Y");
-       exit(1);
     }
 }
 
@@ -821,7 +820,7 @@ grow_islands(void)
        secs = 0;
        if (!place_island(c, &x, &y))
            return;
-       isiz = 1 + rnd(2 * is - 1);
+       isiz = 1 + rnd(is) + rnd(is);
        do {
            ++secs;
            find_coast(c);
@@ -1092,6 +1091,7 @@ write_sects(void)
                sct->sct_type = SCT_MOUNT;
            sct->sct_elev = total;
            sct->sct_newtype = sct->sct_type;
+           sct->sct_dterr = own[sct->sct_x][y] + 1;
            if (ORE)
                add_resources(sct);
        }
@@ -1166,7 +1166,6 @@ write_newcap_script(void)
        fprintf(script, "newcap %d %d,%d\n", c + 1, capx[c], capy[c]);
     }
     fprintf(script, "add %d visitor visitor v i\n", c + 1);
-    ++c;
     fclose(script);
     return 0;
 }