@ticktockbent/rogue-ts 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +175 -0
- package/dist/armor.d.ts +18 -0
- package/dist/armor.d.ts.map +1 -0
- package/dist/armor.js +84 -0
- package/dist/armor.js.map +1 -0
- package/dist/chase.d.ts +15 -0
- package/dist/chase.d.ts.map +1 -0
- package/dist/chase.js +152 -0
- package/dist/chase.js.map +1 -0
- package/dist/command.d.ts +12 -0
- package/dist/command.d.ts.map +1 -0
- package/dist/command.js +761 -0
- package/dist/command.js.map +1 -0
- package/dist/curses.d.ts +102 -0
- package/dist/curses.d.ts.map +1 -0
- package/dist/curses.js +47 -0
- package/dist/curses.js.map +1 -0
- package/dist/daemon.d.ts +43 -0
- package/dist/daemon.d.ts.map +1 -0
- package/dist/daemon.js +116 -0
- package/dist/daemon.js.map +1 -0
- package/dist/daemons.d.ts +47 -0
- package/dist/daemons.d.ts.map +1 -0
- package/dist/daemons.js +194 -0
- package/dist/daemons.js.map +1 -0
- package/dist/fight.d.ts +52 -0
- package/dist/fight.d.ts.map +1 -0
- package/dist/fight.js +508 -0
- package/dist/fight.js.map +1 -0
- package/dist/globals.d.ts +387 -0
- package/dist/globals.d.ts.map +1 -0
- package/dist/globals.js +935 -0
- package/dist/globals.js.map +1 -0
- package/dist/index.d.ts +11 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +9 -0
- package/dist/index.js.map +1 -0
- package/dist/init.d.ts +30 -0
- package/dist/init.d.ts.map +1 -0
- package/dist/init.js +159 -0
- package/dist/init.js.map +1 -0
- package/dist/io.d.ts +48 -0
- package/dist/io.d.ts.map +1 -0
- package/dist/io.js +248 -0
- package/dist/io.js.map +1 -0
- package/dist/list.d.ts +37 -0
- package/dist/list.d.ts.map +1 -0
- package/dist/list.js +109 -0
- package/dist/list.js.map +1 -0
- package/dist/main.d.ts +23 -0
- package/dist/main.d.ts.map +1 -0
- package/dist/main.js +207 -0
- package/dist/main.js.map +1 -0
- package/dist/misc.d.ts +53 -0
- package/dist/misc.d.ts.map +1 -0
- package/dist/misc.js +296 -0
- package/dist/misc.js.map +1 -0
- package/dist/monsters.d.ts +55 -0
- package/dist/monsters.d.ts.map +1 -0
- package/dist/monsters.js +211 -0
- package/dist/monsters.js.map +1 -0
- package/dist/move.d.ts +23 -0
- package/dist/move.d.ts.map +1 -0
- package/dist/move.js +270 -0
- package/dist/move.js.map +1 -0
- package/dist/new_level.d.ts +17 -0
- package/dist/new_level.d.ts.map +1 -0
- package/dist/new_level.js +173 -0
- package/dist/new_level.js.map +1 -0
- package/dist/pack.d.ts +47 -0
- package/dist/pack.d.ts.map +1 -0
- package/dist/pack.js +359 -0
- package/dist/pack.js.map +1 -0
- package/dist/passages.d.ts +23 -0
- package/dist/passages.d.ts.map +1 -0
- package/dist/passages.js +277 -0
- package/dist/passages.js.map +1 -0
- package/dist/potions.d.ts +13 -0
- package/dist/potions.d.ts.map +1 -0
- package/dist/potions.js +239 -0
- package/dist/potions.js.map +1 -0
- package/dist/rings.d.ts +13 -0
- package/dist/rings.d.ts.map +1 -0
- package/dist/rings.js +173 -0
- package/dist/rings.js.map +1 -0
- package/dist/rip.d.ts +22 -0
- package/dist/rip.d.ts.map +1 -0
- package/dist/rip.js +216 -0
- package/dist/rip.js.map +1 -0
- package/dist/rooms.d.ts +62 -0
- package/dist/rooms.d.ts.map +1 -0
- package/dist/rooms.js +432 -0
- package/dist/rooms.js.map +1 -0
- package/dist/save.d.ts +25 -0
- package/dist/save.d.ts.map +1 -0
- package/dist/save.js +565 -0
- package/dist/save.js.map +1 -0
- package/dist/scrolls.d.ts +13 -0
- package/dist/scrolls.d.ts.map +1 -0
- package/dist/scrolls.js +305 -0
- package/dist/scrolls.js.map +1 -0
- package/dist/sticks.d.ts +9 -0
- package/dist/sticks.d.ts.map +1 -0
- package/dist/sticks.js +379 -0
- package/dist/sticks.js.map +1 -0
- package/dist/things.d.ts +28 -0
- package/dist/things.d.ts.map +1 -0
- package/dist/things.js +307 -0
- package/dist/things.js.map +1 -0
- package/dist/types.d.ts +113 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +10 -0
- package/dist/types.js.map +1 -0
- package/dist/util.d.ts +36 -0
- package/dist/util.d.ts.map +1 -0
- package/dist/util.js +198 -0
- package/dist/util.js.map +1 -0
- package/dist/weapons.d.ts +22 -0
- package/dist/weapons.d.ts.map +1 -0
- package/dist/weapons.js +185 -0
- package/dist/weapons.js.map +1 -0
- package/package.json +31 -0
package/dist/list.d.ts
ADDED
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Linked list operations.
|
|
3
|
+
* Ported from list.c
|
|
4
|
+
*/
|
|
5
|
+
import type { Thing, Monster, GameObj } from "./types.js";
|
|
6
|
+
/**
|
|
7
|
+
* _detach: Takes an item out of whatever linked list it might be in.
|
|
8
|
+
* The listHead object holds { head: Thing | null } — we mutate head if needed.
|
|
9
|
+
*/
|
|
10
|
+
export declare function _detach(listHead: {
|
|
11
|
+
head: Thing | null;
|
|
12
|
+
}, item: Thing): void;
|
|
13
|
+
/**
|
|
14
|
+
* _attach: Add an item to the head of a list.
|
|
15
|
+
*/
|
|
16
|
+
export declare function _attach(listHead: {
|
|
17
|
+
head: Thing | null;
|
|
18
|
+
}, item: Thing): void;
|
|
19
|
+
/**
|
|
20
|
+
* _free_list: Throw the whole list away.
|
|
21
|
+
*/
|
|
22
|
+
export declare function _free_list(listHead: {
|
|
23
|
+
head: Thing | null;
|
|
24
|
+
}): void;
|
|
25
|
+
/**
|
|
26
|
+
* discard: Free up an item (in JS, just unlink it).
|
|
27
|
+
*/
|
|
28
|
+
export declare function discard(_item: Thing): void;
|
|
29
|
+
/**
|
|
30
|
+
* new_item: Create a new GameObj (the common case for items).
|
|
31
|
+
*/
|
|
32
|
+
export declare function new_item(): GameObj;
|
|
33
|
+
/**
|
|
34
|
+
* new_monster_thing: Create a new Monster thing.
|
|
35
|
+
*/
|
|
36
|
+
export declare function new_monster_thing(): Monster;
|
|
37
|
+
//# sourceMappingURL=list.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../src/list.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAE1D;;;GAGG;AACH,wBAAgB,OAAO,CAAC,QAAQ,EAAE;IAAE,IAAI,EAAE,KAAK,GAAG,IAAI,CAAA;CAAE,EAAE,IAAI,EAAE,KAAK,GAAG,IAAI,CAY3E;AAED;;GAEG;AACH,wBAAgB,OAAO,CAAC,QAAQ,EAAE;IAAE,IAAI,EAAE,KAAK,GAAG,IAAI,CAAA;CAAE,EAAE,IAAI,EAAE,KAAK,GAAG,IAAI,CAU3E;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,QAAQ,EAAE;IAAE,IAAI,EAAE,KAAK,GAAG,IAAI,CAAA;CAAE,GAAG,IAAI,CAMjE;AAED;;GAEG;AACH,wBAAgB,OAAO,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAI1C;AAED;;GAEG;AACH,wBAAgB,QAAQ,IAAI,OAAO,CAqBlC;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,OAAO,CAyB3C"}
|
package/dist/list.js
ADDED
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Linked list operations.
|
|
3
|
+
* Ported from list.c
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* _detach: Takes an item out of whatever linked list it might be in.
|
|
7
|
+
* The listHead object holds { head: Thing | null } — we mutate head if needed.
|
|
8
|
+
*/
|
|
9
|
+
export function _detach(listHead, item) {
|
|
10
|
+
if (listHead.head === item) {
|
|
11
|
+
listHead.head = item.l_next;
|
|
12
|
+
}
|
|
13
|
+
if (item.l_prev !== null) {
|
|
14
|
+
item.l_prev.l_next = item.l_next;
|
|
15
|
+
}
|
|
16
|
+
if (item.l_next !== null) {
|
|
17
|
+
item.l_next.l_prev = item.l_prev;
|
|
18
|
+
}
|
|
19
|
+
item.l_next = null;
|
|
20
|
+
item.l_prev = null;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* _attach: Add an item to the head of a list.
|
|
24
|
+
*/
|
|
25
|
+
export function _attach(listHead, item) {
|
|
26
|
+
if (listHead.head !== null) {
|
|
27
|
+
item.l_next = listHead.head;
|
|
28
|
+
listHead.head.l_prev = item;
|
|
29
|
+
item.l_prev = null;
|
|
30
|
+
}
|
|
31
|
+
else {
|
|
32
|
+
item.l_next = null;
|
|
33
|
+
item.l_prev = null;
|
|
34
|
+
}
|
|
35
|
+
listHead.head = item;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* _free_list: Throw the whole list away.
|
|
39
|
+
*/
|
|
40
|
+
export function _free_list(listHead) {
|
|
41
|
+
while (listHead.head !== null) {
|
|
42
|
+
const item = listHead.head;
|
|
43
|
+
listHead.head = item.l_next;
|
|
44
|
+
discard(item);
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* discard: Free up an item (in JS, just unlink it).
|
|
49
|
+
*/
|
|
50
|
+
export function discard(_item) {
|
|
51
|
+
// In JS, garbage collection handles freeing.
|
|
52
|
+
// We just need to make sure the item is detached from any list,
|
|
53
|
+
// which _detach already does.
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* new_item: Create a new GameObj (the common case for items).
|
|
57
|
+
*/
|
|
58
|
+
export function new_item() {
|
|
59
|
+
return {
|
|
60
|
+
_kind: "object",
|
|
61
|
+
l_next: null,
|
|
62
|
+
l_prev: null,
|
|
63
|
+
o_type: 0,
|
|
64
|
+
o_pos: { x: 0, y: 0 },
|
|
65
|
+
o_text: null,
|
|
66
|
+
o_launch: 0,
|
|
67
|
+
o_packch: "",
|
|
68
|
+
o_damage: "0x0",
|
|
69
|
+
o_hurldmg: "0x0",
|
|
70
|
+
o_count: 1,
|
|
71
|
+
o_which: 0,
|
|
72
|
+
o_hplus: 0,
|
|
73
|
+
o_dplus: 0,
|
|
74
|
+
o_arm: 0,
|
|
75
|
+
o_flags: 0,
|
|
76
|
+
o_group: 0,
|
|
77
|
+
o_label: null,
|
|
78
|
+
};
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* new_monster_thing: Create a new Monster thing.
|
|
82
|
+
*/
|
|
83
|
+
export function new_monster_thing() {
|
|
84
|
+
return {
|
|
85
|
+
_kind: "monster",
|
|
86
|
+
l_next: null,
|
|
87
|
+
l_prev: null,
|
|
88
|
+
t_pos: { x: 0, y: 0 },
|
|
89
|
+
t_turn: false,
|
|
90
|
+
t_type: "A",
|
|
91
|
+
t_disguise: "A",
|
|
92
|
+
t_oldch: " ",
|
|
93
|
+
t_dest: null,
|
|
94
|
+
t_flags: 0,
|
|
95
|
+
t_stats: {
|
|
96
|
+
s_str: 0,
|
|
97
|
+
s_exp: 0,
|
|
98
|
+
s_lvl: 0,
|
|
99
|
+
s_arm: 0,
|
|
100
|
+
s_hpt: 0,
|
|
101
|
+
s_dmg: "0x0",
|
|
102
|
+
s_maxhp: 0,
|
|
103
|
+
},
|
|
104
|
+
t_room: null,
|
|
105
|
+
t_pack: null,
|
|
106
|
+
t_reserved: 0,
|
|
107
|
+
};
|
|
108
|
+
}
|
|
109
|
+
//# sourceMappingURL=list.js.map
|
package/dist/list.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list.js","sourceRoot":"","sources":["../src/list.ts"],"names":[],"mappings":"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"}
|
package/dist/main.d.ts
ADDED
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Main game entry point and loop.
|
|
3
|
+
* Ported from main.c
|
|
4
|
+
*/
|
|
5
|
+
import type { CursesBackend } from "./curses.js";
|
|
6
|
+
import type { RogueOptions, RogueResult } from "./types.js";
|
|
7
|
+
/**
|
|
8
|
+
* startRogue: Initialize and run a game of Rogue.
|
|
9
|
+
*
|
|
10
|
+
* This is the primary public API. The caller provides a CursesBackend
|
|
11
|
+
* implementation and optional configuration. Returns a RogueResult
|
|
12
|
+
* describing how the game ended.
|
|
13
|
+
*/
|
|
14
|
+
export declare function startRogue(backend: CursesBackend, options?: RogueOptions): Promise<RogueResult>;
|
|
15
|
+
/**
|
|
16
|
+
* resumeRogue: Resume a saved game from a JSON string.
|
|
17
|
+
*
|
|
18
|
+
* The caller provides the same CursesBackend, plus the save data.
|
|
19
|
+
* Returns a RogueResult when the game ends.
|
|
20
|
+
*/
|
|
21
|
+
export declare function resumeRogue(backend: CursesBackend, saveData: string): Promise<RogueResult>;
|
|
22
|
+
export { saveGame } from "./save.js";
|
|
23
|
+
//# sourceMappingURL=main.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAsC5D;;;;;;GAMG;AACH,wBAAsB,UAAU,CAC9B,OAAO,EAAE,aAAa,EACtB,OAAO,CAAC,EAAE,YAAY,GACrB,OAAO,CAAC,WAAW,CAAC,CA6EtB;AAED;;;;;GAKG;AACH,wBAAsB,WAAW,CAC/B,OAAO,EAAE,aAAa,EACtB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,WAAW,CAAC,CAiEtB;AAGD,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC"}
|
package/dist/main.js
ADDED
|
@@ -0,0 +1,207 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Main game entry point and loop.
|
|
3
|
+
* Ported from main.c
|
|
4
|
+
*/
|
|
5
|
+
import { RogueExit } from "./types.js";
|
|
6
|
+
import { state, resetState, NUMLINES, NUMCOLS, BEFORE, AFTER, ISHASTE } from "./globals.js";
|
|
7
|
+
import { setRNGSeed, rnd } from "./util.js";
|
|
8
|
+
import { setBackend, resetIOState } from "./io.js";
|
|
9
|
+
import { init_player, init_colors, init_names, init_stones, init_materials, init_probs, } from "./init.js";
|
|
10
|
+
import { setNewThingFactory } from "./monsters.js";
|
|
11
|
+
import { new_thing } from "./things.js";
|
|
12
|
+
import { new_level } from "./new_level.js";
|
|
13
|
+
import { command } from "./command.js";
|
|
14
|
+
import { runners } from "./chase.js";
|
|
15
|
+
import { do_daemons, do_fuses } from "./daemon.js";
|
|
16
|
+
import { start_daemon, fuse } from "./daemon.js";
|
|
17
|
+
import { doctor, stomach, swander, rollwand, unconfuse, unsee, sight, nohaste } from "./daemons.js";
|
|
18
|
+
import { land } from "./potions.js";
|
|
19
|
+
import { registerDaemonFunc, restoreGame } from "./save.js";
|
|
20
|
+
// BEFORE and AFTER imported from globals.js
|
|
21
|
+
/**
|
|
22
|
+
* registerAllDaemons: Register all daemon/fuse callbacks for save/restore.
|
|
23
|
+
*/
|
|
24
|
+
function registerAllDaemons() {
|
|
25
|
+
registerDaemonFunc("doctor", doctor);
|
|
26
|
+
registerDaemonFunc("stomach", stomach);
|
|
27
|
+
registerDaemonFunc("swander", swander);
|
|
28
|
+
registerDaemonFunc("rollwand", rollwand);
|
|
29
|
+
registerDaemonFunc("unconfuse", unconfuse);
|
|
30
|
+
registerDaemonFunc("unsee", unsee);
|
|
31
|
+
registerDaemonFunc("sight", sight);
|
|
32
|
+
registerDaemonFunc("nohaste", nohaste);
|
|
33
|
+
registerDaemonFunc("land", land);
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* startRogue: Initialize and run a game of Rogue.
|
|
37
|
+
*
|
|
38
|
+
* This is the primary public API. The caller provides a CursesBackend
|
|
39
|
+
* implementation and optional configuration. Returns a RogueResult
|
|
40
|
+
* describing how the game ended.
|
|
41
|
+
*/
|
|
42
|
+
export async function startRogue(backend, options) {
|
|
43
|
+
// Reset all mutable state
|
|
44
|
+
resetState();
|
|
45
|
+
resetIOState();
|
|
46
|
+
// Wire the backend
|
|
47
|
+
setBackend(backend);
|
|
48
|
+
// Wire the circular dependency: monsters.ts needs things.ts new_thing
|
|
49
|
+
setNewThingFactory(new_thing);
|
|
50
|
+
// Register daemon functions for save/restore
|
|
51
|
+
registerAllDaemons();
|
|
52
|
+
// Seed the RNG
|
|
53
|
+
const seed = options?.seed ?? Date.now();
|
|
54
|
+
setRNGSeed(seed);
|
|
55
|
+
state.seed = seed;
|
|
56
|
+
// Player name
|
|
57
|
+
if (options?.playerName) {
|
|
58
|
+
state.whoami = options.playerName;
|
|
59
|
+
}
|
|
60
|
+
// Initialize curses
|
|
61
|
+
const stdscr = backend.initscr();
|
|
62
|
+
state.stdscr = stdscr;
|
|
63
|
+
state.hw = backend.newwin(NUMLINES, NUMCOLS, 0, 0);
|
|
64
|
+
// Initialize data tables and randomize names/colors
|
|
65
|
+
init_probs();
|
|
66
|
+
init_colors();
|
|
67
|
+
init_names();
|
|
68
|
+
init_stones();
|
|
69
|
+
init_materials();
|
|
70
|
+
// Initialize the player
|
|
71
|
+
await init_player();
|
|
72
|
+
// Start daemons
|
|
73
|
+
start_daemon(doctor, 0, AFTER);
|
|
74
|
+
start_daemon(stomach, 0, AFTER);
|
|
75
|
+
fuse(swander, 0, rnd(55) + 1, AFTER);
|
|
76
|
+
// Generate the first level
|
|
77
|
+
new_level();
|
|
78
|
+
state._newLevel = false;
|
|
79
|
+
// Run the game loop
|
|
80
|
+
try {
|
|
81
|
+
await playit();
|
|
82
|
+
}
|
|
83
|
+
catch (err) {
|
|
84
|
+
if (err instanceof RogueExit) {
|
|
85
|
+
// Normal game termination
|
|
86
|
+
}
|
|
87
|
+
else {
|
|
88
|
+
throw err;
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
// Clean up curses
|
|
92
|
+
await backend.endwin();
|
|
93
|
+
// Check if this was a save
|
|
94
|
+
if (state._saveData !== null) {
|
|
95
|
+
return {
|
|
96
|
+
outcome: "save",
|
|
97
|
+
gold: state.purse,
|
|
98
|
+
level: state.level,
|
|
99
|
+
saveData: state._saveData,
|
|
100
|
+
};
|
|
101
|
+
}
|
|
102
|
+
return state._result ?? {
|
|
103
|
+
outcome: "quit",
|
|
104
|
+
gold: state.purse,
|
|
105
|
+
level: state.level,
|
|
106
|
+
};
|
|
107
|
+
}
|
|
108
|
+
/**
|
|
109
|
+
* resumeRogue: Resume a saved game from a JSON string.
|
|
110
|
+
*
|
|
111
|
+
* The caller provides the same CursesBackend, plus the save data.
|
|
112
|
+
* Returns a RogueResult when the game ends.
|
|
113
|
+
*/
|
|
114
|
+
export async function resumeRogue(backend, saveData) {
|
|
115
|
+
// Reset all mutable state
|
|
116
|
+
resetState();
|
|
117
|
+
resetIOState();
|
|
118
|
+
// Wire the backend
|
|
119
|
+
setBackend(backend);
|
|
120
|
+
setNewThingFactory(new_thing);
|
|
121
|
+
registerAllDaemons();
|
|
122
|
+
// Initialize curses
|
|
123
|
+
const stdscr = backend.initscr();
|
|
124
|
+
state.stdscr = stdscr;
|
|
125
|
+
state.hw = backend.newwin(NUMLINES, NUMCOLS, 0, 0);
|
|
126
|
+
// Restore saved state
|
|
127
|
+
if (!restoreGame(saveData)) {
|
|
128
|
+
await backend.endwin();
|
|
129
|
+
return { outcome: "quit", gold: 0, level: 0 };
|
|
130
|
+
}
|
|
131
|
+
// Restore RNG seed
|
|
132
|
+
setRNGSeed(state.seed);
|
|
133
|
+
// Redraw the level from the places array
|
|
134
|
+
for (let x = 0; x < NUMCOLS; x++) {
|
|
135
|
+
for (let y = 0; y < NUMLINES; y++) {
|
|
136
|
+
const ch = state.places[(x << 5) + y].p_ch;
|
|
137
|
+
const mon = state.places[(x << 5) + y].p_monst;
|
|
138
|
+
if (mon !== null && mon._kind === "monster") {
|
|
139
|
+
backend.mvaddch(y, x, mon.t_disguise.charCodeAt(0));
|
|
140
|
+
}
|
|
141
|
+
else if (ch !== " ") {
|
|
142
|
+
backend.mvaddch(y, x, ch.charCodeAt(0));
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
backend.refresh();
|
|
147
|
+
// Run the game loop
|
|
148
|
+
try {
|
|
149
|
+
await playit();
|
|
150
|
+
}
|
|
151
|
+
catch (err) {
|
|
152
|
+
if (err instanceof RogueExit) {
|
|
153
|
+
// Normal game termination
|
|
154
|
+
}
|
|
155
|
+
else {
|
|
156
|
+
throw err;
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
await backend.endwin();
|
|
160
|
+
if (state._saveData !== null) {
|
|
161
|
+
return {
|
|
162
|
+
outcome: "save",
|
|
163
|
+
gold: state.purse,
|
|
164
|
+
level: state.level,
|
|
165
|
+
saveData: state._saveData,
|
|
166
|
+
};
|
|
167
|
+
}
|
|
168
|
+
return state._result ?? {
|
|
169
|
+
outcome: "quit",
|
|
170
|
+
gold: state.purse,
|
|
171
|
+
level: state.level,
|
|
172
|
+
};
|
|
173
|
+
}
|
|
174
|
+
// Re-export saveGame for the public API
|
|
175
|
+
export { saveGame } from "./save.js";
|
|
176
|
+
/**
|
|
177
|
+
* playit: The main game loop.
|
|
178
|
+
*/
|
|
179
|
+
async function playit() {
|
|
180
|
+
while (state.playing) {
|
|
181
|
+
// Check if we need a new level (from stairs or trap)
|
|
182
|
+
if (state._newLevel) {
|
|
183
|
+
state._newLevel = false;
|
|
184
|
+
new_level();
|
|
185
|
+
}
|
|
186
|
+
// Run BEFORE daemons and fuses
|
|
187
|
+
await do_daemons(BEFORE);
|
|
188
|
+
await do_fuses(BEFORE);
|
|
189
|
+
// C original: ISHASTE gives the player a double turn
|
|
190
|
+
const ntimes = (state.player.t_flags & ISHASTE) ? 2 : 1;
|
|
191
|
+
let monstersTurn = false;
|
|
192
|
+
for (let i = 0; i < ntimes && state.playing && !state._newLevel; i++) {
|
|
193
|
+
monstersTurn = await command();
|
|
194
|
+
}
|
|
195
|
+
// If monsters get a turn
|
|
196
|
+
if (monstersTurn) {
|
|
197
|
+
// Run AFTER daemons and fuses
|
|
198
|
+
await do_daemons(AFTER);
|
|
199
|
+
await do_fuses(AFTER);
|
|
200
|
+
// Move monsters
|
|
201
|
+
if (state.playing) {
|
|
202
|
+
await runners();
|
|
203
|
+
}
|
|
204
|
+
}
|
|
205
|
+
}
|
|
206
|
+
}
|
|
207
|
+
//# sourceMappingURL=main.js.map
|
package/dist/main.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"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"}
|
package/dist/misc.d.ts
ADDED
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Miscellaneous utility functions.
|
|
3
|
+
* Ported from misc.c
|
|
4
|
+
*/
|
|
5
|
+
import type { Coord, Thing, Monster } from "./types.js";
|
|
6
|
+
/**
|
|
7
|
+
* look: Examine the surroundings and update the display.
|
|
8
|
+
* C original: scans 3x3 area around hero, handles dark rooms,
|
|
9
|
+
* hallucination, wake_monster, SEEMONST, and lamp area.
|
|
10
|
+
*/
|
|
11
|
+
export declare function look(wakeup: boolean): Promise<void>;
|
|
12
|
+
/**
|
|
13
|
+
* cansee: Returns true if the hero can see a certain coordinate.
|
|
14
|
+
*/
|
|
15
|
+
export declare function cansee(y: number, x: number): boolean;
|
|
16
|
+
/**
|
|
17
|
+
* see_monst: Returns true if the hero can see the monster.
|
|
18
|
+
*/
|
|
19
|
+
export declare function see_monst(mp: Monster): boolean;
|
|
20
|
+
/**
|
|
21
|
+
* diag_ok: Returns true if it is ok to move diagonally from sp to ep.
|
|
22
|
+
*/
|
|
23
|
+
export declare function diag_ok(sp: Coord, ep: Coord): boolean;
|
|
24
|
+
/**
|
|
25
|
+
* find_obj: Find an object at a given position.
|
|
26
|
+
*/
|
|
27
|
+
export declare function find_obj(y: number, x: number): Thing | null;
|
|
28
|
+
/**
|
|
29
|
+
* floor_at: Get the floor character at the hero's position.
|
|
30
|
+
*/
|
|
31
|
+
export declare function floor_at(): string;
|
|
32
|
+
/**
|
|
33
|
+
* check_level: Check if the player should go up a level of experience.
|
|
34
|
+
*/
|
|
35
|
+
export declare function check_level(): Promise<void>;
|
|
36
|
+
/**
|
|
37
|
+
* chg_str: Change the hero's strength.
|
|
38
|
+
*/
|
|
39
|
+
export declare function chg_str(amt: number): void;
|
|
40
|
+
/**
|
|
41
|
+
* get_dir: Get a direction from the user.
|
|
42
|
+
* Returns true if a valid direction was obtained.
|
|
43
|
+
*/
|
|
44
|
+
export declare function get_dir(): Promise<boolean>;
|
|
45
|
+
/**
|
|
46
|
+
* sign: Return -1, 0, or 1.
|
|
47
|
+
*/
|
|
48
|
+
export { sign } from "./util.js";
|
|
49
|
+
/**
|
|
50
|
+
* set_mname: Get the name of a monster for messages.
|
|
51
|
+
*/
|
|
52
|
+
export declare function set_mname(tp: Monster): string;
|
|
53
|
+
//# sourceMappingURL=misc.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"misc.d.ts","sourceRoot":"","sources":["../src/misc.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,KAAK,EAAQ,OAAO,EAAW,MAAM,YAAY,CAAC;AAiBvE;;;;GAIG;AACH,wBAAsB,IAAI,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAsFzD;AAmBD;;GAEG;AACH,wBAAgB,MAAM,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO,CAuBpD;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,EAAE,EAAE,OAAO,GAAG,OAAO,CAM9C;AAED;;GAEG;AACH,wBAAgB,OAAO,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,GAAG,OAAO,CAOrD;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,KAAK,GAAG,IAAI,CAS3D;AAED;;GAEG;AACH,wBAAgB,QAAQ,IAAI,MAAM,CASjC;AAED;;GAEG;AACH,wBAAsB,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC,CAejD;AAED;;GAEG;AACH,wBAAgB,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAczC;AAED;;;GAGG;AACH,wBAAsB,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,CA+BhD;AAED;;GAEG;AACH,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC;;GAEG;AACH,wBAAgB,SAAS,CAAC,EAAE,EAAE,OAAO,GAAG,MAAM,CAU7C"}
|