@yipe/dice 0.2.21 → 0.2.22
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/dist/builder/index.cjs +20 -2
- package/dist/builder/index.cjs.map +1 -1
- package/dist/builder/index.d.cts +86 -94
- package/dist/builder/index.d.ts +86 -94
- package/dist/builder/index.js +20 -2
- package/dist/builder/index.js.map +1 -1
- package/dist/index.cjs +3 -1
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +3 -1
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/builder/index.d.cts
CHANGED
|
@@ -1,54 +1,9 @@
|
|
|
1
|
-
import { P as PMF,
|
|
2
|
-
|
|
3
|
-
type ExpressionNode = DieNode | ConstantNode | SumNode | AddNode | KeepNode | D20RollNode | HalfNode | MaxOfNode;
|
|
4
|
-
type DieNode = {
|
|
5
|
-
type: "die";
|
|
6
|
-
sides: number;
|
|
7
|
-
reroll?: number;
|
|
8
|
-
minimum?: number;
|
|
9
|
-
explode?: number;
|
|
10
|
-
};
|
|
11
|
-
type ConstantNode = {
|
|
12
|
-
type: "constant";
|
|
13
|
-
value: number;
|
|
14
|
-
};
|
|
15
|
-
type SumNode = {
|
|
16
|
-
type: "sum";
|
|
17
|
-
count: number;
|
|
18
|
-
child: ExpressionNode;
|
|
19
|
-
};
|
|
20
|
-
type AddNode = {
|
|
21
|
-
type: "add";
|
|
22
|
-
children: {
|
|
23
|
-
node: ExpressionNode;
|
|
24
|
-
sign: 1 | -1;
|
|
25
|
-
}[];
|
|
26
|
-
};
|
|
27
|
-
type KeepNode = {
|
|
28
|
-
type: "keep";
|
|
29
|
-
mode: "highest" | "lowest";
|
|
30
|
-
count: number;
|
|
31
|
-
child: SumNode | KeepNode;
|
|
32
|
-
};
|
|
33
|
-
type D20RollNode = {
|
|
34
|
-
type: "d20Roll";
|
|
35
|
-
rollType: "advantage" | "disadvantage" | "elven accuracy";
|
|
36
|
-
child: ExpressionNode;
|
|
37
|
-
};
|
|
38
|
-
type HalfNode = {
|
|
39
|
-
type: "half";
|
|
40
|
-
child: ExpressionNode;
|
|
41
|
-
};
|
|
42
|
-
type MaxOfNode = {
|
|
43
|
-
type: "maxOf";
|
|
44
|
-
count: number;
|
|
45
|
-
child: ExpressionNode;
|
|
46
|
-
};
|
|
1
|
+
import { P as PMF, i as DiceQuery, C as CritConfig, L as LRUCache } from '../pmf-BC1poIqF.cjs';
|
|
47
2
|
|
|
48
3
|
type RollFactory = {
|
|
49
4
|
(count: number, sides?: number, modifier?: number): RollBuilder;
|
|
50
5
|
(count: number, die: RollBuilder, modifier?: number): RollBuilder;
|
|
51
|
-
d(sides: number): RollBuilder;
|
|
6
|
+
d(sides: number | string): RollBuilder;
|
|
52
7
|
hd20(): RollBuilder;
|
|
53
8
|
d4(): RollBuilder;
|
|
54
9
|
d6(): RollBuilder;
|
|
@@ -108,6 +63,87 @@ interface CheckBuilder {
|
|
|
108
63
|
readonly pmf: PMF;
|
|
109
64
|
}
|
|
110
65
|
|
|
66
|
+
type SaveOutcome = "normal" | "half";
|
|
67
|
+
declare class SaveBuilder implements CheckBuilder {
|
|
68
|
+
readonly check: DCBuilder;
|
|
69
|
+
private readonly failureEffect?;
|
|
70
|
+
private readonly saveOutcome;
|
|
71
|
+
constructor(check: DCBuilder, failureEffect?: RollBuilder, saveOutcome?: SaveOutcome);
|
|
72
|
+
saveHalf(): SaveBuilder;
|
|
73
|
+
toExpression(): string;
|
|
74
|
+
resolve(eps?: number): SaveResolution;
|
|
75
|
+
toPMF(eps?: number): PMF;
|
|
76
|
+
get pmf(): PMF;
|
|
77
|
+
toQuery(eps?: number): DiceQuery;
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
interface SaveConfig {
|
|
81
|
+
dc: number;
|
|
82
|
+
}
|
|
83
|
+
declare class DCBuilder extends RollBuilder {
|
|
84
|
+
private readonly saveConfig;
|
|
85
|
+
constructor(baseRoll: RollBuilder, saveConfig?: SaveConfig);
|
|
86
|
+
dc(saveDC: number): DCBuilder;
|
|
87
|
+
get saveDC(): number;
|
|
88
|
+
add(anotherRoll: RollBuilder): DCBuilder;
|
|
89
|
+
addRoll(count?: number): DCBuilder;
|
|
90
|
+
onSaveFailure(val: number): SaveBuilder;
|
|
91
|
+
onSaveFailure(val: string): SaveBuilder;
|
|
92
|
+
onSaveFailure(val: RollBuilder): SaveBuilder;
|
|
93
|
+
onSaveFailure(count: number, die: RollBuilder): SaveBuilder;
|
|
94
|
+
onSaveFailure(count: number, sides: number): SaveBuilder;
|
|
95
|
+
onSaveFailure(count: number, die: RollBuilder, modifier: number): SaveBuilder;
|
|
96
|
+
onSaveFailure(count: number, sides: number, modifier: number): SaveBuilder;
|
|
97
|
+
withElvenAccuracy(): never;
|
|
98
|
+
toExpression(): string;
|
|
99
|
+
toPMF(eps?: number): PMF;
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
type ExpressionNode = DieNode | ConstantNode | SumNode | AddNode | KeepNode | D20RollNode | HalfNode | MaxOfNode;
|
|
103
|
+
type DieNode = {
|
|
104
|
+
type: "die";
|
|
105
|
+
sides: number;
|
|
106
|
+
reroll?: number;
|
|
107
|
+
minimum?: number;
|
|
108
|
+
explode?: number;
|
|
109
|
+
};
|
|
110
|
+
type ConstantNode = {
|
|
111
|
+
type: "constant";
|
|
112
|
+
value: number;
|
|
113
|
+
};
|
|
114
|
+
type SumNode = {
|
|
115
|
+
type: "sum";
|
|
116
|
+
count: number;
|
|
117
|
+
child: ExpressionNode;
|
|
118
|
+
};
|
|
119
|
+
type AddNode = {
|
|
120
|
+
type: "add";
|
|
121
|
+
children: {
|
|
122
|
+
node: ExpressionNode;
|
|
123
|
+
sign: 1 | -1;
|
|
124
|
+
}[];
|
|
125
|
+
};
|
|
126
|
+
type KeepNode = {
|
|
127
|
+
type: "keep";
|
|
128
|
+
mode: "highest" | "lowest";
|
|
129
|
+
count: number;
|
|
130
|
+
child: SumNode | KeepNode;
|
|
131
|
+
};
|
|
132
|
+
type D20RollNode = {
|
|
133
|
+
type: "d20Roll";
|
|
134
|
+
rollType: "advantage" | "disadvantage" | "elven accuracy";
|
|
135
|
+
child: ExpressionNode;
|
|
136
|
+
};
|
|
137
|
+
type HalfNode = {
|
|
138
|
+
type: "half";
|
|
139
|
+
child: ExpressionNode;
|
|
140
|
+
};
|
|
141
|
+
type MaxOfNode = {
|
|
142
|
+
type: "maxOf";
|
|
143
|
+
count: number;
|
|
144
|
+
child: ExpressionNode;
|
|
145
|
+
};
|
|
146
|
+
|
|
111
147
|
declare const defaultConfig: RollConfig;
|
|
112
148
|
declare class RollBuilder {
|
|
113
149
|
protected readonly subRollConfigs: readonly RollConfig[];
|
|
@@ -168,6 +204,8 @@ declare class RollBuilder {
|
|
|
168
204
|
get baseReroll(): number;
|
|
169
205
|
half(): HalfRollBuilder;
|
|
170
206
|
maxOf(count: number): MaxOfRollBuilder;
|
|
207
|
+
ac(targetAC: number): ACBuilder;
|
|
208
|
+
dc(saveDC: number): DCBuilder;
|
|
171
209
|
}
|
|
172
210
|
declare class HalfRollBuilder extends RollBuilder {
|
|
173
211
|
private readonly innerRoll;
|
|
@@ -325,54 +363,8 @@ declare class ACBuilder extends RollBuilder {
|
|
|
325
363
|
toPMF(eps?: number): PMF;
|
|
326
364
|
copy(): ACBuilder;
|
|
327
365
|
}
|
|
328
|
-
declare module "./roll" {
|
|
329
|
-
interface RollBuilder {
|
|
330
|
-
ac(targetAC: number): ACBuilder;
|
|
331
|
-
}
|
|
332
|
-
}
|
|
333
|
-
|
|
334
|
-
type SaveOutcome = "normal" | "half";
|
|
335
|
-
declare class SaveBuilder implements CheckBuilder {
|
|
336
|
-
readonly check: DCBuilder;
|
|
337
|
-
private readonly failureEffect?;
|
|
338
|
-
private readonly saveOutcome;
|
|
339
|
-
constructor(check: DCBuilder, failureEffect?: RollBuilder, saveOutcome?: SaveOutcome);
|
|
340
|
-
saveHalf(): SaveBuilder;
|
|
341
|
-
toExpression(): string;
|
|
342
|
-
resolve(eps?: number): SaveResolution;
|
|
343
|
-
toPMF(eps?: number): PMF;
|
|
344
|
-
get pmf(): PMF;
|
|
345
|
-
toQuery(eps?: number): DiceQuery;
|
|
346
|
-
}
|
|
347
|
-
|
|
348
|
-
interface SaveConfig {
|
|
349
|
-
dc: number;
|
|
350
|
-
}
|
|
351
|
-
declare class DCBuilder extends RollBuilder {
|
|
352
|
-
private readonly saveConfig;
|
|
353
|
-
constructor(baseRoll: RollBuilder, saveConfig?: SaveConfig);
|
|
354
|
-
dc(saveDC: number): DCBuilder;
|
|
355
|
-
get saveDC(): number;
|
|
356
|
-
add(anotherRoll: RollBuilder): DCBuilder;
|
|
357
|
-
addRoll(count?: number): DCBuilder;
|
|
358
|
-
onSaveFailure(val: number): SaveBuilder;
|
|
359
|
-
onSaveFailure(val: string): SaveBuilder;
|
|
360
|
-
onSaveFailure(val: RollBuilder): SaveBuilder;
|
|
361
|
-
onSaveFailure(count: number, die: RollBuilder): SaveBuilder;
|
|
362
|
-
onSaveFailure(count: number, sides: number): SaveBuilder;
|
|
363
|
-
onSaveFailure(count: number, die: RollBuilder, modifier: number): SaveBuilder;
|
|
364
|
-
onSaveFailure(count: number, sides: number, modifier: number): SaveBuilder;
|
|
365
|
-
withElvenAccuracy(): never;
|
|
366
|
-
toExpression(): string;
|
|
367
|
-
toPMF(eps?: number): PMF;
|
|
368
|
-
}
|
|
369
|
-
declare module "./roll" {
|
|
370
|
-
interface RollBuilder {
|
|
371
|
-
dc(saveDC: number): DCBuilder;
|
|
372
|
-
}
|
|
373
|
-
}
|
|
374
366
|
|
|
375
|
-
declare function d(sides: number): RollBuilder;
|
|
367
|
+
declare function d(sides: number | string): RollBuilder;
|
|
376
368
|
declare const d4: RollBuilder;
|
|
377
369
|
declare const d6: RollBuilder;
|
|
378
370
|
declare const d8: RollBuilder;
|
package/dist/builder/index.d.ts
CHANGED
|
@@ -1,54 +1,9 @@
|
|
|
1
|
-
import { P as PMF,
|
|
2
|
-
|
|
3
|
-
type ExpressionNode = DieNode | ConstantNode | SumNode | AddNode | KeepNode | D20RollNode | HalfNode | MaxOfNode;
|
|
4
|
-
type DieNode = {
|
|
5
|
-
type: "die";
|
|
6
|
-
sides: number;
|
|
7
|
-
reroll?: number;
|
|
8
|
-
minimum?: number;
|
|
9
|
-
explode?: number;
|
|
10
|
-
};
|
|
11
|
-
type ConstantNode = {
|
|
12
|
-
type: "constant";
|
|
13
|
-
value: number;
|
|
14
|
-
};
|
|
15
|
-
type SumNode = {
|
|
16
|
-
type: "sum";
|
|
17
|
-
count: number;
|
|
18
|
-
child: ExpressionNode;
|
|
19
|
-
};
|
|
20
|
-
type AddNode = {
|
|
21
|
-
type: "add";
|
|
22
|
-
children: {
|
|
23
|
-
node: ExpressionNode;
|
|
24
|
-
sign: 1 | -1;
|
|
25
|
-
}[];
|
|
26
|
-
};
|
|
27
|
-
type KeepNode = {
|
|
28
|
-
type: "keep";
|
|
29
|
-
mode: "highest" | "lowest";
|
|
30
|
-
count: number;
|
|
31
|
-
child: SumNode | KeepNode;
|
|
32
|
-
};
|
|
33
|
-
type D20RollNode = {
|
|
34
|
-
type: "d20Roll";
|
|
35
|
-
rollType: "advantage" | "disadvantage" | "elven accuracy";
|
|
36
|
-
child: ExpressionNode;
|
|
37
|
-
};
|
|
38
|
-
type HalfNode = {
|
|
39
|
-
type: "half";
|
|
40
|
-
child: ExpressionNode;
|
|
41
|
-
};
|
|
42
|
-
type MaxOfNode = {
|
|
43
|
-
type: "maxOf";
|
|
44
|
-
count: number;
|
|
45
|
-
child: ExpressionNode;
|
|
46
|
-
};
|
|
1
|
+
import { P as PMF, i as DiceQuery, C as CritConfig, L as LRUCache } from '../pmf-BC1poIqF.js';
|
|
47
2
|
|
|
48
3
|
type RollFactory = {
|
|
49
4
|
(count: number, sides?: number, modifier?: number): RollBuilder;
|
|
50
5
|
(count: number, die: RollBuilder, modifier?: number): RollBuilder;
|
|
51
|
-
d(sides: number): RollBuilder;
|
|
6
|
+
d(sides: number | string): RollBuilder;
|
|
52
7
|
hd20(): RollBuilder;
|
|
53
8
|
d4(): RollBuilder;
|
|
54
9
|
d6(): RollBuilder;
|
|
@@ -108,6 +63,87 @@ interface CheckBuilder {
|
|
|
108
63
|
readonly pmf: PMF;
|
|
109
64
|
}
|
|
110
65
|
|
|
66
|
+
type SaveOutcome = "normal" | "half";
|
|
67
|
+
declare class SaveBuilder implements CheckBuilder {
|
|
68
|
+
readonly check: DCBuilder;
|
|
69
|
+
private readonly failureEffect?;
|
|
70
|
+
private readonly saveOutcome;
|
|
71
|
+
constructor(check: DCBuilder, failureEffect?: RollBuilder, saveOutcome?: SaveOutcome);
|
|
72
|
+
saveHalf(): SaveBuilder;
|
|
73
|
+
toExpression(): string;
|
|
74
|
+
resolve(eps?: number): SaveResolution;
|
|
75
|
+
toPMF(eps?: number): PMF;
|
|
76
|
+
get pmf(): PMF;
|
|
77
|
+
toQuery(eps?: number): DiceQuery;
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
interface SaveConfig {
|
|
81
|
+
dc: number;
|
|
82
|
+
}
|
|
83
|
+
declare class DCBuilder extends RollBuilder {
|
|
84
|
+
private readonly saveConfig;
|
|
85
|
+
constructor(baseRoll: RollBuilder, saveConfig?: SaveConfig);
|
|
86
|
+
dc(saveDC: number): DCBuilder;
|
|
87
|
+
get saveDC(): number;
|
|
88
|
+
add(anotherRoll: RollBuilder): DCBuilder;
|
|
89
|
+
addRoll(count?: number): DCBuilder;
|
|
90
|
+
onSaveFailure(val: number): SaveBuilder;
|
|
91
|
+
onSaveFailure(val: string): SaveBuilder;
|
|
92
|
+
onSaveFailure(val: RollBuilder): SaveBuilder;
|
|
93
|
+
onSaveFailure(count: number, die: RollBuilder): SaveBuilder;
|
|
94
|
+
onSaveFailure(count: number, sides: number): SaveBuilder;
|
|
95
|
+
onSaveFailure(count: number, die: RollBuilder, modifier: number): SaveBuilder;
|
|
96
|
+
onSaveFailure(count: number, sides: number, modifier: number): SaveBuilder;
|
|
97
|
+
withElvenAccuracy(): never;
|
|
98
|
+
toExpression(): string;
|
|
99
|
+
toPMF(eps?: number): PMF;
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
type ExpressionNode = DieNode | ConstantNode | SumNode | AddNode | KeepNode | D20RollNode | HalfNode | MaxOfNode;
|
|
103
|
+
type DieNode = {
|
|
104
|
+
type: "die";
|
|
105
|
+
sides: number;
|
|
106
|
+
reroll?: number;
|
|
107
|
+
minimum?: number;
|
|
108
|
+
explode?: number;
|
|
109
|
+
};
|
|
110
|
+
type ConstantNode = {
|
|
111
|
+
type: "constant";
|
|
112
|
+
value: number;
|
|
113
|
+
};
|
|
114
|
+
type SumNode = {
|
|
115
|
+
type: "sum";
|
|
116
|
+
count: number;
|
|
117
|
+
child: ExpressionNode;
|
|
118
|
+
};
|
|
119
|
+
type AddNode = {
|
|
120
|
+
type: "add";
|
|
121
|
+
children: {
|
|
122
|
+
node: ExpressionNode;
|
|
123
|
+
sign: 1 | -1;
|
|
124
|
+
}[];
|
|
125
|
+
};
|
|
126
|
+
type KeepNode = {
|
|
127
|
+
type: "keep";
|
|
128
|
+
mode: "highest" | "lowest";
|
|
129
|
+
count: number;
|
|
130
|
+
child: SumNode | KeepNode;
|
|
131
|
+
};
|
|
132
|
+
type D20RollNode = {
|
|
133
|
+
type: "d20Roll";
|
|
134
|
+
rollType: "advantage" | "disadvantage" | "elven accuracy";
|
|
135
|
+
child: ExpressionNode;
|
|
136
|
+
};
|
|
137
|
+
type HalfNode = {
|
|
138
|
+
type: "half";
|
|
139
|
+
child: ExpressionNode;
|
|
140
|
+
};
|
|
141
|
+
type MaxOfNode = {
|
|
142
|
+
type: "maxOf";
|
|
143
|
+
count: number;
|
|
144
|
+
child: ExpressionNode;
|
|
145
|
+
};
|
|
146
|
+
|
|
111
147
|
declare const defaultConfig: RollConfig;
|
|
112
148
|
declare class RollBuilder {
|
|
113
149
|
protected readonly subRollConfigs: readonly RollConfig[];
|
|
@@ -168,6 +204,8 @@ declare class RollBuilder {
|
|
|
168
204
|
get baseReroll(): number;
|
|
169
205
|
half(): HalfRollBuilder;
|
|
170
206
|
maxOf(count: number): MaxOfRollBuilder;
|
|
207
|
+
ac(targetAC: number): ACBuilder;
|
|
208
|
+
dc(saveDC: number): DCBuilder;
|
|
171
209
|
}
|
|
172
210
|
declare class HalfRollBuilder extends RollBuilder {
|
|
173
211
|
private readonly innerRoll;
|
|
@@ -325,54 +363,8 @@ declare class ACBuilder extends RollBuilder {
|
|
|
325
363
|
toPMF(eps?: number): PMF;
|
|
326
364
|
copy(): ACBuilder;
|
|
327
365
|
}
|
|
328
|
-
declare module "./roll" {
|
|
329
|
-
interface RollBuilder {
|
|
330
|
-
ac(targetAC: number): ACBuilder;
|
|
331
|
-
}
|
|
332
|
-
}
|
|
333
|
-
|
|
334
|
-
type SaveOutcome = "normal" | "half";
|
|
335
|
-
declare class SaveBuilder implements CheckBuilder {
|
|
336
|
-
readonly check: DCBuilder;
|
|
337
|
-
private readonly failureEffect?;
|
|
338
|
-
private readonly saveOutcome;
|
|
339
|
-
constructor(check: DCBuilder, failureEffect?: RollBuilder, saveOutcome?: SaveOutcome);
|
|
340
|
-
saveHalf(): SaveBuilder;
|
|
341
|
-
toExpression(): string;
|
|
342
|
-
resolve(eps?: number): SaveResolution;
|
|
343
|
-
toPMF(eps?: number): PMF;
|
|
344
|
-
get pmf(): PMF;
|
|
345
|
-
toQuery(eps?: number): DiceQuery;
|
|
346
|
-
}
|
|
347
|
-
|
|
348
|
-
interface SaveConfig {
|
|
349
|
-
dc: number;
|
|
350
|
-
}
|
|
351
|
-
declare class DCBuilder extends RollBuilder {
|
|
352
|
-
private readonly saveConfig;
|
|
353
|
-
constructor(baseRoll: RollBuilder, saveConfig?: SaveConfig);
|
|
354
|
-
dc(saveDC: number): DCBuilder;
|
|
355
|
-
get saveDC(): number;
|
|
356
|
-
add(anotherRoll: RollBuilder): DCBuilder;
|
|
357
|
-
addRoll(count?: number): DCBuilder;
|
|
358
|
-
onSaveFailure(val: number): SaveBuilder;
|
|
359
|
-
onSaveFailure(val: string): SaveBuilder;
|
|
360
|
-
onSaveFailure(val: RollBuilder): SaveBuilder;
|
|
361
|
-
onSaveFailure(count: number, die: RollBuilder): SaveBuilder;
|
|
362
|
-
onSaveFailure(count: number, sides: number): SaveBuilder;
|
|
363
|
-
onSaveFailure(count: number, die: RollBuilder, modifier: number): SaveBuilder;
|
|
364
|
-
onSaveFailure(count: number, sides: number, modifier: number): SaveBuilder;
|
|
365
|
-
withElvenAccuracy(): never;
|
|
366
|
-
toExpression(): string;
|
|
367
|
-
toPMF(eps?: number): PMF;
|
|
368
|
-
}
|
|
369
|
-
declare module "./roll" {
|
|
370
|
-
interface RollBuilder {
|
|
371
|
-
dc(saveDC: number): DCBuilder;
|
|
372
|
-
}
|
|
373
|
-
}
|
|
374
366
|
|
|
375
|
-
declare function d(sides: number): RollBuilder;
|
|
367
|
+
declare function d(sides: number | string): RollBuilder;
|
|
376
368
|
declare const d4: RollBuilder;
|
|
377
369
|
declare const d6: RollBuilder;
|
|
378
370
|
declare const d8: RollBuilder;
|
package/dist/builder/index.js
CHANGED
|
@@ -2420,7 +2420,9 @@ var Dice = class _Dice {
|
|
|
2420
2420
|
if (key === "hit") {
|
|
2421
2421
|
this.ensureHitDistribution();
|
|
2422
2422
|
}
|
|
2423
|
-
|
|
2423
|
+
const distribution = this.outcomeData[key];
|
|
2424
|
+
if (distribution === void 0) return void 0;
|
|
2425
|
+
return { ...distribution };
|
|
2424
2426
|
}
|
|
2425
2427
|
getFullOutcomeDistribution() {
|
|
2426
2428
|
return { ...this.outcomeData };
|
|
@@ -3832,6 +3834,14 @@ var RollBuilder = class _RollBuilder {
|
|
|
3832
3834
|
maxOf(count) {
|
|
3833
3835
|
return new MaxOfRollBuilder(this, count);
|
|
3834
3836
|
}
|
|
3837
|
+
// These methods are implemented via prototype augmentation in ac.ts and dc.ts
|
|
3838
|
+
// They are declared here to provide proper TypeScript types
|
|
3839
|
+
ac(targetAC) {
|
|
3840
|
+
throw new Error("ac() should be implemented via prototype augmentation");
|
|
3841
|
+
}
|
|
3842
|
+
dc(saveDC) {
|
|
3843
|
+
throw new Error("dc() should be implemented via prototype augmentation");
|
|
3844
|
+
}
|
|
3835
3845
|
};
|
|
3836
3846
|
var HalfRollBuilder = class _HalfRollBuilder extends RollBuilder {
|
|
3837
3847
|
constructor(innerRoll) {
|
|
@@ -4208,7 +4218,12 @@ var rollFn = (count, sidesOrDie, modifier) => {
|
|
|
4208
4218
|
return builder.plus(modifier);
|
|
4209
4219
|
}
|
|
4210
4220
|
};
|
|
4211
|
-
rollFn.d = (sides) =>
|
|
4221
|
+
rollFn.d = (sides) => {
|
|
4222
|
+
if (typeof sides === "string") {
|
|
4223
|
+
return RollBuilder.fromArgs(sides);
|
|
4224
|
+
}
|
|
4225
|
+
return new RollBuilder(1).d(sides);
|
|
4226
|
+
};
|
|
4212
4227
|
rollFn.hd20 = () => new RollBuilder(1).d20().reroll(1);
|
|
4213
4228
|
rollFn.d4 = () => new RollBuilder(1).d4();
|
|
4214
4229
|
rollFn.d6 = () => new RollBuilder(1).d6();
|
|
@@ -4219,6 +4234,9 @@ rollFn.d20 = () => new RollBuilder(1).d20();
|
|
|
4219
4234
|
rollFn.d100 = () => new RollBuilder(1).d100();
|
|
4220
4235
|
rollFn.flat = (n) => new RollBuilder(0).plus(n);
|
|
4221
4236
|
function d(sides) {
|
|
4237
|
+
if (typeof sides === "string") {
|
|
4238
|
+
return RollBuilder.fromArgs(sides);
|
|
4239
|
+
}
|
|
4222
4240
|
return new RollBuilder(1).d(sides);
|
|
4223
4241
|
}
|
|
4224
4242
|
var d4 = new RollBuilder(1).d4();
|