+ // Decide if quadrant needs a Tholian\r
+ if ((skill < 3 && Rand() <= 0.02) || /* Lighten up if skill is low */\r
+ (skill == 3 && Rand() <= 0.05) ||\r
+ (skill > 3 && Rand() <= 0.08)\r
+#ifdef DEBUG\r
+ || strcmp(passwd, "tholianx")==0\r
+#endif\r
+ ) {\r
+ do {\r
+ ithx = Rand() > 0.5 ? 10 : 1;\r
+ ithy = Rand() > 0.5 ? 10 : 1;\r
+ } while (game.quad[ithx][ithy] != IHDOT);\r
+ game.quad[ithx][ithy] = IHT;\r
+ ithere = 1;\r
+ nenhere++;\r
+ game.kx[nenhere] = ithx;\r
+ game.ky[nenhere] = ithy;\r
+ game.kdist[nenhere] = game.kavgd[nenhere] =\r
+ sqrt(square(sectx-ithx) + square(secty-ithy));\r
+ game.kpower[nenhere] = Rand()*400.0 +100.0 +25.0*skill;\r
+ /* Reserve unocupied corners */\r
+ if (game.quad[1][1]==IHDOT) game.quad[1][1] = 'X';\r
+ if (game.quad[1][10]==IHDOT) game.quad[1][10] = 'X';\r
+ if (game.quad[10][1]==IHDOT) game.quad[10][1] = 'X';\r
+ if (game.quad[10][10]==IHDOT) game.quad[10][10] = 'X';\r
+ }\r
+ sortkl();\r
+\r