@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.
Files changed (123) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +175 -0
  3. package/dist/armor.d.ts +18 -0
  4. package/dist/armor.d.ts.map +1 -0
  5. package/dist/armor.js +84 -0
  6. package/dist/armor.js.map +1 -0
  7. package/dist/chase.d.ts +15 -0
  8. package/dist/chase.d.ts.map +1 -0
  9. package/dist/chase.js +152 -0
  10. package/dist/chase.js.map +1 -0
  11. package/dist/command.d.ts +12 -0
  12. package/dist/command.d.ts.map +1 -0
  13. package/dist/command.js +761 -0
  14. package/dist/command.js.map +1 -0
  15. package/dist/curses.d.ts +102 -0
  16. package/dist/curses.d.ts.map +1 -0
  17. package/dist/curses.js +47 -0
  18. package/dist/curses.js.map +1 -0
  19. package/dist/daemon.d.ts +43 -0
  20. package/dist/daemon.d.ts.map +1 -0
  21. package/dist/daemon.js +116 -0
  22. package/dist/daemon.js.map +1 -0
  23. package/dist/daemons.d.ts +47 -0
  24. package/dist/daemons.d.ts.map +1 -0
  25. package/dist/daemons.js +194 -0
  26. package/dist/daemons.js.map +1 -0
  27. package/dist/fight.d.ts +52 -0
  28. package/dist/fight.d.ts.map +1 -0
  29. package/dist/fight.js +508 -0
  30. package/dist/fight.js.map +1 -0
  31. package/dist/globals.d.ts +387 -0
  32. package/dist/globals.d.ts.map +1 -0
  33. package/dist/globals.js +935 -0
  34. package/dist/globals.js.map +1 -0
  35. package/dist/index.d.ts +11 -0
  36. package/dist/index.d.ts.map +1 -0
  37. package/dist/index.js +9 -0
  38. package/dist/index.js.map +1 -0
  39. package/dist/init.d.ts +30 -0
  40. package/dist/init.d.ts.map +1 -0
  41. package/dist/init.js +159 -0
  42. package/dist/init.js.map +1 -0
  43. package/dist/io.d.ts +48 -0
  44. package/dist/io.d.ts.map +1 -0
  45. package/dist/io.js +248 -0
  46. package/dist/io.js.map +1 -0
  47. package/dist/list.d.ts +37 -0
  48. package/dist/list.d.ts.map +1 -0
  49. package/dist/list.js +109 -0
  50. package/dist/list.js.map +1 -0
  51. package/dist/main.d.ts +23 -0
  52. package/dist/main.d.ts.map +1 -0
  53. package/dist/main.js +207 -0
  54. package/dist/main.js.map +1 -0
  55. package/dist/misc.d.ts +53 -0
  56. package/dist/misc.d.ts.map +1 -0
  57. package/dist/misc.js +296 -0
  58. package/dist/misc.js.map +1 -0
  59. package/dist/monsters.d.ts +55 -0
  60. package/dist/monsters.d.ts.map +1 -0
  61. package/dist/monsters.js +211 -0
  62. package/dist/monsters.js.map +1 -0
  63. package/dist/move.d.ts +23 -0
  64. package/dist/move.d.ts.map +1 -0
  65. package/dist/move.js +270 -0
  66. package/dist/move.js.map +1 -0
  67. package/dist/new_level.d.ts +17 -0
  68. package/dist/new_level.d.ts.map +1 -0
  69. package/dist/new_level.js +173 -0
  70. package/dist/new_level.js.map +1 -0
  71. package/dist/pack.d.ts +47 -0
  72. package/dist/pack.d.ts.map +1 -0
  73. package/dist/pack.js +359 -0
  74. package/dist/pack.js.map +1 -0
  75. package/dist/passages.d.ts +23 -0
  76. package/dist/passages.d.ts.map +1 -0
  77. package/dist/passages.js +277 -0
  78. package/dist/passages.js.map +1 -0
  79. package/dist/potions.d.ts +13 -0
  80. package/dist/potions.d.ts.map +1 -0
  81. package/dist/potions.js +239 -0
  82. package/dist/potions.js.map +1 -0
  83. package/dist/rings.d.ts +13 -0
  84. package/dist/rings.d.ts.map +1 -0
  85. package/dist/rings.js +173 -0
  86. package/dist/rings.js.map +1 -0
  87. package/dist/rip.d.ts +22 -0
  88. package/dist/rip.d.ts.map +1 -0
  89. package/dist/rip.js +216 -0
  90. package/dist/rip.js.map +1 -0
  91. package/dist/rooms.d.ts +62 -0
  92. package/dist/rooms.d.ts.map +1 -0
  93. package/dist/rooms.js +432 -0
  94. package/dist/rooms.js.map +1 -0
  95. package/dist/save.d.ts +25 -0
  96. package/dist/save.d.ts.map +1 -0
  97. package/dist/save.js +565 -0
  98. package/dist/save.js.map +1 -0
  99. package/dist/scrolls.d.ts +13 -0
  100. package/dist/scrolls.d.ts.map +1 -0
  101. package/dist/scrolls.js +305 -0
  102. package/dist/scrolls.js.map +1 -0
  103. package/dist/sticks.d.ts +9 -0
  104. package/dist/sticks.d.ts.map +1 -0
  105. package/dist/sticks.js +379 -0
  106. package/dist/sticks.js.map +1 -0
  107. package/dist/things.d.ts +28 -0
  108. package/dist/things.d.ts.map +1 -0
  109. package/dist/things.js +307 -0
  110. package/dist/things.js.map +1 -0
  111. package/dist/types.d.ts +113 -0
  112. package/dist/types.d.ts.map +1 -0
  113. package/dist/types.js +10 -0
  114. package/dist/types.js.map +1 -0
  115. package/dist/util.d.ts +36 -0
  116. package/dist/util.d.ts.map +1 -0
  117. package/dist/util.js +198 -0
  118. package/dist/util.js.map +1 -0
  119. package/dist/weapons.d.ts +22 -0
  120. package/dist/weapons.d.ts.map +1 -0
  121. package/dist/weapons.js +185 -0
  122. package/dist/weapons.js.map +1 -0
  123. package/package.json +31 -0
@@ -0,0 +1,387 @@
1
+ /**
2
+ * Global game state and data tables.
3
+ * Faithfully ported from extern.c and rogue.h.
4
+ */
5
+ import type { CursesWindow } from "./curses.js";
6
+ import type { Coord, Stats, Room, Thing, Place, MonsterTemplate, ObjInfo, Stone, HelpEntry, DelayedAction } from "./types.js";
7
+ export declare const MAXSTR = 1024;
8
+ export declare const MAXLINES = 32;
9
+ export declare const MAXCOLS = 80;
10
+ export declare const MAXROOMS = 9;
11
+ export declare const MAXTHINGS = 9;
12
+ export declare const MAXOBJ = 9;
13
+ export declare const MAXPACK = 23;
14
+ export declare const MAXTRAPS = 10;
15
+ export declare const AMULETLEVEL = 26;
16
+ export declare const NUMTHINGS = 7;
17
+ export declare const MAXPASS = 13;
18
+ export declare const NUMLINES = 24;
19
+ export declare const NUMCOLS = 80;
20
+ export declare const STATLINE: number;
21
+ export declare const BORE_LEVEL = 50;
22
+ export declare const NORM = 0;
23
+ export declare const QUIT = 1;
24
+ export declare const MINUS = 2;
25
+ export declare const INV_OVER = 0;
26
+ export declare const INV_SLOW = 1;
27
+ export declare const INV_CLEAR = 2;
28
+ export declare const PASSAGE = "#";
29
+ export declare const DOOR = "+";
30
+ export declare const FLOOR = ".";
31
+ export declare const PLAYER = "@";
32
+ export declare const TRAP = "^";
33
+ export declare const STAIRS = "%";
34
+ export declare const GOLD = "*";
35
+ export declare const POTION = "!";
36
+ export declare const SCROLL = "?";
37
+ export declare const MAGIC = "$";
38
+ export declare const FOOD = ":";
39
+ export declare const WEAPON = ")";
40
+ export declare const ARMOR = "]";
41
+ export declare const AMULET = ",";
42
+ export declare const RING = "=";
43
+ export declare const STICK = "/";
44
+ export declare const CALLABLE = -1;
45
+ export declare const R_OR_S = -2;
46
+ export declare const POTION_TYPE = 33;
47
+ export declare const SCROLL_TYPE = 63;
48
+ export declare const FOOD_TYPE = 58;
49
+ export declare const WEAPON_TYPE = 41;
50
+ export declare const ARMOR_TYPE = 93;
51
+ export declare const RING_TYPE = 61;
52
+ export declare const STICK_TYPE = 47;
53
+ export declare const AMULET_TYPE = 44;
54
+ export declare const GOLD_TYPE = 42;
55
+ export declare const HEALTIME = 30;
56
+ export declare const HUHDURATION = 20;
57
+ export declare const SEEDURATION = 850;
58
+ export declare const HUNGERTIME = 1300;
59
+ export declare const MORETIME = 150;
60
+ export declare const STOMACHSIZE = 2000;
61
+ export declare const STARVETIME = 850;
62
+ export declare const ESCAPE = 27;
63
+ export declare const LEFT = 0;
64
+ export declare const RIGHT = 1;
65
+ export declare const BOLT_LENGTH = 6;
66
+ export declare const LAMPDIST = 3;
67
+ export declare const SLEEPTIME = 4;
68
+ export declare const BEARTIME = 3;
69
+ export declare const VS_POISON = 0;
70
+ export declare const VS_PARALYZATION = 0;
71
+ export declare const VS_DEATH = 0;
72
+ export declare const VS_BREATH = 2;
73
+ export declare const VS_MAGIC = 3;
74
+ export declare const ISDARK = 1;
75
+ export declare const ISGONE = 2;
76
+ export declare const ISMAZE = 4;
77
+ export declare const ISCURSED = 1;
78
+ export declare const ISKNOW = 2;
79
+ export declare const ISMISL = 4;
80
+ export declare const ISMANY = 8;
81
+ export declare const ISPROT = 32;
82
+ export declare const CANHUH = 1;
83
+ export declare const CANSEE = 2;
84
+ export declare const ISBLIND = 4;
85
+ export declare const ISCANC = 8;
86
+ export declare const ISLEVIT = 8;
87
+ export declare const ISFOUND = 16;
88
+ export declare const ISGREED = 32;
89
+ export declare const ISHASTE = 64;
90
+ export declare const ISTARGET = 128;
91
+ export declare const ISHELD = 256;
92
+ export declare const ISHUH = 512;
93
+ export declare const ISINVIS = 1024;
94
+ export declare const ISMEAN = 2048;
95
+ export declare const ISHALU = 2048;
96
+ export declare const ISREGEN = 4096;
97
+ export declare const ISRUN = 8192;
98
+ export declare const SEEMONST = 16384;
99
+ export declare const ISFLY = 16384;
100
+ export declare const ISSLOW = 32768;
101
+ export declare const F_PASS = 128;
102
+ export declare const F_SEEN = 64;
103
+ export declare const F_DROPPED = 32;
104
+ export declare const F_LOCKED = 32;
105
+ export declare const F_REAL = 16;
106
+ export declare const F_PNUM = 15;
107
+ export declare const F_TMASK = 7;
108
+ export declare const T_DOOR = 0;
109
+ export declare const T_ARROW = 1;
110
+ export declare const T_SLEEP = 2;
111
+ export declare const T_BEAR = 3;
112
+ export declare const T_TELEP = 4;
113
+ export declare const T_DART = 5;
114
+ export declare const T_RUST = 6;
115
+ export declare const T_MYST = 7;
116
+ export declare const NTRAPS = 8;
117
+ export declare const P_CONFUSE = 0;
118
+ export declare const P_LSD = 1;
119
+ export declare const P_POISON = 2;
120
+ export declare const P_STRENGTH = 3;
121
+ export declare const P_SEEINVIS = 4;
122
+ export declare const P_HEALING = 5;
123
+ export declare const P_MFIND = 6;
124
+ export declare const P_TFIND = 7;
125
+ export declare const P_RAISE = 8;
126
+ export declare const P_XHEAL = 9;
127
+ export declare const P_HASTE = 10;
128
+ export declare const P_RESTORE = 11;
129
+ export declare const P_BLIND = 12;
130
+ export declare const P_LEVIT = 13;
131
+ export declare const MAXPOTIONS = 14;
132
+ export declare const S_CONFUSE = 0;
133
+ export declare const S_MAP = 1;
134
+ export declare const S_HOLD = 2;
135
+ export declare const S_SLEEP = 3;
136
+ export declare const S_ARMOR = 4;
137
+ export declare const S_ID_POTION = 5;
138
+ export declare const S_ID_SCROLL = 6;
139
+ export declare const S_ID_WEAPON = 7;
140
+ export declare const S_ID_ARMOR = 8;
141
+ export declare const S_ID_R_OR_S = 9;
142
+ export declare const S_SCARE = 10;
143
+ export declare const S_FDET = 11;
144
+ export declare const S_TELEP = 12;
145
+ export declare const S_ENCH = 13;
146
+ export declare const S_CREATE = 14;
147
+ export declare const S_REMOVE = 15;
148
+ export declare const S_AGGR = 16;
149
+ export declare const S_PROTECT = 17;
150
+ export declare const MAXSCROLLS = 18;
151
+ export declare const MACE = 0;
152
+ export declare const SWORD = 1;
153
+ export declare const BOW = 2;
154
+ export declare const ARROW = 3;
155
+ export declare const DAGGER = 4;
156
+ export declare const TWOSWORD = 5;
157
+ export declare const DART = 6;
158
+ export declare const SHIRAKEN = 7;
159
+ export declare const SPEAR = 8;
160
+ export declare const FLAME = 9;
161
+ export declare const MAXWEAPONS = 9;
162
+ export declare const LEATHER = 0;
163
+ export declare const RING_MAIL = 1;
164
+ export declare const STUDDED_LEATHER = 2;
165
+ export declare const SCALE_MAIL = 3;
166
+ export declare const CHAIN_MAIL = 4;
167
+ export declare const SPLINT_MAIL = 5;
168
+ export declare const BANDED_MAIL = 6;
169
+ export declare const PLATE_MAIL = 7;
170
+ export declare const MAXARMORS = 8;
171
+ export declare const R_PROTECT = 0;
172
+ export declare const R_ADDSTR = 1;
173
+ export declare const R_SUSTSTR = 2;
174
+ export declare const R_SEARCH = 3;
175
+ export declare const R_SEEINVIS = 4;
176
+ export declare const R_NOP = 5;
177
+ export declare const R_AGGR = 6;
178
+ export declare const R_ADDHIT = 7;
179
+ export declare const R_ADDDAM = 8;
180
+ export declare const R_REGEN = 9;
181
+ export declare const R_DIGEST = 10;
182
+ export declare const R_TELEPORT = 11;
183
+ export declare const R_STEALTH = 12;
184
+ export declare const R_SUSTARM = 13;
185
+ export declare const MAXRINGS = 14;
186
+ export declare const WS_LIGHT = 0;
187
+ export declare const WS_INVIS = 1;
188
+ export declare const WS_ELECT = 2;
189
+ export declare const WS_FIRE = 3;
190
+ export declare const WS_COLD = 4;
191
+ export declare const WS_POLYMORPH = 5;
192
+ export declare const WS_MISSILE = 6;
193
+ export declare const WS_HASTE_M = 7;
194
+ export declare const WS_SLOW_M = 8;
195
+ export declare const WS_DRAIN = 9;
196
+ export declare const WS_NOP = 10;
197
+ export declare const WS_TELAWAY = 11;
198
+ export declare const WS_TELTO = 12;
199
+ export declare const WS_CANCEL = 13;
200
+ export declare const MAXSTICKS = 14;
201
+ export declare const BEFORE = 1;
202
+ export declare const AFTER = 2;
203
+ export declare const MAXDAEMONS = 20;
204
+ /**
205
+ * Monster table: 26 entries, A-Z.
206
+ * Faithfully ported from extern.c monsters[26].
207
+ * Note: ___ was 1 (placeholder HP) and XX was 10 (placeholder str).
208
+ */
209
+ export declare const monsters: MonsterTemplate[];
210
+ /**
211
+ * Experience level thresholds.
212
+ * Ported from extern.c e_levels[21].
213
+ */
214
+ export declare const e_levels: number[];
215
+ /**
216
+ * Item generation probabilities.
217
+ * Ported from extern.c things[NUMTHINGS].
218
+ */
219
+ export declare const things: ObjInfo[];
220
+ /**
221
+ * Armor info table.
222
+ * Ported from extern.c arm_info[MAXARMORS].
223
+ */
224
+ export declare const arm_info: ObjInfo[];
225
+ /**
226
+ * Potion info table.
227
+ * Ported from extern.c pot_info[MAXPOTIONS].
228
+ */
229
+ export declare const pot_info: ObjInfo[];
230
+ /**
231
+ * Ring info table.
232
+ * Ported from extern.c ring_info[MAXRINGS].
233
+ */
234
+ export declare const ring_info: ObjInfo[];
235
+ /**
236
+ * Scroll info table.
237
+ * Ported from extern.c scr_info[MAXSCROLLS].
238
+ */
239
+ export declare const scr_info: ObjInfo[];
240
+ /**
241
+ * Weapon info table.
242
+ * Ported from extern.c weap_info[MAXWEAPONS + 1].
243
+ * Last entry is fake (dragon's breath).
244
+ */
245
+ export declare const weap_info: ObjInfo[];
246
+ /**
247
+ * Wand/Staff info table.
248
+ * Ported from extern.c ws_info[MAXSTICKS].
249
+ */
250
+ export declare const ws_info: ObjInfo[];
251
+ /**
252
+ * Armor class for each armor type.
253
+ * Ported from extern.c a_class[MAXARMORS].
254
+ */
255
+ export declare const a_class: number[];
256
+ /**
257
+ * Trap names.
258
+ * Ported from extern.c tr_name[].
259
+ */
260
+ export declare const tr_name: string[];
261
+ /**
262
+ * Inventory type names.
263
+ * Ported from extern.c inv_t_name[].
264
+ */
265
+ export declare const inv_t_name: string[];
266
+ /**
267
+ * Help strings.
268
+ * Ported from extern.c helpstr[].
269
+ */
270
+ export declare const helpstr: HelpEntry[];
271
+ export declare const rainbow: string[];
272
+ export declare const sylls: string[];
273
+ export declare const stones: Stone[];
274
+ export declare const wood: string[];
275
+ export declare const metal: string[];
276
+ export declare const state: {
277
+ after: boolean;
278
+ again: boolean;
279
+ noscore: number;
280
+ seenstairs: boolean;
281
+ amulet: boolean;
282
+ door_stop: boolean;
283
+ fight_flush: boolean;
284
+ firstmove: boolean;
285
+ has_hit: boolean;
286
+ inv_describe: boolean;
287
+ jump: boolean;
288
+ kamikaze: boolean;
289
+ lower_msg: boolean;
290
+ move_no_pickup: boolean;
291
+ move_on: boolean;
292
+ msg_esc: boolean;
293
+ passgo: boolean;
294
+ playing: boolean;
295
+ q_comm: boolean;
296
+ running: boolean;
297
+ save_msg: boolean;
298
+ see_floor: boolean;
299
+ stat_msg: boolean;
300
+ terse: boolean;
301
+ to_death: boolean;
302
+ tombstone: boolean;
303
+ wizard: boolean;
304
+ pack_used: boolean[];
305
+ dir_ch: string;
306
+ file_name: string;
307
+ huh: string;
308
+ p_colors: string[];
309
+ prbuf: string;
310
+ r_stones: string[];
311
+ runch: string;
312
+ s_names: string[];
313
+ take: string;
314
+ whoami: string;
315
+ ws_made: string[];
316
+ ws_type: string[];
317
+ fruit: string;
318
+ home: string;
319
+ l_last_comm: string;
320
+ l_last_dir: string;
321
+ last_comm: string;
322
+ last_dir: string;
323
+ n_objs: number;
324
+ ntraps: number;
325
+ hungry_state: number;
326
+ inpack: number;
327
+ inv_type: number;
328
+ level: number;
329
+ max_hit: number;
330
+ max_level: number;
331
+ mpos: number;
332
+ no_food: number;
333
+ count: number;
334
+ food_left: number;
335
+ lastscore: number;
336
+ no_command: number;
337
+ no_move: number;
338
+ purse: number;
339
+ quiet: number;
340
+ vf_hit: number;
341
+ dnum: number;
342
+ seed: number;
343
+ total: number;
344
+ between: number;
345
+ group: number;
346
+ delta: Coord;
347
+ oldpos: Coord;
348
+ stairs: Coord;
349
+ nh: Coord;
350
+ places: Place[];
351
+ cur_armor: Thing | null;
352
+ cur_ring: [Thing | null, Thing | null];
353
+ cur_weapon: Thing | null;
354
+ l_last_pick: Thing | null;
355
+ last_pick: Thing | null;
356
+ lvl_obj: Thing | null;
357
+ mlist: Thing | null;
358
+ player: import("./types.js").Monster;
359
+ max_stats: Stats;
360
+ oldrp: Room | null;
361
+ rooms: Room[];
362
+ passages: Room[];
363
+ stdscr: CursesWindow | null;
364
+ hw: CursesWindow | null;
365
+ d_list: DelayedAction[];
366
+ _result: import("./types.js").RogueResult | null;
367
+ _newLevel: boolean;
368
+ _saveData: string | null;
369
+ };
370
+ export declare function INDEX(y: number, x: number): Place;
371
+ export declare function chat(y: number, x: number): string;
372
+ export declare function setCh(y: number, x: number, ch: string): void;
373
+ export declare function flat(y: number, x: number): number;
374
+ export declare function setFlat(y: number, x: number, flags: number): void;
375
+ export declare function moat(y: number, x: number): Thing | null;
376
+ export declare function setMoat(y: number, x: number, monst: Thing | null): void;
377
+ export declare function winat(y: number, x: number): string;
378
+ export declare function GOLDCALC(): number;
379
+ export declare function ISRING(hand: number, ringType: number): boolean;
380
+ export declare function ISWEARING(ringType: number): boolean;
381
+ export declare function ISMULT(type: number): boolean;
382
+ export declare function hero(): Coord;
383
+ export declare function pstats(): Stats;
384
+ export declare function pack(): Thing | null;
385
+ export declare function proom(): Room | null;
386
+ export declare function resetState(): void;
387
+ //# sourceMappingURL=globals.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"globals.d.ts","sourceRoot":"","sources":["../src/globals.ts"],"names":[],"mappings":"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"}