1 /* SCCS Id: @(#)rnd.c 3.4 1996/02/07 */
2 /* NetHack may be freely redistributed. See license for details. */
6 /* "Rand()"s definition is determined by [OS]conf.h */
7 #if defined(LINT) && defined(UNIX) /* rand() is long... */
9 #define RND(x) (rand() % x)
11 # if defined(UNIX) || defined(RANDOM)
12 #define RND(x) (int)(Rand() % (long)(x))
14 /* Good luck: the bottom order bits are cyclic. */
15 #define RND(x) (int)((Rand()>>3) % (x))
21 static int reseed_period
= 0;
22 static int reseed_count
= 0;
24 /* We need a cryptographically secure RNG. This is mainly for junethack (err nope, that's a thing that does not exist,
25 * so we don't even need to care anymore), even though its rules already state that
26 * exploiting flaws in a weak random number generator is forbidden, but apparently most other variants made it secure,
27 * and one example of such a variant is dnethack which seems to have the easiest to implement method available.
28 * Therefore I ported the dnethack code. It really is mainly meant to ensure that you can't exploit mechanics to get
29 * specific RNG results during tournaments --Amy */
35 if (reseed_count
> reseed_period
) {
40 fptr
= fopen("/dev/urandom","r");
42 fread((void *)rnd
, sizeof(int),2,fptr
);
44 srandom((int) (time((time_t *)0)) + rnd
[0]);
45 reseed_period
= (rnd
[1] % 700) + 10;
52 /* edit by Amy - since DEBUG isn't defined by default, we're printing impossible messages and returning a default value
53 * because we don't want any of that segfaulting crap. Yes, RND(x) segfaults with a non-positive value for x.
54 * And tracking down segfaults is NO fun, let me tell you. The game just closes with no message. */
57 rn2(x
) /* 0 <= rn2(x) < x */
63 impossible("rn2(%d) attempted", x
);
70 impossible("rn2(%d) attempted - returning zero", x
);
77 /* instead of doing rnd(rnz(x)), let's do that via a single function that performs rnz first, then rnd on the result */
85 impossible("rndrnz(%d) attempted - returning zero", x
);
95 rn3(x
) /* like rn2, but the result is more likely to be a lower number --Amy */
101 impossible("rn3(%d) attempted - returning zero", x
);
105 if (!rn2(2) && (y
> 1)) y
/= 2;
106 if (y
< 0) y
= 0; /* fail safe */
115 rnl(x
) /* 0 <= rnl(x) < x; sometimes subtracting Luck */
116 register int x
; /* good luck approaches 0, bad luck approaches (x-1) */
123 impossible("rnl(%d) attempted", x
);
128 impossible("rnl(%d) attempted - returning zero", x
);
134 if (Luck
&& rn2(50 - Luck
)) {
135 i
-= (x
<= 15 && Luck
>= -5 ? Luck
/3 : Luck
);
137 else if (i
>= x
) i
= x
-1;
140 if (LuckLoss
|| u
.uprops
[LUCK_LOSS
].extrinsic
|| have_unluckystone() || autismweaponcheck(ART_PROFANED_GREATSCYTHE
) ) change_luck(-1);
149 rnd(x
) /* 1 <= rnd(x) <= x */
155 impossible("rnd(%d) attempted", x
);
162 impossible("rnd(%d) attempted - returning 1", x
);
170 rno(x
) /* like rnd, but the result is more likely to be a lower number --Amy */
176 impossible("rno(%d) attempted - returning 1", x
);
180 if (!rn2(2) && (y
> 1)) y
/= 2;
181 if (y
< 1) y
= 1; /* fail safe */
189 d(n
,x
) /* n <= d(n,x) <= (n*x) */
192 register int tmp
= n
;
196 if (x
< 0 || n
< 0 || (x
== 0 && n
!= 0)) {
197 impossible("d(%d,%d) attempted", n
, x
);
201 if (x
< 0 || n
< 0 || (x
== 0 && n
!= 0)) {
202 impossible("d(%d,%d) attempted - returning 1", n
, x
);
205 while(n
--) tmp
+= RND(x
);
206 return(tmp
); /* Alea iacta est. -- J.C. */
216 register int tmp
, utmp
;
218 utmp
= /*(u.ulevel < 15) ? 5 : u.ulevel/3*/100;
220 while (tmp
< utmp
&& !rn2(x
))
223 if (isxrace
) { /* x-race is the "rng-changing race", which affects rne and thus rnz too --Amy */
224 while (tmp
< utmp
&& !rn2(x
) && !rn2(2) )
228 if (youmonst
.data
&& uarms
&& uarms
->oartifact
== ART_DNETHACKC_NOONISHNESS
) {
229 while (tmp
< utmp
&& !rn2(x
) && !rn2(2) )
233 if (youmonst
.data
&& uarmc
&& uarmc
->oartifact
== ART_CHANGED_RANDOM_NUMBERS
) {
234 while (tmp
< utmp
&& !rn2(x
) && !rn2(2) )
238 if (youmonst
.data
&& uarm
&& uarm
->oartifact
== ART_AMMY_S_RNG_CHANGER
) {
239 while (tmp
< utmp
&& !rn2(x
) && !rn2(2) )
247 * while(!rn2(x)) tmp++;
248 * return(min(tmp,(u.ulevel < 15) ? 5 : u.ulevel/3));
249 * which is clearer but less efficient and stands a vanishingly
250 * small chance of overflowing tmp
263 register long tmp
= 1000;
266 if (rn2(5)) {tmp
*= rne(4); } /*adjustments by Amy*/
267 else { tmp
*= rne(3); }
268 if (rn2(2)) { x
*= tmp
; x
/= 1000; }
269 else { x
*= 1000; x
/= tmp
; }
367 return (rnd(5) ? AD_SLOW
: AD_INER
);
375 return (rnd(7) ? AD_DRLI
: AD_TIME
);
570 return (rn2(5) ? AD_WET
: AD_LETH
);
588 return (rn2(10) ? AD_DRIN
: AD_UVUU
);
610 return (rn2(3) ? AD_WEEP
: AD_NEXU
);
650 return (rn2(20) ? AD_BADE
: AD_NAST
);
709 return (rn2(100) ? AD_DEST
: AD_RAGN
);
858 randomthievingattack()
927 randomillusionattack()
1082 return MS_FART_QUIET
;
1084 return MS_FART_NORMAL
;
1086 return MS_FART_LOUD
;
1098 return MS_DOUGLAS_ADAMS
;
1104 return MS_PRINCIPAL
;
1114 return MS_GIBBERISH
;
1150 return MS_PRINCESSLEIA
;
1184 return MS_STABILIZE
;
1194 return MS_TREESQUAD
;
1196 return MS_METALMAFIA
;
1198 return MS_DEEPSTATE
;
1210 return randnastyenchantment();
1212 } else if (!rn2(15)) {
1214 return randfemienchantment();
1216 } else if (!rn2(10)) {
1219 case 1: return HALLU_PARTY
;
1220 case 2: return DRUNKEN_BOXING
;
1221 case 3: return STUNNOPATHY
;
1222 case 4: return NUMBOPATHY
;
1223 case 5: return FREEZOPATHY
;
1224 case 6: return STONED_CHILLER
;
1225 case 7: return CORROSIVITY
;
1226 case 8: return FEAR_FACTOR
;
1227 case 9: return BURNOPATHY
;
1228 case 10: return SICKOPATHY
;
1229 case 11: return WONDERLEGS
;
1230 case 12: return GLIB_COMBAT
;
1231 case 13: return DIMMOPATHY
;
1232 case 14: return RNGE_IRREGULARITY
;
1233 case 15: return RNGE_INTERNET_ACCESS
;
1234 case 16: return RNGE_ANTI_GOVERNMENT
;
1235 case 17: return RNGE_GAS_FILTERING
;
1236 case 18: return RNGE_VAMPIRIC_DRAIN
;
1237 case 19: return RNGE_PSEUDO_IDENTIFICATION
;
1238 case 20: return RNGE_GHOST_SUMMONING
;
1239 case 21: return RNGE_PRAYER
;
1240 case 22: return RNGE_ANTI_BEHEADING
;
1241 case 23: return RNGE_POLAND
;
1242 case 24: return RNGE_KICKING
;
1243 case 25: return RNGE_TOESTOMPING
;
1244 case 26: return RNGE_JUNGLE_ACTION
;
1245 case 27: return RNGE_UNLIKABILITY
;
1246 case 28: return RNGE_SPELL_DISRUPTION
;
1247 case 29: return RNGE_BDSM
;
1248 case 30: return RNGE_SLIPPING
;
1249 case 31: return RNGE_MIRRORING
;
1250 case 32: return RNGE_TRUE_SIGHT
;
1251 case 33: return RNGE_LIQUID_DIET
;
1252 case 34: return RNGE_ANGRY_GODS
;
1253 case 35: return RNGE_RADIO_BROADCASTS
;
1254 case 36: return RNGE_OCCASIONAL_DAMAGE
;
1255 case 37: return RNGE_NOISE
;
1256 case 38: return RNGE_VORTICES
;
1257 case 39: return RNGE_EXPLOSIONS
;
1258 case 40: return RNGE_FATAL_ATTRACTION
;
1259 case 41: return RNGE_VOLTAGE
;
1260 case 42: return RNGE_WEEPING
;
1261 case 43: return RNGE_CASTLEVANIA
;
1262 case 44: return RNGE_ENGLAND
;
1263 case 45: return RNGE_FORGETTING
;
1264 case 46: return RNGE_ANTIMAGIC_A
;
1265 case 47: return RNGE_ANTIMAGIC_B
;
1266 case 48: return RNGE_ANTIMAGIC_C
;
1267 case 49: return RNGE_ANTIMAGIC_D
;
1268 case 50: return RNGE_CHINA
;
1269 case 51: return RNGE_LIGHT_ABSORPTION
;
1270 case 52: return RNGE_CHILDBIRTH
;
1271 case 53: return RNGE_RED_ATTUNEMENT
;
1272 case 54: return RNGE_POLAR_OPPOSITES
;
1273 case 55: return RNGE_SICKNESS
;
1274 case 56: return RNGE_COQUETRY
;
1275 case 57: return RNGE_IGNORANCE
;
1276 case 58: return RNGE_VENGEANCE
;
1277 case 59: return RNGE_HIGH_HEELING
;
1278 case 60: return RNGE_GRAVITY
;
1279 case 61: return RNGE_WISH_IMPROVEMENT
;
1280 case 62: return RNGE_POCKET_MONSTERS
;
1281 case 63: return RNGE_LEVUNTATION
;
1282 case 64: return RNGE_PERMANENT_OCCUPATION
;
1283 case 65: return RNGE_NURSERY
;
1284 case 66: return RNGE_SLEXUALITY
;
1285 case 67: return RNGE_ANGBAND
;
1286 case 68: return RNGE_ANOREXIA
;
1287 case 69: return RNGE_DNETHACK
;
1288 case 70: return RNGE_UNNETHACK
;
1289 case 71: return RNGE_NETHACK_FOURK
;
1290 case 72: return RNGE_MARITAL_ARTS
;
1291 case 73: return RNGE_TEAM_SPLAT
;
1292 case 74: return RNGE_ABOMINATIONS
;
1293 case 75: return RNGE_PUNISHMENT
;
1294 case 76: return RNGE_BLOODLUST
;
1295 case 77: return RNGE_IMMOBILITY
;
1296 case 78: return RNGE_BOSS_ENCOUNTERS
;
1297 case 79: return RNGE_IRONMAN_MODE
;
1298 case 80: return RNGE_RIVERS
;
1299 case 81: return RNGE_LOUDSPEAKERS
;
1300 case 82: return RNGE_ARMOR_PRESERVATION
;
1301 case 83: return RNGE_WEAKNESS
;
1302 case 84: return RNGE_FRAILNESS
;
1303 case 85: return RNGE_IRON_MAIDEN
;
1304 case 86: return RNGE_DONORS
;
1305 case 87: return RNGE_AIDS
;
1306 case 88: return RNGE_TRAP_ALERT
;
1307 case 89: return RNGE_EXTINCTION
;
1308 case 90: return RNGE_DEFUSING
;
1309 case 91: return RNGE_DENASTIFICATION
;
1310 case 92: return RNGE_MULTISHOT
;
1311 case 93: return RNGE_SKILL_REVEAL
;
1312 case 94: return RNGE_TECH_INSIGHT
;
1313 case 95: return RNGE_LISTENING
;
1314 case 96: return RNGE_CANNIBALISM
;
1315 case 97: return RNGE_POLYVISION
;
1316 case 98: return RNGE_HEMOPHILIA
;
1317 case 99: return RNGE_BLAST_SHIELDING
;
1318 case 100: return RNGE_FUNNY_HALLU
;
1319 case 101: return RNGE_POLYPILING
;
1320 case 102: return RNGE_SAP_GENERATION
;
1321 case 103: return RNGE_WEALTH
;
1322 case 104: return RNGE_WHORING
;
1323 case 105: return RNGE_BOSSING
;
1324 case 106: return RNGE_STENCH
;
1325 case 107: return RNGE_ECHOLOCATION
;
1326 case 108: return RNGE_STACKMESSAGING
;
1327 case 109: return RNGE_OVERVIEW_IMPROVEMENT
;
1328 case 110: return RNGE_NASTY_REDUCTION
;
1329 case 111: return RNGE_TECH_REUSE
;
1330 case 112: return RNGE_CARRYING_BOOST
;
1331 case 113: return RNGE_KILLER_FILLING
;
1332 case 114: return RNGE_MULCHING_DISPLAY
;
1333 case 115: return RNGE_STATCAP_INCREASE
;
1334 case 116: return RNGE_ANTI_COVID
;
1335 case 117: return RNGE_FLUIDATOR_REDUCTION
;
1336 case 118: return RNGE_SCROUNGING
;
1337 case 119: return RNGE_FARMING
;
1339 default: return POISON_RES
;
1389 return REGENERATION
;
1411 return TELEPORT_CONTROL
;
1417 return POLYMORPH_CONTROL
;
1429 return AGGRAVATE_MONSTER
;
1445 return (rn2(50) ? HUNGER
: PASSES_WALLS
);
1458 return ENERGY_REGENERATION
;
1462 return MAGICAL_BREATHING
;
1483 return SLOW_DIGESTION
;
1509 return WOUNDED_LEGS
;
1513 return TRAP_REVEALING
;
1523 return VERSUS_CURSES
;
1529 return EXTRA_WEAPON_PRACTICE
;
1533 return (rn2(20) ? POISON_RES
: DOUBLE_ATTACK
);
1535 return (rn2(100) ? TELEPORT
: QUAD_ATTACK
);
1555 return DISCOUNT_ACTION
;
1557 return FULL_NUTRIENT
;
1559 return TECHNICALITY
;
1563 return DIMINISHED_BLEEDING
;
1565 return CONTROL_MAGIC
;
1569 return (rn2(1000) ? BLIND_RES
: ASTRAL_VISION
);
1576 return INVERT_STATE
;
1583 return BURDENED_STATE
;
1585 return MAGIC_VACUUM
;
1587 return RESISTANCE_PIERCING
;
1606 } /* didn't pick any RNG enchantments, nasty effects etc. */
1611 randnastyenchantment()
1615 case 1: return SPELLS_LOST
;
1616 case 2: return CASTER_PROBLEM
;
1617 case 3: return STATUS_FAILURE
;
1618 case 4: return LUCK_LOSS
;
1619 case 5: return YELLOW_SPELLS
;
1620 case 6: return REPEATING_VULNERABILITY
;
1621 case 7: return INVENTORY_LOST
;
1622 case 8: return RESPAWN_BUG
;
1623 case 9: return VERISIERTEFFECT
;
1624 case 10: return LEVELBUG
;
1625 case 11: return ALWAYS_EGOTYPES
;
1626 case 12: return FAST_FORWARD
;
1627 case 13: return UNIDENTIFY
;
1628 case 14: return DISPLAY_LOST
;
1629 case 15: return THIRST
;
1630 case 16: return BLACK_NG_WALLS
;
1631 case 17: return DSTW_BUG
;
1632 case 18: return RANDOM_RUMORS
;
1633 case 19: return ROT_THIRTEEN
;
1634 case 20: return ALIGNMENT_FAILURE
;
1635 case 21: return DEAFNESS
;
1636 case 22: return MEMORY_LOST
;
1637 case 23: return FARLOOK_BUG
;
1638 case 24: return CAPTCHA
;
1639 case 25: return RECURRING_AMNESIA
;
1640 case 26: return SENSORY_DEPRIVATION
;
1641 case 27: return BIGSCRIPT
;
1642 case 28: return QUIZZES
;
1643 case 29: return MAPBUG
;
1644 case 30: return MUTENESS
;
1645 case 31: return FOOD_IS_ROTTEN
;
1646 case 32: return MENU_LOST
;
1647 case 33: return FREE_HAND_LOST
;
1648 case 34: return CONFUSION_PROBLEM
;
1649 case 35: return DROP_BUG
;
1650 case 36: return UNINFORMATION
;
1651 case 37: return AUTOMATIC_TRAP_CREATION
;
1652 case 38: return SHADES_OF_GREY
;
1653 case 39: return BANKBUG
;
1654 case 40: return TECHBUG
;
1655 case 41: return CHAOS_TERRAIN
;
1656 case 42: return AUTO_DESTRUCT
;
1657 case 43: return SPEED_BUG
;
1658 case 44: return FAINT_ACTIVE
;
1659 case 45: return DIFFICULTY_INCREASED
;
1660 case 46: return WEAKNESS_PROBLEM
;
1661 case 47: return BISHOP_GRIDBUG
;
1662 case 48: return STAIRSTRAP
;
1663 case 49: return RECURRING_DISENCHANT
;
1664 case 50: return ITEMCURSING
;
1665 case 51: return FAST_METABOLISM
;
1666 case 52: return INTRINSIC_LOSS
;
1667 case 53: return BLOOD_LOSS
;
1668 case 54: return NASTINESS_EFFECTS
;
1669 case 55: return BAD_EFFECTS
;
1670 case 56: return ENGRAVINGBUG
;
1671 case 57: return SUPERSCROLLER_ACTIVE
;
1672 case 58: return SKILL_DEACTIVATED
;
1673 case 59: return STATS_LOWERED
;
1674 case 60: return TRAINING_DEACTIVATED
;
1675 case 61: return EXERCISE_DEACTIVATED
;
1676 case 62: return NORETURN
;
1677 case 63: return RMB_LOST
;
1678 case 64: return TELEPORTING_ITEMS
;
1679 case 65: return MAGIC_DEVICE_BUG
;
1680 case 66: return BOOKBUG
;
1681 case 67: return RANDOM_MESSAGES
;
1682 case 68: return DESECRATION
;
1683 case 69: return STARVATION_EFFECT
;
1684 case 70: return NO_DROPS_EFFECT
;
1685 case 71: return LOW_EFFECTS
;
1686 case 72: return INVIS_TRAPS_EFFECT
;
1687 case 73: return GHOST_WORLD
;
1688 case 74: return DEHYDRATION
;
1689 case 75: return HATE_TRAP_EFFECT
;
1690 case 76: return TOTTER_EFFECT
;
1691 case 77: return NONINTRINSIC_EFFECT
;
1692 case 78: return DROPCURSES_EFFECT
;
1693 case 79: return NAKEDNESS
;
1694 case 80: return ANTILEVELING
;
1695 case 81: return ITEM_STEALING_EFFECT
;
1696 case 82: return REBELLION_EFFECT
;
1697 case 83: return CRAP_EFFECT
;
1698 case 84: return PROJECTILES_MISFIRE
;
1699 case 85: return WALL_TRAP_EFFECT
;
1700 case 86: return TURNLIMITATION
;
1701 case 87: return WEAKSIGHT
;
1702 case 88: return DISCONNECTED_STAIRS
;
1703 case 89: return INTERFACE_SCREW
;
1704 case 90: return BOSSFIGHT
;
1705 case 91: return ENTIRE_LEVEL
;
1706 case 92: return BONES_CHANGE
;
1707 case 93: return AUTOCURSE_EQUIP
;
1708 case 94: return HIGHLEVEL_STATUS
;
1709 case 95: return SPELL_FORGETTING
;
1710 case 96: return SOUND_EFFECT_BUG
;
1711 case 97: return TIMERUN_BUG
;
1712 case 98: return LOOTCUT_BUG
;
1713 case 99: return MONSTER_SPEED_BUG
;
1714 case 100: return SCALING_BUG
;
1715 case 101: return ENMITY_BUG
;
1716 case 102: return WHITE_SPELLS
;
1717 case 103: return COMPLETE_GRAY_SPELLS
;
1718 case 104: return QUASAR_BUG
;
1719 case 105: return MOMMA_BUG
;
1720 case 106: return HORROR_BUG
;
1721 case 107: return ARTIFICER_BUG
;
1722 case 108: return WEREFORM_BUG
;
1723 case 109: return NON_PRAYER_BUG
;
1724 case 110: return EVIL_PATCH_EFFECT
;
1725 case 111: return HARD_MODE_EFFECT
;
1726 case 112: return SECRET_ATTACK_BUG
;
1727 case 113: return EATER_BUG
;
1728 case 114: return COVETOUSNESS_BUG
;
1729 case 115: return NOT_SEEN_BUG
;
1730 case 116: return DARK_MODE_BUG
;
1731 case 117: return ANTISEARCH_EFFECT
;
1732 case 118: return HOMICIDE_EFFECT
;
1733 case 119: return NASTY_NATION_BUG
;
1734 case 120: return WAKEUP_CALL_BUG
;
1735 case 121: return GRAYOUT_BUG
;
1736 case 122: return GRAY_CENTER_BUG
;
1737 case 123: return CHECKERBOARD_BUG
;
1738 case 124: return CLOCKWISE_SPIN_BUG
;
1739 case 125: return COUNTERCLOCKWISE_SPIN_BUG
;
1740 case 126: return LAG_BUG
;
1741 case 127: return BLESSCURSE_EFFECT
;
1742 case 128: return DE_LIGHT_BUG
;
1743 case 129: return DISCHARGE_BUG
;
1744 case 130: return TRASHING_EFFECT
;
1745 case 131: return FILTERING_BUG
;
1746 case 132: return DEFORMATTING_BUG
;
1747 case 133: return FLICKER_STRIP_BUG
;
1748 case 134: return UNDRESSING_EFFECT
;
1749 case 135: return HYPERBLUEWALL_BUG
;
1750 case 136: return NOLITE_BUG
;
1751 case 137: return PARANOIA_BUG
;
1752 case 138: return FLEECESCRIPT_BUG
;
1753 case 139: return INTERRUPT_EFFECT
;
1754 case 140: return DUSTBIN_BUG
;
1755 case 141: return MANA_BATTERY_BUG
;
1756 case 142: return MONSTERFINGERS_EFFECT
;
1757 case 143: return MISCAST_BUG
;
1758 case 144: return MESSAGE_SUPPRESSION_BUG
;
1759 case 145: return STUCK_ANNOUNCEMENT_BUG
;
1760 case 146: return BLOODTHIRSTY_EFFECT
;
1761 case 147: return MAXIMUM_DAMAGE_BUG
;
1762 case 148: return LATENCY_BUG
;
1763 case 149: return STARLIT_BUG
;
1764 case 150: return KNOWLEDGE_BUG
;
1765 case 151: return HIGHSCORE_BUG
;
1766 case 152: return PINK_SPELLS
;
1767 case 153: return GREEN_SPELLS
;
1768 case 154: return EVC_EFFECT
;
1769 case 155: return UNDERLAYER_BUG
;
1770 case 156: return DAMAGE_METER_BUG
;
1771 case 157: return ARBITRARY_WEIGHT_BUG
;
1772 case 158: return FUCKED_INFO_BUG
;
1773 case 159: return BLACK_SPELLS
;
1774 case 160: return CYAN_SPELLS
;
1775 case 161: return HEAP_EFFECT
;
1776 case 162: return BLUE_SPELLS
;
1777 case 163: return TRON_EFFECT
;
1778 case 164: return RED_SPELLS
;
1779 case 165: return TOO_HEAVY_EFFECT
;
1780 case 166: return ELONGATION_BUG
;
1781 case 167: return WRAPOVER_EFFECT
;
1782 case 168: return DESTRUCTION_EFFECT
;
1783 case 169: return MELEE_PREFIX_BUG
;
1784 case 170: return AUTOMORE_BUG
;
1785 case 171: return UNFAIR_ATTACK_BUG
;
1786 case 172: return ORANGE_SPELLS
;
1787 case 173: return VIOLET_SPELLS
;
1788 case 174: return LONGING_EFFECT
;
1789 case 175: return CURSED_PARTS
;
1790 case 176: return QUAVERSAL
;
1791 case 177: return APPEARANCE_SHUFFLING
;
1792 case 178: return BROWN_SPELLS
;
1793 case 179: return CHOICELESSNESS
;
1794 case 180: return GOLDSPELLS
;
1795 case 181: return DEPROVEMENT
;
1796 case 182: return INITIALIZATION_FAIL
;
1797 case 183: return GUSHLUSH
;
1798 case 184: return SOILTYPE
;
1799 case 185: return DANGEROUS_TERRAINS
;
1800 case 186: return FALLOUT_EFFECT
;
1801 case 187: return MOJIBAKE
;
1802 case 188: return GRAVATION
;
1803 case 189: return UNCALLED_EFFECT
;
1804 case 190: return EXPLODING_DICE
;
1805 case 191: return PERMACURSE_EFFECT
;
1806 case 192: return SHROUDED_IDENTITY
;
1807 case 193: return FEELER_GAUGES
;
1808 case 194: return LONG_SCREWUP
;
1809 case 195: return WING_YELLOW_GLYPHS
;
1810 case 196: return LIFE_SAVING_BUG
;
1811 case 197: return CURSEUSE_EFFECT
;
1812 case 198: return CUT_NUTRITION
;
1813 case 199: return SKILL_LOSS_EFFECT
;
1814 case 200: return AUTOPILOT_EFFECT
;
1815 case 201: return MYSTERIOUS_FORCE_EFFECT
;
1816 case 202: return MONSTER_GLYPH_BUG
;
1817 case 203: return CHANGING_DIRECTIVES
;
1818 case 204: return CONTAINER_KABOOM
;
1819 case 205: return STEAL_DEGRADING
;
1820 case 206: return LEFT_INVENTORY
;
1821 case 207: return FLUCTUATING_SPEED
;
1822 case 208: return TARMU_STROKING_NORA
;
1823 case 209: return FAILURE_EFFECTS
;
1824 case 210: return BRIGHT_CYAN_SPELLS
;
1825 case 211: return FREQUENTATION_SPAWNS
;
1826 case 212: return PET_AI_SCREWED
;
1827 case 213: return SATAN_EFFECT
;
1828 case 214: return REMEMBERANCE_EFFECT
;
1829 case 215: return POKELIE_EFFECT
;
1830 case 216: return AUTOPICKUP_ALWAYS
;
1831 case 217: return DYWYPI_PROBLEM
;
1832 case 218: return SILVER_SPELLS
;
1833 case 219: return METAL_SPELLS
;
1834 case 220: return PLATINUM_SPELLS
;
1835 case 221: return MANLER_EFFECT
;
1836 case 222: return DOORNING_EFFECT
;
1837 case 223: return NOWNSIBLE_EFFECT
;
1838 case 224: return ELM_STREET_EFFECT
;
1839 case 225: return MONNOISE_EFFECT
;
1840 case 226: return RANG_CALL_EFFECT
;
1841 case 227: return RECURRING_SPELL_LOSS
;
1842 case 228: return ANTI_TRAINING_EFFECT
;
1843 case 229: return TECHOUT_BUG
;
1844 case 230: return STAT_DECAY
;
1845 case 231: return MOVEMORKING
;
1846 case 232: return BAD_PARTS
;
1847 case 233: return COMPLETELY_BAD_PARTS
;
1848 case 234: return EVIL_VARIANT_ACTIVE
;
1849 case 235: return SANITY_TREBLE_EFFECT
;
1850 case 236: return STAT_DECREASE_BUG
;
1851 case 237: return SIMEOUT_BUG
;
1852 case 238: return GIANT_EXPLORER
;
1853 case 239: return YAWM_EFFECT
;
1854 case 240: return TRAPWARPING
;
1855 case 241: return ENTHU_EFFECT
;
1856 case 242: return MIKRA_EFFECT
;
1857 case 243: return GOTS_TOO_GOOD_EFFECT
;
1858 case 244: return NO_FUN_WALLS
;
1859 case 245: return CRADLE_CHAOS_EFFECT
;
1860 case 246: return TEZ_EFFECT
;
1861 case 247: return KILLER_ROOM_EFFECT
;
1862 case 248: return REALLY_BAD_TRAP_EFFECT
;
1863 case 249: return COVID_TRAP_EFFECT
;
1864 case 250: return ARTIBLAST_EFFECT
;
1865 case 251: return REPEATING_NASTYCURSE_EFFECT
;
1866 case 252: return REAL_LIE_EFFECT
;
1867 case 253: return ESCAPE_PAST_EFFECT
;
1868 case 254: return PETHATE_EFFECT
;
1869 case 255: return PET_LASHOUT_EFFECT
;
1870 case 256: return PETSTARVE_EFFECT
;
1871 case 257: return PETSCREW_EFFECT
;
1872 case 258: return TECH_LOSS_EFFECT
;
1873 case 259: return PROOFLOSS_EFFECT
;
1874 case 260: return UN_INVIS_EFFECT
;
1875 case 261: return DETECTATION_EFFECT
;
1876 case 262: return OPTION_BUG_EFFECT
;
1877 case 263: return MISCOLOR_EFFECT
;
1878 case 264: return ONE_RAINBOW_EFFECT
;
1879 case 265: return COLORSHIFT_EFFECT
;
1880 case 266: return TOP_LINE_EFFECT
;
1881 case 267: return CAPS_BUG_EFFECT
;
1882 case 268: return UN_KNOWLEDGE_EFFECT
;
1883 case 269: return DARKHANCE_EFFECT
;
1884 case 270: return DSCHUEUEUET_EFFECT
;
1885 case 271: return NOPESKILL_EFFECT
;
1886 case 272: return FUCKFUCKFUCK_EFFECT
;
1887 case 273: return EPVI_EFFECT
;
1888 case 274: return AEFDE_EFFECT
;
1889 case 275: return MEAN_BURDEN_EFFECT
;
1890 case 276: return CARRCAP_EFFECT
;
1891 case 277: return UMENG_EFFECT
;
1892 case 278: return MULCH_BUG
;
1893 case 279: return SPELL_COOLDOWN_BUG
;
1894 case 280: return HAVE_A_PIN_BUG
;
1895 case 281: return TURBODULL_BUG
;
1896 case 282: return INACCURACY_BUG
;
1897 case 283: return INVENTORY_SIZE_BUG
;
1898 case 284: return COSTLY_FAILURE_BUG
;
1899 case 285: return REDDAM_BUG
;
1900 case 286: return REDINC_BUG
;
1901 case 287: return MONSTER_MULTISHOT_EFFECT
;
1904 /* appease compiler, we should never end up here */
1905 return AUTOMORE_BUG
;
1910 randfemienchantment()
1913 case 1: return FEMTRAP_FEMMY
;
1914 case 2: return FEMTRAP_MADELEINE
;
1915 case 3: return FEMTRAP_MARLENA
;
1916 case 4: return FEMTRAP_ANASTASIA
;
1917 case 5: return FEMTRAP_JESSICA
;
1918 case 6: return FEMTRAP_SOLVEJG
;
1919 case 7: return FEMTRAP_WENDY
;
1920 case 8: return FEMTRAP_KATHARINA
;
1921 case 9: return FEMTRAP_ELENA
;
1922 case 10: return FEMTRAP_THAI
;
1923 case 11: return FEMTRAP_ELIF
;
1924 case 12: return FEMTRAP_NADJA
;
1925 case 13: return FEMTRAP_SANDRA
;
1926 case 14: return FEMTRAP_NATALJE
;
1927 case 15: return FEMTRAP_JEANETTA
;
1928 case 16: return FEMTRAP_YVONNE
;
1929 case 17: return FEMTRAP_MAURAH
;
1930 case 18: return FEMTRAP_MELTEM
;
1931 case 19: return FEMTRAP_SARAH
;
1932 case 20: return FEMTRAP_CLAUDIA
;
1933 case 21: return FEMTRAP_LUDGERA
;
1934 case 22: return FEMTRAP_KATI
;
1935 case 23: return FEMTRAP_NELLY
;
1936 case 24: return FEMTRAP_EVELINE
;
1937 case 25: return FEMTRAP_KARIN
;
1938 case 26: return FEMTRAP_JUEN
;
1939 case 27: return FEMTRAP_KRISTINA
;
1940 case 28: return FEMTRAP_LOU
;
1941 case 29: return FEMTRAP_ALMUT
;
1942 case 30: return FEMTRAP_JULIETTA
;
1943 case 31: return FEMTRAP_ARABELLA
;
1944 case 32: return FEMTRAP_KRISTIN
;
1945 case 33: return FEMTRAP_ANNA
;
1946 case 34: return FEMTRAP_RUEA
;
1947 case 35: return FEMTRAP_DORA
;
1948 case 36: return FEMTRAP_MARIKE
;
1949 case 37: return FEMTRAP_JETTE
;
1950 case 38: return FEMTRAP_INA
;
1951 case 39: return FEMTRAP_SING
;
1952 case 40: return FEMTRAP_VICTORIA
;
1953 case 41: return FEMTRAP_MELISSA
;
1954 case 42: return FEMTRAP_ANITA
;
1955 case 43: return FEMTRAP_HENRIETTA
;
1956 case 44: return FEMTRAP_VERENA
;
1957 case 45: return FEMTRAP_ANNEMARIE
;
1958 case 46: return FEMTRAP_JIL
;
1959 case 47: return FEMTRAP_JANA
;
1960 case 48: return FEMTRAP_KATRIN
;
1961 case 49: return FEMTRAP_GUDRUN
;
1962 case 50: return FEMTRAP_ELLA
;
1963 case 51: return FEMTRAP_MANUELA
;
1964 case 52: return FEMTRAP_JENNIFER
;
1965 case 53: return FEMTRAP_PATRICIA
;
1966 case 54: return FEMTRAP_ANTJE
;
1967 case 55: return FEMTRAP_ANTJE_X
;
1968 case 56: return FEMTRAP_KERSTIN
;
1969 case 57: return FEMTRAP_LAURA
;
1970 case 58: return FEMTRAP_LARISSA
;
1971 case 59: return FEMTRAP_NORA
;
1972 case 60: return FEMTRAP_NATALIA
;
1973 case 61: return FEMTRAP_SUSANNE
;
1974 case 62: return FEMTRAP_LISA
;
1975 case 63: return FEMTRAP_BRIDGHITTE
;
1976 case 64: return FEMTRAP_JULIA
;
1977 case 65: return FEMTRAP_NICOLE
;
1978 case 66: return FEMTRAP_RITA
;
1979 case 67: return FEMTRAP_JANINA
;
1980 case 68: return FEMTRAP_ROSA
;
1981 case 69: return FEMTRAP_KSENIA
;
1982 case 70: return FEMTRAP_LYDIA
;
1983 case 71: return FEMTRAP_CONNY
;
1984 case 72: return FEMTRAP_KATIA
;
1985 case 73: return FEMTRAP_MARIYA
;
1986 case 74: return FEMTRAP_ELISE
;
1987 case 75: return FEMTRAP_RONJA
;
1988 case 76: return FEMTRAP_ARIANE
;
1989 case 77: return FEMTRAP_JOHANNA
;
1990 case 78: return FEMTRAP_INGE
;
1991 case 79: return FEMTRAP_RUTH
;
1992 case 80: return FEMTRAP_MAGDALENA
;
1993 case 81: return FEMTRAP_MARLEEN
;
1994 case 82: return FEMTRAP_KLARA
;
1995 case 83: return FEMTRAP_FRIEDERIKE
;
1996 case 84: return FEMTRAP_NAOMI
;
1997 case 85: return FEMTRAP_UTE
;
1998 case 86: return FEMTRAP_JASIEEN
;
1999 case 87: return FEMTRAP_YASAMAN
;
2000 case 88: return FEMTRAP_MAY_BRITT
;
2001 case 89: return FEMTRAP_NADINE
;
2002 case 90: return FEMTRAP_LUISA
;
2003 case 91: return FEMTRAP_IRINA
;
2004 case 92: return FEMTRAP_LISELOTTE
;
2005 case 93: return FEMTRAP_GRETA
;
2006 case 94: return FEMTRAP_JANE
;
2007 case 95: return FEMTRAP_SUE_LYN
;
2008 case 96: return FEMTRAP_CHARLOTTE
;
2009 case 97: return FEMTRAP_HANNAH
;
2010 case 98: return FEMTRAP_LITTLE_MARIE
;
2011 case 99: return FEMTRAP_TANJA
;
2012 case 100: return FEMTRAP_SONJA
;
2013 case 101: return FEMTRAP_RHEA
;
2014 case 102: return FEMTRAP_LARA
;
2015 case 103: return FEMTRAP_SABRINA
;
2018 return FEMTRAP_ELISE
; /* appease compiler */
2022 randomdisableproperty()
2063 return DETECT_MONSTERS
;
2073 return TELEPORT_CONTROL
;
2077 return MAGICAL_BREATHING
;
2079 return PASSES_WALLS
;
2081 return SLOW_DIGESTION
;
2087 return REGENERATION
;
2089 return ENERGY_REGENERATION
;
2091 return POLYMORPH_CONTROL
;
2101 return DRUNKEN_BOXING
;
2109 return STONED_CHILLER
;
2125 return VERSUS_CURSES
;
2131 return DOUBLE_ATTACK
;
2149 return DISCOUNT_ACTION
;
2151 return FULL_NUTRIENT
;
2153 return TECHNICALITY
;
2157 return DIMINISHED_BLEEDING
;
2159 return CONTROL_MAGIC
;
2163 return ASTRAL_VISION
;
2171 return RESISTANCE_PIERCING
;
2186 if (!rn2(7)) return TRAP_PERCENTS
;
2187 else if (!rn2(9)) return UNKNOWN_TRAP
;
2188 else if (!rn2(20)) return SPACEWARS_TRAP
;
2189 else if (!rn2(25)) {
2191 case 1: return ARABELLA_TRAP
;
2192 case 2: return ANASTASIA_TRAP
;
2193 case 3: return HENRIETTA_TRAP
;
2194 case 4: return KATRIN_TRAP
;
2195 case 5: return JANA_TRAP
;
2198 else if (!rn2(50)) return ARABELLA_SPEAKER
;
2199 else if (!rn2(100)) return SUPERTHING_TRAP
;
2200 else if (!rn2(200)) return INSTANASTY_TRAP
;
2201 else if (!rn2(2000)) return AUTOMATIC_SWITCHER
;
2202 else switch (rnd(287)) {
2203 case 1: return RMB_LOSS_TRAP
;
2204 case 2: return UNINFORMATION_TRAP
;
2205 case 3: return BIGSCRIPT_TRAP
;
2206 case 4: return BAD_EFFECT_TRAP
;
2207 case 5: return CAPTCHA_TRAP
;
2208 case 6: return WEAKNESS_TRAP
;
2209 case 7: return TRAINING_TRAP
;
2210 case 8: return ALIGNMENT_TRAP
;
2211 case 9: return DISPLAY_TRAP
;
2212 case 10: return SPELL_LOSS_TRAP
;
2213 case 11: return STEALER_TRAP
;
2214 case 12: return REBELLION_TRAP
;
2215 case 13: return EXERCISE_TRAP
;
2216 case 14: return NUPESELL_TRAP
;
2217 case 15: return CASTER_TRAP
;
2218 case 16: return QUIZ_TRAP
;
2219 case 17: return INTRINSIC_LOSS_TRAP
;
2220 case 18: return NONINTRINSICAL_TRAP
;
2221 case 19: return LOW_STATS_TRAP
;
2222 case 20: return CRAP_TRAP
;
2223 case 21: return YELLOW_SPELL_TRAP
;
2224 case 22: return MISFIRE_TRAP
;
2225 case 23: return SOUND_TRAP
;
2226 case 24: return LOW_EFFECT_TRAP
;
2227 case 25: return EGOTRAP
;
2228 case 26: return LEVEL_TRAP
;
2229 case 27: return WEAK_SIGHT_TRAP
;
2230 case 28: return DEHYDRATION_TRAP
;
2231 case 29: return RANDOM_MESSAGE_TRAP
;
2232 case 30: return MULTIPLY_TRAP
;
2233 case 31: return TRAP_OF_ROTTENNESS
;
2234 case 32: return DSTW_TRAP
;
2235 case 33: return STATUS_TRAP
;
2236 case 34: return MENU_TRAP
;
2237 case 35: return AUTO_DESTRUCT_TRAP
;
2238 case 36: return DIFFICULTY_TRAP
;
2239 case 37: return BANK_TRAP
;
2240 case 38: return STAIRS_TRAP
;
2241 case 39: return FREE_HAND_TRAP
;
2242 case 40: return AUTO_VULN_TRAP
;
2243 case 41: return STARVATION_TRAP
;
2244 case 42: return HATE_TRAP
;
2245 case 43: return UNSKILLED_TRAP
;
2246 case 44: return MAGIC_DEVICE_TRAP
;
2247 case 45: return DROPCURSE_TRAP
;
2248 case 46: return ROT_THIRTEEN_TRAP
;
2249 case 47: return TRAP_OF_NO_RETURN
;
2250 case 48: return GHOST_WORLD_TRAP
;
2251 case 49: return DROP_TRAP
;
2252 case 50: return ENGRAVING_TRAP
;
2253 case 51: return BLOOD_LOSS_TRAP
;
2254 case 52: return BOOK_TRAP
;
2255 case 53: return MEMORY_TRAP
;
2256 case 54: return RESPAWN_TRAP
;
2257 case 55: return MAP_TRAP
;
2258 case 56: return METABOLIC_TRAP
;
2259 case 57: return UNIDENTIFY_TRAP
;
2260 case 58: return NTLL_TRAP
;
2261 case 59: return INVENTORY_TRAP
;
2262 case 60: return THIRST_TRAP
;
2263 case 61: return VERISIERT
;
2264 case 62: return DROPLESS_TRAP
;
2265 case 63: return NAKEDNESS_TRAP
;
2266 case 64: return FAINT_TRAP
;
2267 case 65: return MUTENESS_TRAP
;
2268 case 66: return TRAP_OF_WALLS
;
2269 case 67: return CURSE_TRAP
;
2270 case 68: return CHAOS_TRAP
;
2271 case 69: return FARLOOK_TRAP
;
2272 case 70: return SHADES_OF_GREY_TRAP
;
2273 case 71: return TELE_ITEMS_TRAP
;
2274 case 72: return TECH_TRAP
;
2275 case 73: return FAST_FORWARD_TRAP
;
2276 case 74: return LIMITATION_TRAP
;
2277 case 75: return DESECRATION_TRAP
;
2278 case 76: return BISHOP_TRAP
;
2279 case 77: return SPEED_TRAP
;
2280 case 78: return CONFUSION_TRAP
;
2281 case 79: return INVISIBLE_TRAP
;
2282 case 80: return LUCK_TRAP
;
2283 case 81: return ONLY_TRAP
;
2284 case 82: return DISENCHANT_TRAP
;
2285 case 83: return BLACK_NG_WALL_TRAP
;
2286 case 84: return ANTILEVEL_TRAP
;
2287 case 85: return SUPERSCROLLER_TRAP
;
2288 case 86: return TOTTER_TRAP
;
2289 case 87: return NASTINESS_TRAP
;
2290 case 88: return DISCONNECT_TRAP
;
2291 case 89: return INTERFACE_SCREW_TRAP
;
2292 case 90: return BOSSFIGHT_TRAP
;
2293 case 91: return ENTIRE_LEVEL_TRAP
;
2294 case 92: return BONES_TRAP
;
2295 case 93: return AUTOCURSE_TRAP
;
2296 case 94: return HIGHLEVEL_TRAP
;
2297 case 95: return SPELL_FORGETTING_TRAP
;
2298 case 96: return SOUND_EFFECT_TRAP
;
2299 case 97: return TIMERUN_TRAP
;
2301 case 98: return LOOTCUT_TRAP
;
2302 case 99: return MONSTER_SPEED_TRAP
;
2303 case 100: return SCALING_TRAP
;
2304 case 101: return ENMITY_TRAP
;
2305 case 102: return WHITE_SPELL_TRAP
;
2306 case 103: return COMPLETE_GRAY_SPELL_TRAP
;
2307 case 104: return QUASAR_TRAP
;
2308 case 105: return MOMMA_TRAP
;
2309 case 106: return HORROR_TRAP
;
2310 case 107: return ARTIFICER_TRAP
;
2311 case 108: return WEREFORM_TRAP
;
2312 case 109: return NON_PRAYER_TRAP
;
2313 case 110: return EVIL_PATCH_TRAP
;
2314 case 111: return HARD_MODE_TRAP
;
2315 case 112: return SECRET_ATTACK_TRAP
;
2316 case 113: return EATER_TRAP
;
2317 case 114: return COVETOUSNESS_TRAP
;
2318 case 115: return NOT_SEEN_TRAP
;
2319 case 116: return DARK_MODE_TRAP
;
2320 case 117: return ANTISEARCH_TRAP
;
2321 case 118: return HOMICIDE_TRAP
;
2322 case 119: return NASTY_NATION_TRAP
;
2323 case 120: return WAKEUP_CALL_TRAP
;
2324 case 121: return GRAYOUT_TRAP
;
2325 case 122: return GRAY_CENTER_TRAP
;
2326 case 123: return CHECKERBOARD_TRAP
;
2327 case 124: return CLOCKWISE_SPIN_TRAP
;
2328 case 125: return COUNTERCLOCKWISE_SPIN_TRAP
;
2329 case 126: return LAG_TRAP
;
2330 case 127: return BLESSCURSE_TRAP
;
2331 case 128: return DE_LIGHT_TRAP
;
2332 case 129: return DISCHARGE_TRAP
;
2333 case 130: return TRASHING_TRAP
;
2334 case 131: return FILTERING_TRAP
;
2335 case 132: return DEFORMATTING_TRAP
;
2336 case 133: return FLICKER_STRIP_TRAP
;
2337 case 134: return UNDRESSING_TRAP
;
2338 case 135: return HYPERBLUEWALL_TRAP
;
2339 case 136: return NOLITE_TRAP
;
2340 case 137: return PARANOIA_TRAP
;
2341 case 138: return FLEECESCRIPT_TRAP
;
2342 case 139: return INTERRUPT_TRAP
;
2343 case 140: return DUSTBIN_TRAP
;
2344 case 141: return MANA_BATTERY_TRAP
;
2345 case 142: return MONSTERFINGERS_TRAP
;
2346 case 143: return MISCAST_TRAP
;
2347 case 144: return MESSAGE_SUPPRESSION_TRAP
;
2348 case 145: return STUCK_ANNOUNCEMENT_TRAP
;
2349 case 146: return BLOODTHIRSTY_TRAP
;
2350 case 147: return MAXIMUM_DAMAGE_TRAP
;
2351 case 148: return LATENCY_TRAP
;
2352 case 149: return STARLIT_TRAP
;
2353 case 150: return KNOWLEDGE_TRAP
;
2354 case 151: return HIGHSCORE_TRAP
;
2355 case 152: return PINK_SPELL_TRAP
;
2356 case 153: return GREEN_SPELL_TRAP
;
2357 case 154: return EVC_TRAP
;
2358 case 155: return UNDERLAYER_TRAP
;
2359 case 156: return DAMAGE_METER_TRAP
;
2360 case 157: return ARBITRARY_WEIGHT_TRAP
;
2361 case 158: return FUCKED_INFO_TRAP
;
2362 case 159: return BLACK_SPELL_TRAP
;
2363 case 160: return CYAN_SPELL_TRAP
;
2364 case 161: return HEAP_TRAP
;
2365 case 162: return BLUE_SPELL_TRAP
;
2366 case 163: return TRON_TRAP
;
2367 case 164: return RED_SPELL_TRAP
;
2368 case 165: return TOO_HEAVY_TRAP
;
2369 case 166: return ELONGATION_TRAP
;
2370 case 167: return WRAPOVER_TRAP
;
2371 case 168: return DESTRUCTION_TRAP
;
2372 case 169: return MELEE_PREFIX_TRAP
;
2373 case 170: return AUTOMORE_TRAP
;
2374 case 171: return UNFAIR_ATTACK_TRAP
;
2375 case 172: return ORANGE_SPELL_TRAP
;
2376 case 173: return VIOLET_SPELL_TRAP
;
2377 case 174: return TRAP_OF_LONGING
;
2378 case 175: return CURSED_PART_TRAP
;
2379 case 176: return QUAVERSAL_TRAP
;
2380 case 177: return APPEARANCE_SHUFFLING_TRAP
;
2381 case 178: return BROWN_SPELL_TRAP
;
2382 case 179: return CHOICELESS_TRAP
;
2383 case 180: return GOLDSPELL_TRAP
;
2384 case 181: return DEPROVEMENT_TRAP
;
2385 case 182: return INITIALIZATION_TRAP
;
2386 case 183: return GUSHLUSH_TRAP
;
2387 case 184: return SOILTYPE_TRAP
;
2388 case 185: return DANGEROUS_TERRAIN_TRAP
;
2389 case 186: return FALLOUT_TRAP
;
2390 case 187: return MOJIBAKE_TRAP
;
2391 case 188: return GRAVATION_TRAP
;
2392 case 189: return UNCALLED_TRAP
;
2393 case 190: return EXPLODING_DICE_TRAP
;
2394 case 191: return PERMACURSE_TRAP
;
2395 case 192: return SHROUDED_IDENTITY_TRAP
;
2396 case 193: return FEELER_GAUGES_TRAP
;
2397 case 194: return LONG_SCREWUP_TRAP
;
2398 case 195: return WING_YELLOW_CHANGER
;
2399 case 196: return LIFE_SAVING_TRAP
;
2400 case 197: return CURSEUSE_TRAP
;
2401 case 198: return CUT_NUTRITION_TRAP
;
2402 case 199: return SKILL_LOSS_TRAP
;
2403 case 200: return AUTOPILOT_TRAP
;
2404 case 201: return FORCE_TRAP
;
2405 case 202: return MONSTER_GLYPH_TRAP
;
2406 case 203: return CHANGING_DIRECTIVE_TRAP
;
2407 case 204: return CONTAINER_KABOOM_TRAP
;
2408 case 205: return STEAL_DEGRADE_TRAP
;
2409 case 206: return LEFT_INVENTORY_TRAP
;
2410 case 207: return FLUCTUATING_SPEED_TRAP
;
2411 case 208: return TARMUSTROKINGNORA_TRAP
;
2412 case 209: return FAILURE_TRAP
;
2413 case 210: return BRIGHT_CYAN_SPELL_TRAP
;
2414 case 211: return FREQUENTATION_SPAWN_TRAP
;
2415 case 212: return PET_AI_TRAP
;
2416 case 213: return SATAN_TRAP
;
2417 case 214: return REMEMBERANCE_TRAP
;
2418 case 215: return POKELIE_TRAP
;
2419 case 216: return AUTOPICKUP_TRAP
;
2420 case 217: return DYWYPI_TRAP
;
2421 case 218: return SILVER_SPELL_TRAP
;
2422 case 219: return METAL_SPELL_TRAP
;
2423 case 220: return PLATINUM_SPELL_TRAP
;
2424 case 221: return MANLER_TRAP
;
2425 case 222: return DOORNING_TRAP
;
2426 case 223: return NOWNSIBLE_TRAP
;
2427 case 224: return ELM_STREET_TRAP
;
2428 case 225: return MONNOISE_TRAP
;
2429 case 226: return RANG_CALL_TRAP
;
2430 case 227: return RECURRING_SPELL_LOSS_TRAP
;
2431 case 228: return ANTITRAINING_TRAP
;
2432 case 229: return TECHOUT_TRAP
;
2433 case 230: return STAT_DECAY_TRAP
;
2434 case 231: return MOVEMORK_TRAP
;
2435 case 232: return BAD_PART_TRAP
;
2436 case 233: return COMPLETELY_BAD_PART_TRAP
;
2437 case 234: return EVIL_VARIANT_TRAP
;
2438 case 235: return SANITY_TREBLE_TRAP
;
2439 case 236: return STAT_DECREASE_TRAP
;
2440 case 237: return SIMEOUT_TRAP
;
2441 case 238: return GIANT_EXPLORER_TRAP
;
2442 case 239: return TRAPWARP_TRAP
;
2443 case 240: return YAWM_TRAP
;
2444 case 241: return CRADLE_OF_CHAOS_TRAP
;
2445 case 242: return TEZCATLIPOCA_TRAP
;
2446 case 243: return ENTHUMESIS_TRAP
;
2447 case 244: return MIKRAANESIS_TRAP
;
2448 case 245: return GOTS_TOO_GOOD_TRAP
;
2449 case 246: return KILLER_ROOM_TRAP
;
2450 case 247: return NO_FUN_WALLS_TRAP
;
2451 case 248: return REALLY_BAD_TRAP
;
2452 case 249: return COVID_TRAP
;
2453 case 250: return ARTIBLAST_TRAP
;
2454 case 251: return REPEATING_NASTYCURSE_TRAP
;
2455 case 252: return REAL_LIE_TRAP
;
2456 case 253: return ESCAPE_PAST_TRAP
;
2457 case 254: return PETHATE_TRAP
;
2458 case 255: return PET_LASHOUT_TRAP
;
2459 case 256: return PETSTARVE_TRAP
;
2460 case 257: return PETSCREW_TRAP
;
2461 case 258: return TECH_LOSS_TRAP
;
2462 case 259: return PROOFLOSS_TRAP
;
2463 case 260: return UN_INVIS_TRAP
;
2464 case 261: return DETECTATION_TRAP
;
2465 case 262: return OPTION_TRAP
;
2466 case 263: return MISCOLOR_TRAP
;
2467 case 264: return ONE_RAINBOW_TRAP
;
2468 case 265: return COLORSHIFT_TRAP
;
2469 case 266: return TOP_LINE_TRAP
;
2470 case 267: return CAPS_TRAP
;
2471 case 268: return UN_KNOWLEDGE_TRAP
;
2472 case 269: return DARKHANCE_TRAP
;
2473 case 270: return DSCHUEUEUET_TRAP
;
2474 case 271: return NOPESKILL_TRAP
;
2475 case 272: return FUCKFUCKFUCK_TRAP
;
2476 case 273: return EPVI_TRAP
;
2477 case 274: return AEFDE_TRAP
;
2478 case 275: return MEAN_BURDEN_TRAP
;
2479 case 276: return CARRCAP_TRAP
;
2480 case 277: return UMENG_TRAP
;
2481 case 278: return SPELL_COOLDOWN_TRAP
;
2482 case 279: return TURBODULL_TRAP
;
2483 case 280: return REDDAM_TRAP
;
2484 case 281: return REDINC_TRAP
;
2485 case 282: return MULCH_TRAP
;
2486 case 283: return INACCURACY_TRAP
;
2487 case 284: return MONSTER_MULTISHOT_TRAP
;
2488 case 285: return DO_YOU_HAVE_A_PIN_TRAP
;
2489 case 286: return COSTLY_FAILURE_TRAP
;
2490 case 287: return INVENTORY_SIZE_TRAP
;
2494 return TRAP_PERCENTS
; /* fail safe, should never happen */
2499 randartmeleeweapon()
2503 result
= rnd_class(ORCISH_DAGGER
,HAWAIIAN_SHIRT
-1);
2504 if (objects
[result
].oc_skill
>= P_BOW
&& objects
[result
].oc_skill
<= P_CROSSBOW
) goto reroll
;
2505 if (objects
[result
].oc_skill
>= -P_CROSSBOW
&& objects
[result
].oc_skill
<= -P_BOW
) goto reroll
;
2506 if (objects
[result
].oc_skill
>= -P_BOOMERANG
&& objects
[result
].oc_skill
<= -P_DART
) goto reroll
;
2515 result
= rnd_class(ORCISH_DAGGER
,HAWAIIAN_SHIRT
-1);
2516 if (!(objects
[result
].oc_skill
>= P_BOW
&& objects
[result
].oc_skill
<= P_CROSSBOW
) ) goto reroll
;
2525 result
= rnd_class(ORCISH_DAGGER
,HAWAIIAN_SHIRT
-1);
2526 if (!(objects
[result
].oc_skill
>= -P_CROSSBOW
&& objects
[result
].oc_skill
<= -P_BOW
) && !(objects
[result
].oc_skill
>= -P_BOOMERANG
&& objects
[result
].oc_skill
<= -P_DART
) ) goto reroll
;
2531 randartdragonscales()
2534 result
= rnd_class(GRAY_DRAGON_SCALES
, YELLOW_DRAGON_SCALES
);
2539 randartdragonscalemail()
2542 result
= rnd_class(GRAY_DRAGON_SCALE_MAIL
, YELLOW_DRAGON_SCALE_MAIL
);
2547 randartdragonscaleshield()
2550 result
= rnd_class(GRAY_DRAGON_SCALE_SHIELD
, YELLOW_DRAGON_SCALE_SHIELD
);
2558 result
= rnd_class(GREEN_LIGHTSABER
, MYSTERY_LIGHTSABER
);
2566 result
= rnd_class(LEATHER_SADDLE
, INKA_SADDLE
);
2574 result
= rnd_class(LEATHER_LEASH
, INKA_LEASH
);
2582 result
= rnd_class(PARTISAN
, BEC_DE_CORBIN
);
2590 result
= rnd_class(LONG_SWORD
, GREAT_HOUCHOU
);
2598 result
= rnd_class(PAPER_SWORD
, MEATSWORD
);
2606 result
= rnd_class(ORCISH_SHORT_SWORD
, VIBROBLADE
);
2614 result
= rnd_class(SCIMITAR
, HIGH_ELVEN_WARSWORD
);
2622 result
= rnd_class(EAGLE_BALL
, CIGAR
);
2630 result
= rnd_class(UNICORN_HORN
, BUBBLEHORN
);
2638 result
= rnd_class(TRIDENT
, MANCATCHER
);
2646 result
= rnd_class(FLAIL
, OBSID
);
2654 result
= rnd_class(LANCE
, SPEC_LANCE
);
2662 result
= rnd_class(CROSSBOW
, HELO_CROSSBOW
);
2670 result
= rnd_class(WAR_HAMMER
, PROSTITUTE_SHOE
);
2675 randartmorningstar()
2678 result
= rnd_class(MORNING_STAR
, YESTERDAY_STAR
);
2686 result
= rnd_class(CLUB
, LOG
);
2694 result
= rnd_class(AXE
, CHEMISTRY_SPACE_AXE
);
2702 result
= rnd_class(BOOMERANG
, DARK_BATARANG
);
2710 result
= rnd_class(SLING
, SNIPESLING
);
2718 result
= rnd_class(ORCISH_SPEAR
, CERAMIC_SPEAR
);
2723 randarttwohandedsword()
2726 result
= rnd_class(TWO_HANDED_SWORD
, ETHER_SAW
);
2734 result
= rnd_class(PICK_AXE
, MYSTERY_PICK
);
2742 result
= rnd_class(SILVER_MACE
, BACKHAND_MACE
);
2750 result
= rnd_class(BULLWHIP
, SECRET_WHIP
);
2758 result
= rnd_class(FLY_SWATTER
, TELEPHONE
);
2766 result
= rnd_class(ROBE
, ROBE_OF_WEAKNESS
);
2774 result
= rnd_class(ORCISH_DAGGER
, GREAT_DAGGER
);
2779 randartquarterstaff()
2782 result
= rnd_class(QUARTERSTAFF
, PLATINUM_FIRE_HOOK
);
2790 result
= rnd_class(ORCISH_BOW
, WILDHILD_BOW
);
2798 result
= rnd_class(WORM_TOOTH
, TOOTH_OF_AN_ALGOLIAN_SUNTIGER
);
2806 result
= rnd_class(QATAR
, AMBUSH_QATAR
);
2814 result
= rnd_class(SHURIKEN
, CUBIC_STAR
);
2822 result
= rnd_class(DART
, RANDOM_DART
);
2830 result
= rnd_class(JAVELIN
, STACK_JAVELIN
);
2838 result
= rnd_class(ORCISH_ARROW
, WONDER_ARROW
);
2846 result
= rnd_class(RAPIER
, GOLDEN_SABER
);
2854 result
= rnd_class(DWARVISH_MATTOCK
, ETERNIUM_MATTOCK
);
2862 result
= rnd_class(GRINDER
, CIRCULAR_SAW
);
2870 result
= rnd_class(BRASS_KNUCKLES
, ELITE_KNUCKLES
);
2875 randartcrossbowbolt()
2878 result
= rnd_class(CROSSBOW_BOLT
, MATERIAL_BOLT
);
2887 result
= rnd_class(HAWAIIAN_SHIRT
,LEVITATION_BOOTS
);
2888 if (!(objects
[result
].oc_armcat
== ARM_SUIT
)) goto reroll
;
2897 result
= rnd_class(HAWAIIAN_SHIRT
,LEVITATION_BOOTS
);
2898 if (!(objects
[result
].oc_armcat
== ARM_SHIRT
)) goto reroll
;
2907 result
= rnd_class(HAWAIIAN_SHIRT
,LEVITATION_BOOTS
);
2908 if (!(objects
[result
].oc_armcat
== ARM_CLOAK
)) goto reroll
;
2917 result
= rnd_class(HAWAIIAN_SHIRT
,LEVITATION_BOOTS
);
2918 if (!(objects
[result
].oc_armcat
== ARM_HELM
)) goto reroll
;
2927 result
= rnd_class(HAWAIIAN_SHIRT
,LEVITATION_BOOTS
);
2928 if (!(objects
[result
].oc_armcat
== ARM_GLOVES
)) goto reroll
;
2937 result
= rnd_class(HAWAIIAN_SHIRT
,LEVITATION_BOOTS
);
2938 if (!(objects
[result
].oc_armcat
== ARM_SHIELD
)) goto reroll
;
2947 result
= rnd_class(HAWAIIAN_SHIRT
,LEVITATION_BOOTS
);
2948 if (!(objects
[result
].oc_armcat
== ARM_BOOTS
)) goto reroll
;
2956 result
= rnd_class(RIN_ADORNMENT
,RIN_TELEPORT_CONTROL
);
2964 result
= rnd_class(AMULET_OF_CHANGE
,AMULET_OF_VULNERABILITY
);
2972 result
= rnd_class(IMPLANT_OF_ABSORPTION
,IMPLANT_OF_VIRTUE
);
2980 result
= rnd_class(WAN_LIGHT
,WAN_PSYBEAM
);
2988 result
= rnd_class(SPE_FORCE_BOLT
,SPE_PSYBEAM
);
2996 result
= rnd_class(POT_BOOZE
,POT_PAN_GALACTIC_GARGLE_BLASTE
);
3004 result
= rnd_class(SCR_CREATE_MONSTER
,SCR_GIRLINESS
);
3012 result
= rnd_class(HEAVY_IRON_BALL
,LIQUID_BALL
);
3020 result
= rnd_class(IRON_CHAIN
,LIQUID_CHAIN
);
3028 result
= rnd_class(DILITHIUM_CRYSTAL
,ROCK
);
3036 result
= rnd_class(BLINDING_VENOM
,SEGFAULT_VENOM
);
3041 randartbadgraystone()
3044 result
= rnd_class(RIGHT_MOUSE_BUTTON_STONE
,NASTY_STONE
);
3049 randartfeminismjewel()
3052 result
= rnd_class(ELIF_S_JEWEL
,DORA_S_JEWEL
);
3057 randartmeleeweaponX()
3061 result
= ORCISH_DAGGER
+ rn2(HAWAIIAN_SHIRT
- ORCISH_DAGGER
);
3062 if (objects
[result
].oc_skill
>= P_BOW
&& objects
[result
].oc_skill
<= P_CROSSBOW
) goto reroll
;
3063 if (objects
[result
].oc_skill
>= -P_CROSSBOW
&& objects
[result
].oc_skill
<= -P_BOW
) goto reroll
;
3064 if (objects
[result
].oc_skill
>= -P_BOOMERANG
&& objects
[result
].oc_skill
<= -P_DART
) goto reroll
;
3073 result
= ORCISH_DAGGER
+ rn2(HAWAIIAN_SHIRT
- ORCISH_DAGGER
);
3074 if (!(objects
[result
].oc_skill
>= P_BOW
&& objects
[result
].oc_skill
<= P_CROSSBOW
) ) goto reroll
;
3083 result
= ORCISH_DAGGER
+ rn2(HAWAIIAN_SHIRT
- ORCISH_DAGGER
);
3084 if (!(objects
[result
].oc_skill
>= -P_CROSSBOW
&& objects
[result
].oc_skill
<= -P_BOW
) && !(objects
[result
].oc_skill
>= -P_BOOMERANG
&& objects
[result
].oc_skill
<= -P_DART
) ) goto reroll
;
3089 randartlightsaberX()
3092 result
= GREEN_LIGHTSABER
+ rn2((MYSTERY_LIGHTSABER
+ 1) - GREEN_LIGHTSABER
);
3100 result
= LEATHER_SADDLE
+ rn2((INKA_SADDLE
+ 1) - LEATHER_SADDLE
);
3108 result
= LEATHER_LEASH
+ rn2((INKA_LEASH
+ 1) - LEATHER_LEASH
);
3116 result
= PARTISAN
+ rn2((BEC_DE_CORBIN
+ 1) - PARTISAN
);
3124 result
= LONG_SWORD
+ rn2((GREAT_HOUCHOU
+ 1) - LONG_SWORD
);
3129 randartbroadswordX()
3132 result
= PAPER_SWORD
+ rn2((MEATSWORD
+ 1) - PAPER_SWORD
);
3137 randartshortswordX()
3140 result
= ORCISH_SHORT_SWORD
+ rn2((VIBROBLADE
+ 1) - ORCISH_SHORT_SWORD
);
3148 result
= SCIMITAR
+ rn2((HIGH_ELVEN_WARSWORD
+ 1) - SCIMITAR
);
3156 result
= EAGLE_BALL
+ rn2((CIGAR
+ 1) - EAGLE_BALL
);
3164 result
= UNICORN_HORN
+ rn2((BUBBLEHORN
+ 1) - UNICORN_HORN
);
3172 result
= TRIDENT
+ rn2((MANCATCHER
+ 1) - TRIDENT
);
3180 result
= FLAIL
+ rn2((OBSID
+ 1) - FLAIL
);
3188 result
= LANCE
+ rn2((SPEC_LANCE
+ 1) - LANCE
);
3196 result
= CROSSBOW
+ rn2((HELO_CROSSBOW
+ 1) - CROSSBOW
);
3204 result
= WAR_HAMMER
+ rn2((PROSTITUTE_SHOE
+ 1) - WAR_HAMMER
);
3209 randartmorningstarX()
3212 result
= MORNING_STAR
+ rn2((YESTERDAY_STAR
+ 1) - MORNING_STAR
);
3220 result
= CLUB
+ rn2((LOG
+ 1) - CLUB
);
3228 result
= AXE
+ rn2((CHEMISTRY_SPACE_AXE
+ 1) - AXE
);
3236 result
= BOOMERANG
+ rn2((DARK_BATARANG
+ 1) - BOOMERANG
);
3244 result
= SLING
+ rn2((SNIPESLING
+ 1) - SLING
);
3252 result
= ORCISH_SPEAR
+ rn2((CERAMIC_SPEAR
+ 1) - ORCISH_SPEAR
);
3257 randarttwohandedswordX()
3260 result
= TWO_HANDED_SWORD
+ rn2((ETHER_SAW
+ 1) - TWO_HANDED_SWORD
);
3268 result
= PICK_AXE
+ rn2((MYSTERY_PICK
+ 1) - PICK_AXE
);
3276 result
= SILVER_MACE
+ rn2((BACKHAND_MACE
+ 1) - SILVER_MACE
);
3284 result
= BULLWHIP
+ rn2((SECRET_WHIP
+ 1) - BULLWHIP
);
3292 result
= FLY_SWATTER
+ rn2((TELEPHONE
+ 1) - FLY_SWATTER
);
3300 result
= ROBE
+ rn2((ROBE_OF_WEAKNESS
+ 1) - ROBE
);
3308 result
= ORCISH_DAGGER
+ rn2((GREAT_DAGGER
+ 1) - ORCISH_DAGGER
);
3316 result
= WORM_TOOTH
+ rn2((TOOTH_OF_AN_ALGOLIAN_SUNTIGER
+ 1) - WORM_TOOTH
);
3324 result
= QATAR
+ rn2((AMBUSH_QATAR
+ 1) - QATAR
);
3332 result
= SHURIKEN
+ rn2((CUBIC_STAR
+ 1) - SHURIKEN
);
3340 result
= DART
+ rn2((RANDOM_DART
+ 1) - DART
);
3348 result
= JAVELIN
+ rn2((STACK_JAVELIN
+ 1) - JAVELIN
);
3356 result
= ORCISH_ARROW
+ rn2((WONDER_ARROW
+ 1) - ORCISH_ARROW
);
3364 result
= RAPIER
+ rn2((GOLDEN_SABER
+ 1) - RAPIER
);
3372 result
= DWARVISH_MATTOCK
+ rn2((ETERNIUM_MATTOCK
+ 1) - DWARVISH_MATTOCK
);
3380 result
= GRINDER
+ rn2((CIRCULAR_SAW
+ 1) - GRINDER
);
3388 result
= BRASS_KNUCKLES
+ rn2((ELITE_KNUCKLES
+ 1) - BRASS_KNUCKLES
);
3393 randartcrossbowboltX()
3396 result
= CROSSBOW_BOLT
+ rn2((MATERIAL_BOLT
+ 1) - CROSSBOW_BOLT
);
3401 randartquarterstaffX()
3404 result
= QUARTERSTAFF
+ rn2((PLATINUM_FIRE_HOOK
+ 1) - QUARTERSTAFF
);
3412 result
= ORCISH_BOW
+ rn2((WILDHILD_BOW
+ 1) - ORCISH_BOW
);
3421 result
= HAWAIIAN_SHIRT
+ rn2((LEVITATION_BOOTS
+ 1) - HAWAIIAN_SHIRT
);
3422 if (!(objects
[result
].oc_armcat
== ARM_SUIT
)) goto reroll
;
3431 result
= HAWAIIAN_SHIRT
+ rn2((LEVITATION_BOOTS
+ 1) - HAWAIIAN_SHIRT
);
3432 if (!(objects
[result
].oc_armcat
== ARM_SHIRT
)) goto reroll
;
3441 result
= HAWAIIAN_SHIRT
+ rn2((LEVITATION_BOOTS
+ 1) - HAWAIIAN_SHIRT
);
3442 if (!(objects
[result
].oc_armcat
== ARM_CLOAK
)) goto reroll
;
3451 result
= HAWAIIAN_SHIRT
+ rn2((LEVITATION_BOOTS
+ 1) - HAWAIIAN_SHIRT
);
3452 if (!(objects
[result
].oc_armcat
== ARM_HELM
)) goto reroll
;
3461 result
= HAWAIIAN_SHIRT
+ rn2((LEVITATION_BOOTS
+ 1) - HAWAIIAN_SHIRT
);
3462 if (!(objects
[result
].oc_armcat
== ARM_GLOVES
)) goto reroll
;
3471 result
= HAWAIIAN_SHIRT
+ rn2((LEVITATION_BOOTS
+ 1) - HAWAIIAN_SHIRT
);
3472 if (!(objects
[result
].oc_armcat
== ARM_SHIELD
)) goto reroll
;
3481 result
= HAWAIIAN_SHIRT
+ rn2((LEVITATION_BOOTS
+ 1) - HAWAIIAN_SHIRT
);
3482 if (!(objects
[result
].oc_armcat
== ARM_BOOTS
)) goto reroll
;
3490 result
= RIN_ADORNMENT
+ rn2((RIN_TELEPORT_CONTROL
+ 1) - RIN_ADORNMENT
);
3498 result
= AMULET_OF_CHANGE
+ rn2((AMULET_OF_VULNERABILITY
+ 1) - AMULET_OF_CHANGE
);
3506 result
= IMPLANT_OF_ABSORPTION
+ rn2((IMPLANT_OF_VIRTUE
+ 1) - IMPLANT_OF_ABSORPTION
);
3514 result
= WAN_LIGHT
+ rn2((WAN_PSYBEAM
+ 1) - WAN_LIGHT
);
3522 result
= SPE_FORCE_BOLT
+ rn2((SPE_PSYBEAM
+ 1) - SPE_FORCE_BOLT
);
3530 result
= POT_BOOZE
+ rn2((POT_PAN_GALACTIC_GARGLE_BLASTE
+ 1) - POT_BOOZE
);
3538 result
= SCR_CREATE_MONSTER
+ rn2((SCR_GIRLINESS
+ 1) - SCR_CREATE_MONSTER
);
3546 result
= HEAVY_IRON_BALL
+ rn2((LIQUID_BALL
+ 1) - HEAVY_IRON_BALL
);
3554 result
= IRON_CHAIN
+ rn2((LIQUID_CHAIN
+ 1) - IRON_CHAIN
);
3562 result
= DILITHIUM_CRYSTAL
+ rn2((ROCK
+ 1) - DILITHIUM_CRYSTAL
);
3570 result
= BLINDING_VENOM
+ rn2((SEGFAULT_VENOM
+ 1) - BLINDING_VENOM
);
3575 randartiattacktype()
3581 result
= AD_PHYS
; break;
3583 result
= AD_DRLI
; break;
3585 result
= AD_COLD
; break;
3587 result
= AD_FIRE
; break;
3589 result
= AD_ELEC
; break;
3591 result
= AD_STUN
; break;
3593 result
= AD_ACID
; break;
3595 result
= AD_MAGM
; break;
3602 deacrandomintrinsic(amount
)
3603 register int amount
;
3613 u
.uprops
[DEAC_FIRE_RES
].intrinsic
+= amount
;
3614 pline("You are prevented from having fire resistance!");
3621 u
.uprops
[DEAC_COLD_RES
].intrinsic
+= amount
;
3622 pline("You are prevented from having cold resistance!");
3629 u
.uprops
[DEAC_SLEEP_RES
].intrinsic
+= amount
;
3630 pline("You are prevented from having sleep resistance!");
3634 u
.uprops
[DEAC_DISINT_RES
].intrinsic
+= amount
;
3635 pline("You are prevented from having disintegration resistance!");
3642 u
.uprops
[DEAC_SHOCK_RES
].intrinsic
+= amount
;
3643 pline("You are prevented from having shock resistance!");
3650 u
.uprops
[DEAC_POISON_RES
].intrinsic
+= amount
;
3651 pline("You are prevented from having poison resistance!");
3656 u
.uprops
[DEAC_DRAIN_RES
].intrinsic
+= amount
;
3657 pline("You are prevented from having drain resistance!");
3661 u
.uprops
[DEAC_SICK_RES
].intrinsic
+= amount
;
3662 pline("You are prevented from having sickness resistance!");
3666 u
.uprops
[DEAC_ANTIMAGIC
].intrinsic
+= amount
;
3667 pline("You are prevented from having magic resistance!");
3673 u
.uprops
[DEAC_ACID_RES
].intrinsic
+= amount
;
3674 pline("You are prevented from having acid resistance!");
3678 u
.uprops
[DEAC_STONE_RES
].intrinsic
+= amount
;
3679 pline("You are prevented from having petrification resistance!");
3682 u
.uprops
[DEAC_FEAR_RES
].intrinsic
+= amount
;
3683 pline("You are prevented from having fear resistance!");
3688 u
.uprops
[DEAC_SEE_INVIS
].intrinsic
+= amount
;
3689 pline("You are prevented from having see invisible!");
3694 u
.uprops
[DEAC_TELEPAT
].intrinsic
+= amount
;
3695 pline("You are prevented from having telepathy!");
3700 u
.uprops
[DEAC_WARNING
].intrinsic
+= amount
;
3701 pline("You are prevented from having warning!");
3706 u
.uprops
[DEAC_SEARCHING
].intrinsic
+= amount
;
3707 pline("You are prevented from having automatic searching!");
3710 u
.uprops
[DEAC_CLAIRVOYANT
].intrinsic
+= amount
;
3711 pline("You are prevented from having clairvoyance!");
3718 u
.uprops
[DEAC_INFRAVISION
].intrinsic
+= amount
;
3719 pline("You are prevented from having infravision!");
3722 u
.uprops
[DEAC_DETECT_MONSTERS
].intrinsic
+= amount
;
3723 pline("You are prevented from having detect monsters!");
3728 u
.uprops
[DEAC_INVIS
].intrinsic
+= amount
;
3729 pline("You are prevented from having invisibility!");
3732 u
.uprops
[DEAC_DISPLACED
].intrinsic
+= amount
;
3733 pline("You are prevented from having displacement!");
3738 u
.uprops
[DEAC_STEALTH
].intrinsic
+= amount
;
3739 pline("You are prevented from having stealth!");
3742 u
.uprops
[DEAC_JUMPING
].intrinsic
+= amount
;
3743 pline("You are prevented from having jumping!");
3748 u
.uprops
[DEAC_TELEPORT_CONTROL
].intrinsic
+= amount
;
3749 pline("You are prevented from having teleport control!");
3752 u
.uprops
[DEAC_FLYING
].intrinsic
+= amount
;
3753 pline("You are prevented from having flying!");
3756 u
.uprops
[DEAC_MAGICAL_BREATHING
].intrinsic
+= amount
;
3757 pline("You are prevented from having magical breathing!");
3760 u
.uprops
[DEAC_PASSES_WALLS
].intrinsic
+= amount
;
3761 pline("You are prevented from having phasing!");
3765 u
.uprops
[DEAC_SLOW_DIGESTION
].intrinsic
+= amount
;
3766 pline("You are prevented from having slow digestion!");
3769 u
.uprops
[DEAC_HALF_SPDAM
].intrinsic
+= amount
;
3770 pline("You are prevented from having half spell damage!");
3773 u
.uprops
[DEAC_HALF_PHDAM
].intrinsic
+= amount
;
3774 pline("You are prevented from having half physical damage!");
3781 u
.uprops
[DEAC_REGENERATION
].intrinsic
+= amount
;
3782 pline("You are prevented from having regeneration!");
3786 u
.uprops
[DEAC_ENERGY_REGENERATION
].intrinsic
+= amount
;
3787 pline("You are prevented from having mana regeneration!");
3792 u
.uprops
[DEAC_POLYMORPH_CONTROL
].intrinsic
+= amount
;
3793 pline("You are prevented from having polymorph control!");
3800 u
.uprops
[DEAC_FAST
].intrinsic
+= amount
;
3801 pline("You are prevented from having speed!");
3806 u
.uprops
[DEAC_REFLECTING
].intrinsic
+= amount
;
3807 pline("You are prevented from having reflection!");
3812 u
.uprops
[DEAC_FREE_ACTION
].intrinsic
+= amount
;
3813 pline("You are prevented from having free action!");
3816 u
.uprops
[DEAC_HALLU_PARTY
].intrinsic
+= amount
;
3817 pline("You are prevented from hallu partying!");
3820 u
.uprops
[DEAC_DRUNKEN_BOXING
].intrinsic
+= amount
;
3821 pline("You are prevented from drunken boxing!");
3824 u
.uprops
[DEAC_STUNNOPATHY
].intrinsic
+= amount
;
3825 pline("You are prevented from having stunnopathy!");
3828 u
.uprops
[DEAC_NUMBOPATHY
].intrinsic
+= amount
;
3829 pline("You are prevented from having numbopathy!");
3832 u
.uprops
[DEAC_FREEZOPATHY
].intrinsic
+= amount
;
3833 pline("You are prevented from having freezopathy!");
3836 u
.uprops
[DEAC_STONED_CHILLER
].intrinsic
+= amount
;
3837 pline("You are prevented from being a stoned chiller!");
3840 u
.uprops
[DEAC_CORROSIVITY
].intrinsic
+= amount
;
3841 pline("You are prevented from having corrosivity!");
3844 u
.uprops
[DEAC_FEAR_FACTOR
].intrinsic
+= amount
;
3845 pline("You are prevented from having an increased fear factor!");
3848 u
.uprops
[DEAC_BURNOPATHY
].intrinsic
+= amount
;
3849 pline("You are prevented from having burnopathy!");
3852 u
.uprops
[DEAC_SICKOPATHY
].intrinsic
+= amount
;
3853 pline("You are prevented from having sickopathy!");
3856 u
.uprops
[DEAC_KEEN_MEMORY
].intrinsic
+= amount
;
3857 pline("You are prevented from having keen memory!");
3860 u
.uprops
[DEAC_THE_FORCE
].intrinsic
+= amount
;
3861 pline("You are prevented from using the force like a real jedi!");
3864 u
.uprops
[DEAC_SIGHT_BONUS
].intrinsic
+= amount
;
3865 pline("You are prevented from having extra sight!");
3868 u
.uprops
[DEAC_VERSUS_CURSES
].intrinsic
+= amount
;
3869 pline("You are prevented from having curse resistance!");
3872 u
.uprops
[DEAC_STUN_RES
].intrinsic
+= amount
;
3873 pline("You are prevented from having stun resistance!");
3876 u
.uprops
[DEAC_CONF_RES
].intrinsic
+= amount
;
3877 pline("You are prevented from having confusion resistance!");
3880 u
.uprops
[DEAC_DOUBLE_ATTACK
].intrinsic
+= amount
;
3881 pline("You are prevented from having double attacks!");
3884 u
.uprops
[DEAC_QUAD_ATTACK
].intrinsic
+= amount
;
3885 pline("You are prevented from having quad attacks!");
3888 u
.uprops
[DEAC_PSI_RES
].intrinsic
+= amount
;
3889 pline("You are prevented from having psi resistance!");
3892 u
.uprops
[DEAC_WONDERLEGS
].intrinsic
+= amount
;
3893 pline("You are prevented from having wonderlegs!");
3896 u
.uprops
[DEAC_GLIB_COMBAT
].intrinsic
+= amount
;
3897 pline("You are prevented from having glib combat!");
3900 u
.uprops
[DEAC_MANALEECH
].intrinsic
+= amount
;
3901 pline("You are prevented from having manaleech!");
3904 u
.uprops
[DEAC_DIMMOPATHY
].intrinsic
+= amount
;
3905 pline("You are prevented from having dimmopathy!");
3908 u
.uprops
[DEAC_PEACEVISION
].intrinsic
+= amount
;
3909 pline("You are prevented from having peacevision!");
3912 u
.uprops
[DEAC_CONT_RES
].intrinsic
+= amount
;
3913 pline("You are prevented from having contamination resistance!");
3916 u
.uprops
[DEAC_DISCOUNT_ACTION
].intrinsic
+= amount
;
3917 pline("You are prevented from having discount action!");
3920 u
.uprops
[DEAC_FULL_NUTRIENT
].intrinsic
+= amount
;
3921 pline("You are prevented from having full nutrients!");
3924 u
.uprops
[DEAC_TECHNICALITY
].intrinsic
+= amount
;
3925 pline("You are prevented from having technicality!");
3928 u
.uprops
[DEAC_SCENT_VIEW
].intrinsic
+= amount
;
3929 pline("You are prevented from having scent view!");
3932 u
.uprops
[DEAC_DIMINISHED_BLEEDING
].intrinsic
+= amount
;
3933 pline("You are prevented from having diminished bleeding!");
3936 u
.uprops
[DEAC_CONTROL_MAGIC
].intrinsic
+= amount
;
3937 pline("You are prevented from having control magic!");
3940 u
.uprops
[DEAC_EXP_BOOST
].intrinsic
+= amount
;
3941 pline("You are prevented from having EXP boost!");
3944 u
.uprops
[DEAC_ASTRAL_VISION
].intrinsic
+= amount
;
3945 pline("You are prevented from having astral vision!");
3948 u
.uprops
[DEAC_BLIND_RES
].intrinsic
+= amount
;
3949 pline("You are prevented from having blindness resistance!");
3952 u
.uprops
[DEAC_HALLUC_RES
].intrinsic
+= amount
;
3953 pline("You are prevented from having hallucination resistance!");
3956 u
.uprops
[DEAC_PAIN_SENSE
].intrinsic
+= amount
;
3957 pline("You are prevented from having pain sense!");
3960 u
.uprops
[DEAC_DEFUSING
].intrinsic
+= amount
;
3961 pline("You are prevented from having the defusing power!");
3964 u
.uprops
[DEAC_RESISTANCE_PIERCING
].intrinsic
+= amount
;
3965 pline("You are prevented from having resistance piercing!");
3969 u
.uprops
[DEAC_MYSTERY_RES
].intrinsic
+= amount
;
3970 pline("You are prevented from having mystery resistance!");
3973 u
.uprops
[DEAC_MAGIC_FIND
].intrinsic
+= amount
;
3974 pline("You are prevented from having magic find!");
3977 u
.uprops
[DEAC_SPELLBOOST
].intrinsic
+= amount
;
3978 pline("You are prevented from having spellboost!");
3985 goodimplanteffect(obj
)
3988 switch (obj
->shirtmessage
% 62) { /* remember to not randomize them!!! each number has to map to exactly one property --Amy */
4009 return REGENERATION
;
4017 return TELEPORT_CONTROL
;
4019 return POLYMORPH_CONTROL
;
4029 return PASSES_WALLS
;
4035 return ENERGY_REGENERATION
;
4037 return MAGICAL_BREATHING
;
4051 return SLOW_DIGESTION
;
4065 return TRAP_REVEALING
;
4071 return VERSUS_CURSES
;
4077 return EXTRA_WEAPON_PRACTICE
;
4087 return DISCOUNT_ACTION
;
4089 return FULL_NUTRIENT
;
4091 return TECHNICALITY
;
4095 return DIMINISHED_BLEEDING
;
4097 return CONTROL_MAGIC
;
4107 return RESISTANCE_PIERCING
;
4122 getnastytrapintrinsic()
4127 SpeedBug
|= FROMOUTSIDE
; break;
4129 MenuBug
|= FROMOUTSIDE
; break;
4131 RMBLoss
|= FROMOUTSIDE
; break;
4133 DisplayLoss
|= FROMOUTSIDE
; break;
4135 SpellLoss
|= FROMOUTSIDE
; break;
4137 YellowSpells
|= FROMOUTSIDE
; break;
4139 AutoDestruct
|= FROMOUTSIDE
; break;
4141 MemoryLoss
|= FROMOUTSIDE
; break;
4143 InventoryLoss
|= FROMOUTSIDE
; break;
4145 BlackNgWalls
|= FROMOUTSIDE
; break;
4147 Superscroller
|= FROMOUTSIDE
; break;
4149 FreeHandLoss
|= FROMOUTSIDE
; break;
4151 Unidentify
|= FROMOUTSIDE
; break;
4153 Thirst
|= FROMOUTSIDE
; break;
4155 LuckLoss
|= FROMOUTSIDE
; break;
4157 ShadesOfGrey
|= FROMOUTSIDE
; break;
4159 FaintActive
|= FROMOUTSIDE
; break;
4161 Itemcursing
|= FROMOUTSIDE
; break;
4163 DifficultyIncreased
|= FROMOUTSIDE
; break;
4165 Deafness
|= FROMOUTSIDE
; break;
4167 CasterProblem
|= FROMOUTSIDE
; break;
4169 WeaknessProblem
|= FROMOUTSIDE
; break;
4171 RotThirteen
|= FROMOUTSIDE
; break;
4173 BishopGridbug
|= FROMOUTSIDE
; break;
4175 ConfusionProblem
|= FROMOUTSIDE
; break;
4177 NoDropProblem
|= FROMOUTSIDE
; break;
4179 DSTWProblem
|= FROMOUTSIDE
; break;
4181 StatusTrapProblem
|= FROMOUTSIDE
; break;
4183 AlignmentProblem
|= FROMOUTSIDE
; break;
4185 StairsProblem
|= FROMOUTSIDE
; break;
4187 UninformationProblem
|= FROMOUTSIDE
; break;
4189 IntrinsicLossProblem
|= FROMOUTSIDE
; break;
4191 BloodLossProblem
|= FROMOUTSIDE
; break;
4193 BadEffectProblem
|= FROMOUTSIDE
; break;
4195 TrapCreationProblem
|= FROMOUTSIDE
; break;
4197 AutomaticVulnerabilitiy
|= FROMOUTSIDE
; break;
4199 TeleportingItems
|= FROMOUTSIDE
; break;
4201 NastinessProblem
|= FROMOUTSIDE
; break;
4203 RecurringAmnesia
|= FROMOUTSIDE
; break;
4205 BigscriptEffect
|= FROMOUTSIDE
; break;
4207 BankTrapEffect
|= FROMOUTSIDE
; break;
4209 MapTrapEffect
|= FROMOUTSIDE
; break;
4211 TechTrapEffect
|= FROMOUTSIDE
; break;
4213 RecurringDisenchant
|= FROMOUTSIDE
; break;
4215 verisiertEffect
|= FROMOUTSIDE
; break;
4217 ChaosTerrain
|= FROMOUTSIDE
; break;
4219 Muteness
|= FROMOUTSIDE
; break;
4221 EngravingDoesntWork
|= FROMOUTSIDE
; break;
4223 MagicDeviceEffect
|= FROMOUTSIDE
; break;
4225 BookTrapEffect
|= FROMOUTSIDE
; break;
4227 LevelTrapEffect
|= FROMOUTSIDE
; break;
4229 QuizTrapEffect
|= FROMOUTSIDE
; break;
4231 CaptchaProblem
|= FROMOUTSIDE
; break;
4233 FarlookProblem
|= FROMOUTSIDE
; break;
4235 RespawnProblem
|= FROMOUTSIDE
; break;
4237 FastMetabolismEffect
|= FROMOUTSIDE
; break;
4239 NoReturnEffect
|= FROMOUTSIDE
; break;
4241 AlwaysEgotypeMonsters
|= FROMOUTSIDE
; break;
4243 TimeGoesByFaster
|= FROMOUTSIDE
; break;
4245 FoodIsAlwaysRotten
|= FROMOUTSIDE
; break;
4247 AllSkillsUnskilled
|= FROMOUTSIDE
; break;
4249 AllStatsAreLower
|= FROMOUTSIDE
; break;
4251 PlayerCannotTrainSkills
|= FROMOUTSIDE
; break;
4253 PlayerCannotExerciseStats
|= FROMOUTSIDE
; break;
4255 TurnLimitation
|= FROMOUTSIDE
; break;
4257 WeakSight
|= FROMOUTSIDE
; break;
4259 RandomMessages
|= FROMOUTSIDE
; break;
4261 Desecration
|= FROMOUTSIDE
; break;
4263 StarvationEffect
|= FROMOUTSIDE
; break;
4265 NoDropsEffect
|= FROMOUTSIDE
; break;
4267 LowEffects
|= FROMOUTSIDE
; break;
4269 InvisibleTrapsEffect
|= FROMOUTSIDE
; break;
4271 GhostWorld
|= FROMOUTSIDE
; break;
4273 Dehydration
|= FROMOUTSIDE
; break;
4275 HateTrapEffect
|= FROMOUTSIDE
; break;
4277 TotterTrapEffect
|= FROMOUTSIDE
; break;
4279 Nonintrinsics
|= FROMOUTSIDE
; break;
4281 Dropcurses
|= FROMOUTSIDE
; break;
4283 Nakedness
|= FROMOUTSIDE
; break;
4285 Antileveling
|= FROMOUTSIDE
; break;
4287 ItemStealingEffect
|= FROMOUTSIDE
; break;
4289 Rebellions
|= FROMOUTSIDE
; break;
4291 CrapEffect
|= FROMOUTSIDE
; break;
4293 ProjectilesMisfire
|= FROMOUTSIDE
; break;
4295 WallTrapping
|= FROMOUTSIDE
; break;
4297 DisconnectedStairs
|= FROMOUTSIDE
; break;
4299 InterfaceScrewed
|= FROMOUTSIDE
; break;
4301 Bossfights
|= FROMOUTSIDE
; break;
4303 EntireLevelMode
|= FROMOUTSIDE
; break;
4305 BonesLevelChange
|= FROMOUTSIDE
; break;
4307 AutocursingEquipment
|= FROMOUTSIDE
; break;
4309 HighlevelStatus
|= FROMOUTSIDE
; break;
4311 SpellForgetting
|= FROMOUTSIDE
; break;
4313 SoundEffectBug
|= FROMOUTSIDE
; break;
4315 TimerunBug
|= FROMOUTSIDE
; break;
4317 LootcutBug
|= FROMOUTSIDE
; break;
4319 MonsterSpeedBug
|= FROMOUTSIDE
; break;
4321 ScalingBug
|= FROMOUTSIDE
; break;
4323 EnmityBug
|= FROMOUTSIDE
; break;
4325 WhiteSpells
|= FROMOUTSIDE
; break;
4327 CompleteGraySpells
|= FROMOUTSIDE
; break;
4329 QuasarVision
|= FROMOUTSIDE
; break;
4331 MommaBugEffect
|= FROMOUTSIDE
; break;
4333 HorrorBugEffect
|= FROMOUTSIDE
; break;
4335 ArtificerBug
|= FROMOUTSIDE
; break;
4337 WereformBug
|= FROMOUTSIDE
; break;
4339 NonprayerBug
|= FROMOUTSIDE
; break;
4341 EvilPatchEffect
|= FROMOUTSIDE
; break;
4343 HardModeEffect
|= FROMOUTSIDE
; break;
4345 SecretAttackBug
|= FROMOUTSIDE
; break;
4347 EaterBugEffect
|= FROMOUTSIDE
; break;
4349 CovetousnessBug
|= FROMOUTSIDE
; break;
4351 NotSeenBug
|= FROMOUTSIDE
; break;
4353 DarkModeBug
|= FROMOUTSIDE
; break;
4355 AntisearchEffect
|= FROMOUTSIDE
; break;
4357 HomicideEffect
|= FROMOUTSIDE
; break;
4359 NastynationBug
|= FROMOUTSIDE
; break;
4361 WakeupCallBug
|= FROMOUTSIDE
; break;
4363 GrayoutBug
|= FROMOUTSIDE
; break;
4365 GrayCenterBug
|= FROMOUTSIDE
; break;
4367 CheckerboardBug
|= FROMOUTSIDE
; break;
4369 ClockwiseSpinBug
|= FROMOUTSIDE
; break;
4371 CounterclockwiseSpin
|= FROMOUTSIDE
; break;
4373 LagBugEffect
|= FROMOUTSIDE
; break;
4375 BlesscurseEffect
|= FROMOUTSIDE
; break;
4377 DeLightBug
|= FROMOUTSIDE
; break;
4379 DischargeBug
|= FROMOUTSIDE
; break;
4381 TrashingBugEffect
|= FROMOUTSIDE
; break;
4383 FilteringBug
|= FROMOUTSIDE
; break;
4385 DeformattingBug
|= FROMOUTSIDE
; break;
4387 FlickerStripBug
|= FROMOUTSIDE
; break;
4389 UndressingEffect
|= FROMOUTSIDE
; break;
4391 Hyperbluewalls
|= FROMOUTSIDE
; break;
4393 NoliteBug
|= FROMOUTSIDE
; break;
4395 ParanoiaBugEffect
|= FROMOUTSIDE
; break;
4397 FleecescriptBug
|= FROMOUTSIDE
; break;
4399 InterruptEffect
|= FROMOUTSIDE
; break;
4401 DustbinBug
|= FROMOUTSIDE
; break;
4403 ManaBatteryBug
|= FROMOUTSIDE
; break;
4405 Monsterfingers
|= FROMOUTSIDE
; break;
4407 MiscastBug
|= FROMOUTSIDE
; break;
4409 MessageSuppression
|= FROMOUTSIDE
; break;
4411 StuckAnnouncement
|= FROMOUTSIDE
; break;
4413 BloodthirstyEffect
|= FROMOUTSIDE
; break;
4415 MaximumDamageBug
|= FROMOUTSIDE
; break;
4417 LatencyBugEffect
|= FROMOUTSIDE
; break;
4419 StarlitBug
|= FROMOUTSIDE
; break;
4421 KnowledgeBug
|= FROMOUTSIDE
; break;
4423 HighscoreBug
|= FROMOUTSIDE
; break;
4425 PinkSpells
|= FROMOUTSIDE
; break;
4427 GreenSpells
|= FROMOUTSIDE
; break;
4429 EvencoreEffect
|= FROMOUTSIDE
; break;
4431 UnderlayerBug
|= FROMOUTSIDE
; break;
4433 DamageMeterBug
|= FROMOUTSIDE
; break;
4435 ArbitraryWeightBug
|= FROMOUTSIDE
; break;
4437 FuckedInfoBug
|= FROMOUTSIDE
; break;
4439 BlackSpells
|= FROMOUTSIDE
; break;
4441 CyanSpells
|= FROMOUTSIDE
; break;
4443 HeapEffectBug
|= FROMOUTSIDE
; break;
4445 BlueSpells
|= FROMOUTSIDE
; break;
4447 TronEffect
|= FROMOUTSIDE
; break;
4449 RedSpells
|= FROMOUTSIDE
; break;
4451 TooHeavyEffect
|= FROMOUTSIDE
; break;
4453 ElongationBug
|= FROMOUTSIDE
; break;
4455 WrapoverEffect
|= FROMOUTSIDE
; break;
4457 DestructionEffect
|= FROMOUTSIDE
; break;
4459 MeleePrefixBug
|= FROMOUTSIDE
; break;
4461 AutomoreBug
|= FROMOUTSIDE
; break;
4463 UnfairAttackBug
|= FROMOUTSIDE
; break;
4465 OrangeSpells
|= FROMOUTSIDE
; break;
4467 VioletSpells
|= FROMOUTSIDE
; break;
4469 LongingEffect
|= FROMOUTSIDE
; break;
4471 CursedParts
|= FROMOUTSIDE
; break;
4473 Quaversal
|= FROMOUTSIDE
; break;
4475 AppearanceShuffling
|= FROMOUTSIDE
; break;
4477 BrownSpells
|= FROMOUTSIDE
; break;
4479 Choicelessness
|= FROMOUTSIDE
; break;
4481 Goldspells
|= FROMOUTSIDE
; break;
4483 Deprovement
|= FROMOUTSIDE
; break;
4485 InitializationFail
|= FROMOUTSIDE
; break;
4487 GushlushEffect
|= FROMOUTSIDE
; break;
4489 SoiltypeEffect
|= FROMOUTSIDE
; break;
4491 DangerousTerrains
|= FROMOUTSIDE
; break;
4493 FalloutEffect
|= FROMOUTSIDE
; break;
4495 MojibakeEffect
|= FROMOUTSIDE
; break;
4497 GravationEffect
|= FROMOUTSIDE
; break;
4499 UncalledEffect
|= FROMOUTSIDE
; break;
4501 ExplodingDiceEffect
|= FROMOUTSIDE
; break;
4503 PermacurseEffect
|= FROMOUTSIDE
; break;
4505 ShroudedIdentity
|= FROMOUTSIDE
; break;
4507 FeelerGauges
|= FROMOUTSIDE
; break;
4509 LongScrewup
|= FROMOUTSIDE
; break;
4511 WingYellowChange
|= FROMOUTSIDE
; break;
4513 LifeSavingBug
|= FROMOUTSIDE
; break;
4515 CurseuseEffect
|= FROMOUTSIDE
; break;
4517 CutNutritionEffect
|= FROMOUTSIDE
; break;
4519 SkillLossEffect
|= FROMOUTSIDE
; break;
4521 AutopilotEffect
|= FROMOUTSIDE
; break;
4523 MysteriousForceActive
|= FROMOUTSIDE
; break;
4525 MonsterGlyphChange
|= FROMOUTSIDE
; break;
4527 ChangingDirectives
|= FROMOUTSIDE
; break;
4529 ContainerKaboom
|= FROMOUTSIDE
; break;
4531 StealDegrading
|= FROMOUTSIDE
; break;
4533 LeftInventoryBug
|= FROMOUTSIDE
; break;
4535 FluctuatingSpeed
|= FROMOUTSIDE
; break;
4537 TarmuStrokingNora
|= FROMOUTSIDE
; break;
4539 FailureEffects
|= FROMOUTSIDE
; break;
4541 BrightCyanSpells
|= FROMOUTSIDE
; break;
4543 FrequentationSpawns
|= FROMOUTSIDE
; break;
4545 PetAIScrewed
|= FROMOUTSIDE
; break;
4547 SatanEffect
|= FROMOUTSIDE
; break;
4549 RememberanceEffect
|= FROMOUTSIDE
; break;
4551 PokelieEffect
|= FROMOUTSIDE
; break;
4553 AlwaysAutopickup
|= FROMOUTSIDE
; break;
4555 DywypiProblem
|= FROMOUTSIDE
; break;
4557 SilverSpells
|= FROMOUTSIDE
; break;
4559 MetalSpells
|= FROMOUTSIDE
; break;
4561 PlatinumSpells
|= FROMOUTSIDE
; break;
4563 ManlerEffect
|= FROMOUTSIDE
; break;
4565 DoorningEffect
|= FROMOUTSIDE
; break;
4567 NownsibleEffect
|= FROMOUTSIDE
; break;
4569 ElmStreetEffect
|= FROMOUTSIDE
; break;
4571 MonnoiseEffect
|= FROMOUTSIDE
; break;
4573 RangCallEffect
|= FROMOUTSIDE
; break;
4575 RecurringSpellLoss
|= FROMOUTSIDE
; break;
4577 AntitrainingEffect
|= FROMOUTSIDE
; break;
4579 TechoutBug
|= FROMOUTSIDE
; break;
4581 StatDecay
|= FROMOUTSIDE
; break;
4583 Movemork
|= FROMOUTSIDE
; break;
4585 BadPartBug
|= FROMOUTSIDE
; break;
4587 CompletelyBadPartBug
|= FROMOUTSIDE
; break;
4589 EvilVariantActive
|= FROMOUTSIDE
; break;
4591 SanityTrebleEffect
|= FROMOUTSIDE
; break;
4593 StatDecreaseBug
|= FROMOUTSIDE
; break;
4595 SimeoutBug
|= FROMOUTSIDE
; break;
4597 GiantExplorerBug
|= FROMOUTSIDE
; break;
4599 YawmBug
|= FROMOUTSIDE
; break;
4601 TrapwarpingBug
|= FROMOUTSIDE
; break;
4603 EnthuEffect
|= FROMOUTSIDE
; break;
4605 MikraEffect
|= FROMOUTSIDE
; break;
4607 GotsTooGoodEffect
|= FROMOUTSIDE
; break;
4609 NoFunWallsEffect
|= FROMOUTSIDE
; break;
4611 CradleChaosEffect
|= FROMOUTSIDE
; break;
4613 TezEffect
|= FROMOUTSIDE
; break;
4615 KillerRoomEffect
|= FROMOUTSIDE
; break;
4617 ReallyBadTrapEffect
|= FROMOUTSIDE
; break;
4619 CovidTrapEffect
|= FROMOUTSIDE
; break;
4621 ArtiblastEffect
|= FROMOUTSIDE
; break;
4623 RepeatingNastycurseEffect
|= FROMOUTSIDE
; break;
4625 RealLieEffect
|= FROMOUTSIDE
; break;
4627 EscapePastEffect
|= FROMOUTSIDE
; break;
4629 PethateEffect
|= FROMOUTSIDE
; break;
4631 PetLashoutEffect
|= FROMOUTSIDE
; break;
4633 PetstarveEffect
|= FROMOUTSIDE
; break;
4635 PetscrewEffect
|= FROMOUTSIDE
; break;
4637 TechLossEffect
|= FROMOUTSIDE
; break;
4639 ProoflossEffect
|= FROMOUTSIDE
; break;
4641 UnInvisEffect
|= FROMOUTSIDE
; break;
4643 DetectationEffect
|= FROMOUTSIDE
; break;
4645 OptionBugEffect
|= FROMOUTSIDE
; break;
4647 MiscolorEffect
|= FROMOUTSIDE
; break;
4649 OneRainbowEffect
|= FROMOUTSIDE
; break;
4651 ColorshiftEffect
|= FROMOUTSIDE
; break;
4653 TopLineEffect
|= FROMOUTSIDE
; break;
4655 CapsBugEffect
|= FROMOUTSIDE
; break;
4657 UnKnowledgeEffect
|= FROMOUTSIDE
; break;
4659 DarkhanceEffect
|= FROMOUTSIDE
; break;
4661 DschueueuetEffect
|= FROMOUTSIDE
; break;
4663 NopeskillEffect
|= FROMOUTSIDE
; break;
4665 FuckfuckfuckEffect
|= FROMOUTSIDE
; break;
4667 EpviEffect
|= FROMOUTSIDE
; break;
4669 AefdeEffect
|= FROMOUTSIDE
; break;
4671 MeanBurdenEffect
|= FROMOUTSIDE
; break;
4673 CarrcapEffect
|= FROMOUTSIDE
; break;
4675 UmengEffect
|= FROMOUTSIDE
; break;
4677 MulchBug
|= FROMOUTSIDE
; break;
4679 SpellCooldownBug
|= FROMOUTSIDE
; break;
4681 HaveAPinBug
|= FROMOUTSIDE
; break;
4683 TurbodullBug
|= FROMOUTSIDE
; break;
4685 InaccuracyBug
|= FROMOUTSIDE
; break;
4687 InventorySizeBug
|= FROMOUTSIDE
; break;
4689 CostlyFailureBug
|= FROMOUTSIDE
; break;
4691 ReddamBug
|= FROMOUTSIDE
; break;
4693 RedincBug
|= FROMOUTSIDE
; break;
4695 MonsterMultishotBug
|= FROMOUTSIDE
; break;
4703 randomfeminismtrap(duration
)
4706 if (FemtrapActiveRosa
) {
4708 if (SuperFemtrapRosa
) duration
*= 2;
4713 if (!FemtrapActiveRuth
) pline("You can already imagine the farting noises you're gonna hear.");
4714 FemaleTrapSarah
+= duration
;
4717 if (!FemtrapActiveRuth
) pline("Suddenly you feel a little confused, and also feel like stroking the sexy butt cheeks of a woman in wooden sandals.");
4718 FemaleTrapClaudia
+= duration
;
4721 if (!FemtrapActiveRuth
) pline("You'll certainly like to listen to the disgusting toilet noises.");
4722 FemaleTrapLudgera
+= duration
;
4725 if (!FemtrapActiveRuth
) pline("You feel like being kicked by sexy girls and cleaning their shoes.");
4726 FemaleTrapKati
+= duration
;
4729 if (!FemtrapActiveRuth
) pline("All the girls want to use their sexy butt cheeks as weapons now!");
4730 FemaleTrapMeltem
+= duration
;
4733 if (!FemtrapActiveRuth
) pline("Now, the dungeon will be more feminine for a while!");
4734 FemaleTrapFemmy
+= duration
;
4737 if (!FemtrapActiveRuth
) pline("Your shins can expect to get kicked repeatedly by all the girls and women now!");
4738 FemaleTrapMadeleine
+= duration
;
4741 if (!FemtrapActiveRuth
) pline("Green is the new favorite color, it seems!");
4742 FemaleTrapMarlena
+= duration
;
4745 if (!FemtrapActiveRuth
) pline("Suddenly, you feel that you're going to step into a heap of shit.");
4746 FemaleTrapAnastasia
+= duration
;
4749 if (!FemtrapActiveRuth
) pline("Your butt cheeks suddenly feel very tender, and in fact, a similar thing is happening to your entire body!");
4750 FemaleTrapJessica
+= duration
;
4753 if (!FemtrapActiveRuth
) pline("You suddenly have a very grating, aggravating voice, and you start to emit a beguiling odor! In fact, you're super sexy and sweet now!");
4754 FemaleTrapSolvejg
+= duration
;
4757 if (!FemtrapActiveRuth
) pline("All the female denizens of the dungeon will show you their true power, and it will happen very soon!");
4758 FemaleTrapWendy
+= duration
;
4761 if (!FemtrapActiveRuth
) pline("You feel that the girls and women are getting ready to use their sexy butts as weapons.");
4762 FemaleTrapKatharina
+= duration
;
4765 if (!FemtrapActiveRuth
) pline("You long for beautiful sexy women with tender butt cheeks and lovely high heels.");
4766 FemaleTrapElena
+= duration
;
4769 if (!FemtrapActiveRuth
) pline("You feel that you'll want to use the toilet more often. Also, somehow your physique seems weaker now...");
4770 FemaleTrapThai
+= duration
;
4773 if (!FemtrapActiveRuth
) pline("A ghostly girl (named Elif) starts following you around, and apparently she wants to play with you!");
4774 FemaleTrapElif
+= duration
;
4777 if (!FemtrapActiveRuth
) pline("You feel that you angered the womanhood. If you now hit a woman, you will be hit with retribution!");
4778 FemaleTrapNadja
+= duration
;
4781 if (!FemtrapActiveRuth
) pline("You just know that your legs are going to be ripped open by very sharp-edged combat boot heels.");
4782 FemaleTrapSandra
+= duration
;
4785 if (!FemtrapActiveRuth
) pline("You gotta dance! You've suddenly become super sexy and attractive, and neither sleep nor paralysis can stop you in your tracks. And you can kick your enemies to stomp their toes flat. But if you ever stand still for too long, a bunch of bloodthirsty female painted toenails is going to hurt your beautiful skin, so make sure you keep moving!");
4786 FemaleTrapNatalje
+= duration
;
4789 if (!FemtrapActiveRuth
) pline("Lots of shreds of skin will be scraped off your shins, and the girls will enjoy it.");
4790 FemaleTrapJeanetta
+= duration
;
4793 if (!FemtrapActiveRuth
) pline("You feel that people are building toilets for you to use.");
4794 FemaleTrapYvonne
+= duration
;
4797 if (!FemtrapActiveRuth
) pline("Your sexy butt signals that it wants to produce beautiful farting noises!");
4798 FemaleTrapMaurah
+= duration
;
4801 if (!FemtrapActiveRuth
) pline("You fear that the women are going to crush you with a hug.");
4802 FemaleTrapNelly
+= duration
;
4805 if (!FemtrapActiveRuth
) pline("It seems that the women are running faster.");
4806 FemaleTrapEveline
+= duration
;
4809 if (!FemtrapActiveRuth
) pline("All the women want to knee you in the delicate nuts now!");
4810 FemaleTrapKarin
+= duration
;
4813 if (!FemtrapActiveRuth
) pline("Oh no, your shins are almost broken!");
4814 FemaleTrapJuen
+= duration
;
4817 if (!FemtrapActiveRuth
) pline("Urgh, you can already smell the stench of stinking cigarettes!");
4818 FemaleTrapKristina
+= duration
;
4821 if (!FemtrapActiveRuth
) pline("These damn people want to use your precious clothing to brush off their dirty shoes!");
4822 FemaleTrapLou
+= duration
;
4825 if (!FemtrapActiveRuth
) pline("The girls feel like kicking your hands bloodily with their sneakers!");
4826 FemaleTrapAlmut
+= duration
;
4829 if (!FemtrapActiveRuth
) pline("Now you'll be subjected to Julietta's torture, and she'll subject you to random punishments from time to time.");
4830 FemaleTrapJulietta
+= duration
;
4833 if (!FemtrapActiveRuth
) pline("Oh no, the master of nasty traps is laying out her snares to get you!");
4834 FemaleTrapArabella
+= duration
;
4837 if (!FemtrapActiveRuth
) pline("You feel that there are women around who really like various high heels.");
4838 FemaleTrapKristin
+= duration
;
4841 if (!FemtrapActiveRuth
) pline("Oh, it seems that the hussies are on the loose!");
4842 FemaleTrapAnna
+= duration
;
4845 if (!FemtrapActiveRuth
) pline("You get the feeling that some women are trying to convert you.");
4846 FemaleTrapRuea
+= duration
;
4849 if (!FemtrapActiveRuth
) pline("Ack! There's birds on the loose, and they want to eat your shoes!");
4850 FemaleTrapDora
+= duration
;
4853 if (!FemtrapActiveRuth
) pline("You want to endlessly listen to squeaking farting noises.");
4854 FemaleTrapMarike
+= duration
;
4857 if (!FemtrapActiveRuth
) pline("The power of feminism compels you.");
4858 FemaleTrapJette
+= duration
;
4861 if (!FemtrapActiveRuth
) pline("Oh my god, you are now afflicted with the life-threatening disease known as anorexia!");
4862 FemaleTrapIna
+= duration
;
4865 if (!FemtrapActiveRuth
) pline("A heinously evil woman plans to force you to clean the shit from all kinds of female shoes...");
4866 FemaleTrapSing
+= duration
;
4869 if (!FemtrapActiveRuth
) pline("There's some karate women who want to demonstrate their combat capabilities to you.");
4870 FemaleTrapVictoria
+= duration
;
4873 if (!FemtrapActiveRuth
) pline("You suddenly feel that the women in this dungeon are quite attractive...");
4874 FemaleTrapMelissa
+= duration
;
4877 if (!FemtrapActiveRuth
) pline("The women want to slit your legs with razor-sharp high heels! Be afraid of them!");
4878 FemaleTrapAnita
+= duration
;
4881 if (!FemtrapActiveRuth
) pline("You feel that someone is going to open the zippers of your boots, making you fumble into a heap of dog shit.");
4882 FemaleTrapHenrietta
+= duration
;
4885 if (!FemtrapActiveRuth
) pline("Oh no, some annoying blonde girl starts to follow you around. Sigh. Why can't you get a clever companion instead?!");
4886 FemaleTrapVerena
+= duration
;
4889 if (!FemtrapActiveRuth
) pline("It seems that the women are doing athletic exercises.");
4890 FemaleTrapAnnemarie
+= duration
;
4893 if (!FemtrapActiveRuth
) pline("The girls are planning to attack you with their sweaty socks!");
4894 FemaleTrapJil
+= duration
;
4897 if (!FemtrapActiveRuth
) pline("Someone's hiding underneath a grave wall, but some of the grave walls have teleporters or cursed calleds underneath, so be careful!");
4898 FemaleTrapJana
+= duration
;
4901 if (!FemtrapActiveRuth
) pline("Some girls are planning to use their sticky chewing gum as a trap to prevent you from getting away!");
4902 FemaleTrapKatrin
+= duration
;
4905 if (!FemtrapActiveRuth
) pline("A stringy feminist named Gudrun is challenging you...");
4906 FemaleTrapGudrun
+= duration
;
4909 if (!FemtrapActiveRuth
) pline("A fearless feminist named Ella is challenging you...");
4910 FemaleTrapElla
+= duration
;
4913 if (!FemtrapActiveRuth
) pline("Some unfair woman wants to crush you with her block-heeled combat boots!");
4914 FemaleTrapManuela
+= duration
;
4917 if (!FemtrapActiveRuth
) pline("The girls are going to fart you in the face without emitting any kind of sound.");
4918 FemaleTrapJennifer
+= duration
;
4921 if (!FemtrapActiveRuth
) pline("You feel like a beautifully thick girl, capable of splitting enemies' skulls with blunt weapons!");
4922 FemaleTrapPatricia
+= duration
;
4925 if (!FemtrapActiveRuth
) pline("You feel like walking the dyke with your extra thick block heels.");
4926 FemaleTrapAntje
+= duration
;
4929 if (!FemtrapActiveRuth
) pline("Something tells you that you'd like to visit the public toilet.");
4930 FemaleTrapAntjeX
+= duration
;
4933 if (!FemtrapActiveRuth
) pline("Those farmer girls plan to use block-heeled lady boots, wooden sandals and scentful sneakers on you!");
4934 FemaleTrapKerstin
+= duration
;
4937 if (!FemtrapActiveRuth
) pline("Every woman is going to attack you with their clothing.");
4938 FemaleTrapLaura
+= duration
;
4941 if (!FemtrapActiveRuth
) pline("You are commanded to seek out heaps of dog shit and step into it with your high heels. Something tells you that there are bad consequences if you don't obey this instruction.");
4942 FemaleTrapLarissa
+= duration
;
4945 if (!FemtrapActiveRuth
) pline("You feel that eating is a sin and should be avoided at all costs, even though that may end up killing you.");
4946 FemaleTrapNora
+= duration
;
4949 if (!FemtrapActiveRuth
) {
4950 if (flags
.female
) pline("Ack! You suddenly have to deal with the effects of your menstruational period!");
4951 else pline("Some russian girl decided that you're a very naughty boy, and will continuously bash your head with her high-heeled sandals.");
4953 FemaleTrapNatalia
+= duration
;
4956 if (!FemtrapActiveRuth
) pline("You might have to fight some particularly powerful woman!");
4957 FemaleTrapSusanne
+= duration
;
4960 if (!FemtrapActiveRuth
) pline("You're interested in seeing what kind of underwear the girls are wearing.");
4961 FemaleTrapLisa
+= duration
;
4964 if (!FemtrapActiveRuth
) pline("Watch out, walking over the bridge has a large chance of you stepping into a heap of dog shit unexpectedly!");
4965 FemaleTrapBridghitte
+= duration
;
4968 if (!FemtrapActiveRuth
) pline("Since it's unfair that you can simply hit women whenever you want to, you can no longer freely do so.");
4969 FemaleTrapJulia
+= duration
;
4972 if (!FemtrapActiveRuth
) pline("The women are apparently surrounded by a dark aura! Is it some kind of black light, maybe?");
4973 FemaleTrapNicole
+= duration
;
4976 if (!FemtrapActiveRuth
) pline("Hahahahaha, now the women can just trigger feminism traps at will and when they do, the trap effect in question will be activated for YOU! Hahaha!");
4977 FemaleTrapRita
+= duration
;
4980 if (!FemtrapActiveRuth
) pline("Those women are gonna hang their worn pants in front of your %s, forcing you to smell them!", body_part(NOSE
));
4981 FemaleTrapJanina
+= duration
;
4984 if (!FemtrapActiveRuth
) pline("You'll have to struggle with feminism for a long time...");
4985 FemaleTrapRosa
+= (duration
* 5);
4988 if (!FemtrapActiveRuth
) pline("The incredibly cute female platform sandals are looking forward to kicking you in the shins like a little girl.");
4989 FemaleTrapKsenia
+= duration
;
4992 if (!FemtrapActiveRuth
) pline("You feel that you're gonna fight ladies who wear highly elegant cone-heeled pumps.");
4993 FemaleTrapLydia
+= duration
;
4996 if (!FemtrapActiveRuth
) pline("Uh-oh, you're not sure that you can escape from the thick women...");
4997 FemaleTrapConny
+= duration
;
5000 if (!FemtrapActiveRuth
) pline("Some little girl really wants to take a crap while you are nearby.");
5001 FemaleTrapKatia
+= duration
;
5004 if (!FemtrapActiveRuth
) pline("You feel that some stinking girl is waiting until you're defenseless so that she can fart you into the face without you fighting back!");
5005 FemaleTrapMariya
+= duration
;
5008 if (!FemtrapActiveRuth
) pline("The females are everywhere, it seems!");
5009 FemaleTrapElise
+= duration
;
5012 if (!FemtrapActiveRuth
) pline("Somehow, the women have learned to heal their wounds quickly.");
5013 FemaleTrapRonja
+= duration
;
5016 if (!FemtrapActiveRuth
) pline("You'll have to fight the girls from the Bang Gang as well as Anna's hussies, just like in the old times.");
5017 FemaleTrapAriane
+= duration
;
5020 if (!FemtrapActiveRuth
) pline("Admit it, you fetishize female footwear, especially if they're block-heeled combat boots with long zippers and fleecy colors.");
5021 FemaleTrapJohanna
+= duration
;
5024 if (!FemtrapActiveRuth
) pline("All the elegant ladies will produce very tender farting noises that you just cannot resist.");
5025 FemaleTrapInge
+= duration
;
5029 * "The dark girl has pulled the switch, and now feminism traps will work like nasty traps. Except that this message can never be displayed, because the trap in question works like a nasty trap itself." */
5030 FemaleTrapRuth
+= duration
;
5033 if (!FemtrapActiveRuth
) pline("Oh, apparently you have to fight some particularly burly women. That's gonna be difficult.");
5034 FemaleTrapMagdalena
+= duration
;
5037 if (!FemtrapActiveRuth
) pline("It seems the women are strengthening their defenses.");
5038 FemaleTrapMarleen
+= duration
;
5041 if (!FemtrapActiveRuth
) pline("You become sensitive to the sound of high heels.");
5042 FemaleTrapKlara
+= duration
;
5045 if (!FemtrapActiveRuth
) pline("Yay, a pretty girl with a long blond bundle starts following you around! She's certainly very nice and will have a lot of fun with you!");
5046 FemaleTrapFriederike
+= duration
;
5049 if (!FemtrapActiveRuth
) pline("You have to wear your stiletto heels like a model, and if you fall, you have to smile anyway! That's the obligation of a model...");
5050 FemaleTrapNaomi
+= duration
;
5053 if (!FemtrapActiveRuth
) pline("Uh-oh, the patriarch is coming to take your pretty high heels away. Make sure he doesn't catch you!");
5054 FemaleTrapUte
+= duration
;
5057 if (!FemtrapActiveRuth
) pline("The sexy ladies are gonna challenge you again and again and again.");
5058 FemaleTrapJasieen
+= duration
;
5061 if (!FemtrapActiveRuth
) pline("It seems that monsters may spotaneously turn into sexy women, as if there weren't enough of them running around the dungeon anyway.");
5062 FemaleTrapYasaman
+= duration
;
5065 if (!FemtrapActiveRuth
) pline("Those little girls want to tease you by trying to steal things from your backpack for fun! You certainly know that this 'fun' will happen at your expense...");
5066 FemaleTrapMayBritt
+= duration
;
5069 if (!FemtrapActiveRuth
) pline("Some dark feminists are coming to the dungeon.");
5070 FemaleTrapNadine
+= duration
;
5073 if (!FemtrapActiveRuth
) pline("The girl shoes are starting to cheat in an attempt to kick you!");
5074 FemaleTrapLuisa
+= duration
;
5077 if (!FemtrapActiveRuth
) pline("You'll have to fight a whole lot of women's shoes.");
5078 FemaleTrapIrina
+= duration
;
5081 if (!FemtrapActiveRuth
) pline("The little girl wants to kick you in the shins and then retreat rapidly so that you can't attack her back!");
5082 FemaleTrapLiselotte
+= duration
;
5085 if (!FemtrapActiveRuth
) pline("The Hussies are waiting for you on certain dungeon levels, because they have been hired by the Bang Gang bosses.");
5086 FemaleTrapGreta
+= duration
;
5089 if (!FemtrapActiveRuth
) pline("Don't underestimate the women just because they have a small stature.");
5090 FemaleTrapJane
+= duration
;
5093 if (!FemtrapActiveRuth
) pline("The Asian girls want to fart you in the face, and if you allow it, they'll be nice to you, but treat them badly and they'll slit your skin with very sharp female fingernails!");
5094 FemaleTrapSueLyn
+= duration
;
5097 if (!FemtrapActiveRuth
) pline("Watch out, the Bang Gang is considering you a target. They're coming for you, and they have some tricks and traps ready.");
5098 FemaleTrapCharlotte
+= duration
;
5101 if (!FemtrapActiveRuth
) pline("Careful, the girls may steal your stuff and vanish before your eyes!");
5102 FemaleTrapHannah
+= duration
;
5105 if (!FemtrapActiveRuth
) pline("Oh no! Apparently the girls and women have prepared a really nasty counterattack to make your life miserable!");
5106 FemaleTrapLittleMarie
+= duration
;
5109 if (!FemtrapActiveRuth
) pline("The girls learned takewondo, and will knock the crap out of you with their female sneakers.");
5110 FemaleTrapTanja
+= duration
;
5113 if (!FemtrapActiveRuth
) pline("Seems that the girls will call for help if you attack them.");
5114 FemaleTrapSonja
+= duration
;
5117 if (!FemtrapActiveRuth
) pline("Ugh, the girls and women are really going to beguile you with the horrible odor of their perfume!");
5118 FemaleTrapRhea
+= duration
;
5121 if (!FemtrapActiveRuth
) pline("You look forward to being attacked by treaded block heel boots while you're bound to a stick.");
5122 FemaleTrapLara
+= duration
;
5125 if (!FemtrapActiveRuth
) pline("Wear Sabrina's platform boots! Now! You just know that if you don't, some angry women will try to kill you.");
5126 FemaleTrapSabrina
+= duration
;
5132 randomnastytrapeffect(duration
, blackngvar
)
5133 int duration
, blackngvar
;
5135 if (YouAreScrewedEternally
) duration
*= 20;
5136 if (LongScrewupXtra
) duration
*= 10;
5140 case 1: RMBLoss
+= rnz(duration
); break;
5141 case 2: NoDropProblem
+= rnz(duration
); break;
5142 case 3: DSTWProblem
+= rnz(duration
); break;
5143 case 4: StatusTrapProblem
+= rnz(duration
);
5144 if (HConfusion
) set_itimeout(&HeavyConfusion
, HConfusion
);
5145 if (HStun
) set_itimeout(&HeavyStunned
, HStun
);
5146 if (HNumbed
) set_itimeout(&HeavyNumbed
, HNumbed
);
5147 if (HFeared
) set_itimeout(&HeavyFeared
, HFeared
);
5148 if (HFrozen
) set_itimeout(&HeavyFrozen
, HFrozen
);
5149 if (HBurned
) set_itimeout(&HeavyBurned
, HBurned
);
5150 if (HDimmed
) set_itimeout(&HeavyDimmed
, HDimmed
);
5151 if (Blinded
) set_itimeout(&HeavyBlind
, Blinded
);
5152 if (HHallucination
) set_itimeout(&HeavyHallu
, HHallucination
);
5154 case 5: Superscroller
+= rnz(duration
* (Role_if(PM_GRADUATE
) ? 2 : Role_if(PM_GEEK
) ? 5 : 10));
5155 (void) makemon(&mons
[PM_SCROLLER_MASTER
], 0, 0, NO_MINVENT
);
5157 case 6: MenuBug
+= rnz(duration
); break;
5158 case 7: FreeHandLoss
+= rnz(duration
); break;
5159 case 8: Unidentify
+= rnz(duration
); break;
5160 case 9: Thirst
+= rnz(duration
); break;
5161 case 10: LuckLoss
+= rnz(duration
); break;
5162 case 11: ShadesOfGrey
+= rnz(duration
); break;
5163 case 12: FaintActive
+= rnz(duration
); break;
5164 case 13: Itemcursing
+= rnz(duration
); break;
5165 case 14: DifficultyIncreased
+= rnz(duration
); break;
5166 case 15: Deafness
+= rnz(duration
); flags
.soundok
= 0; break;
5167 case 16: CasterProblem
+= rnz(duration
); break;
5168 case 17: WeaknessProblem
+= rnz(duration
); break;
5169 case 18: RotThirteen
+= rnz(duration
); break;
5170 case 19: BishopGridbug
+= rnz(duration
); break;
5171 case 20: UninformationProblem
+= rnz(duration
); break;
5172 case 21: StairsProblem
+= rnz(duration
); break;
5173 case 22: AlignmentProblem
+= rnz(duration
); break;
5174 case 23: ConfusionProblem
+= rnz(duration
); break;
5175 case 24: SpeedBug
+= rnz(duration
); break;
5176 case 25: DisplayLoss
+= rnz(duration
); break;
5177 case 26: SpellLoss
+= rnz(duration
); break;
5178 case 27: YellowSpells
+= rnz(duration
); break;
5179 case 28: AutoDestruct
+= rnz(duration
); break;
5180 case 29: MemoryLoss
+= rnz(duration
); break;
5181 case 30: InventoryLoss
+= rnz(duration
); break;
5184 if (BlackNgWalls
) break;
5186 BlackNgWalls
= blackngvar
;
5187 if (BlackNgWalls
< 100) BlackNgWalls
= 100;
5188 (void) makemon(&mons
[PM_BLACKY
], 0, 0, NO_MM_FLAGS
);
5191 case 32: IntrinsicLossProblem
+= rnz(duration
); break;
5192 case 33: BloodLossProblem
+= rnz(duration
); break;
5193 case 34: BadEffectProblem
+= rnz(duration
); break;
5194 case 35: TrapCreationProblem
+= rnz(duration
); break;
5195 case 36: AutomaticVulnerabilitiy
+= rnz(duration
); break;
5196 case 37: TeleportingItems
+= rnz(duration
); break;
5197 case 38: NastinessProblem
+= rnz(duration
); break;
5198 case 39: CaptchaProblem
+= rnz(duration
); break;
5199 case 40: FarlookProblem
+= rnz(duration
); break;
5200 case 41: RespawnProblem
+= rnz(duration
); break;
5202 case 42: RecurringAmnesia
+= rnz(duration
); break;
5203 case 43: BigscriptEffect
+= rnz(duration
); break;
5205 BankTrapEffect
+= rnz(duration
);
5206 if (u
.bankcashlimit
== 0) u
.bankcashlimit
= rnz(1000 * (monster_difficulty() + 1 + (long)mvitals
[PM_ARABELLA_THE_MONEY_THIEF
].born
));
5207 u
.bankcashamount
+= u
.ugold
;
5212 case 45: MapTrapEffect
+= rnz(duration
); break;
5213 case 46: TechTrapEffect
+= rnz(duration
); break;
5214 case 47: RecurringDisenchant
+= rnz(duration
); break;
5215 case 48: verisiertEffect
+= rnz(duration
); break;
5216 case 49: ChaosTerrain
+= rnz(duration
); break;
5217 case 50: Muteness
+= rnz(duration
); break;
5218 case 51: EngravingDoesntWork
+= rnz(duration
); break;
5219 case 52: MagicDeviceEffect
+= rnz(duration
); break;
5220 case 53: BookTrapEffect
+= rnz(duration
); break;
5221 case 54: LevelTrapEffect
+= rnz(duration
); break;
5222 case 55: QuizTrapEffect
+= rnz(duration
); break;
5223 case 56: FastMetabolismEffect
+= rnz(duration
); break;
5224 case 57: NoReturnEffect
+= rnz(duration
); break;
5225 case 58: AlwaysEgotypeMonsters
+= rnz(duration
); break;
5226 case 59: TimeGoesByFaster
+= rnz(duration
); break;
5227 case 60: FoodIsAlwaysRotten
+= rnz(duration
); break;
5228 case 61: AllSkillsUnskilled
+= rnz(duration
); break;
5229 case 62: AllStatsAreLower
+= rnz(duration
); break;
5230 case 63: PlayerCannotTrainSkills
+= rnz(duration
); break;
5231 case 64: PlayerCannotExerciseStats
+= rnz(duration
); break;
5232 case 65: TurnLimitation
+= rnz(duration
); break;
5233 case 66: WeakSight
+= rnz(duration
); break;
5234 case 67: RandomMessages
+= rnz(duration
); break;
5236 case 68: Desecration
+= rnz(duration
); break;
5237 case 69: StarvationEffect
+= rnz(duration
); break;
5238 case 70: NoDropsEffect
+= rnz(duration
); break;
5239 case 71: LowEffects
+= rnz(duration
); break;
5240 case 72: InvisibleTrapsEffect
+= rnz(duration
); break;
5241 case 73: GhostWorld
+= rnz(duration
); break;
5242 case 74: Dehydration
+= rnz(duration
); break;
5243 case 75: HateTrapEffect
+= rnz(duration
); break;
5244 case 76: TotterTrapEffect
+= rnz(duration
); break;
5245 case 77: Nonintrinsics
+= rnz(duration
); break;
5246 case 78: Dropcurses
+= rnz(duration
); break;
5247 case 79: Nakedness
+= rnz(duration
); break;
5248 case 80: Antileveling
+= rnz(duration
); break;
5249 case 81: ItemStealingEffect
+= rnz(duration
); break;
5250 case 82: Rebellions
+= rnz(duration
); break;
5251 case 83: CrapEffect
+= rnz(duration
); break;
5252 case 84: ProjectilesMisfire
+= rnz(duration
); break;
5253 case 85: WallTrapping
+= rnz(duration
); break;
5254 case 86: DisconnectedStairs
+= rnz(duration
); break;
5255 case 87: InterfaceScrewed
+= rnz(duration
); break;
5256 case 88: Bossfights
+= rnz(duration
); break;
5257 case 89: EntireLevelMode
+= rnz(duration
); break;
5258 case 90: BonesLevelChange
+= rnz(duration
); break;
5259 case 91: AutocursingEquipment
+= rnz(duration
); break;
5260 case 92: HighlevelStatus
+= rnz(duration
); break;
5261 case 93: SpellForgetting
+= rnz(duration
); break;
5262 case 94: SoundEffectBug
+= rnz(duration
); break;
5263 case 95: TimerunBug
+= rnz(duration
); break;
5264 case 96: LootcutBug
+= rnz(duration
); break;
5265 case 97: MonsterSpeedBug
+= rnz(duration
); break;
5266 case 98: ScalingBug
+= rnz(duration
); break;
5267 case 99: EnmityBug
+= rnz(duration
); break;
5268 case 100: WhiteSpells
+= rnz(duration
); break;
5269 case 101: CompleteGraySpells
+= rnz(duration
); break;
5270 case 102: QuasarVision
+= rnz(duration
); break;
5271 case 103: MommaBugEffect
+= rnz(duration
); break;
5272 case 104: HorrorBugEffect
+= rnz(duration
); break;
5273 case 105: ArtificerBug
+= rnz(duration
); break;
5274 case 106: WereformBug
+= rnz(duration
); break;
5275 case 107: NonprayerBug
+= rnz(duration
); break;
5276 case 108: EvilPatchEffect
+= rnz(duration
); break;
5277 case 109: HardModeEffect
+= rnz(duration
); break;
5278 case 110: SecretAttackBug
+= rnz(duration
); break;
5279 case 111: EaterBugEffect
+= rnz(duration
); break;
5280 case 112: CovetousnessBug
+= rnz(duration
); break;
5281 case 113: NotSeenBug
+= rnz(duration
); break;
5282 case 114: DarkModeBug
+= rnz(duration
); break;
5283 case 115: AntisearchEffect
+= rnz(duration
); break;
5284 case 116: HomicideEffect
+= rnz(duration
); break;
5285 case 117: NastynationBug
+= rnz(duration
); break;
5286 case 118: WakeupCallBug
+= rnz(duration
); break;
5287 case 119: GrayoutBug
+= rnz(duration
); break;
5288 case 120: GrayCenterBug
+= rnz(duration
); break;
5289 case 121: CheckerboardBug
+= rnz(duration
); break;
5290 case 122: ClockwiseSpinBug
+= rnz(duration
); break;
5291 case 123: CounterclockwiseSpin
+= rnz(duration
); break;
5292 case 124: LagBugEffect
+= rnz(duration
); break;
5293 case 125: BlesscurseEffect
+= rnz(duration
); break;
5294 case 126: DeLightBug
+= rnz(duration
); break;
5295 case 127: DischargeBug
+= rnz(duration
); break;
5296 case 128: TrashingBugEffect
+= rnz(duration
); break;
5297 case 129: FilteringBug
+= rnz(duration
); break;
5298 case 130: DeformattingBug
+= rnz(duration
); break;
5299 case 131: FlickerStripBug
+= rnz(duration
); break;
5300 case 132: UndressingEffect
+= rnz(duration
); break;
5301 case 133: Hyperbluewalls
+= rnz(duration
); break;
5302 case 134: NoliteBug
+= rnz(duration
); break;
5303 case 135: ParanoiaBugEffect
+= rnz(duration
); break;
5304 case 136: FleecescriptBug
+= rnz(duration
); break;
5305 case 137: InterruptEffect
+= rnz(duration
); break;
5306 case 138: DustbinBug
+= rnz(duration
); break;
5307 case 139: ManaBatteryBug
+= rnz(duration
); break;
5308 case 140: Monsterfingers
+= rnz(duration
); break;
5309 case 141: MiscastBug
+= rnz(duration
); break;
5310 case 142: MessageSuppression
+= rnz(duration
); break;
5311 case 143: StuckAnnouncement
+= rnz(duration
); break;
5312 case 144: BloodthirstyEffect
+= rnz(duration
); break;
5313 case 145: MaximumDamageBug
+= rnz(duration
); break;
5314 case 146: LatencyBugEffect
+= rnz(duration
); break;
5315 case 147: StarlitBug
+= rnz(duration
); break;
5316 case 148: KnowledgeBug
+= rnz(duration
); break;
5317 case 149: HighscoreBug
+= rnz(duration
); break;
5318 case 150: PinkSpells
+= rnz(duration
); break;
5319 case 151: GreenSpells
+= rnz(duration
); break;
5320 case 152: EvencoreEffect
+= rnz(duration
); break;
5321 case 153: UnderlayerBug
+= rnz(duration
); break;
5322 case 154: DamageMeterBug
+= rnz(duration
); break;
5323 case 155: ArbitraryWeightBug
+= rnz(duration
); break;
5324 case 156: FuckedInfoBug
+= rnz(duration
); break;
5325 case 157: BlackSpells
+= rnz(duration
); break;
5326 case 158: CyanSpells
+= rnz(duration
); break;
5327 case 159: HeapEffectBug
+= rnz(duration
); break;
5328 case 160: BlueSpells
+= rnz(duration
); break;
5329 case 161: TronEffect
+= rnz(duration
); break;
5330 case 162: RedSpells
+= rnz(duration
); break;
5331 case 163: TooHeavyEffect
+= rnz(duration
); break;
5332 case 164: ElongationBug
+= rnz(duration
); break;
5333 case 165: WrapoverEffect
+= rnz(duration
); break;
5334 case 166: DestructionEffect
+= rnz(duration
); break;
5335 case 167: MeleePrefixBug
+= rnz(duration
); break;
5336 case 168: AutomoreBug
+= rnz(duration
); break;
5337 case 169: UnfairAttackBug
+= rnz(duration
); break;
5338 case 170: OrangeSpells
+= rnz(duration
); break;
5339 case 171: VioletSpells
+= rnz(duration
); break;
5340 case 172: LongingEffect
+= rnz(duration
); break;
5341 case 173: CursedParts
+= rnz(duration
); break;
5342 case 174: Quaversal
+= rnz(duration
); break;
5343 case 175: AppearanceShuffling
+= rnz(duration
); break;
5344 case 176: BrownSpells
+= rnz(duration
); break;
5345 case 177: Choicelessness
+= rnz(duration
); break;
5346 case 178: Goldspells
+= rnz(duration
); break;
5347 case 179: Deprovement
+= rnz(duration
); break;
5348 case 180: InitializationFail
+= rnz(duration
); break;
5349 case 181: GushlushEffect
+= rnz(duration
); break;
5350 case 182: SoiltypeEffect
+= rnz(duration
); break;
5351 case 183: DangerousTerrains
+= rnz(duration
); break;
5352 case 184: FalloutEffect
+= rnz(duration
); break;
5353 case 185: MojibakeEffect
+= rnz(duration
); break;
5354 case 186: GravationEffect
+= rnz(duration
); break;
5355 case 187: UncalledEffect
+= rnz(duration
); break;
5356 case 188: ExplodingDiceEffect
+= rnz(duration
); break;
5357 case 189: PermacurseEffect
+= rnz(duration
); break;
5358 case 190: ShroudedIdentity
+= rnz(duration
); break;
5359 case 191: FeelerGauges
+= rnz(duration
); break;
5360 case 192: LongScrewup
+= rnz(duration
* 20); break;
5361 case 193: WingYellowChange
+= rnz(duration
); break;
5362 case 194: LifeSavingBug
+= rnz(duration
); break;
5363 case 195: CurseuseEffect
+= rnz(duration
); break;
5364 case 196: CutNutritionEffect
+= rnz(duration
); break;
5365 case 197: SkillLossEffect
+= rnz(duration
); break;
5366 case 198: AutopilotEffect
+= rnz(duration
); break;
5367 case 199: MysteriousForceActive
+= rnz(duration
); break;
5368 case 200: MonsterGlyphChange
+= rnz(duration
); break;
5369 case 201: ChangingDirectives
+= rnz(duration
); break;
5370 case 202: ContainerKaboom
+= rnz(duration
); break;
5371 case 203: StealDegrading
+= rnz(duration
); break;
5372 case 204: LeftInventoryBug
+= rnz(duration
); break;
5373 case 205: FluctuatingSpeed
+= rnz(duration
); break;
5374 case 206: TarmuStrokingNora
+= rnz(duration
); break;
5375 case 207: FailureEffects
+= rnz(duration
); break;
5376 case 208: BrightCyanSpells
+= rnz(duration
); break;
5377 case 209: FrequentationSpawns
+= rnz(duration
); break;
5378 case 210: PetAIScrewed
+= rnz(duration
); break;
5379 case 211: SatanEffect
+= rnz(duration
); break;
5380 case 212: RememberanceEffect
+= rnz(duration
); break;
5381 case 213: PokelieEffect
+= rnz(duration
); break;
5382 case 214: AlwaysAutopickup
+= rnz(duration
); break;
5383 case 215: DywypiProblem
+= rnz(duration
); break;
5384 case 216: SilverSpells
+= rnz(duration
); break;
5385 case 217: MetalSpells
+= rnz(duration
); break;
5386 case 218: PlatinumSpells
+= rnz(duration
); break;
5387 case 219: ManlerEffect
+= rnz(duration
); break;
5388 case 220: DoorningEffect
+= rnz(duration
); break;
5389 case 221: NownsibleEffect
+= rnz(duration
); break;
5390 case 222: ElmStreetEffect
+= rnz(duration
); break;
5391 case 223: MonnoiseEffect
+= rnz(duration
); break;
5392 case 224: RangCallEffect
+= rnz(duration
); break;
5393 case 225: RecurringSpellLoss
+= rnz(duration
); break;
5394 case 226: AntitrainingEffect
+= rnz(duration
); break;
5395 case 227: TechoutBug
+= rnz(duration
); break;
5396 case 228: StatDecay
+= rnz(duration
); break;
5397 case 229: Movemork
+= rnz(duration
); break;
5398 case 230: BadPartBug
+= rnz(duration
); break;
5399 case 231: CompletelyBadPartBug
+= rnz(duration
); break;
5400 case 232: EvilVariantActive
+= rnz(duration
); break;
5401 case 233: SanityTrebleEffect
+= rnz(duration
); break;
5402 case 234: StatDecreaseBug
+= rnz(duration
); break;
5403 case 235: SimeoutBug
+= rnz(duration
); break;
5404 case 236: GiantExplorerBug
+= rnz(duration
); break;
5405 case 237: YawmBug
+= rnz(duration
); break;
5406 case 238: TrapwarpingBug
+= rnz(duration
); break;
5407 case 239: EnthuEffect
+= rnz(duration
); break;
5408 case 240: MikraEffect
+= rnz(duration
); break;
5409 case 241: GotsTooGoodEffect
+= rnz(duration
); break;
5410 case 242: NoFunWallsEffect
+= rnz(duration
); break;
5411 case 243: CradleChaosEffect
+= rnz(duration
); break;
5412 case 244: TezEffect
+= rnz(duration
); break;
5413 case 245: KillerRoomEffect
+= rnz(duration
); break;
5414 case 246: ReallyBadTrapEffect
+= rnz(duration
); break;
5415 case 247: CovidTrapEffect
+= rnz(duration
); break;
5416 case 248: ArtiblastEffect
+= rnz(duration
); break;
5417 case 249: RepeatingNastycurseEffect
+= rnz(duration
); break;
5418 case 250: RealLieEffect
+= rnz(duration
); break;
5419 case 251: EscapePastEffect
+= rnz(duration
); break;
5420 case 252: PethateEffect
+= rnz(duration
); break;
5421 case 253: PetLashoutEffect
+= rnz(duration
); break;
5422 case 254: PetstarveEffect
+= rnz(duration
); break;
5423 case 255: PetscrewEffect
+= rnz(duration
); break;
5424 case 256: TechLossEffect
+= rnz(duration
); break;
5425 case 257: ProoflossEffect
+= rnz(duration
); break;
5426 case 258: UnInvisEffect
+= rnz(duration
); break;
5427 case 259: DetectationEffect
+= rnz(duration
); break;
5428 case 260: OptionBugEffect
+= rnz(duration
); break;
5429 case 261: MiscolorEffect
+= rnz(duration
); break;
5430 case 262: OneRainbowEffect
+= rnz(duration
); break;
5431 case 263: ColorshiftEffect
+= rnz(duration
); break;
5432 case 264: TopLineEffect
+= rnz(duration
); break;
5433 case 265: CapsBugEffect
+= rnz(duration
); break;
5434 case 266: UnKnowledgeEffect
+= rnz(duration
); break;
5435 case 267: DarkhanceEffect
+= rnz(duration
); break;
5436 case 268: DschueueuetEffect
+= rnz(duration
); break;
5437 case 269: NopeskillEffect
+= rnz(duration
); break;
5438 case 270: FuckfuckfuckEffect
+= rnz(duration
); break;
5439 case 271: EpviEffect
+= rnz(duration
); break;
5440 case 272: AefdeEffect
+= rnz(duration
); break;
5441 case 273: MeanBurdenEffect
+= rnz(duration
); break;
5442 case 274: CarrcapEffect
+= rnz(duration
); break;
5443 case 275: UmengEffect
+= rnz(duration
); break;
5444 case 276: MulchBug
+= rnz(duration
); break;
5445 case 277: SpellCooldownBug
+= rnz(duration
); break;
5446 case 278: HaveAPinBug
+= rnz(duration
); break;
5447 case 279: TurbodullBug
+= rnz(duration
); break;
5448 case 280: InaccuracyBug
+= rnz(duration
); break;
5449 case 281: InventorySizeBug
+= rnz(duration
); break;
5450 case 282: CostlyFailureBug
+= rnz(duration
); break;
5451 case 283: ReddamBug
+= rnz(duration
); break;
5452 case 284: RedincBug
+= rnz(duration
); break;
5453 case 285: MonsterMultishotBug
+= rnz(duration
); break;
5460 specificnastytrapeffect(efftype
, nastyduration
, blackngvar
)
5461 int efftype
, nastyduration
, blackngvar
;
5465 case 1: RMBLoss
+= rnz(nastyduration
); break;
5466 case 2: NoDropProblem
+= rnz(nastyduration
); break;
5467 case 3: DSTWProblem
+= rnz(nastyduration
); break;
5468 case 4: StatusTrapProblem
+= rnz(nastyduration
);
5469 if (HConfusion
) set_itimeout(&HeavyConfusion
, HConfusion
);
5470 if (HStun
) set_itimeout(&HeavyStunned
, HStun
);
5471 if (HNumbed
) set_itimeout(&HeavyNumbed
, HNumbed
);
5472 if (HFeared
) set_itimeout(&HeavyFeared
, HFeared
);
5473 if (HFrozen
) set_itimeout(&HeavyFrozen
, HFrozen
);
5474 if (HBurned
) set_itimeout(&HeavyBurned
, HBurned
);
5475 if (HDimmed
) set_itimeout(&HeavyDimmed
, HDimmed
);
5476 if (Blinded
) set_itimeout(&HeavyBlind
, Blinded
);
5477 if (HHallucination
) set_itimeout(&HeavyHallu
, HHallucination
);
5479 case 5: Superscroller
+= rnz(nastyduration
* (Role_if(PM_GRADUATE
) ? 2 : Role_if(PM_GEEK
) ? 5 : 10) );
5480 (void) makemon(&mons
[PM_SCROLLER_MASTER
], 0, 0, NO_MINVENT
);
5482 case 6: MenuBug
+= rnz(nastyduration
); break;
5483 case 7: FreeHandLoss
+= rnz(nastyduration
); break;
5484 case 8: Unidentify
+= rnz(nastyduration
); break;
5485 case 9: Thirst
+= rnz(nastyduration
); break;
5486 case 10: LuckLoss
+= rnz(nastyduration
); break;
5487 case 11: ShadesOfGrey
+= rnz(nastyduration
); break;
5488 case 12: FaintActive
+= rnz(nastyduration
); break;
5489 case 13: Itemcursing
+= rnz(nastyduration
); break;
5490 case 14: DifficultyIncreased
+= rnz(nastyduration
); break;
5491 case 15: Deafness
+= rnz(nastyduration
); flags
.soundok
= 0; break;
5492 case 16: CasterProblem
+= rnz(nastyduration
); break;
5493 case 17: WeaknessProblem
+= rnz(nastyduration
); break;
5494 case 18: RotThirteen
+= rnz(nastyduration
); break;
5495 case 19: BishopGridbug
+= rnz(nastyduration
); break;
5496 case 20: UninformationProblem
+= rnz(nastyduration
); break;
5497 case 21: StairsProblem
+= rnz(nastyduration
); break;
5498 case 22: AlignmentProblem
+= rnz(nastyduration
); break;
5499 case 23: ConfusionProblem
+= rnz(nastyduration
); break;
5500 case 24: SpeedBug
+= rnz(nastyduration
); break;
5501 case 25: DisplayLoss
+= rnz(nastyduration
); break;
5502 case 26: SpellLoss
+= rnz(nastyduration
); break;
5503 case 27: YellowSpells
+= rnz(nastyduration
); break;
5504 case 28: AutoDestruct
+= rnz(nastyduration
); break;
5505 case 29: MemoryLoss
+= rnz(nastyduration
); break;
5506 case 30: InventoryLoss
+= rnz(nastyduration
); break;
5509 if (BlackNgWalls
) break;
5511 BlackNgWalls
= blackngvar
;
5512 if (BlackNgWalls
< 100) BlackNgWalls
= 100;
5513 (void) makemon(&mons
[PM_BLACKY
], 0, 0, NO_MM_FLAGS
);
5516 case 32: IntrinsicLossProblem
+= rnz(nastyduration
); break;
5517 case 33: BloodLossProblem
+= rnz(nastyduration
); break;
5518 case 34: BadEffectProblem
+= rnz(nastyduration
); break;
5519 case 35: TrapCreationProblem
+= rnz(nastyduration
); break;
5520 case 36: AutomaticVulnerabilitiy
+= rnz(nastyduration
); break;
5521 case 37: TeleportingItems
+= rnz(nastyduration
); break;
5522 case 38: NastinessProblem
+= rnz(nastyduration
); break;
5523 case 39: CaptchaProblem
+= rnz(nastyduration
); break;
5524 case 40: FarlookProblem
+= rnz(nastyduration
); break;
5525 case 41: RespawnProblem
+= rnz(nastyduration
); break;
5526 case 42: RecurringAmnesia
+= rnz(nastyduration
); break;
5527 case 43: BigscriptEffect
+= rnz(nastyduration
); break;
5529 BankTrapEffect
+= rnz(nastyduration
);
5530 if (u
.bankcashlimit
== 0) u
.bankcashlimit
= rnz(1000 * (monster_difficulty() + 1 + (long)mvitals
[PM_ARABELLA_THE_MONEY_THIEF
].born
));
5531 u
.bankcashamount
+= u
.ugold
;
5536 case 45: MapTrapEffect
+= rnz(nastyduration
); break;
5537 case 46: TechTrapEffect
+= rnz(nastyduration
); break;
5538 case 47: RecurringDisenchant
+= rnz(nastyduration
); break;
5539 case 48: verisiertEffect
+= rnz(nastyduration
); break;
5540 case 49: ChaosTerrain
+= rnz(nastyduration
); break;
5541 case 50: Muteness
+= rnz(nastyduration
); break;
5542 case 51: EngravingDoesntWork
+= rnz(nastyduration
); break;
5543 case 52: MagicDeviceEffect
+= rnz(nastyduration
); break;
5544 case 53: BookTrapEffect
+= rnz(nastyduration
); break;
5545 case 54: LevelTrapEffect
+= rnz(nastyduration
); break;
5546 case 55: QuizTrapEffect
+= rnz(nastyduration
); break;
5547 case 56: FastMetabolismEffect
+= rnz(nastyduration
); break;
5548 case 57: NoReturnEffect
+= rnz(nastyduration
); break;
5549 case 58: AlwaysEgotypeMonsters
+= rnz(nastyduration
); break;
5550 case 59: TimeGoesByFaster
+= rnz(nastyduration
); break;
5551 case 60: FoodIsAlwaysRotten
+= rnz(nastyduration
); break;
5552 case 61: AllSkillsUnskilled
+= rnz(nastyduration
); break;
5553 case 62: AllStatsAreLower
+= rnz(nastyduration
); break;
5554 case 63: PlayerCannotTrainSkills
+= rnz(nastyduration
); break;
5555 case 64: PlayerCannotExerciseStats
+= rnz(nastyduration
); break;
5556 case 65: TurnLimitation
+= rnz(nastyduration
); break;
5557 case 66: WeakSight
+= rnz(nastyduration
); break;
5558 case 67: RandomMessages
+= rnz(nastyduration
); break;
5560 case 68: Desecration
+= rnz(nastyduration
); break;
5561 case 69: StarvationEffect
+= rnz(nastyduration
); break;
5562 case 70: NoDropsEffect
+= rnz(nastyduration
); break;
5563 case 71: LowEffects
+= rnz(nastyduration
); break;
5564 case 72: InvisibleTrapsEffect
+= rnz(nastyduration
); break;
5565 case 73: GhostWorld
+= rnz(nastyduration
); break;
5566 case 74: Dehydration
+= rnz(nastyduration
); break;
5567 case 75: HateTrapEffect
+= rnz(nastyduration
); break;
5568 case 76: TotterTrapEffect
+= rnz(nastyduration
); break;
5569 case 77: Nonintrinsics
+= rnz(nastyduration
); break;
5570 case 78: Dropcurses
+= rnz(nastyduration
); break;
5571 case 79: Nakedness
+= rnz(nastyduration
); break;
5572 case 80: Antileveling
+= rnz(nastyduration
); break;
5573 case 81: ItemStealingEffect
+= rnz(nastyduration
); break;
5574 case 82: Rebellions
+= rnz(nastyduration
); break;
5575 case 83: CrapEffect
+= rnz(nastyduration
); break;
5576 case 84: ProjectilesMisfire
+= rnz(nastyduration
); break;
5577 case 85: WallTrapping
+= rnz(nastyduration
); break;
5578 case 86: DisconnectedStairs
+= rnz(nastyduration
); break;
5579 case 87: InterfaceScrewed
+= rnz(nastyduration
); break;
5580 case 88: Bossfights
+= rnz(nastyduration
); break;
5581 case 89: EntireLevelMode
+= rnz(nastyduration
); break;
5582 case 90: BonesLevelChange
+= rnz(nastyduration
); break;
5583 case 91: AutocursingEquipment
+= rnz(nastyduration
); break;
5584 case 92: HighlevelStatus
+= rnz(nastyduration
); break;
5585 case 93: SpellForgetting
+= rnz(nastyduration
); break;
5586 case 94: SoundEffectBug
+= rnz(nastyduration
); break;
5587 case 95: TimerunBug
+= rnz(nastyduration
); break;
5588 case 96: LootcutBug
+= rnz(nastyduration
); break;
5589 case 97: MonsterSpeedBug
+= rnz(nastyduration
); break;
5590 case 98: ScalingBug
+= rnz(nastyduration
); break;
5591 case 99: EnmityBug
+= rnz(nastyduration
); break;
5592 case 100: WhiteSpells
+= rnz(nastyduration
); break;
5593 case 101: CompleteGraySpells
+= rnz(nastyduration
); break;
5594 case 102: QuasarVision
+= rnz(nastyduration
); break;
5595 case 103: MommaBugEffect
+= rnz(nastyduration
); break;
5596 case 104: HorrorBugEffect
+= rnz(nastyduration
); break;
5597 case 105: ArtificerBug
+= rnz(nastyduration
); break;
5598 case 106: WereformBug
+= rnz(nastyduration
); break;
5599 case 107: NonprayerBug
+= rnz(nastyduration
); break;
5600 case 108: EvilPatchEffect
+= rnz(nastyduration
); break;
5601 case 109: HardModeEffect
+= rnz(nastyduration
); break;
5602 case 110: SecretAttackBug
+= rnz(nastyduration
); break;
5603 case 111: EaterBugEffect
+= rnz(nastyduration
); break;
5604 case 112: CovetousnessBug
+= rnz(nastyduration
); break;
5605 case 113: NotSeenBug
+= rnz(nastyduration
); break;
5606 case 114: DarkModeBug
+= rnz(nastyduration
); break;
5607 case 115: AntisearchEffect
+= rnz(nastyduration
); break;
5608 case 116: HomicideEffect
+= rnz(nastyduration
); break;
5609 case 117: NastynationBug
+= rnz(nastyduration
); break;
5610 case 118: WakeupCallBug
+= rnz(nastyduration
); break;
5611 case 119: GrayoutBug
+= rnz(nastyduration
); break;
5612 case 120: GrayCenterBug
+= rnz(nastyduration
); break;
5613 case 121: CheckerboardBug
+= rnz(nastyduration
); break;
5614 case 122: ClockwiseSpinBug
+= rnz(nastyduration
); break;
5615 case 123: CounterclockwiseSpin
+= rnz(nastyduration
); break;
5616 case 124: LagBugEffect
+= rnz(nastyduration
); break;
5617 case 125: BlesscurseEffect
+= rnz(nastyduration
); break;
5618 case 126: DeLightBug
+= rnz(nastyduration
); break;
5619 case 127: DischargeBug
+= rnz(nastyduration
); break;
5620 case 128: TrashingBugEffect
+= rnz(nastyduration
); break;
5621 case 129: FilteringBug
+= rnz(nastyduration
); break;
5622 case 130: DeformattingBug
+= rnz(nastyduration
); break;
5623 case 131: FlickerStripBug
+= rnz(nastyduration
); break;
5624 case 132: UndressingEffect
+= rnz(nastyduration
); break;
5625 case 133: Hyperbluewalls
+= rnz(nastyduration
); break;
5626 case 134: NoliteBug
+= rnz(nastyduration
); break;
5627 case 135: ParanoiaBugEffect
+= rnz(nastyduration
); break;
5628 case 136: FleecescriptBug
+= rnz(nastyduration
); break;
5629 case 137: InterruptEffect
+= rnz(nastyduration
); break;
5630 case 138: DustbinBug
+= rnz(nastyduration
); break;
5631 case 139: ManaBatteryBug
+= rnz(nastyduration
); break;
5632 case 140: Monsterfingers
+= rnz(nastyduration
); break;
5633 case 141: MiscastBug
+= rnz(nastyduration
); break;
5634 case 142: MessageSuppression
+= rnz(nastyduration
); break;
5635 case 143: StuckAnnouncement
+= rnz(nastyduration
); break;
5636 case 144: BloodthirstyEffect
+= rnz(nastyduration
); break;
5637 case 145: MaximumDamageBug
+= rnz(nastyduration
); break;
5638 case 146: LatencyBugEffect
+= rnz(nastyduration
); break;
5639 case 147: StarlitBug
+= rnz(nastyduration
); break;
5640 case 148: KnowledgeBug
+= rnz(nastyduration
); break;
5641 case 149: HighscoreBug
+= rnz(nastyduration
); break;
5642 case 150: PinkSpells
+= rnz(nastyduration
); break;
5643 case 151: GreenSpells
+= rnz(nastyduration
); break;
5644 case 152: EvencoreEffect
+= rnz(nastyduration
); break;
5645 case 153: UnderlayerBug
+= rnz(nastyduration
); break;
5646 case 154: DamageMeterBug
+= rnz(nastyduration
); break;
5647 case 155: ArbitraryWeightBug
+= rnz(nastyduration
); break;
5648 case 156: FuckedInfoBug
+= rnz(nastyduration
); break;
5649 case 157: BlackSpells
+= rnz(nastyduration
); break;
5650 case 158: CyanSpells
+= rnz(nastyduration
); break;
5651 case 159: HeapEffectBug
+= rnz(nastyduration
); break;
5652 case 160: BlueSpells
+= rnz(nastyduration
); break;
5653 case 161: TronEffect
+= rnz(nastyduration
); break;
5654 case 162: RedSpells
+= rnz(nastyduration
); break;
5655 case 163: TooHeavyEffect
+= rnz(nastyduration
); break;
5656 case 164: ElongationBug
+= rnz(nastyduration
); break;
5657 case 165: WrapoverEffect
+= rnz(nastyduration
); break;
5658 case 166: DestructionEffect
+= rnz(nastyduration
); break;
5659 case 167: MeleePrefixBug
+= rnz(nastyduration
); break;
5660 case 168: AutomoreBug
+= rnz(nastyduration
); break;
5661 case 169: UnfairAttackBug
+= rnz(nastyduration
); break;
5662 case 170: OrangeSpells
+= rnz(nastyduration
); break;
5663 case 171: VioletSpells
+= rnz(nastyduration
); break;
5664 case 172: LongingEffect
+= rnz(nastyduration
); break;
5665 case 173: CursedParts
+= rnz(nastyduration
); break;
5666 case 174: Quaversal
+= rnz(nastyduration
); break;
5667 case 175: AppearanceShuffling
+= rnz(nastyduration
); break;
5668 case 176: BrownSpells
+= rnz(nastyduration
); break;
5669 case 177: Choicelessness
+= rnz(nastyduration
); break;
5670 case 178: Goldspells
+= rnz(nastyduration
); break;
5671 case 179: Deprovement
+= rnz(nastyduration
); break;
5672 case 180: InitializationFail
+= rnz(nastyduration
); break;
5673 case 181: GushlushEffect
+= rnz(nastyduration
); break;
5674 case 182: SoiltypeEffect
+= rnz(nastyduration
); break;
5675 case 183: DangerousTerrains
+= rnz(nastyduration
); break;
5676 case 184: FalloutEffect
+= rnz(nastyduration
); break;
5677 case 185: MojibakeEffect
+= rnz(nastyduration
); break;
5678 case 186: GravationEffect
+= rnz(nastyduration
); break;
5679 case 187: UncalledEffect
+= rnz(nastyduration
); break;
5680 case 188: ExplodingDiceEffect
+= rnz(nastyduration
); break;
5681 case 189: PermacurseEffect
+= rnz(nastyduration
); break;
5682 case 190: ShroudedIdentity
+= rnz(nastyduration
); break;
5683 case 191: FeelerGauges
+= rnz(nastyduration
); break;
5684 case 192: LongScrewup
+= rnz(nastyduration
* 20); break;
5685 case 193: WingYellowChange
+= rnz(nastyduration
); break;
5686 case 194: LifeSavingBug
+= rnz(nastyduration
); break;
5687 case 195: CurseuseEffect
+= rnz(nastyduration
); break;
5688 case 196: CutNutritionEffect
+= rnz(nastyduration
); break;
5689 case 197: SkillLossEffect
+= rnz(nastyduration
); break;
5690 case 198: AutopilotEffect
+= rnz(nastyduration
); break;
5691 case 199: MysteriousForceActive
+= rnz(nastyduration
); break;
5692 case 200: MonsterGlyphChange
+= rnz(nastyduration
); break;
5693 case 201: ChangingDirectives
+= rnz(nastyduration
); break;
5694 case 202: ContainerKaboom
+= rnz(nastyduration
); break;
5695 case 203: StealDegrading
+= rnz(nastyduration
); break;
5696 case 204: LeftInventoryBug
+= rnz(nastyduration
); break;
5697 case 205: FluctuatingSpeed
+= rnz(nastyduration
); break;
5698 case 206: TarmuStrokingNora
+= rnz(nastyduration
); break;
5699 case 207: FailureEffects
+= rnz(nastyduration
); break;
5700 case 208: BrightCyanSpells
+= rnz(nastyduration
); break;
5701 case 209: FrequentationSpawns
+= rnz(nastyduration
); break;
5702 case 210: PetAIScrewed
+= rnz(nastyduration
); break;
5703 case 211: SatanEffect
+= rnz(nastyduration
); break;
5704 case 212: RememberanceEffect
+= rnz(nastyduration
); break;
5705 case 213: PokelieEffect
+= rnz(nastyduration
); break;
5706 case 214: AlwaysAutopickup
+= rnz(nastyduration
); break;
5707 case 215: DywypiProblem
+= rnz(nastyduration
); break;
5708 case 216: SilverSpells
+= rnz(nastyduration
); break;
5709 case 217: MetalSpells
+= rnz(nastyduration
); break;
5710 case 218: PlatinumSpells
+= rnz(nastyduration
); break;
5711 case 219: ManlerEffect
+= rnz(nastyduration
); break;
5712 case 220: DoorningEffect
+= rnz(nastyduration
); break;
5713 case 221: NownsibleEffect
+= rnz(nastyduration
); break;
5714 case 222: ElmStreetEffect
+= rnz(nastyduration
); break;
5715 case 223: MonnoiseEffect
+= rnz(nastyduration
); break;
5716 case 224: RangCallEffect
+= rnz(nastyduration
); break;
5717 case 225: RecurringSpellLoss
+= rnz(nastyduration
); break;
5718 case 226: AntitrainingEffect
+= rnz(nastyduration
); break;
5719 case 227: TechoutBug
+= rnz(nastyduration
); break;
5720 case 228: StatDecay
+= rnz(nastyduration
); break;
5721 case 229: Movemork
+= rnz(nastyduration
); break;
5722 case 230: BadPartBug
+= rnz(nastyduration
); break;
5723 case 231: CompletelyBadPartBug
+= rnz(nastyduration
); break;
5724 case 232: EvilVariantActive
+= rnz(nastyduration
); break;
5725 case 233: SanityTrebleEffect
+= rnz(nastyduration
); break;
5726 case 234: StatDecreaseBug
+= rnz(nastyduration
); break;
5727 case 235: SimeoutBug
+= rnz(nastyduration
); break;
5728 case 236: GiantExplorerBug
+= rnz(nastyduration
); break;
5729 case 237: YawmBug
+= rnz(nastyduration
); break;
5730 case 238: TrapwarpingBug
+= rnz(nastyduration
); break;
5731 case 239: EnthuEffect
+= rnz(nastyduration
); break;
5732 case 240: MikraEffect
+= rnz(nastyduration
); break;
5733 case 241: GotsTooGoodEffect
+= rnz(nastyduration
); break;
5734 case 242: NoFunWallsEffect
+= rnz(nastyduration
); break;
5735 case 243: CradleChaosEffect
+= rnz(nastyduration
); break;
5736 case 244: TezEffect
+= rnz(nastyduration
); break;
5737 case 245: KillerRoomEffect
+= rnz(nastyduration
); break;
5738 case 246: ReallyBadTrapEffect
+= rnz(nastyduration
); break;
5739 case 247: CovidTrapEffect
+= rnz(nastyduration
); break;
5740 case 248: ArtiblastEffect
+= rnz(nastyduration
); break;
5741 case 249: RepeatingNastycurseEffect
+= rnz(nastyduration
); break;
5742 case 250: RealLieEffect
+= rnz(nastyduration
); break;
5743 case 251: EscapePastEffect
+= rnz(nastyduration
); break;
5744 case 252: PethateEffect
+= rnz(nastyduration
); break;
5745 case 253: PetLashoutEffect
+= rnz(nastyduration
); break;
5746 case 254: PetstarveEffect
+= rnz(nastyduration
); break;
5747 case 255: PetscrewEffect
+= rnz(nastyduration
); break;
5748 case 256: TechLossEffect
+= rnz(nastyduration
); break;
5749 case 257: ProoflossEffect
+= rnz(nastyduration
); break;
5750 case 258: UnInvisEffect
+= rnz(nastyduration
); break;
5751 case 259: DetectationEffect
+= rnz(nastyduration
); break;
5752 case 260: OptionBugEffect
+= rnz(nastyduration
); break;
5753 case 261: MiscolorEffect
+= rnz(nastyduration
); break;
5754 case 262: OneRainbowEffect
+= rnz(nastyduration
); break;
5755 case 263: ColorshiftEffect
+= rnz(nastyduration
); break;
5756 case 264: TopLineEffect
+= rnz(nastyduration
); break;
5757 case 265: CapsBugEffect
+= rnz(nastyduration
); break;
5758 case 266: UnKnowledgeEffect
+= rnz(nastyduration
); break;
5759 case 267: DarkhanceEffect
+= rnz(nastyduration
); break;
5760 case 268: DschueueuetEffect
+= rnz(nastyduration
); break;
5761 case 269: NopeskillEffect
+= rnz(nastyduration
); break;
5762 case 270: FuckfuckfuckEffect
+= rnz(nastyduration
); break;
5763 case 271: EpviEffect
+= rnz(nastyduration
); break;
5764 case 272: AefdeEffect
+= rnz(nastyduration
); break;
5765 case 273: MeanBurdenEffect
+= rnz(nastyduration
); break;
5766 case 274: CarrcapEffect
+= rnz(nastyduration
); break;
5767 case 275: UmengEffect
+= rnz(nastyduration
); break;
5768 case 276: MulchBug
+= rnz(nastyduration
); break;
5769 case 277: SpellCooldownBug
+= rnz(nastyduration
); break;
5770 case 278: HaveAPinBug
+= rnz(nastyduration
); break;
5771 case 279: TurbodullBug
+= rnz(nastyduration
); break;
5772 case 280: InaccuracyBug
+= rnz(nastyduration
); break;
5773 case 281: InventorySizeBug
+= rnz(nastyduration
); break;
5774 case 282: CostlyFailureBug
+= rnz(nastyduration
); break;
5775 case 283: ReddamBug
+= rnz(nastyduration
); break;
5776 case 284: RedincBug
+= rnz(nastyduration
); break;
5777 case 285: MonsterMultishotBug
+= rnz(nastyduration
); break;
5780 impossible("efftype %d called in specificnastytrapeffect()", efftype
);
5793 result
= rnd(P_NUM_SKILLS
- 1);
5795 if (result
>= P_SHII_CHO
&& result
<= P_WEDI
&& rn2(10)) goto skillreroll
;
5796 if (result
>= P_STILETTO_HEELS
&& result
<= P_WEDGE_HEELS
&& rn2(4)) goto skillreroll
;
5802 randomgoodcombatskill()
5807 result
= P_BARE_HANDED_COMBAT
+ rn2(( P_RIDING
- P_BARE_HANDED_COMBAT
) + 1);
5808 if (result
>= P_SHII_CHO
&& result
<= P_WEDI
&& rn2(10)) goto combatreroll
;
5809 if (result
>= P_STILETTO_HEELS
&& result
<= P_WEDGE_HEELS
&& rn2(4)) goto combatreroll
;
5815 randomgoodmclass(withtroves
)
5818 int monclassresult
= rnd(S_WORM_TAIL
);
5819 while (monclassresult
== 35 || (!withtroves
&& monclassresult
== S_TROVE
)) monclassresult
= rnd(S_WORM_TAIL
);
5820 return monclassresult
;
5824 randomfeminismtraptype() /* keyword "marlena" */
5827 case 1: return FEMMY_TRAP
;
5828 case 2: return MADELEINE_TRAP
;
5829 case 3: return MARLENA_TRAP
;
5830 case 4: return ANASTASIA_TRAP
;
5831 case 5: return JESSICA_TRAP
;
5832 case 6: return SOLVEJG_TRAP
;
5833 case 7: return WENDY_TRAP
;
5834 case 8: return KATHARINA_TRAP
;
5835 case 9: return ELENA_TRAP
;
5836 case 10: return THAI_TRAP
;
5837 case 11: return ELIF_TRAP
;
5838 case 12: return NADJA_TRAP
;
5839 case 13: return SANDRA_TRAP
;
5840 case 14: return NATALJE_TRAP
;
5841 case 15: return JEANETTA_TRAP
;
5842 case 16: return YVONNE_TRAP
;
5843 case 17: return MAURAH_TRAP
;
5844 case 18: return MELTEM_TRAP
;
5845 case 19: return SARAH_TRAP
;
5846 case 20: return CLAUDIA_TRAP
;
5847 case 21: return LUDGERA_TRAP
;
5848 case 22: return KATI_TRAP
;
5849 case 23: return NELLY_TRAP
;
5850 case 24: return EVELINE_TRAP
;
5851 case 25: return KARIN_TRAP
;
5852 case 26: return JUEN_TRAP
;
5853 case 27: return KRISTINA_TRAP
;
5854 case 28: return LOU_TRAP
;
5855 case 29: return ALMUT_TRAP
;
5856 case 30: return JULIETTA_TRAP
;
5857 case 31: return ARABELLA_TRAP
;
5858 case 32: return KRISTIN_TRAP
;
5859 case 33: return ANNA_TRAP
;
5860 case 34: return RUEA_TRAP
;
5861 case 35: return DORA_TRAP
;
5862 case 36: return MARIKE_TRAP
;
5863 case 37: return JETTE_TRAP
;
5864 case 38: return INA_TRAP
;
5865 case 39: return SING_TRAP
;
5866 case 40: return VICTORIA_TRAP
;
5867 case 41: return MELISSA_TRAP
;
5868 case 42: return ANITA_TRAP
;
5869 case 43: return HENRIETTA_TRAP
;
5870 case 44: return VERENA_TRAP
;
5871 case 45: return ANNEMARIE_TRAP
;
5872 case 46: return JIL_TRAP
;
5873 case 47: return JANA_TRAP
;
5874 case 48: return KATRIN_TRAP
;
5875 case 49: return GUDRUN_TRAP
;
5876 case 50: return ELLA_TRAP
;
5877 case 51: return MANUELA_TRAP
;
5878 case 52: return JENNIFER_TRAP
;
5879 case 53: return PATRICIA_TRAP
;
5880 case 54: return ANTJE_TRAP
;
5881 case 55: return ANTJE_TRAP_X
;
5882 case 56: return KERSTIN_TRAP
;
5883 case 57: return LAURA_TRAP
;
5884 case 58: return LARISSA_TRAP
;
5885 case 59: return NORA_TRAP
;
5886 case 60: return NATALIA_TRAP
;
5887 case 61: return SUSANNE_TRAP
;
5888 case 62: return LISA_TRAP
;
5889 case 63: return BRIDGHITTE_TRAP
;
5890 case 64: return JULIA_TRAP
;
5891 case 65: return NICOLE_TRAP
;
5892 case 66: return RITA_TRAP
;
5893 case 67: return JANINA_TRAP
;
5894 case 68: return ROSA_TRAP
;
5895 case 69: return KSENIA_TRAP
;
5896 case 70: return LYDIA_TRAP
;
5897 case 71: return CONNY_TRAP
;
5898 case 72: return KATIA_TRAP
;
5899 case 73: return MARIYA_TRAP
;
5900 case 74: return ELISE_TRAP
;
5901 case 75: return RONJA_TRAP
;
5902 case 76: return ARIANE_TRAP
;
5903 case 77: return JOHANNA_TRAP
;
5904 case 78: return INGE_TRAP
;
5905 case 79: return RUTH_TRAP
;
5906 case 80: return MAGDALENA_TRAP
;
5907 case 81: return MARLEEN_TRAP
;
5908 case 82: return KLARA_TRAP
;
5909 case 83: return FRIEDERIKE_TRAP
;
5910 case 84: return NAOMI_TRAP
;
5911 case 85: return UTE_TRAP
;
5912 case 86: return JASIEEN_TRAP
;
5913 case 87: return YASAMAN_TRAP
;
5914 case 88: return MAY_BRITT_TRAP
;
5915 case 89: return NADINE_TRAP
;
5916 case 90: return LUISA_TRAP
;
5917 case 91: return IRINA_TRAP
;
5918 case 92: return LISELOTTE_TRAP
;
5919 case 93: return GRETA_TRAP
;
5920 case 94: return JANE_TRAP
;
5921 case 95: return SUE_LYN_TRAP
;
5922 case 96: return CHARLOTTE_TRAP
;
5923 case 97: return HANNAH_TRAP
;
5924 case 98: return LITTLE_MARIE_TRAP
;
5925 case 99: return TANJA_TRAP
;
5926 case 100: return SONJA_TRAP
;
5927 case 101: return RHEA_TRAP
;
5928 case 102: return LARA_TRAP
;
5929 case 103: return SABRINA_TRAP
;
5931 return INGE_TRAP
; /* fail safe */