diff -ur nethack-3.4.3-vanilla/src/mkroom.c nethack-3.4.3-ice/src/mkroom.c --- nethack-3.4.3-vanilla/src/mkroom.c Mon Dec 8 00:39:13 2003 +++ nethack-3.4.3-ice/src/mkroom.c Wed Jan 14 13:54:51 2009 @@ -434,10 +434,11 @@ int mtyp; /* Same monsters within a level, different ones between levels */ - switch ((level_difficulty() + ((long)u.ubirthday)) % 3) { + switch ((level_difficulty() + ((long)u.ubirthday)) % 4) { default: mtyp = PM_GIANT_ANT; break; case 0: mtyp = PM_SOLDIER_ANT; break; - case 1: mtyp = PM_FIRE_ANT; break; + case 1: mtyp = PM_ICE_ANT; break; + case 2: mtyp = PM_FIRE_ANT; break; } return ((mvitals[mtyp].mvflags & G_GONE) ? (struct permonst *)0 : &mons[mtyp]); diff -ur nethack-3.4.3-vanilla/src/monst.c nethack-3.4.3-ice/src/monst.c --- nethack-3.4.3-vanilla/src/monst.c Mon Dec 8 00:39:13 2003 +++ nethack-3.4.3-ice/src/monst.c Wed Jan 14 13:54:53 2009 @@ -115,6 +115,13 @@ SIZ(20, 5, 0, MS_SILENT, MZ_TINY), MR_POISON, MR_POISON, M1_ANIMAL|M1_NOHANDS|M1_OVIPAROUS|M1_POIS|M1_CARNIVORE, M2_HOSTILE, 0, CLR_BLUE), + MON("ice ant", S_ANT, + LVL(3, 18, 3, 10, 0), (G_GENO|G_SGROUP|1), + A(ATTK(AT_BITE, AD_PHYS, 2, 4), ATTK(AT_BITE, AD_COLD, 2, 4), + NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), + SIZ(30, 10, 0, MS_SILENT, MZ_TINY), MR_COLD, MR_COLD, + M1_ANIMAL|M1_NOHANDS|M1_OVIPAROUS|M1_CARNIVORE, + M2_HOSTILE, 0, CLR_CYAN), MON("fire ant", S_ANT, LVL(3, 18, 3, 10, 0), (G_GENO|G_SGROUP|1), A(ATTK(AT_BITE, AD_PHYS, 2, 4), ATTK(AT_BITE, AD_FIRE, 2, 4),