nereare_grimoire 1.13.13 → 1.21.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/404.html +1 -1
- data/CHANGELOG.md +172 -0
- data/LICENSE.md +1 -1
- data/OGL.md +45 -0
- data/_layouts/adventure.html +9 -1
- data/_layouts/armor.html +16 -6
- data/_layouts/default.html +20 -13
- data/_layouts/index.html +62 -7
- data/_layouts/item.html +3 -3
- data/_layouts/monster.html +299 -139
- data/_layouts/settlement.html +18 -181
- data/_layouts/spell.html +44 -13
- data/_layouts/weapon.html +10 -4
- data/_plugins/cr-format.rb +80 -0
- data/adventures_collection.html +15 -0
- data/ages_collection.html +15 -0
- data/animals_collection.html +15 -0
- data/assets/css/stats-block.scss +23 -15
- data/assets/css/style.scss +21 -0
- data/assets/posts_collection.js +34 -0
- data/assets/search.js +58 -0
- data/chapters_collection.html +15 -0
- data/docs/404.html +25 -0
- data/items_collection.html +15 -0
- data/monsters_collection.html +16 -0
- data/plants_collection.html +15 -0
- data/posts_collection.html +47 -0
- data/search.html +12 -0
- data/search.json +22 -0
- data/settlements_collection.html +15 -0
- data/spells_collection.html +15 -0
- metadata +101 -43
data/_layouts/settlement.html
CHANGED
@@ -88,8 +88,12 @@ layout: default
|
|
88
88
|
<p><strong>Size:</strong> {{ page.settlement.size }}</p>
|
89
89
|
<p><strong>Demographics:</strong> {% for race in page.settlement.demographics %}{{ race.percent }}% {{ race.race }}{% unless forloop.last %}, {% endunless %}{% endfor %}</p>
|
90
90
|
<p><strong>Population:</strong> {{ page.settlement.population | pretty_number }} souls</p>
|
91
|
+
{% if page.settlement.wealth %}
|
91
92
|
<p><strong>Wealth:</strong> {{ page.settlement.wealth | pretty_number }} gp</p>
|
93
|
+
{% endif %}
|
94
|
+
{% if page.settlement.gp-limit %}
|
92
95
|
<p><strong>GP Limit:</strong> {{ page.settlement.gp-limit | pretty_number }} gp</p>
|
96
|
+
{% endif %}
|
93
97
|
|
94
98
|
{% assign: cs = page.settlement.centres | join: '' %}
|
95
99
|
{% if cs != '' %}
|
@@ -115,192 +119,25 @@ layout: default
|
|
115
119
|
{% if ds != '' %}
|
116
120
|
<h6>Demographics</h6>
|
117
121
|
|
122
|
+
{% for class in page.demographics %}
|
118
123
|
<details>
|
119
|
-
<summary>
|
120
|
-
<ul>
|
121
|
-
<li><strong>Nobles:</strong> {{ page.demographics.overview.nobles | pretty_number }}</li>
|
122
|
-
<li><strong>Officers:</strong> {{ page.demographics.overview.officers | pretty_number }}</li>
|
123
|
-
<li><strong>Clergy:</strong> {{ page.demographics.overview.clergy | pretty_number }}</li>
|
124
|
-
<li><strong>Freeholders:</strong> {{ page.demographics.overview.freeholders | pretty_number }}</li>
|
125
|
-
<li><strong>Citizens:</strong> {{ page.demographics.overview.citizens | pretty_number }}</li>
|
126
|
-
<li><strong>Hirelings:</strong> {{ page.demographics.overview.hirelings | pretty_number }}</li>
|
127
|
-
</ul>
|
128
|
-
</details>
|
129
|
-
|
130
|
-
<details>
|
131
|
-
<summary>Nobility</summary>
|
132
|
-
<p><strong>Ruling House</strong></p>
|
133
|
-
<ul>
|
134
|
-
<li><strong>Nobles:</strong> {{ page.demographics.ruling-house.nobles | pretty_number }}</li>
|
135
|
-
<li><strong>Relatives:</strong> {{ page.demographics.ruling-house.relatives | pretty_number }}</li>
|
136
|
-
<li><strong>Servants:</strong> {{ page.demographics.ruling-house.servants | pretty_number }}</li>
|
137
|
-
<li><strong>Guards:</strong> {{ page.demographics.ruling-house.guards | pretty_number }}</li>
|
138
|
-
<li><strong>Serjaants:</strong> {{ page.demographics.ruling-house.serjaants | pretty_number }}</li>
|
139
|
-
</ul>
|
140
|
-
<p><strong>Other Noble Houses</strong></p>
|
141
|
-
<ul>
|
142
|
-
<li><strong>Houses:</strong> {{ page.demographics.other-houses.houses | pretty_number }}</li>
|
143
|
-
<li><strong>Population:</strong> {{ page.demographics.other-houses.population | pretty_number }}</li>
|
144
|
-
</ul>
|
145
|
-
</details>
|
146
|
-
|
147
|
-
<details>
|
148
|
-
<summary>Officers</summary>
|
149
|
-
<ul>
|
150
|
-
<li><strong>Reeves:</strong> {{ page.demographics.officers.reeves | pretty_number }}</li>
|
151
|
-
<li><strong>Messors:</strong> {{ page.demographics.officers.messors | pretty_number }}</li>
|
152
|
-
<li><strong>Woodwards:</strong> {{ page.demographics.officers.woodwards | pretty_number }}</li>
|
153
|
-
<li><strong>Constables:</strong> {{ page.demographics.officers.constables | pretty_number }}</li>
|
154
|
-
<li><strong>Guards:</strong> {{ page.demographics.officers.guards | pretty_number }}</li>
|
155
|
-
</ul>
|
156
|
-
</details>
|
157
|
-
|
158
|
-
<details>
|
159
|
-
<summary>Clergy</summary>
|
160
|
-
<ul>
|
161
|
-
<li><strong>Clerics:</strong> {{ page.demographics.clergy.clerics | pretty_number }}</li>
|
162
|
-
<li><strong>Priests:</strong> {{ page.demographics.clergy.priests | pretty_number }}</li>
|
163
|
-
</ul>
|
164
|
-
</details>
|
165
|
-
|
166
|
-
<details>
|
167
|
-
<summary>Freeholders</summary>
|
124
|
+
<summary>{{ class.title }}</summary>
|
168
125
|
<ul>
|
169
|
-
{%
|
170
|
-
<li><strong>
|
171
|
-
{%
|
172
|
-
{% if page.demographics.freeholders.apothecaries != 0 and page.demographics.freeholders.apothecaries != '' %}
|
173
|
-
<li><strong>Apothecaries:</strong> {{ page.demographics.freeholders.apothecaries | pretty_number }}</li>
|
174
|
-
{% endif %}
|
175
|
-
{% if page.demographics.freeholders.armourers != 0 and page.demographics.freeholders.armourers != '' %}
|
176
|
-
<li><strong>Armourers*:</strong> {{ page.demographics.freeholders.armourers | pretty_number }}</li>
|
177
|
-
{% endif %}
|
178
|
-
{% if page.demographics.freeholders.artists != 0 and page.demographics.freeholders.artists != '' %}
|
179
|
-
<li><strong>Artists:</strong> {{ page.demographics.freeholders.artists | pretty_number }}</li>
|
180
|
-
{% endif %}
|
181
|
-
{% if page.demographics.freeholders.butchers != 0 and page.demographics.freeholders.butchers != '' %}
|
182
|
-
<li><strong>Butchers*:</strong> {{ page.demographics.freeholders.butchers | pretty_number }}</li>
|
183
|
-
{% endif %}
|
184
|
-
{% if page.demographics.freeholders.chandlers != 0 and page.demographics.freeholders.chandlers != '' %}
|
185
|
-
<li><strong>Chandlers:</strong> {{ page.demographics.freeholders.chandlers | pretty_number }}</li>
|
186
|
-
{% endif %}
|
187
|
-
{% if page.demographics.freeholders.charcoalers != 0 and page.demographics.freeholders.charcoalers != '' %}
|
188
|
-
<li><strong>Charcoalers:</strong> {{ page.demographics.freeholders.charcoalers | pretty_number }}</li>
|
189
|
-
{% endif %}
|
190
|
-
{% if page.demographics.freeholders.cobblers != 0 and page.demographics.freeholders.cobblers != '' %}
|
191
|
-
<li><strong>Cobblers:</strong> {{ page.demographics.freeholders.cobblers | pretty_number }}</li>
|
192
|
-
{% endif %}
|
193
|
-
{% if page.demographics.freeholders.entertainers != 0 and page.demographics.freeholders.entertainers != '' %}
|
194
|
-
<li><strong>Entertainers:</strong> {{ page.demographics.freeholders.entertainers | pretty_number }}</li>
|
195
|
-
{% endif %}
|
196
|
-
{% if page.demographics.freeholders.foresters != 0 and page.demographics.freeholders.foresters != '' %}
|
197
|
-
<li><strong>Foresters:</strong> {{ page.demographics.freeholders.foresters | pretty_number }}</li>
|
198
|
-
{% endif %}
|
199
|
-
{% if page.demographics.freeholders.furriers != 0 and page.demographics.freeholders.furriers != '' %}
|
200
|
-
<li><strong>Furriers:</strong> {{ page.demographics.freeholders.furriers | pretty_number }}</li>
|
201
|
-
{% endif %}
|
202
|
-
{% if page.demographics.freeholders.glassworkers != 0 and page.demographics.freeholders.glassworkers != '' %}
|
203
|
-
<li><strong>Glassworkers:</strong> {{ page.demographics.freeholders.glassworkers | pretty_number }}</li>
|
204
|
-
{% endif %}
|
205
|
-
{% if page.demographics.freeholders.innkeepers != 0 and page.demographics.freeholders.innkeepers != '' %}
|
206
|
-
<li><strong>Innkeepers:</strong> {{ page.demographics.freeholders.innkeepers | pretty_number }}</li>
|
207
|
-
{% endif %}
|
208
|
-
{% if page.demographics.freeholders.jewelers != 0 and page.demographics.freeholders.jewelers != '' %}
|
209
|
-
<li><strong>Jewelers:</strong> {{ page.demographics.freeholders.jewelers | pretty_number }}</li>
|
210
|
-
{% endif %}
|
211
|
-
{% if page.demographics.freeholders.litigants != 0 and page.demographics.freeholders.litigants != '' %}
|
212
|
-
<li><strong>Litigants:</strong> {{ page.demographics.freeholders.litigants | pretty_number }}</li>
|
213
|
-
{% endif %}
|
214
|
-
{% if page.demographics.freeholders.locksmiths != 0 and page.demographics.freeholders.locksmiths != '' %}
|
215
|
-
<li><strong>Locksmiths:</strong> {{ page.demographics.freeholders.locksmiths | pretty_number }}</li>
|
216
|
-
{% endif %}
|
217
|
-
{% if page.demographics.freeholders.masons != 0 and page.demographics.freeholders.masons != '' %}
|
218
|
-
<li><strong>Masons:</strong> {{ page.demographics.freeholders.masons | pretty_number }}</li>
|
219
|
-
{% endif %}
|
220
|
-
{% if page.demographics.freeholders.metalsmiths != 0 and page.demographics.freeholders.metalsmiths != '' %}
|
221
|
-
<li><strong>Metalsmiths*:</strong> {{ page.demographics.freeholders.metalsmiths | pretty_number }}</li>
|
222
|
-
{% endif %}
|
223
|
-
{% if page.demographics.freeholders.bakers != 0 and page.demographics.freeholders.bakers != '' %}
|
224
|
-
<li><strong>Bakers*:</strong> {{ page.demographics.freeholders.bakers | pretty_number }}</li>
|
225
|
-
{% endif %}
|
226
|
-
{% if page.demographics.freeholders.ostlers != 0 and page.demographics.freeholders.ostlers != '' %}
|
227
|
-
<li><strong>Ostlers*:</strong> {{ page.demographics.freeholders.ostlers | pretty_number }}</li>
|
228
|
-
{% endif %}
|
229
|
-
{% if page.demographics.freeholders.outfitters != 0 and page.demographics.freeholders.outfitters != '' %}
|
230
|
-
<li><strong>Outfitters:</strong> {{ page.demographics.freeholders.outfitters | pretty_number }}</li>
|
231
|
-
{% endif %}
|
232
|
-
{% if page.demographics.freeholders.physicians != 0 and page.demographics.freeholders.physicians != '' %}
|
233
|
-
<li><strong>Physicians:</strong> {{ page.demographics.freeholders.physicians | pretty_number }}</li>
|
234
|
-
{% endif %}
|
235
|
-
{% if page.demographics.freeholders.potters != 0 and page.demographics.freeholders.potters != '' %}
|
236
|
-
<li><strong>Potters:</strong> {{ page.demographics.freeholders.potters | pretty_number }}</li>
|
237
|
-
{% endif %}
|
238
|
-
{% if page.demographics.freeholders.roofers != 0 and page.demographics.freeholders.roofers != '' %}
|
239
|
-
<li><strong>Roofers:</strong> {{ page.demographics.freeholders.roofers | pretty_number }}</li>
|
240
|
-
{% endif %}
|
241
|
-
{% if page.demographics.freeholders.ropemakers != 0 and page.demographics.freeholders.ropemakers != '' %}
|
242
|
-
<li><strong>Ropemakers:</strong> {{ page.demographics.freeholders.ropemakers | pretty_number }}</li>
|
243
|
-
{% endif %}
|
244
|
-
{% if page.demographics.freeholders.sages != 0 and page.demographics.freeholders.sages != '' %}
|
245
|
-
<li><strong>Sages:</strong> {{ page.demographics.freeholders.sages | pretty_number }}</li>
|
246
|
-
{% endif %}
|
247
|
-
{% if page.demographics.freeholders.salters != 0 and page.demographics.freeholders.salters != '' %}
|
248
|
-
<li><strong>Salters*:</strong> {{ page.demographics.freeholders.salters | pretty_number }}</li>
|
249
|
-
{% endif %}
|
250
|
-
{% if page.demographics.freeholders.scribes != 0 and page.demographics.freeholders.scribes != '' %}
|
251
|
-
<li><strong>Scribes:</strong> {{ page.demographics.freeholders.scribes | pretty_number }}</li>
|
252
|
-
{% endif %}
|
253
|
-
{% if page.demographics.freeholders.shipwrights != 0 and page.demographics.freeholders.shipwrights != '' %}
|
254
|
-
<li><strong>Shipwrights*:</strong> {{ page.demographics.freeholders.shipwrights | pretty_number }}</li>
|
255
|
-
{% endif %}
|
256
|
-
{% if page.demographics.freeholders.tailors != 0 and page.demographics.freeholders.tailors != '' %}
|
257
|
-
<li><strong>Tailors:</strong> {{ page.demographics.freeholders.tailors | pretty_number }}</li>
|
258
|
-
{% endif %}
|
259
|
-
{% if page.demographics.freeholders.tanners != 0 and page.demographics.freeholders.tanners != '' %}
|
260
|
-
<li><strong>Tanners*:</strong> {{ page.demographics.freeholders.tanners | pretty_number }}</li>
|
261
|
-
{% endif %}
|
262
|
-
{% if page.demographics.freeholders.taverners != 0 and page.demographics.freeholders.taverners != '' %}
|
263
|
-
<li><strong>Taverners:</strong> {{ page.demographics.freeholders.taverners | pretty_number }}</li>
|
264
|
-
{% endif %}
|
265
|
-
{% if page.demographics.freeholders.teamsters != 0 and page.demographics.freeholders.teamsters != '' %}
|
266
|
-
<li><strong>Teamsters:</strong> {{ page.demographics.freeholders.teamsters | pretty_number }}</li>
|
267
|
-
{% endif %}
|
268
|
-
{% if page.demographics.freeholders.timberwrights != 0 and page.demographics.freeholders.timberwrights != '' %}
|
269
|
-
<li><strong>Timberwrights*:</strong> {{ page.demographics.freeholders.timberwrights | pretty_number }}</li>
|
270
|
-
{% endif %}
|
271
|
-
{% if page.demographics.freeholders.tinkers != 0 and page.demographics.freeholders.tinkers != '' %}
|
272
|
-
<li><strong>Tinkers:</strong> {{ page.demographics.freeholders.tinkers | pretty_number }}</li>
|
273
|
-
{% endif %}
|
274
|
-
{% if page.demographics.freeholders.vintners != 0 and page.demographics.freeholders.vintners != '' %}
|
275
|
-
<li><strong>Vintners:</strong> {{ page.demographics.freeholders.vintners | pretty_number }}</li>
|
276
|
-
{% endif %}
|
277
|
-
{% if page.demographics.freeholders.weaponcrafters != 0 and page.demographics.freeholders.weaponcrafters != '' %}
|
278
|
-
<li><strong>Weaponcrafters*:</strong> {{ page.demographics.freeholders.weaponcrafters | pretty_number }}</li>
|
279
|
-
{% endif %}
|
280
|
-
{% if page.demographics.freeholders.weavers != 0 and page.demographics.freeholders.weavers != '' %}
|
281
|
-
<li><strong>Weavers:</strong> {{ page.demographics.freeholders.weavers | pretty_number }}</li>
|
282
|
-
{% endif %}
|
283
|
-
{% if page.demographics.freeholders.woodcrafters != 0 and page.demographics.freeholders.woodcrafters != '' %}
|
284
|
-
<li><strong>Woodcrafters:</strong> {{ page.demographics.freeholders.woodcrafters | pretty_number }}</li>
|
285
|
-
{% endif %}
|
286
|
-
{% if page.demographics.freeholders.yeomen != 0 and page.demographics.freeholders.yeomen != '' %}
|
287
|
-
<li><strong>Yeomen:</strong> {{ page.demographics.freeholders.yeomen | pretty_number }}</li>
|
288
|
-
{% endif %}
|
126
|
+
{% for subclass in class.desc %}
|
127
|
+
<li><strong>{{ subclass.title }}:</strong> {{ subclass.qtt | pretty_number }}</li>
|
128
|
+
{% endfor %}
|
289
129
|
</ul>
|
290
|
-
<p>Freeholders typically live in the same building as their shop, unless marked with an asterisk (*), in which case their dwelling is separate from their place of business.</p>
|
291
130
|
</details>
|
131
|
+
{% endfor %}
|
132
|
+
{% endif %}
|
292
133
|
|
293
|
-
|
294
|
-
|
295
|
-
|
296
|
-
|
297
|
-
|
298
|
-
|
299
|
-
|
300
|
-
<li><strong>Homes:</strong> {{ page.demographics.buildings.homes | pretty_number }}</li>
|
301
|
-
<li><strong>Total:</strong> {{ page.demographics.buildings.total | pretty_number }}</li>
|
302
|
-
</ul>
|
303
|
-
</details>
|
134
|
+
{% if page.buildings %}
|
135
|
+
<h6>Buildings</h6>
|
136
|
+
<ul>
|
137
|
+
{% for building in page.buildings %}
|
138
|
+
<li><strong>{{ building.title }}:</strong> {{ building.qtt | pretty_number }}</li>
|
139
|
+
{% endfor %}
|
140
|
+
</ul>
|
304
141
|
{% endif %}
|
305
142
|
</blockquote>
|
306
143
|
</div>
|
data/_layouts/spell.html
CHANGED
@@ -7,38 +7,69 @@ layout: default
|
|
7
7
|
<p class="meta">{{ page.author | default: 'Unknown' }} • {{ page.date | default: '1938-07-27' | date: '%A, %B %e, %Y' }}</p>
|
8
8
|
<!-- -->
|
9
9
|
<div>
|
10
|
-
{
|
11
|
-
|
10
|
+
<h3>{{ page.spell.name }}</h3>
|
11
|
+
{% if page.spell.e5 %}
|
12
|
+
<!-- 5e Specific -->
|
13
|
+
<p>{{ page.spell.e5.level | ordinal }}-level {{ page.spell.school }}</p>
|
12
14
|
|
13
|
-
<p><strong>
|
14
|
-
<p><strong>
|
15
|
+
<p><strong>Components:</strong> {{ page.spell.e5.components.list | join: ', ' }}{% if page.spell.e5.components.material %} ({{ page.spell.e5.components.material }}{% if page.spell.e5.components.consumed %}, which is consumed{% endif %}){% endif %}</p>
|
16
|
+
<p><strong>Casting Time:</strong> {{ page.spell.cast-time | default: '1 action' }}</p>
|
17
|
+
<p><strong>Range:</strong> {{ page.spell.range | default: 'Touch' }}</p>
|
18
|
+
<p><strong>Target:</strong> {{ page.spell.target | default: 'Self' }}</p>
|
19
|
+
<p><strong>Duration:</strong> {{ page.spell.e5.duration | default: 'Instantaneous' }}</p>
|
20
|
+
<p><strong>Save:</strong> {% if page.spell.e5.save %}{{ page.spell.e5.save }}{% else %}—{% endif %}</p>
|
21
|
+
<!-- /5e Specific -->
|
22
|
+
{% else %}
|
23
|
+
<!-- 3.5e Specific -->
|
24
|
+
{% assign: descs = page.spell.e35.descriptor | join: '' %}
|
25
|
+
<p>{{ page.spell.school }}{% if page.spell.e35.subschool != '' %} ({{ page.spell.e35.subschool }}){% endif %}{% if descs != '' %} [{{ page.spell.e35.descriptor | join: ', ' }}]{% endif %}</p>
|
26
|
+
|
27
|
+
<p><strong>Level:</strong> {{ page.spell.e35.level | join: ', ' }}</p>
|
28
|
+
<p><strong>Components:</strong> {{ page.spell.e35.components.list | join: ', ' }}</p>
|
15
29
|
<p><strong>Casting Time:</strong> {{ page.spell.cast-time | default: '1 standard action' }}</p>
|
16
30
|
<p><strong>Range:</strong> {{ page.spell.range | default: 'Touch' }}</p>
|
17
31
|
<p><strong>Target:</strong> {{ page.spell.target | default: 'Self' }}</p>
|
18
|
-
<p><strong>Duration:</strong> {{ page.spell.duration.desc | default: 'Instantaneous' }}{% if page.spell.duration.dismiss %} (D){% endif %}</p>
|
19
|
-
<p><strong>Saving Throw:</strong> {% if page.spell.save.type != 'None' %}{{ page.spell.save.type | default: 'Will' }} {{ page.spell.save.effect | default: 'negates' }}{% else %}None{% endif %}{% if page.spell.save.harmless %} (harmless){% endif %}</p>
|
20
|
-
<p><strong>Spell Resistance:</strong> {% if page.spell.resistance %}Yes{% else %}No{% endif %}</p>
|
32
|
+
<p><strong>Duration:</strong> {{ page.spell.e35.duration.desc | default: 'Instantaneous' }}{% if page.spell.e35.duration.dismiss %} (D){% endif %}</p>
|
33
|
+
<p><strong>Saving Throw:</strong> {% if page.spell.e35.save.type != 'None' %}{{ page.spell.e35.save.type | default: 'Will' }} {{ page.spell.e35.save.effect | default: 'negates' }}{% else %}None{% endif %}{% if page.spell.e35.save.harmless %} (harmless){% endif %}</p>
|
34
|
+
<p><strong>Spell Resistance:</strong> {% if page.spell.e35.resistance %}Yes{% else %}No{% endif %}</p>
|
35
|
+
<!-- /3.5e Specific -->
|
36
|
+
{% endif %}
|
21
37
|
</div>
|
22
38
|
</div>
|
23
39
|
|
24
40
|
{{ content }}
|
25
41
|
|
26
42
|
<div class="spell components">
|
43
|
+
<!-- 3.5e Specific -->
|
27
44
|
<!-- Material Components, if applicable -->
|
28
|
-
{% if page.spell.components.material != '' %}
|
45
|
+
{% if page.spell.e35.components.material != '' %}
|
29
46
|
<h6>Material Component</h6>
|
30
|
-
<p>{{ page.spell.components.material }}</p>
|
47
|
+
<p>{{ page.spell.e35.components.material }}</p>
|
31
48
|
{% endif %}
|
32
49
|
|
33
50
|
<!-- Arcane Focus, if applicable -->
|
34
|
-
{% if page.spell.components.focus != '' %}
|
51
|
+
{% if page.spell.e35.components.focus != '' %}
|
35
52
|
<h6>Arcane Focus</h6>
|
36
|
-
<p>{{ page.spell.components.focus }}</p>
|
53
|
+
<p>{{ page.spell.e35.components.focus }}</p>
|
37
54
|
{% endif %}
|
38
55
|
|
39
56
|
<!-- XP Cost, if applicable -->
|
40
|
-
{% if page.spell.components.xp != '' %}
|
57
|
+
{% if page.spell.e35.components.xp != '' %}
|
41
58
|
<h6>XP Cost</h6>
|
42
|
-
<p>{{ page.spell.components.xp }}</p>
|
59
|
+
<p>{{ page.spell.e35.components.xp }}</p>
|
60
|
+
{% endif %}
|
61
|
+
<!-- /3.5e Specific -->
|
62
|
+
|
63
|
+
<!-- 5e Specific -->
|
64
|
+
<!-- Classes to which the spell is available -->
|
65
|
+
{% if page.spell.e5.classes %}
|
66
|
+
<h6>Classes</h6>
|
67
|
+
<p>{{ page.spell.e5.classes | join: ', ' }}</p>
|
68
|
+
{% endif %}
|
69
|
+
<!-- Subclasses to which the spell is available -->
|
70
|
+
{% if page.spell.e5.subclasses %}
|
71
|
+
<h6>Subclasses</h6>
|
72
|
+
<p>{{ page.spell.e5.subclasses | join: ', ' }}</p>
|
43
73
|
{% endif %}
|
74
|
+
<!-- /5e Specific -->
|
44
75
|
</div>
|
data/_layouts/weapon.html
CHANGED
@@ -13,13 +13,19 @@ layout: default
|
|
13
13
|
|
14
14
|
<div class="four columns">
|
15
15
|
<h2>{{ page.item.name | default: 'Weapon' }}</h2>
|
16
|
-
<p>{{ page.item.type | default: 'Melee' }}{% if page.item.rarity %}, {{ page.item.rarity }}{% endif %}{% if page.item.attunement %} (Requires attunement by {{ page.item.attunement }}){% endif %}</p>
|
16
|
+
<p>{{ page.item.type | default: 'Melee' }}{% if page.item.e5.rarity %}, {{ page.item.e5.rarity }}{% endif %}{% if page.item.e5.attunement %} (Requires attunement by {{ page.item.e5.attunement }}){% endif %}</p>
|
17
17
|
<p><strong>Weight:</strong> {{ page.item.weight }}</p>
|
18
18
|
<p><strong>Base Value:</strong> {{ page.item.value | pretty_number }}gp</p>
|
19
|
-
{%
|
19
|
+
{% assign: damages = page.item.damage | join: ' • ' %}
|
20
20
|
<p><strong>Damage:</strong> {{ damages }}</p>
|
21
|
-
{% if page.item.
|
22
|
-
|
21
|
+
{% if page.item.e35 %}
|
22
|
+
<!-- 3.5e Specific -->
|
23
|
+
<p><strong>Critical:</strong> {% if page.item.e35.critical %}{{ page.item.e35.critical }}{% else %}×2{% endif %}</p>
|
24
|
+
<p><strong>Range Increment:</strong> {% if page.item.e35.range %}{{ page.item.e35.range }}{% else %}—{% endif %}</p>
|
25
|
+
<!-- /3.5e Specific -->
|
26
|
+
{% endif %}
|
27
|
+
{% if page.item.e5.charges %}
|
28
|
+
<p><strong>Charges:</strong> {{ page.item.charges.e5.number }} {% if page.item.e5.charges.regain %}(Regains {{ page.item.e5.charges.regain }} {{ page.item.e5.charges.reset }}){% else %}(Consumable){% endif %}</p>
|
23
29
|
{% endif %}
|
24
30
|
{% if page.item.props %}
|
25
31
|
<ul>
|
@@ -0,0 +1,80 @@
|
|
1
|
+
module Jekyll
|
2
|
+
module CRFormat
|
3
|
+
def cr_format(input)
|
4
|
+
case input
|
5
|
+
when 0
|
6
|
+
return "0 (0 XP or 10 XP)"
|
7
|
+
when "1/8"
|
8
|
+
return "1/8 (25 XP)"
|
9
|
+
when "1/4"
|
10
|
+
return "1/4 (50 XP)"
|
11
|
+
when "1/2"
|
12
|
+
return "1/2 (100 XP)"
|
13
|
+
when 1
|
14
|
+
return "1 (200 XP)"
|
15
|
+
when 2
|
16
|
+
return "2 (450 XP)"
|
17
|
+
when 3
|
18
|
+
return "3 (700 XP)"
|
19
|
+
when 4
|
20
|
+
return "4 (1,100 XP)"
|
21
|
+
when 5
|
22
|
+
return "5 (1,800 XP)"
|
23
|
+
when 6
|
24
|
+
return "6 (2,300 XP)"
|
25
|
+
when 7
|
26
|
+
return "7 (2,900 XP)"
|
27
|
+
when 8
|
28
|
+
return "8 (3,900 XP)"
|
29
|
+
when 9
|
30
|
+
return "9 (5,000 XP)"
|
31
|
+
when 10
|
32
|
+
return "10 (5,900 XP)"
|
33
|
+
when 11
|
34
|
+
return "11 (7,200 XP)"
|
35
|
+
when 12
|
36
|
+
return "12 (8,400 XP)"
|
37
|
+
when 13
|
38
|
+
return "13 (10,000 XP)"
|
39
|
+
when 14
|
40
|
+
return "14 (11,500 XP)"
|
41
|
+
when 15
|
42
|
+
return "15 (13,000 XP)"
|
43
|
+
when 16
|
44
|
+
return "16 (15,000 XP)"
|
45
|
+
when 17
|
46
|
+
return "17 (18,000 XP)"
|
47
|
+
when 18
|
48
|
+
return "18 (20,000 XP)"
|
49
|
+
when 19
|
50
|
+
return "19 (22,000 XP)"
|
51
|
+
when 20
|
52
|
+
return "20 (25,000 XP)"
|
53
|
+
when 21
|
54
|
+
return "21 (33,000 XP)"
|
55
|
+
when 22
|
56
|
+
return "22 (41,000 XP)"
|
57
|
+
when 23
|
58
|
+
return "23 (50,000 XP)"
|
59
|
+
when 24
|
60
|
+
return "24 (62,000 XP)"
|
61
|
+
when 25
|
62
|
+
return "25 (75,000 XP)"
|
63
|
+
when 26
|
64
|
+
return "26 (90,000 XP)"
|
65
|
+
when 27
|
66
|
+
return "27 (105,000 XP)"
|
67
|
+
when 28
|
68
|
+
return "28 (120,000 XP)"
|
69
|
+
when 29
|
70
|
+
return "29 (135,000 XP)"
|
71
|
+
when 30
|
72
|
+
return "30 (155,000 XP)"
|
73
|
+
else
|
74
|
+
return "—"
|
75
|
+
end
|
76
|
+
end
|
77
|
+
end
|
78
|
+
end
|
79
|
+
|
80
|
+
Liquid::Template.register_filter(Jekyll::CRFormat)
|
@@ -0,0 +1,15 @@
|
|
1
|
+
---
|
2
|
+
layout: default
|
3
|
+
---
|
4
|
+
|
5
|
+
{% assign: adventures = site.adventures | join: '' %}
|
6
|
+
{% if adventures != '' %}
|
7
|
+
<div class="collection">
|
8
|
+
<h1>Adventures</h1>
|
9
|
+
<ul>
|
10
|
+
{% for adventure in site.adventures %}
|
11
|
+
<li><strong><a href="{{ adventure.url }}">{{ adventure.adventure.name }}</a>:</strong> {{ adventure.adventure.type | articulate }} for {{ adventure.adventure.char-num | default: 4 | pluralize: 'player character', 'player characters' }} of {% if adventure.adventure.lvl.range %}levels {{ adventure.adventure.lvl.min | ordinal }} through {{ adventure.adventure.lvl.max | ordinal }}{% else %}{{ adventure.adventure.lvl.lvl | ordinal }} level{% endif %}.</li>
|
12
|
+
{% endfor %}
|
13
|
+
</ul>
|
14
|
+
</div>
|
15
|
+
{% endif %}
|
@@ -0,0 +1,15 @@
|
|
1
|
+
---
|
2
|
+
layout: default
|
3
|
+
---
|
4
|
+
|
5
|
+
{% assign: ages = site.ages | join: '' %}
|
6
|
+
{% if ages != '' %}
|
7
|
+
<div class="collection">
|
8
|
+
<h1>Ages</h1>
|
9
|
+
<ul>
|
10
|
+
{% for age in site.ages %}
|
11
|
+
<li><strong><a href="{{ age.url }}">{{ age.title }}</a> ({{ age.age.abbr }})</li>
|
12
|
+
{% endfor %}
|
13
|
+
</ul>
|
14
|
+
</div>
|
15
|
+
{% endif %}
|
@@ -0,0 +1,15 @@
|
|
1
|
+
---
|
2
|
+
layout: default
|
3
|
+
---
|
4
|
+
|
5
|
+
{% assign: animals = site.animals | join: '' %}
|
6
|
+
{% if animals != '' %}
|
7
|
+
<div class="collection">
|
8
|
+
<h1>Animals</h1>
|
9
|
+
<ul>
|
10
|
+
{% for animal in site.animals %}
|
11
|
+
<li><strong><a href="{{ animal.url }}">{{ animal.title }}</a> (<em>{{ animal.animal.species }}</em>)</li>
|
12
|
+
{% endfor %}
|
13
|
+
</ul>
|
14
|
+
</div>
|
15
|
+
{% endif %}
|
data/assets/css/stats-block.scss
CHANGED
@@ -76,28 +76,34 @@ $bar : $h-line;
|
|
76
76
|
padding-left: 1.1em;
|
77
77
|
line-height: 1.4em;
|
78
78
|
|
79
|
-
|
80
|
-
|
79
|
+
&:first-child { margin-top: 8px; }
|
80
|
+
&:last-child { margin-bottom: 10px; }
|
81
81
|
|
82
82
|
h4, p {
|
83
83
|
display: inline;
|
84
84
|
margin: 0;
|
85
|
-
color: $
|
85
|
+
color: $body;
|
86
86
|
font-size: 13.5px;
|
87
87
|
line-height: 1.2em;
|
88
88
|
}
|
89
89
|
h4{
|
90
90
|
font-family: 'Montserrat', sans-serif;
|
91
91
|
font-variant: normal;
|
92
|
-
color: $
|
93
|
-
|
92
|
+
color: $body;
|
93
|
+
font-weight: 900;
|
94
|
+
&:after { content: '.'; }
|
94
95
|
}
|
95
96
|
p { color: black; }
|
97
|
+
|
98
|
+
ul {
|
99
|
+
list-style-type: none;
|
100
|
+
text-indent: 2px;
|
101
|
+
}
|
96
102
|
}
|
97
103
|
|
98
104
|
.abilities {
|
99
105
|
text-align: center;
|
100
|
-
color: $
|
106
|
+
color: $body;
|
101
107
|
|
102
108
|
& > div {
|
103
109
|
display: inline-block;
|
@@ -113,7 +119,8 @@ $bar : $h-line;
|
|
113
119
|
font-size: 14px;
|
114
120
|
line-height: 1.2em;
|
115
121
|
text-transform: uppercase;
|
116
|
-
color: $
|
122
|
+
color: $body;
|
123
|
+
font-weight: bold;
|
117
124
|
}
|
118
125
|
& p {
|
119
126
|
margin: 0 0 10px;
|
@@ -133,27 +140,28 @@ $bar : $h-line;
|
|
133
140
|
& h4 {
|
134
141
|
font-family: 'Montserrat', sans-serif;
|
135
142
|
font-variant: none;
|
136
|
-
|
143
|
+
color: $body;
|
144
|
+
&:after { content: '.'; }
|
137
145
|
}
|
138
146
|
}
|
139
147
|
|
140
148
|
.actions {
|
141
149
|
margin: 0 0 20px;
|
142
|
-
|
143
|
-
|
150
|
+
p {
|
151
|
+
text-indent: 10px;
|
152
|
+
margin-top: 5px;
|
153
|
+
}
|
154
|
+
h3 {
|
144
155
|
border-bottom: 1px solid $header;
|
145
156
|
color: $header;
|
146
157
|
font-size: 21px;
|
147
158
|
font-variant: small-caps;
|
148
159
|
font-weight: normal;
|
149
|
-
letter-spacing: 1px;
|
150
|
-
margin: 20px 0 0;
|
151
|
-
padding: 0 0 10px;
|
152
160
|
text-indent: 5px;
|
153
161
|
}
|
154
|
-
&:last-child{ margin: 0; }
|
162
|
+
&:last-child { margin: 0; }
|
155
163
|
}
|
156
164
|
|
157
|
-
@media screen and (max-width: 575px){
|
165
|
+
@media screen and (max-width: 575px) {
|
158
166
|
.stat-block { margin: 20px 0; }
|
159
167
|
}
|
data/assets/css/style.scss
CHANGED
@@ -25,6 +25,8 @@ html, body {
|
|
25
25
|
text-align: justify;
|
26
26
|
color: $body;
|
27
27
|
}
|
28
|
+
button { background-color: white; }
|
29
|
+
form { margin: 2rem 0 0 0; }
|
28
30
|
|
29
31
|
h1, h2, h3, h4 {
|
30
32
|
font-family: 'Libre Baskerville', serif;
|
@@ -50,6 +52,10 @@ h1 {
|
|
50
52
|
line-height: 1em;
|
51
53
|
margin-right: .1em;
|
52
54
|
text-transform: uppercase;
|
55
|
+
background-image: radial-gradient(ellipse farthest-corner at right bottom, #FEDB37 0%, #FDB931 8%, #9f7928 30%, #8A6E2F 40%, transparent 80%),
|
56
|
+
radial-gradient(ellipse farthest-corner at left top, #FFFFFF 0%, #FFFFAC 8%, #D1B464 25%, #5d4a1f 62.5%, #5d4a1f 100%);
|
57
|
+
color: transparent;
|
58
|
+
-webkit-background-clip: text;
|
53
59
|
}
|
54
60
|
& + p.subtitle {
|
55
61
|
margin-top: -1.5em;
|
@@ -80,6 +86,8 @@ a {
|
|
80
86
|
&:hover, &:active { color: $alink; }
|
81
87
|
}
|
82
88
|
|
89
|
+
img { width: 100%; }
|
90
|
+
|
83
91
|
header {
|
84
92
|
overflow: auto;
|
85
93
|
background-color: transparent;
|
@@ -242,4 +250,17 @@ h2.collections {
|
|
242
250
|
margin-left: 1.5em;
|
243
251
|
margin-bottom: 0.3em;
|
244
252
|
}
|
253
|
+
|
254
|
+
&.long {
|
255
|
+
width: 100%;
|
256
|
+
li { float: left; }
|
257
|
+
}
|
258
|
+
}
|
259
|
+
|
260
|
+
nav.posts {
|
261
|
+
li {
|
262
|
+
list-style: none;
|
263
|
+
margin-left: 1.5em;
|
264
|
+
margin-bottom: 0.3em;
|
265
|
+
}
|
245
266
|
}
|
@@ -0,0 +1,34 @@
|
|
1
|
+
$(document).ready(function() {
|
2
|
+
console.log("App ready!");
|
3
|
+
|
4
|
+
// Hide non-default divs
|
5
|
+
$("#tags, #categories").css("display", "none");
|
6
|
+
|
7
|
+
// Show alphabetically
|
8
|
+
$("#go-alphabetical").on("click", function() {
|
9
|
+
if ( !$(this).hasClass("button-primary") ) {
|
10
|
+
$("#go-tags, #go-categories").removeClass("button-primary");
|
11
|
+
$(this).addClass("button-primary");
|
12
|
+
$("#alphabetical").css("display", "block");
|
13
|
+
$("#tags, #categories").css("display", "none");
|
14
|
+
}
|
15
|
+
});
|
16
|
+
// Show tags
|
17
|
+
$("#go-tags").on("click", function() {
|
18
|
+
if ( !$(this).hasClass("button-primary") ) {
|
19
|
+
$("#go-alphabetical, #go-categories").removeClass("button-primary");
|
20
|
+
$(this).addClass("button-primary");
|
21
|
+
$("#tags").css("display", "block");
|
22
|
+
$("#alphabetical, #categories").css("display", "none");
|
23
|
+
}
|
24
|
+
});
|
25
|
+
// Show categories
|
26
|
+
$("#go-categories").on("click", function() {
|
27
|
+
if ( !$(this).hasClass("button-primary") ) {
|
28
|
+
$("#go-alphabetical, #go-tags").removeClass("button-primary");
|
29
|
+
$(this).addClass("button-primary");
|
30
|
+
$("#categories").css("display", "block");
|
31
|
+
$("#alphabetical, #tags").css("display", "none");
|
32
|
+
}
|
33
|
+
});
|
34
|
+
});
|