@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
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"passages.js","sourceRoot":"","sources":["../src/passages.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Potion functions.
|
|
3
|
+
* Ported from potions.c
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* quaff: Drink a potion.
|
|
7
|
+
*/
|
|
8
|
+
export declare function quaff(): Promise<void>;
|
|
9
|
+
/**
|
|
10
|
+
* land: Remove levitation from the player (fuse callback).
|
|
11
|
+
*/
|
|
12
|
+
export declare function land(_arg: number): Promise<void>;
|
|
13
|
+
//# sourceMappingURL=potions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"potions.d.ts","sourceRoot":"","sources":["../src/potions.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAuBH;;GAEG;AACH,wBAAsB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CA4M3C;AAcD;;GAEG;AACH,wBAAsB,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAGtD"}
|
package/dist/potions.js
ADDED
|
@@ -0,0 +1,239 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Potion functions.
|
|
3
|
+
* Ported from potions.c
|
|
4
|
+
*/
|
|
5
|
+
import { state, POTION, pot_info, P_CONFUSE, P_LSD, P_POISON, P_STRENGTH, P_SEEINVIS, P_HEALING, P_MFIND, P_TFIND, P_RAISE, P_XHEAL, P_HASTE, P_RESTORE, P_BLIND, P_LEVIT, ISHUH, ISHASTE, ISBLIND, ISLEVIT, ISINVIS, SEEMONST, ISHALU, CANSEE, HUHDURATION, SEEDURATION, AFTER, ISWEARING, R_SUSTSTR, e_levels, } from "./globals.js";
|
|
6
|
+
import { rnd, spread } from "./util.js";
|
|
7
|
+
import { msg, getBackend, status } from "./io.js";
|
|
8
|
+
import { get_item } from "./pack.js";
|
|
9
|
+
import { chg_str, see_monst } from "./misc.js";
|
|
10
|
+
import { fuse, extinguish } from "./daemon.js";
|
|
11
|
+
import { unconfuse, unsee, sight, nohaste } from "./daemons.js";
|
|
12
|
+
/**
|
|
13
|
+
* quaff: Drink a potion.
|
|
14
|
+
*/
|
|
15
|
+
export async function quaff() {
|
|
16
|
+
const obj = await get_item("quaff", POTION.charCodeAt(0));
|
|
17
|
+
if (obj === null)
|
|
18
|
+
return;
|
|
19
|
+
if (obj.o_type !== POTION.charCodeAt(0)) {
|
|
20
|
+
await msg("that's not something you can drink");
|
|
21
|
+
return;
|
|
22
|
+
}
|
|
23
|
+
// Identify the potion type since we're drinking it
|
|
24
|
+
const wasKnown = pot_info[obj.o_which].oi_know;
|
|
25
|
+
switch (obj.o_which) {
|
|
26
|
+
case P_CONFUSE:
|
|
27
|
+
state.player.t_flags |= ISHUH;
|
|
28
|
+
fuse(unconfuse, 0, spread(HUHDURATION), AFTER);
|
|
29
|
+
if (!pot_info[P_CONFUSE].oi_know) {
|
|
30
|
+
await msg("wait, what's going on here. Huh? What? Who?");
|
|
31
|
+
}
|
|
32
|
+
else {
|
|
33
|
+
await msg("you feel confused");
|
|
34
|
+
}
|
|
35
|
+
break;
|
|
36
|
+
case P_LSD:
|
|
37
|
+
state.player.t_flags |= ISHALU;
|
|
38
|
+
fuse(unsee, 0, spread(SEEDURATION), AFTER);
|
|
39
|
+
if (!pot_info[P_LSD].oi_know) {
|
|
40
|
+
await msg("oh, wow! Everything seems so cosmic!");
|
|
41
|
+
}
|
|
42
|
+
else {
|
|
43
|
+
await msg("you start hallucinating");
|
|
44
|
+
}
|
|
45
|
+
break;
|
|
46
|
+
case P_POISON:
|
|
47
|
+
if (!ISWEARING(R_SUSTSTR)) {
|
|
48
|
+
chg_str(-(rnd(3) + 1));
|
|
49
|
+
await msg("you feel very sick now");
|
|
50
|
+
}
|
|
51
|
+
else {
|
|
52
|
+
await msg("you feel momentarily nauseous");
|
|
53
|
+
}
|
|
54
|
+
break;
|
|
55
|
+
case P_STRENGTH:
|
|
56
|
+
chg_str(1);
|
|
57
|
+
await msg("you feel stronger, now. What bulging muscles!");
|
|
58
|
+
break;
|
|
59
|
+
case P_SEEINVIS:
|
|
60
|
+
// Set CANSEE flag on the player
|
|
61
|
+
state.player.t_flags |= CANSEE;
|
|
62
|
+
// Show invisible monsters
|
|
63
|
+
if (!(state.player.t_flags & ISBLIND)) {
|
|
64
|
+
let monsterItem = state.mlist;
|
|
65
|
+
const backend = getBackend();
|
|
66
|
+
while (monsterItem !== null) {
|
|
67
|
+
if (monsterItem._kind === "monster" && (monsterItem.t_flags & ISINVIS)) {
|
|
68
|
+
if (see_monst(monsterItem)) {
|
|
69
|
+
backend.mvaddch(monsterItem.t_pos.y, monsterItem.t_pos.x, monsterItem.t_type.charCodeAt(0));
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
monsterItem = monsterItem.l_next;
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
fuse(unsee, 0, spread(SEEDURATION), AFTER);
|
|
76
|
+
await msg("this potion tastes like %s juice", state.fruit);
|
|
77
|
+
break;
|
|
78
|
+
case P_HEALING:
|
|
79
|
+
state.player.t_stats.s_hpt += roll(state.player.t_stats.s_lvl, 4);
|
|
80
|
+
if (state.player.t_stats.s_hpt > state.player.t_stats.s_maxhp) {
|
|
81
|
+
state.player.t_stats.s_hpt = state.player.t_stats.s_maxhp;
|
|
82
|
+
}
|
|
83
|
+
if (state.player.t_flags & ISHUH) {
|
|
84
|
+
state.player.t_flags &= ~ISHUH;
|
|
85
|
+
extinguish(unconfuse);
|
|
86
|
+
}
|
|
87
|
+
await msg("you begin to feel better");
|
|
88
|
+
break;
|
|
89
|
+
case P_MFIND:
|
|
90
|
+
// Detect monsters
|
|
91
|
+
{
|
|
92
|
+
let found = false;
|
|
93
|
+
let monsterItem = state.mlist;
|
|
94
|
+
const backend = getBackend();
|
|
95
|
+
while (monsterItem !== null) {
|
|
96
|
+
if (monsterItem._kind === "monster") {
|
|
97
|
+
backend.mvaddch(monsterItem.t_pos.y, monsterItem.t_pos.x, monsterItem.t_type.charCodeAt(0));
|
|
98
|
+
found = true;
|
|
99
|
+
}
|
|
100
|
+
monsterItem = monsterItem.l_next;
|
|
101
|
+
}
|
|
102
|
+
if (found) {
|
|
103
|
+
await msg("you sense the presence of monsters");
|
|
104
|
+
state.player.t_flags |= SEEMONST;
|
|
105
|
+
fuse(unsee, 0, spread(SEEDURATION), AFTER);
|
|
106
|
+
}
|
|
107
|
+
else {
|
|
108
|
+
await msg("you have a strange feeling for a moment, then it passes");
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
break;
|
|
112
|
+
case P_TFIND:
|
|
113
|
+
// Detect magic items
|
|
114
|
+
{
|
|
115
|
+
let found = false;
|
|
116
|
+
let itemObj = state.lvl_obj;
|
|
117
|
+
const backend = getBackend();
|
|
118
|
+
while (itemObj !== null) {
|
|
119
|
+
if (itemObj._kind === "object" && isMagic(itemObj)) {
|
|
120
|
+
backend.mvaddch(itemObj.o_pos.y, itemObj.o_pos.x, String.fromCharCode(itemObj.o_type).charCodeAt(0));
|
|
121
|
+
found = true;
|
|
122
|
+
}
|
|
123
|
+
itemObj = itemObj.l_next;
|
|
124
|
+
}
|
|
125
|
+
if (found) {
|
|
126
|
+
await msg("you sense the presence of magic");
|
|
127
|
+
}
|
|
128
|
+
else {
|
|
129
|
+
await msg("you have a strange feeling for a moment, then it passes");
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
break;
|
|
133
|
+
case P_RAISE: {
|
|
134
|
+
await msg("you suddenly feel much more skillful");
|
|
135
|
+
// C original: set exp to current level threshold + 1
|
|
136
|
+
const lvl = state.player.t_stats.s_lvl - 1;
|
|
137
|
+
state.player.t_stats.s_exp = (lvl < e_levels.length && e_levels[lvl] !== 0)
|
|
138
|
+
? e_levels[lvl] + 1
|
|
139
|
+
: state.player.t_stats.s_exp + 1;
|
|
140
|
+
await raise_level();
|
|
141
|
+
break;
|
|
142
|
+
}
|
|
143
|
+
case P_XHEAL:
|
|
144
|
+
state.player.t_stats.s_hpt += roll(state.player.t_stats.s_lvl, 8);
|
|
145
|
+
if (state.player.t_stats.s_hpt > state.player.t_stats.s_maxhp) {
|
|
146
|
+
// C original: raise maxhp by 1, but clamp hpt to new maxhp
|
|
147
|
+
state.player.t_stats.s_maxhp = ++state.player.t_stats.s_maxhp;
|
|
148
|
+
state.player.t_stats.s_hpt = state.player.t_stats.s_maxhp;
|
|
149
|
+
}
|
|
150
|
+
if (state.player.t_flags & ISHUH) {
|
|
151
|
+
state.player.t_flags &= ~ISHUH;
|
|
152
|
+
extinguish(unconfuse);
|
|
153
|
+
}
|
|
154
|
+
await msg("you begin to feel much better");
|
|
155
|
+
break;
|
|
156
|
+
case P_HASTE:
|
|
157
|
+
if (state.player.t_flags & ISHASTE) {
|
|
158
|
+
await msg("you faint from exhaustion");
|
|
159
|
+
state.no_command += rnd(8);
|
|
160
|
+
state.player.t_flags &= ~ISHASTE;
|
|
161
|
+
extinguish(nohaste);
|
|
162
|
+
}
|
|
163
|
+
else {
|
|
164
|
+
state.player.t_flags |= ISHASTE;
|
|
165
|
+
fuse(nohaste, 0, rnd(4) + 4, AFTER);
|
|
166
|
+
await msg("you feel yourself moving much faster");
|
|
167
|
+
}
|
|
168
|
+
break;
|
|
169
|
+
case P_RESTORE:
|
|
170
|
+
if (state.player.t_stats.s_str < state.max_stats.s_str) {
|
|
171
|
+
state.player.t_stats.s_str = state.max_stats.s_str;
|
|
172
|
+
await msg("hey, this tastes great. It makes you feel warm all over");
|
|
173
|
+
}
|
|
174
|
+
else {
|
|
175
|
+
await msg("hmm, this potion tastes dead boring");
|
|
176
|
+
}
|
|
177
|
+
break;
|
|
178
|
+
case P_BLIND:
|
|
179
|
+
state.player.t_flags |= ISBLIND;
|
|
180
|
+
fuse(sight, 0, spread(SEEDURATION), AFTER);
|
|
181
|
+
await msg("a cloak of darkness falls around you");
|
|
182
|
+
break;
|
|
183
|
+
case P_LEVIT:
|
|
184
|
+
state.player.t_flags |= ISLEVIT;
|
|
185
|
+
fuse(land, 0, spread(SEEDURATION), AFTER);
|
|
186
|
+
await msg("you start to float in the air");
|
|
187
|
+
break;
|
|
188
|
+
}
|
|
189
|
+
pot_info[obj.o_which].oi_know = true;
|
|
190
|
+
// Consume the potion
|
|
191
|
+
obj.o_count--;
|
|
192
|
+
if (obj.o_count < 1) {
|
|
193
|
+
const { _detach, discard } = await import("./list.js");
|
|
194
|
+
const packIdx = obj.o_packch.charCodeAt(0) - "a".charCodeAt(0);
|
|
195
|
+
if (packIdx >= 0 && packIdx < 26) {
|
|
196
|
+
state.pack_used[packIdx] = false;
|
|
197
|
+
}
|
|
198
|
+
const packHead = { head: state.player.t_pack };
|
|
199
|
+
_detach(packHead, obj);
|
|
200
|
+
state.player.t_pack = packHead.head;
|
|
201
|
+
discard(obj);
|
|
202
|
+
state.inpack--;
|
|
203
|
+
}
|
|
204
|
+
await status();
|
|
205
|
+
}
|
|
206
|
+
/**
|
|
207
|
+
* raise_level: Raise the player's experience level.
|
|
208
|
+
*/
|
|
209
|
+
async function raise_level() {
|
|
210
|
+
const playerStats = state.player.t_stats;
|
|
211
|
+
playerStats.s_lvl++;
|
|
212
|
+
const addedHp = roll(1, 10);
|
|
213
|
+
playerStats.s_maxhp += addedHp;
|
|
214
|
+
playerStats.s_hpt += addedHp;
|
|
215
|
+
await msg("Welcome to level %d", playerStats.s_lvl);
|
|
216
|
+
}
|
|
217
|
+
/**
|
|
218
|
+
* land: Remove levitation from the player (fuse callback).
|
|
219
|
+
*/
|
|
220
|
+
export async function land(_arg) {
|
|
221
|
+
state.player.t_flags &= ~ISLEVIT;
|
|
222
|
+
await msg("you float gently to the ground");
|
|
223
|
+
}
|
|
224
|
+
/**
|
|
225
|
+
* isMagic: Check if an object is magical.
|
|
226
|
+
*/
|
|
227
|
+
function isMagic(obj) {
|
|
228
|
+
const typeChar = String.fromCharCode(obj.o_type);
|
|
229
|
+
return typeChar === "!" || typeChar === "?" || typeChar === "=" ||
|
|
230
|
+
typeChar === "/" || typeChar === ",";
|
|
231
|
+
}
|
|
232
|
+
function roll(numDice, sides) {
|
|
233
|
+
let total = 0;
|
|
234
|
+
for (let i = 0; i < numDice; i++) {
|
|
235
|
+
total += rnd(sides) + 1;
|
|
236
|
+
}
|
|
237
|
+
return total;
|
|
238
|
+
}
|
|
239
|
+
//# sourceMappingURL=potions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"potions.js","sourceRoot":"","sources":["../src/potions.ts"],"names":[],"mappings":"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"}
|
package/dist/rings.d.ts
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Ring functions.
|
|
3
|
+
* Ported from rings.c
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* ring_on: Put on a ring.
|
|
7
|
+
*/
|
|
8
|
+
export declare function ring_on(): Promise<void>;
|
|
9
|
+
/**
|
|
10
|
+
* ring_off: Take off a ring.
|
|
11
|
+
*/
|
|
12
|
+
export declare function ring_off(): Promise<void>;
|
|
13
|
+
//# sourceMappingURL=rings.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rings.d.ts","sourceRoot":"","sources":["../src/rings.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAiBH;;GAEG;AACH,wBAAsB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CA0F7C;AAED;;GAEG;AACH,wBAAsB,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CAgE9C"}
|
package/dist/rings.js
ADDED
|
@@ -0,0 +1,173 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Ring functions.
|
|
3
|
+
* Ported from rings.c
|
|
4
|
+
*/
|
|
5
|
+
import { state, RING, R_ADDSTR, R_AGGR, R_SEEINVIS, ISCURSED, CANSEE, ISINVIS, LEFT, RIGHT, } from "./globals.js";
|
|
6
|
+
import { msg, readchar } from "./io.js";
|
|
7
|
+
import { get_item } from "./pack.js";
|
|
8
|
+
import { inv_name } from "./things.js";
|
|
9
|
+
import { chg_str } from "./misc.js";
|
|
10
|
+
/**
|
|
11
|
+
* ring_on: Put on a ring.
|
|
12
|
+
*/
|
|
13
|
+
export async function ring_on() {
|
|
14
|
+
if (state.cur_ring[LEFT] !== null && state.cur_ring[RIGHT] !== null) {
|
|
15
|
+
if (!state.terse) {
|
|
16
|
+
await msg("you already have a ring on each hand");
|
|
17
|
+
}
|
|
18
|
+
else {
|
|
19
|
+
await msg("wearing two");
|
|
20
|
+
}
|
|
21
|
+
return;
|
|
22
|
+
}
|
|
23
|
+
const obj = await get_item("put on", RING.charCodeAt(0));
|
|
24
|
+
if (obj === null)
|
|
25
|
+
return;
|
|
26
|
+
if (obj.o_type !== RING.charCodeAt(0)) {
|
|
27
|
+
await msg("that's not a ring");
|
|
28
|
+
return;
|
|
29
|
+
}
|
|
30
|
+
// Pick which hand
|
|
31
|
+
let hand;
|
|
32
|
+
if (state.cur_ring[LEFT] === null && state.cur_ring[RIGHT] === null) {
|
|
33
|
+
if (!state.terse) {
|
|
34
|
+
await msg("put it on which hand (left or right)?");
|
|
35
|
+
}
|
|
36
|
+
else {
|
|
37
|
+
await msg("which hand?");
|
|
38
|
+
}
|
|
39
|
+
const ch = await readchar();
|
|
40
|
+
if (ch === "l" || ch === "L") {
|
|
41
|
+
hand = LEFT;
|
|
42
|
+
}
|
|
43
|
+
else if (ch === "r" || ch === "R") {
|
|
44
|
+
hand = RIGHT;
|
|
45
|
+
}
|
|
46
|
+
else {
|
|
47
|
+
await msg("please type left hand or right hand");
|
|
48
|
+
return;
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
else if (state.cur_ring[LEFT] === null) {
|
|
52
|
+
hand = LEFT;
|
|
53
|
+
}
|
|
54
|
+
else {
|
|
55
|
+
hand = RIGHT;
|
|
56
|
+
}
|
|
57
|
+
if (state.cur_ring[hand] !== null) {
|
|
58
|
+
if (!state.terse) {
|
|
59
|
+
await msg("you are already wearing a ring on that hand");
|
|
60
|
+
}
|
|
61
|
+
else {
|
|
62
|
+
await msg("already wearing one");
|
|
63
|
+
}
|
|
64
|
+
return;
|
|
65
|
+
}
|
|
66
|
+
state.cur_ring[hand] = obj;
|
|
67
|
+
// Apply ring effects
|
|
68
|
+
switch (obj.o_which) {
|
|
69
|
+
case R_ADDSTR:
|
|
70
|
+
chg_str(obj.o_arm);
|
|
71
|
+
break;
|
|
72
|
+
case R_SEEINVIS:
|
|
73
|
+
state.player.t_flags |= CANSEE;
|
|
74
|
+
// Show invisible monsters
|
|
75
|
+
{
|
|
76
|
+
const { getBackend } = await import("./io.js");
|
|
77
|
+
const { see_monst } = await import("./misc.js");
|
|
78
|
+
const backend = getBackend();
|
|
79
|
+
let monsterItem = state.mlist;
|
|
80
|
+
while (monsterItem !== null) {
|
|
81
|
+
if (monsterItem._kind === "monster" && (monsterItem.t_flags & ISINVIS)) {
|
|
82
|
+
if (see_monst(monsterItem)) {
|
|
83
|
+
backend.mvaddch(monsterItem.t_pos.y, monsterItem.t_pos.x, monsterItem.t_type.charCodeAt(0));
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
monsterItem = monsterItem.l_next;
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
break;
|
|
90
|
+
case R_AGGR:
|
|
91
|
+
{
|
|
92
|
+
const { aggravate } = await import("./scrolls.js");
|
|
93
|
+
aggravate();
|
|
94
|
+
}
|
|
95
|
+
break;
|
|
96
|
+
}
|
|
97
|
+
if (!state.terse) {
|
|
98
|
+
await msg("you are now wearing %s (%s)", inv_name(obj, false), obj.o_packch);
|
|
99
|
+
}
|
|
100
|
+
else {
|
|
101
|
+
await msg("wearing %s (%s)", inv_name(obj, false), obj.o_packch);
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* ring_off: Take off a ring.
|
|
106
|
+
*/
|
|
107
|
+
export async function ring_off() {
|
|
108
|
+
if (state.cur_ring[LEFT] === null && state.cur_ring[RIGHT] === null) {
|
|
109
|
+
if (!state.terse) {
|
|
110
|
+
await msg("you aren't wearing any rings");
|
|
111
|
+
}
|
|
112
|
+
else {
|
|
113
|
+
await msg("no rings");
|
|
114
|
+
}
|
|
115
|
+
return;
|
|
116
|
+
}
|
|
117
|
+
let hand;
|
|
118
|
+
if (state.cur_ring[LEFT] !== null && state.cur_ring[RIGHT] !== null) {
|
|
119
|
+
if (!state.terse) {
|
|
120
|
+
await msg("which hand (left or right)?");
|
|
121
|
+
}
|
|
122
|
+
else {
|
|
123
|
+
await msg("which hand?");
|
|
124
|
+
}
|
|
125
|
+
const ch = await readchar();
|
|
126
|
+
if (ch === "l" || ch === "L") {
|
|
127
|
+
hand = LEFT;
|
|
128
|
+
}
|
|
129
|
+
else if (ch === "r" || ch === "R") {
|
|
130
|
+
hand = RIGHT;
|
|
131
|
+
}
|
|
132
|
+
else {
|
|
133
|
+
await msg("please type left hand or right hand");
|
|
134
|
+
return;
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
else if (state.cur_ring[LEFT] !== null) {
|
|
138
|
+
hand = LEFT;
|
|
139
|
+
}
|
|
140
|
+
else {
|
|
141
|
+
hand = RIGHT;
|
|
142
|
+
}
|
|
143
|
+
const ring = state.cur_ring[hand];
|
|
144
|
+
if (ring === null) {
|
|
145
|
+
await msg("not wearing a ring on that hand");
|
|
146
|
+
return;
|
|
147
|
+
}
|
|
148
|
+
if (ring._kind !== "object")
|
|
149
|
+
return;
|
|
150
|
+
if (ring.o_flags & ISCURSED) {
|
|
151
|
+
await msg("you can't. It appears to be cursed");
|
|
152
|
+
return;
|
|
153
|
+
}
|
|
154
|
+
// Remove ring effects
|
|
155
|
+
switch (ring.o_which) {
|
|
156
|
+
case R_ADDSTR:
|
|
157
|
+
chg_str(-ring.o_arm);
|
|
158
|
+
break;
|
|
159
|
+
case R_SEEINVIS:
|
|
160
|
+
// Clear CANSEE only if the other ring isn't also see-invisible
|
|
161
|
+
{
|
|
162
|
+
const otherHand = hand === 0 ? 1 : 0;
|
|
163
|
+
const otherRing = state.cur_ring[otherHand];
|
|
164
|
+
if (otherRing === null || otherRing._kind !== "object" || otherRing.o_which !== R_SEEINVIS) {
|
|
165
|
+
state.player.t_flags &= ~CANSEE;
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
break;
|
|
169
|
+
}
|
|
170
|
+
state.cur_ring[hand] = null;
|
|
171
|
+
await msg("was wearing %s (%s)", inv_name(ring, true), ring.o_packch);
|
|
172
|
+
}
|
|
173
|
+
//# sourceMappingURL=rings.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rings.js","sourceRoot":"","sources":["../src/rings.ts"],"names":[],"mappings":"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"}
|
package/dist/rip.d.ts
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Death and scoring.
|
|
3
|
+
* Ported from rip.c
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* killname: Get the name of the thing that killed the player.
|
|
7
|
+
*/
|
|
8
|
+
export declare function killname(monType: string): string;
|
|
9
|
+
/**
|
|
10
|
+
* death: The player has died. Record the result and exit.
|
|
11
|
+
*/
|
|
12
|
+
export declare function death(monType: string): Promise<never>;
|
|
13
|
+
/**
|
|
14
|
+
* quit: The player wants to quit.
|
|
15
|
+
*/
|
|
16
|
+
export declare function quit(): Promise<never>;
|
|
17
|
+
/**
|
|
18
|
+
* total_winner: The player has won — found the amulet and escaped.
|
|
19
|
+
* Display inventory with item values.
|
|
20
|
+
*/
|
|
21
|
+
export declare function total_winner(): Promise<never>;
|
|
22
|
+
//# sourceMappingURL=rip.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rip.d.ts","sourceRoot":"","sources":["../src/rip.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAyCH;;GAEG;AACH,wBAAgB,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAShD;AA2CD;;GAEG;AACH,wBAAsB,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,CAuB3D;AAED;;GAEG;AACH,wBAAsB,IAAI,IAAI,OAAO,CAAC,KAAK,CAAC,CAa3C;AAwDD;;;GAGG;AACH,wBAAsB,YAAY,IAAI,OAAO,CAAC,KAAK,CAAC,CAqDnD"}
|