Better compensate Crypt's spawns for the cut floors
authortheTower <mwclaws@gmail.com>
Thu, 18 Sep 2014 02:43:14 +0000 (22:43 -0400)
committertheTower <mwclaws@gmail.com>
Thu, 18 Sep 2014 02:43:14 +0000 (22:43 -0400)
Since there used to be some key spawns left to Crypt:3 when it had five
floors, adjust everything up a floor to better approximate what it once
had (so, current Crypt:1-3 will resemble previous Crypt:2-4). It does
mean the branch gets meaner faster, but the cap of meaness was cut off.

Still, the out-of-depths are a nice idea, since few branches actually have
such a possibility. I'm keeping it with an altered simulation of what
a previous Crypt:6 would have been, though with a bit of difficulty and
some editing due to how monster weighting functions are mostly regulated
according to the branch's length. No ood wraiths, some ood phantasmal
warriors / jiangshi / silent specters / ghouls, lowered ood chance for
ancient champions (from what would be 15%!). Outside of some minor changes
to wraiths and ghoul spawns (rather compensated with ood / respawns), the
margin of change should be 0.05% for Crypt:1-3 regular spawns, and 0.1%
for Crypt:4 (or old Crypt:5); this was done via spreadsheet rather than
simulator or formula. Whatever.

crawl-ref/source/mon-pick-data.h
crawl-ref/source/mon-pick.cc

index 660825b..3dc1856 100644 (file)
@@ -470,33 +470,33 @@ static const pop_entry pop_vaults[] =
 
 static const pop_entry pop_crypt[] =
 { // Crypt
-  {  2,  7,  145, SEMI, MONS_EIDOLON },
-  {  1,  6,  160, DOWN, MONS_WRAITH },
-  {  1,  3,   65, SEMI, MONS_FREEZING_WRAITH },
-  {  1,  5,  125, SEMI, MONS_PHANTASMAL_WARRIOR },
-  {  3,  6,   95, SEMI, MONS_SHADOW_WRAITH },
-  {  1,  5,   75, FLAT, MONS_SKELETAL_WARRIOR },
-  {  0,  6,  140, UP,   MONS_ANCIENT_CHAMPION },
-  {  2,  5,   99, SEMI, MONS_GHOUL },
-  {  1,  4,   85, DOWN, MONS_VAMPIRE },
-  {  1,  6,  125, PEAK, MONS_VAMPIRE_MAGE },
-  {  1,  6,  105, UP,   MONS_VAMPIRE_KNIGHT },
-  {  1,  5,   75, SEMI, MONS_JIANGSHI },
-  { -2,  4,   75, SEMI, MONS_NECROMANCER },
+  {  1,  6,  145, SEMI, MONS_EIDOLON },
+  { -2,  4,  125, SEMI, MONS_WRAITH },
+  {  0,  2,   65, SEMI, MONS_FREEZING_WRAITH },
+  { -1,  5,  125, PEAK, MONS_PHANTASMAL_WARRIOR },
+  {  2,  5,   95, SEMI, MONS_SHADOW_WRAITH },
+  {  1,  4,   75, FLAT, MONS_SKELETAL_WARRIOR },
+  { -1,  9,  120, PEAK, MONS_ANCIENT_CHAMPION },
+  {  0,  5,   93, PEAK, MONS_GHOUL },
+  {  0,  3,   85, DOWN, MONS_VAMPIRE },
+  {  0,  5,  125, PEAK, MONS_VAMPIRE_MAGE },
+  {  0,  5,  105, UP,   MONS_VAMPIRE_KNIGHT },
+  { -1,  5,   75, PEAK, MONS_JIANGSHI },
+  { -3,  3,   75, SEMI, MONS_NECROMANCER },
   {  1,  5,   30, FLAT, MONS_SILENT_SPECTRE },
-  {  3,  6,  145, SEMI, MONS_FLAYED_GHOST },
-  {  3,  8,   40, SEMI, MONS_REAPER },
-  {  2,  6,   55, SEMI, MONS_SOUL_EATER },
-  {  1,  7,   55, SEMI, MONS_DEATH_KNIGHT },
-  {  2,  7,   80, SEMI, MONS_DEEP_ELF_DEATH_MAGE },
-  {  3,  7,   40, SEMI, MONS_UNBORN },
-  {  2,  8,   85, SEMI, MONS_REVENANT },
-  {  3,  8,   55, PEAK, MONS_LICH },
-  {  4,  8,   15, PEAK, MONS_ANCIENT_LICH },
-  { -2,  4,   70, PEAK, MONS_SHADOW },
-  { -2,  4,   40, PEAK, MONS_WIGHT },
-  { -2,  4,   45, PEAK, MONS_FLYING_SKULL },
-  {  1,  5,   75, DOWN, MONS_GHOST_CRAB },
+  {  2,  5,  145, SEMI, MONS_FLAYED_GHOST },
+  {  2,  7,   40, SEMI, MONS_REAPER },
+  {  1,  5,   55, SEMI, MONS_SOUL_EATER },
+  {  0,  6,   55, SEMI, MONS_DEATH_KNIGHT },
+  {  1,  6,   80, SEMI, MONS_DEEP_ELF_DEATH_MAGE },
+  {  2,  6,   40, SEMI, MONS_UNBORN },
+  {  1,  7,   85, SEMI, MONS_REVENANT },
+  {  2,  7,   55, PEAK, MONS_LICH },
+  {  3,  7,   15, PEAK, MONS_ANCIENT_LICH },
+  { -3,  3,   70, PEAK, MONS_SHADOW },
+  { -3,  3,   40, PEAK, MONS_WIGHT },
+  { -3,  3,   45, PEAK, MONS_FLYING_SKULL },
+  {  0,  4,   75, DOWN, MONS_GHOST_CRAB },
   { 0,0,0,FLAT,MONS_0 }
 };
 
index 5c2515b..213b506 100644 (file)
@@ -34,6 +34,7 @@ int branch_ood_cap(branch_type branch)
         return 12;
     case BRANCH_ELF:
         return 7;
+    case BRANCH_CRYPT:
     case BRANCH_TOMB:
         return 5;
     default: