forked from ryan-cheng-liu/5etools
-
Notifications
You must be signed in to change notification settings - Fork 0
/
crcalculator.html
388 lines (344 loc) · 13.7 KB
/
crcalculator.html
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
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
<!DOCTYPE html>
<html lang="cn">
<head>
<!--5ETOOLS_CMP-->
<!--5ETOOLS_ANALYTICS-->
<!--5ETOOLS_ADCODE-->
<meta charset="utf-8">
<meta name="description" content="">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="apple-mobile-web-app-capable" content="yes">
<title>CR 计算器 - 5etools</title>
<link rel="stylesheet" href="css/bootstrap.css">
<link rel="stylesheet" href="css/main.css">
<!-- Favicons -->
<link rel="icon" type="image/svg+xml" href="favicon.svg?v=1.115">
<link rel="icon" type="image/png" sizes="256x256" href="favicon-256x256.png">
<link rel="icon" type="image/png" sizes="144x144" href="favicon-144x144.png">
<link rel="icon" type="image/png" sizes="128x128" href="favicon-128x128.png">
<link rel="icon" type="image/png" sizes="64x64" href="favicon-64x64.png">
<link rel="icon" type="image/png" sizes="48x48" href="favicon-48x48.png">
<link rel="icon" type="image/png" sizes="32x32" href="favicon-32x32.png">
<link rel="icon" type="image/png" sizes="16x16" href="favicon-16x16.png">
<!-- Chrome Web App Icons -->
<link rel="manifest" href="manifest.webmanifest">
<meta name="application-name" content="5etools">
<meta name="theme-color" content="#006bc4">
<!-- Windows Start Menu tiles -->
<meta name="msapplication-config" content="browserconfig.xml"/>
<meta name="msapplication-TileColor" content="#006bc4">
<!-- Apple Touch Icons -->
<link rel="apple-touch-icon" sizes="180x180" href="apple-touch-icon-180x180.png">
<link rel="apple-touch-icon" sizes="360x360" href="apple-touch-icon-360x360.png">
<link rel="apple-touch-icon" sizes="167x167" href="apple-touch-icon-167x167.png">
<link rel="apple-touch-icon" sizes="152x152" href="apple-touch-icon-152x152.png">
<link rel="apple-touch-icon" sizes="120x120" href="apple-touch-icon-120x120.png">
<meta name="apple-mobile-web-app-title" content="5etools">
<!-- macOS Safari Pinned Tab and Touch Bar -->
<link rel="mask-icon" href="safari-pinned-tab.svg" color="#006bc4">
<script>if ("serviceWorker" in navigator) navigator.serviceWorker.register("/sw.js");</script>
<script type="text/javascript" src="js/styleswitch.js"></script>
<script type="text/javascript" src="js/navigation.js"></script>
<script type="text/javascript" src="js/browsercheck.js"></script>
<style>
.crc__reset {
min-width: 10rem;
display: block;
}
.crc__row {
display: flex;
align-items: center;
height: 30px;
justify-content: space-between;
}
.crc__row label {
margin-bottom: 0;
}
.crc__row input[type=checkbox] {
margin: 0;
}
.crc__hdr_mon_features {
font-weight: bold;
}
.crc__mon_feature {
width: 100%;
font-weight: initial;
cursor: pointer;
font-size: 0.8em;
display: flex;
align-items: center;
margin-bottom: 0;
padding: 4px 0;
}
.crc__mon_feature_wrp_cb {
display: flex;
white-space: nowrap;
justify-content: space-around;
align-items: center;
}
.crc__mon_feature input[type=number] {
width: 3em;
vertical-align: middle;
text-align: right;
}
.crc__mon_feature input[type=checkbox] {
margin: 0;
}
.crc__mon_feature:nth-child(even) {
background: lightgrey;
}
.night-mode .crc__mon_feature:nth-child(even) {
background: rgba(0, 0, 0, 0.31);
}
</style>
</head>
<body>
<div class="cancer__wrp-leaderboard cancer__anchor"><div class="cancer__disp-cancer"></div><div class="cancer__wrp-leaderboard-inner"><!--5ETOOLS_AD_LEADERBOARD--></div></div>
<header class="hidden-xs hidden-sm page__header">
<div class="container">
<h1 class="page__title">CR 计算器</h1>
<p class="page__subtitle">轻松地构筑自订生物。</p>
</div>
</header>
<nav class="container page__nav" id="navigation">
<ul class="nav page__nav-inner" id="navbar"></ul>
</nav>
<div class="cancer__wrp-sidebar-rhs cancer__wrp-sidebar-rhs--scrolling-page cancer__anchor"><div class="cancer__disp-cancer"></div><div class="cancer__sidebar-rhs-inner cancer__sidebar-rhs-inner--top"><!--5ETOOLS_AD_RIGHT_1--></div><div class="cancer__sidebar-rhs-inner cancer__sidebar-rhs-inner--bottom"><!--5ETOOLS_AD_RIGHT_2--></div></div>
<main class="container">
<form id="crcalc" autocomplete="off">
<div class="row">
<div class="col-sm-6">
<div id="croutput">等待计算结束...</div>
<button class="btn btn-sm btn-danger crc__reset mt-3" id="crcalc_reset" type="button">重置</button>
<h4>操作指南</h4>
<ol>
<li>输入该生物的预期CR。</li>
<li>填写该生物的HP、AC、以及其他的防御性属性。</li>
<li>填写该生物的攻击性属性。DPR(每轮平均伤害)代表着三个战斗轮的平均!</li>
<li>勾选该生物所拥有的特殊怪物特性。</li>
<li>完成!</li>
</ol>
<p>
<small>请确保你已经阅读了<em>《地下城主指南》</em>的<a href="book.html#dmg,9,creating%20a%20monster,0">怪物创建章节</a>,从第273页到第283页。你可以点击右侧的表格以自动填入固定的数值,再随你的喜好调整。你可以将鼠标指向各个标签以通过一段简短叙述了解各属性对怪物CR的影响。你也可以指向各个特性描述以了解该特性对CR计算的影响。
</small>
</p>
<hr>
<div class="crc__row">
<label for="expectedcr" class="ui-tip__parent" style="font-size: 1em;">
预期CR:
<span class="explanation ui-tip__child">
要进行CR计算,首先你必须决定这个怪物最终的CR是多少。
</span>
</label>
<span class="flex-v-center">
<input type="text" id="expectedcr" value="0" size="2" class="form-control form-control--minimal input-xs">
</span>
</div>
</div>
<div class="col-sm-6 text-center">
<h4>各挑战等级的怪物数据</h4>
<table id="msbcr">
<tr>
<th>CR</th>
<th>XP</th>
<th>熟练<br/>加值</th>
<th>护甲<br/>等级</th>
<th>生命值</th>
<th>攻击<br/>加值</th>
<th>伤害/<br/>每轮</th>
<th>豁免<br/>DC</th>
</tr>
</table>
</div>
</div>
<hr>
<div class="row">
<div class="col-sm-6">
<h4>防御属性</h4>
<div class="crc__row">
<label for="hp" class="ui-tip__parent">
生命值:
<span class="explanation ui-tip__child">
生物的生命值会决定其根据AC调整前的防御性CR。
</span>
</label>
<input type="number" id="hp" placeholder="Average HP" value="1" min="0" max="850" class="form-control form-control--minimal input-xs">
</div>
<div class="crc__row">
<label for="ac" class="ui-tip__parent">
护甲等级:
<span class="explanation ui-tip__child">
生物的AC会调整其防御性CR。
</span>
</label>
<input type="number" id="ac" placeholder="AC" value="13" min="1" max="40" class="form-control form-control--minimal input-xs">
</div>
</div>
<div class="col-sm-6">
<h4>攻击属性</h4>
<div class="crc__row">
<label for="dpr" class="ui-tip__parent">
每轮平均伤害:
<span class="explanation ui-tip__child">
生物的每轮平均伤害(DPR)决定了它的攻击性CR,且其攻击性CR会再根据其攻击加值或豁免DC进行调整。DPR是以它在三轮内最大伤害输出的平均值决定(掷骰取平均值,忽视暴击和命中准确)。区域效应将被视为它命中了两个生物,且目标被视作在任何豁免检定中失败。
</span>
</label>
<input type="number" id="dpr" placeholder="Average DPR" value="1" min="0" max="320" class="form-control form-control--minimal input-xs">
</div>
<div class="crc__row">
<label for="attackbonus" class="ui-tip__parent">
攻击加值/豁免DC:
<span class="explanation ui-tip__child">
生物的攻击加值或豁免DC会调整其攻击性CR。
</span>
</label>
<input type="number" id="attackbonus" placeholder="Attack Bonus" value="3" min="-5" max="19" class="form-control form-control--minimal input-xs">
</div>
<div class="crc__row">
<label for="saveinstead" class="ui-tip__parent">
使用豁免?
<span class="explanation ui-tip__child">
若一个生物的伤害输出比起攻击更依赖涉及豁免的能力,则它的豁免DC将被用于调整它的攻击性CR,而非使用它的攻击加值。
</span>
</label>
<input type="checkbox" id="saveinstead" value="0">
</div>
</div>
</div>
<hr>
<div class="row">
<div class="col-sm-6">
<div class="crc__row">
<label for="size" class="ui-tip__parent">
体型:
<span class="explanation ui-tip__child">
生物的体型将决定它每颗生命骰的大小。
</span>
</label>
<span class="flex-v-center">
<select id="size" class="form-control input-xs">
<option value="Tiny">微型</option>
<option value="Small">小型</option>
<option value="Medium" selected>中型</option>
<option value="Large">大型</option>
<option value="Huge">巨型</option>
<option value="Gargantuan">超巨型</option>
</select>
</span>
</div>
<div class="crc__row">
<label for="hd" class="ui-tip__parent">
生命骰:
<span class="explanation ui-tip__child">
与玩家角色不同,NPC所得到的生命骰数量完全是任意决定的。随你喜好调整这个数量。
</span>
</label>
<div class="flex-v-center">
<input type="number" id="hd" value="1" min="1" max="999" class="form-control form-control--minimal input-xs">
<span id="hdval">d8</span>
</div>
</div>
<div class="crc__row">
<label for="con" class="ui-tip__parent">
体质值:
<span class="explanation ui-tip__child">
生物的HP会因为它每一颗拥有的生命骰得到其体质调整值的加值。
</span>
</label>
<input type="number" id="con" value="10" min="1" max="30" class="form-control form-control--minimal input-xs">
</div>
</div>
<div class="col-sm-6">
<div class="crc__row">
<label for="vulnerabilities" class="ui-tip__parent">
易伤:
<span class="explanation ui-tip__child">
若生物具有某个常见伤害类型的易伤(特别是钝击、穿刺、挥砍伤害),则它的有效生命值将被视为原本的一半。
</span>
</label>
<input type="checkbox" id="vulnerabilities" class="form-control form-control--minimal input-xs">
</div>
<div class="crc__row">
<label for="resistances" class="ui-tip__parent">
抗性/免疫:
<span class="explanation ui-tip__child">
怪物的HP会根据它对于常见伤害类型(其中最主要为非魔法的钝击、穿刺、和挥砍伤害)而乘上倍率。
</span>
</label>
<span class="flex-v-center">
<select id="resistances" class="form-control input-xs">
<option value="0" selected>无</option>
<option value="res">抗性</option>
<option value="imm">免疫</option>
</select>
</span>
</div>
<div class="crc__row">
<label for="flying" class="ui-tip__parent">
飞行且可以在远距离造成伤害(限定CR 0~9):
<span class="explanation ui-tip__child">
若怪物可以飞行且能在远距离造成伤害,则它的有效AC将增加2点。但这个加成只会发生在其预期挑战等级为10或更低。
</span>
</label>
<input type="checkbox" id="flying">
</div>
<div class="crc__row">
<label for="saveprofs" class="ui-tip__parent">
豁免熟练:
<span class="explanation ui-tip__child">
若生物具有3或4个豁免熟练项,则它的有效AC增加2点。若有5或6个豁免熟练项,则有效AC增加4点。
</span>
</label>
<span class="flex-v-center">
<select id="saveprofs" class="form-control input-xs">
<option value="0" selected>0-2</option>
<option value="2">3-4</option>
<option value="4">5-6</option>
</select>
</span>
</div>
</div>
</div>
</form>
<hr>
<div class="row">
<div class="col-sm-12" id="monsterfeatures">
<h4>怪物特性</h4>
<div class="row crc__hdr_mon_features">
<div class="col-1"></div>
<div class="col-2">名称</div>
<div class="col-2">范例怪物</div>
<div class="col-7">特性描述</div>
</div>
<div class="crc__wrp_mon_features">
<!-- populate with JS -->
</div>
<p>
<small><em>注记:这里并为含括所有的怪物特性。在DMG另有关于要如何评估其它特性的记载。</em></small>
</p>
</div>
</div>
</main>
<!--5ETOOLS_SCRIPT_ANCHOR-->
<!--5ETOOLS_AD_ADHESION-->
<script type="text/javascript" src="js/parser.js"></script>
<script type="text/javascript" src="js/utils.js"></script>
<script type="text/javascript" src="js/utils-ui.js"></script>
<script type="text/javascript" src="lib/localforage.js"></script>
<script type="text/javascript" src="js/omnidexer.js"></script>
<script type="text/javascript" src="js/omnisearch.js"></script>
<script type="text/javascript" src="js/render.js"></script>
<script type="text/javascript" src="js/render-dice.js"></script>
<script type="text/javascript" src="js/scalecreature.js"></script>
<script type="text/javascript" src="js/hist.js"></script>
<script type="text/javascript" src="js/crcalculator.js"></script>
<script type="text/javascript" src="js/list2.js"></script>
<script type="text/javascript" src="lib/jquery.js"></script>
<script type="text/javascript" src="lib/elasticlunr.js"></script>
<script type="text/javascript" src="lib/lunr.min.js"></script>
<script type="text/javascript" src="lib/tinyseg.js"></script>
<script type="text/javascript" src="lib/lunr.stemmer.support.min.js"></script>
<script type="text/javascript" src="lib/lunr.ja.min.js"></script>
</body>
</html>