protected internal virtual void PlaceTraps() { var numberOfTraps = NumberOfTraps(); var trapChances = TrapChances(); for (var i = 0; i < numberOfTraps; i++) { var trapPos = Random.Int(Length); if (map[trapPos] != Terrain.EMPTY) { continue; } switch (Random.Chances(trapChances)) { case 0: map[trapPos] = Terrain.SECRET_TOXIC_TRAP; break; case 1: map[trapPos] = Terrain.SECRET_FIRE_TRAP; break; case 2: map[trapPos] = Terrain.SECRET_PARALYTIC_TRAP; break; case 3: map[trapPos] = Terrain.SECRET_POISON_TRAP; break; case 4: map[trapPos] = Terrain.SECRET_ALARM_TRAP; break; case 5: map[trapPos] = Terrain.SECRET_LIGHTNING_TRAP; break; case 6: map[trapPos] = Terrain.SECRET_GRIPPING_TRAP; break; case 7: map[trapPos] = Terrain.SECRET_SUMMONING_TRAP; break; } } }