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 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 | 4x 4x 4x 4x 4x 4x 4x 4x 4x 4x 4x 4x 4x 4x 4x 4x 4x 4x 4x 4x 4x 4x 4x 4x 4x 4x 4x 4x 4x 4x 4x 4x 4x 4x 4x 4x 4x 4x 4x 4x 4x 4x 4x 4x 4x 4x 4x 4x 4x 4x 4x 4x 4x 4x 4x 4x 4x 4x 4x 4x 4x 4x 4x 4x 4x 4x 4x 4x 4x 4x 4x 4x 4x 4x 4x 4x 4x 4x 4x 4x 4x | /**
* oracle - NetHack special level
* Converted from: oracle.lua
*/
import * as des from '../sp_lev.js';
export async function generate() {
// NetHack oracle oracle.lua $NHDT-Date: 1652196033 2022/5/10 15:20:33 $ $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.1 $
// Copyright (c) 2015 by Pasi Kallinen
// NetHack may be freely redistributed. See license for details.
//
// Oracle level
des.level_flags("noflip");
await des.makeRoom({ type: "ordinary", lit: 1, x: 3,y: 3, xalign: "center",yalign: "center", w: 11,h: 9, contents: async function() {
await des.object({ id: "statue", x: 0, y: 0, montype: "C", historic: true });
await des.object({ id: "statue", x: 0, y: 8, montype: "C", historic: true });
await des.object({ id: "statue", x: 10, y: 0, montype: "C", historic: true });
await des.object({ id: "statue", x: 10, y: 8, montype: "C", historic: true });
await des.object({ id: "statue", x: 5, y: 1, montype: "C", historic: true });
await des.object({ id: "statue", x: 5, y: 7, montype: "C", historic: true });
await des.object({ id: "statue", x: 2, y: 4, montype: "C", historic: true });
await des.object({ id: "statue", x: 8, y: 4, montype: "C", historic: true });
await des.makeRoom({ type: "delphi", lit: 1, x: 4,y: 3, w: 3,h: 3, contents: async function() {
des.feature("fountain", 0, 1);
des.feature("fountain", 1, 0);
des.feature("fountain", 1, 2);
des.feature("fountain", 2, 1);
await des.monster("Oracle", 1, 1);
des.door({ state: "nodoor", wall: "all" });
}
});
await des.monster();
await des.monster();
}
});
await des.makeRoom({ contents: async function() {
des.stair("up");
await des.object();
}
});
await des.makeRoom({ contents: async function() {
des.stair("down");
await des.object();
await des.trap();
await des.monster();
await des.monster();
}
});
await des.makeRoom({ contents: async function() {
await des.object();
await des.object();
await des.monster();
}
});
await des.makeRoom({ contents: async function() {
await des.object();
await des.trap();
await des.monster();
}
});
await des.makeRoom({ contents: async function() {
await des.object();
await des.trap();
await des.monster();
}
});
await des.random_corridors();
return des.finalize_level();
}
|