All files / js/levels bigrm-8.js

95.52% Statements 64/67
83.33% Branches 5/6
100% Functions 1/1
95.52% Lines 64/67

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 683x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x       3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 45x 45x 3x 3x 18x 18x 3x 3x 84x 84x 3x 3x 3x 3x  
/**
 * bigrm-8 - NetHack special level
 * Converted from: bigrm-8.lua
 */
 
import * as des from '../sp_lev.js';
import { selection, percent } from '../sp_lev.js';
import { rn2 } from '../rng.js';
 
export async function generate() {
    // NetHack bigroom bigrm-8.lua	$NHDT-Date: 1652196023 2022/5/10 15:20:23 $  $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.1 $
    // Copyright (c) 1989 by Jean-Christophe Collet
    // Copyright (c) 1990 by M. Stephenson
    // NetHack may be freely redistributed.  See license for details.
    // 
    des.level_init({ style: "solidfill", fg: " " });
    des.level_flags("mazelevel");
 
    await des.map(`\
----------------------------------------------                             
|............................................---                           
--.............................................---                         
 ---......................................FF.....---                       
   ---...................................FF........---                     
     ---................................FF...........---                   
       ---.............................FF..............---                 
         ---..........................FF.................---               
           ---.......................FF....................---             
             ---....................FF.......................---           
               ---.................FF..........................---         
                 ---..............FF.............................---       
                   ---...........FF................................----    
                     ---........FF...................................---   
                       ---.....FF......................................--- 
                         ---.............................................--
                           ---............................................|
                             ----------------------------------------------
`);
 
    if (percent(40)) {
       let terrain = [ "L", "}", "T", ".", "-", "C" ];
       let tidx = rn2(terrain.length);
       des.replace_terrain({ region: [0,0, 74,17], fromterrain: "F", toterrain: terrain[tidx] });
    };
 
    await des.region(selection.area(1,1,73,16), "lit");
 
    des.stair("up");
    des.stair("down");
 
    des.non_diggable();
 
    for (let i = 1, __end_i = 15; i <= __end_i; i++) {
       await des.object();
    }
 
    for (let i = 1, __end_i = 6; i <= __end_i; i++) {
       await des.trap();
    }
 
    for (let i = 1, __end_i = 28; i <= __end_i; i++) {
      await des.monster();
    }
 
 
    return des.finalize_level();
}