nereare_grimoire 1.13.13 → 1.21.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.
@@ -11,181 +11,341 @@ layout: default
11
11
  {{ content }}
12
12
  </div>
13
13
 
14
+ {% if page.monster.e5 %}
15
+ <!-- 5e Stat Block -->
14
16
  <div class="four columns">
15
17
  <div class="stat-block-container">
16
18
  <div class="stat-block">
17
- <hr class="orange-border" />
18
- <div class="section-left">
19
- <div class="creature-heading">
20
- <h1>{{ page.monster.name | default: 'Terrasque' }}</h1>
21
- <h2>{{ page.monster.size | default: 'Colossal' }} {{ page.monster.type | default: 'magical beast' }}, {{ page.monster.align | default: 'always neutral' }}</h2>
19
+ <hr class="orange-border">
20
+ <div class="creature-heading">
21
+ <h1>{{ page.monster.name | default: 'Terrasque' }}</h1>
22
+ <h2>{{ page.monster.size | default: 'Colossal' }} {{ page.monster.type | default: 'magical beast' }}{% if page.monster.subtype %} ({{ page.monster.subtype }}){% endif %}, {{ page.monster.align | default: 'always neutral' }}</h2>
23
+ </div>
24
+ <!-- creature heading -->
25
+ <svg height="5" width="100%" class="tapered-rule">
26
+ <polyline points="0,0 400,2.5 0,5"></polyline>
27
+ </svg>
28
+ <div class="top-stats">
29
+ <div class="property-line">
30
+ <h4>Armor Class</h4>
31
+ <p>{{ page.monster.e5.ac.base }}{% if page.monster.e5.ac.desc != '' %} ({{ page.monster.e5.ac.desc }}){% endif %}</p>
32
+ </div>
33
+ <!-- property line -->
34
+ <div class="property-line">
35
+ <h4>Hit Points</h4>
36
+ <p>{{ page.monster.e5.hp.hp | pretty_number }} ({{ page.monster.e5.hp.hd }})</p>
22
37
  </div>
23
- <!-- creature heading -->
24
- <svg height="5" width="100%" class="tapered-rule">
38
+ <!-- property line -->
39
+ <div class="property-line">
40
+ <h4>Speed</h4>
41
+ <p>{{ page.monster.e5.speed | join: ', ' }}</p>
42
+ </div>
43
+ </div>
44
+ <svg height="5" width="100%" class="tapered-rule">
25
45
  <polyline points="0,0 400,2.5 0,5"></polyline>
26
46
  </svg>
27
- <div class="top-stats">
28
- <div class="property-line first">
29
- <h4>Armor Class</h4>
30
- <p>{{ page.monster.ac.base | default: '35' }}{% if page.monster.ac.desc != '' %} ({{ page.monster.ac.desc }}){% endif %}, touch {{ page.monster.ac.touch | default: '5' }}, flat-footed {{ page.monster.ac.flat | default: '32' }}</p>
31
- </div>
32
- <!-- property line -->
33
- <div class="property-line">
34
- <h4>Hit Points</h4>
35
- <p>{{ page.monster.hp.hp | default: '858' | pretty_number }}hp ({{ page.monster.hp.hd | default: '48d10 + 594' }})</p>
47
+ <div>
48
+ <div class="abilities">
49
+ <div class="ability-strength">
50
+ <h4>STR</h4>
51
+ <p>{{ page.monster.abilities.str | ability }}</p>
36
52
  </div>
37
- <!-- property line -->
38
- <div class="property-line">
39
- <h4>Speed</h4>
40
- <p>{{ page.monster.speed | default: '20ft' }}</p>
53
+ <!-- ability strength -->
54
+ <div class="ability-dexterity">
55
+ <h4>DEX</h4>
56
+ <p>{{ page.monster.abilities.dex | ability }}</p>
41
57
  </div>
42
- <!-- property line -->
43
- <div class="property-line">
44
- <h4>Initiative</h4>
45
- <p>{{ page.monster.initiative | default: 7 | add_sign }}</p>
58
+ <!-- ability dexterity -->
59
+ <div class="ability-constitution">
60
+ <h4>CON</h4>
61
+ <p>{{ page.monster.abilities.con | ability }}</p>
46
62
  </div>
47
- <!-- property line -->
48
- <div class="property-line">
49
- <h4>Space/Reach</h4>
50
- <p>{{ page.monster.space | default: '30ft' }}/{{ page.monster.reach | default: '20ft' }}</p>
63
+ <!-- ability constitution -->
64
+ <div class="ability-intelligence">
65
+ <h4>INT</h4>
66
+ <p>{{ page.monster.abilities.int | ability }}</p>
51
67
  </div>
52
- <!-- property line -->
53
- <div class="property-line">
54
- <h4>BA/Grapple</h4>
55
- <p>{{ page.monster.ba | default: '+48' }}/{{ page.monster.grapple | default: '+81' }}</p>
68
+ <!-- ability intelligence -->
69
+ <div class="ability-wisdom">
70
+ <h4>WIS</h4>
71
+ <p>{{ page.monster.abilities.wis | ability }}</p>
56
72
  </div>
57
- <!-- property line -->
58
- <div class="property-line last">
59
- <h4>Saves</h4>
60
- <p>Fort {{ page.monster.saves.fort | default: 38 | add_sign }}, Ref {{ page.monster.saves.ref | default: 29 | add_sign }}, Will {{ page.monster.saves.will | default: 20 | add_sign }}</p>
73
+ <!-- ability wisdom -->
74
+ <div class="ability-charisma">
75
+ <h4>CHA</h4>
76
+ <p>{{ page.monster.abilities.cha | ability }}</p>
61
77
  </div>
62
- <!-- property line -->
63
- <svg height="5" width="100%" class="tapered-rule">
78
+ <!-- ability charisma -->
79
+ </div>
80
+ </div>
81
+ <svg height="5" width="100%" class="tapered-rule">
64
82
  <polyline points="0,0 400,2.5 0,5"></polyline>
65
83
  </svg>
66
- <div class="abilities">
67
- <div class="ability-strength">
68
- <h4>STR</h4>
69
- <p>{{ page.monster.abilities.str | default: 45 | ability }}</p>
70
- </div>
71
- <!-- ability strength -->
72
- <div class="ability-dexterity">
73
- <h4>DEX</h4>
74
- <p>{{ page.monster.abilities.dex | default: 16 | ability }}</p>
75
- </div>
76
- <!-- ability dexterity -->
77
- <div class="ability-constitution">
78
- <h4>CON</h4>
79
- <p>{{ page.monster.abilities.con | default: 35 | ability }}</p>
80
- </div>
81
- <!-- ability constitution -->
82
- <div class="ability-intelligence">
83
- <h4>INT</h4>
84
- <p>{{ page.monster.abilities.int | default: 3 | ability }}</p>
85
- </div>
86
- <!-- ability intelligence -->
87
- <div class="ability-wisdom">
88
- <h4>WIS</h4>
89
- <p>{{ page.monster.abilities.wis | default: 14 | ability }}</p>
90
- </div>
91
- <!-- ability wisdom -->
92
- <div class="ability-charisma">
93
- <h4>CHA</h4>
94
- <p>{{ page.monster.abilities.cha | default: 14 | ability }}</p>
95
- </div>
96
- <!-- ability charisma -->
97
- </div>
98
- <!-- abilities -->
99
- <svg height="5" width="100%" class="tapered-rule">
84
+ <div>
85
+ {% if page.monster.e5.saves %}
86
+ <div class="property-line">
87
+ <h4>Saving Throws</h4>
88
+ <p>{{ page.monster.e5.saves | join: ', ' }}</p>
89
+ </div>
90
+ {% endif %}
91
+ {% if page.monster.e5.skills %}
92
+ <div class="property-line">
93
+ <h4>Skills</h4>
94
+ <p>{{ page.monster.e5.skills | join: ', ' }}</p>
95
+ </div>
96
+ {% endif %}
97
+ {% if page.monster.e5.dmg_vulnerabilities %}
98
+ <div class="property-line">
99
+ <h4>Damage Vulnerabilities</h4>
100
+ <p>{{ page.monster.e5.dmg_vulnerabilities | join: ', ' }}</p>
101
+ </div>
102
+ {% endif %}
103
+ {% if page.monster.e5.dmg_resistances %}
104
+ <div class="property-line">
105
+ <h4>Damage Resistances</h4>
106
+ <p>{{ page.monster.e5.dmg_resistances | join: ', ' }}</p>
107
+ </div>
108
+ {% endif %}
109
+ {% if page.monster.e5.dmg_immunities %}
110
+ <div class="property-line">
111
+ <h4>Damage Immunities</h4>
112
+ <p>{{ page.monster.e5.dmg_immunities | join: ', ' }}</p>
113
+ </div>
114
+ {% endif %}
115
+ {% if page.monster.e5.cond_immunities %}
116
+ <div class="property-line">
117
+ <h4>Condition Immunities</h4>
118
+ <p>{{ page.monster.e5.cond_immunities | join: ', ' }}</p>
119
+ </div>
120
+ {% endif %}
121
+ <div class="property-line">
122
+ <h4>Challenge</h4>
123
+ <p>{{ page.monster.e5.cr | cr_format }}</p>
124
+ </div>
125
+ <div class="property-line">
126
+ <h4>Senses</h4>
127
+ <p>{{ page.monster.e5.senses | join: ', ' }}</p>
128
+ </div>
129
+ <div class="property-line">
130
+ <h4>Languages</h4>
131
+ <p>{% if page.monster.e5.langs %}{{ page.monster.e5.langs | join: ', ' }}{% else %}&mdash;{% endif %}</p>
132
+ </div>
133
+ <div class="property-line">
134
+ <h4>Prof. Bonus</h4>
135
+ <p>{{ page.monster.e5.pb | add_sign }}</p>
136
+ </div>
137
+ </div>
138
+ {% if page.monster.e5.props or page.monster.e5.spellcasting %}
139
+ <svg height="5" width="100%" class="tapered-rule">
100
140
  <polyline points="0,0 400,2.5 0,5"></polyline>
101
141
  </svg>
102
- <div class="property-line first">
103
- <h4>Skills</h4>
104
- <p>{{ page.monster.skills | default: 'none' }}</p>
105
- </div>
106
- <!-- property line -->
107
- <div class="property-line">
108
- <h4>Feats</h4>
109
- <p>{{ page.monster.feats | default: 'none' }}</p>
110
- </div>
111
- <!-- property line -->
112
- <div class="property-line">
113
- <h4>Challenge Rating</h4>
114
- <p>{{ page.monster.cr | default: 20 }}</p>
142
+ <div>
143
+ {% if page.monster.e5.spellcasting %}
144
+ <div class="property-line">
145
+ <h4>Spellcasting</h4>
146
+ <p>{{ page.monster.e5.spellcasting.intro }}</p>
147
+ <ul>
148
+ {% for line in page.monster.e5.spellcasting.list %}
149
+ <li><em>{{ line.title }}.</em> {{ line.list | join: ', ' }}</li>
150
+ {% endfor %}
151
+ </ul>
152
+ </div>
153
+ {% endif %}
154
+ {% for prop in page.monster.e5.props %}
155
+ <div class="property-line">
156
+ <h4>{{ prop.title }}</h4>
157
+ <p>{{ prop.desc }}</p>
158
+ </div>
159
+ {% endfor %}
160
+ </div>
161
+ {% endif %}
162
+ {% if page.monster.e5.actions %}
163
+ {% for action in page.monster.e5.actions %}
164
+ <div class="actions">
165
+ <h3>{{ action.title }}</h3>
166
+ {% if action.intro %}
167
+ <p>{{ action.intro }}</p>
168
+ {% endif %}
169
+ {% for attack in action.list %}
170
+ <div class="property-block">
171
+ <h4>{{ attack.name }}</h4>
172
+ <p>{{ attack.desc | default: '+57 melee (4d8 + 17 / 18-20 / x3)' }}</p>
173
+ </div>
174
+ {% endfor %}
175
+ </div>
176
+ {% endfor %}
177
+ {% endif %}
178
+ <hr class="orange-border bottom">
179
+ </div>
180
+ <!-- stat block -->
181
+ </div>
182
+ </div>
183
+ <!-- /5e Stat Block -->
184
+ {% else %}
185
+ <!-- 3.5e Stat Block -->
186
+ <div class="four columns">
187
+ <div class="stat-block-container">
188
+ <div class="stat-block">
189
+ <hr class="orange-border">
190
+ <div>
191
+ <div class="creature-heading">
192
+ <h1>{{ page.monster.name | default: 'Terrasque' }}</h1>
193
+ <h2>{{ page.monster.size | default: 'Colossal' }} {{ page.monster.type | default: 'magical beast' }}{% if page.monster.subtype %} ({{ page.monster.subtype }}){% endif %}, {{ page.monster.align | default: 'always neutral' }}</h2>
194
+ </div>
195
+ </div>
196
+ <svg height="5" width="100%" class="tapered-rule">
197
+ <polyline points="0,0 400,2.5 0,5"></polyline>
198
+ </svg>
199
+ <div>
200
+ <div class="property-line">
201
+ <h4>Armor Class</h4>
202
+ <p>{{ page.monster.e35.ac.base }}{% if page.monster.e35.ac.desc != '' %} ({{ page.monster.e35.ac.desc }}){% endif %}, touch {{ page.monster.e35.ac.touch | default: '5' }}, flat-footed {{ page.monster.e35.ac.flat | default: '32' }}</p>
203
+ </div>
204
+ <!-- property line -->
205
+ <div class="property-line">
206
+ <h4>Hit Points</h4>
207
+ <p>{{ page.monster.e35.hp.hp | default: '858' | pretty_number }} ({{ page.monster.e35.hp.hd | default: '48d10 + 594' }})</p>
208
+ </div>
209
+ <!-- property line -->
210
+ <div class="property-line">
211
+ <h4>Speed</h4>
212
+ <p>{{ page.monster.e35.speed | default: '20ft' }}</p>
213
+ </div>
214
+ <!-- property line -->
215
+ <div class="property-line">
216
+ <h4>Initiative</h4>
217
+ <p>{{ page.monster.e35.initiative | default: 7 | add_sign }}</p>
218
+ </div>
219
+ <!-- property line -->
220
+ <div class="property-line">
221
+ <h4>Space/Reach</h4>
222
+ <p>{{ page.monster.e35.space | default: '30ft' }}/{{ page.monster.e35.reach | default: '20ft' }}</p>
223
+ </div>
224
+ <!-- property line -->
225
+ <div class="property-line">
226
+ <h4>BA/Grapple</h4>
227
+ <p>{{ page.monster.e35.ba | default: '+48' }}/{{ page.monster.e35.grapple | default: '+81' }}</p>
228
+ </div>
229
+ <!-- property line -->
230
+ <div class="property-line">
231
+ <h4>Saves</h4>
232
+ <p>Fort {{ page.monster.e35.saves.fort | default: 38 | add_sign }}, Ref {{ page.monster.e35.saves.ref | default: 29 | add_sign }}, Will {{ page.monster.e35.saves.will | default: 20 | add_sign }}</p>
233
+ </div>
234
+ </div>
235
+ <svg height="5" width="100%" class="tapered-rule">
236
+ <polyline points="0,0 400,2.5 0,5"></polyline>
237
+ </svg>
238
+ <div>
239
+ <div class="abilities">
240
+ <div class="ability-strength">
241
+ <h4>STR</h4>
242
+ <p>{{ page.monster.abilities.str | ability }}</p>
115
243
  </div>
116
- <!-- property line -->
117
- <div class="property-line">
118
- <h4>Treasure</h4>
119
- <p>{{ page.monster.treasure | default: 'None' }}</p>
244
+ <div class="ability-dexterity">
245
+ <h4>DEX</h4>
246
+ <p>{{ page.monster.abilities.dex | ability }}</p>
120
247
  </div>
121
- <!-- property line -->
122
- <div class="property-line">
123
- <h4>Advancement</h4>
124
- <p>{{ page.monster.advancement | default: '49+ HD (Colossal)' }}</p>
248
+ <div class="ability-constitution">
249
+ <h4>CON</h4>
250
+ <p>{{ page.monster.abilities.con | ability }}</p>
125
251
  </div>
126
- <!-- property line -->
127
- <div class="property-line">
128
- <h4>Level Adjustment</h4>
129
- <p>{{ page.monster.lvl_adj | default: 'N/A' }}</p>
252
+ <div class="ability-intelligence">
253
+ <h4>INT</h4>
254
+ <p>{{ page.monster.abilities.int | ability }}</p>
130
255
  </div>
131
- <!-- property line -->
132
- <div class="property-line">
133
- <h4>Environment</h4>
134
- <p>{{ page.monster.env | default: 'Any' }}</p>
256
+ <div class="ability-wisdom">
257
+ <h4>WIS</h4>
258
+ <p>{{ page.monster.abilities.wis | ability }}</p>
135
259
  </div>
136
- <!-- property line -->
137
- <div class="property-line last">
138
- <h4>Organization</h4>
139
- <p>{{ page.monster.org | default: 'Solitary' }}</p>
260
+ <div class="ability-charisma">
261
+ <h4>CHA</h4>
262
+ <p>{{ page.monster.abilities.cha | ability }}</p>
140
263
  </div>
141
- <!-- property line -->
142
264
  </div>
143
- <!-- top stats -->
144
- <svg height="5" width="100%" class="tapered-rule">
265
+ </div>
266
+ <svg height="5" width="100%" class="tapered-rule">
267
+ <polyline points="0,0 400,2.5 0,5"></polyline>
268
+ </svg>
269
+ <div>
270
+ <div class="property-line">
271
+ <h4>Skills</h4>
272
+ <p>{{ page.monster.e35.skills | default: 'none' }}</p>
273
+ </div>
274
+ <!-- property line -->
275
+ <div class="property-line">
276
+ <h4>Feats</h4>
277
+ <p>{{ page.monster.e35.feats | default: 'none' }}</p>
278
+ </div>
279
+ <!-- property line -->
280
+ <div class="property-line">
281
+ <h4>Challenge Rating</h4>
282
+ <p>{{ page.monster.e35.cr | default: 20 }}</p>
283
+ </div>
284
+ <!-- property line -->
285
+ <div class="property-line">
286
+ <h4>Treasure</h4>
287
+ <p>{{ page.monster.e35.treasure | default: 'None' }}</p>
288
+ </div>
289
+ <!-- property line -->
290
+ <div class="property-line">
291
+ <h4>Advancement</h4>
292
+ <p>{{ page.monster.e35.advancement | default: '49+ HD (Colossal)' }}</p>
293
+ </div>
294
+ <!-- property line -->
295
+ <div class="property-line">
296
+ <h4>Level Adjustment</h4>
297
+ <p>{{ page.monster.e35.lvl_adj | default: 'N/A' }}</p>
298
+ </div>
299
+ <!-- property line -->
300
+ <div class="property-line">
301
+ <h4>Environment</h4>
302
+ <p>{{ page.monster.e35.env | default: 'Any' }}</p>
303
+ </div>
304
+ <!-- property line -->
305
+ <div class="property-line">
306
+ <h4>Organization</h4>
307
+ <p>{{ page.monster.e35.org | default: 'Solitary' }}</p>
308
+ </div>
309
+ </div>
310
+ <svg height="5" width="100%" class="tapered-rule">
145
311
  <polyline points="0,0 400,2.5 0,5"></polyline>
146
312
  </svg>
313
+ <div>
147
314
  <div class="property-block">
148
315
  <h4>Special Qualities</h4>
149
- <p>{{ page.monster.qualities | default: 'none'}}</p>
316
+ <p>{{ page.monster.e35.qualities | default: 'none'}}</p>
150
317
  </div>
151
318
  <!-- property block -->
152
319
  <div class="property-block">
153
320
  <h4>Special Attacks</h4>
154
- <p>{{ page.monster.sp_attacks | default: 'none' }}</p>
321
+ <p>{{ page.monster.e35.sp_attacks | default: 'none' }}</p>
155
322
  </div>
156
323
  <!-- property block -->
157
324
  </div>
158
- <!-- section left -->
159
- <div class="section-right">
160
- <div class="actions">
161
- <h3>Actions</h3>
162
- {% for attack in page.monster.attacks %}
163
- <div class="property-block">
164
- <h4>{{ attack.name }}</h4>
165
- <p>{{ attack.desc | default: '+57 melee (4d8 + 17 / 18-20 / x3)' }}</p>
166
- </div>
167
- <!-- property block -->
168
- {% endfor %}
169
- </div>
170
- {% assign: items = page.monster.possessions | join: '' %}
171
- {% if items != '' %}
172
- <!-- actions -->
173
- <div class="actions">
174
- <h3>Possessions</h3>
175
- {% for item in page.monster.possessions %}
176
- <div class="property-block">
177
- <h4>{{ item.name }}</h4>
178
- <p>{{ item.desc }}</p>
179
- </div>
180
- <!-- property block -->
181
- {% endfor %}
325
+ <div class="actions">
326
+ <h3>Actions</h3>
327
+ {% for attack in page.monster.e35.attacks %}
328
+ <div class="property-block">
329
+ <h4>{{ attack.name }}</h4>
330
+ <p>{{ attack.desc | default: '+57 melee (4d8 + 17 / 18-20 / x3)' }}</p>
182
331
  </div>
183
- <!-- actions -->
184
- {% endif %}
332
+ {% endfor %}
185
333
  </div>
186
- <!-- section right -->
187
- <hr class="orange-border bottom" />
334
+ {% assign: items = page.monster.e35.possessions | join: '' %}
335
+ {% if items != '' %}
336
+ <div class="actions">
337
+ <h3>Possessions</h3>
338
+ {% for item in page.monster.e35.possessions %}
339
+ <div class="property-block">
340
+ <h4>{{ item.name }}</h4>
341
+ <p>{{ item.desc }}</p>
342
+ </div>
343
+ {% endfor %}
344
+ </div>
345
+ {% endif %}
346
+ <hr class="orange-border bottom">
188
347
  </div>
189
- <!-- stat block -->
190
348
  </div>
191
349
  </div>
350
+ <!-- /3.5e Stat Block -->
351
+ {% endif %}