nereare_grimoire 1.3.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (43) hide show
  1. checksums.yaml +7 -0
  2. data/404.html +10 -0
  3. data/LICENSE.md +24 -0
  4. data/README.md +38 -0
  5. data/_layouts/adventure.html +26 -0
  6. data/_layouts/chapter.html +21 -0
  7. data/_layouts/default.html +63 -0
  8. data/_layouts/index.html +89 -0
  9. data/_layouts/monster.html +191 -0
  10. data/_layouts/post.html +26 -0
  11. data/_layouts/settlement.html +304 -0
  12. data/_layouts/spell.html +44 -0
  13. data/_plugins/abbr-align.rb +28 -0
  14. data/_plugins/ability.rb +10 -0
  15. data/_plugins/add-sign.rb +9 -0
  16. data/_plugins/articulate.rb +11 -0
  17. data/_plugins/number.rb +9 -0
  18. data/_plugins/ordinal.rb +21 -0
  19. data/_plugins/pluralize.rb +9 -0
  20. data/assets/404.png +0 -0
  21. data/assets/background.jpg +0 -0
  22. data/assets/desc-border.png +0 -0
  23. data/assets/favicon/android-chrome-192x192.png +0 -0
  24. data/assets/favicon/android-chrome-512x512.png +0 -0
  25. data/assets/favicon/apple-touch-icon.png +0 -0
  26. data/assets/favicon/browserconfig.xml +12 -0
  27. data/assets/favicon/favicon-16x16.png +0 -0
  28. data/assets/favicon/favicon-32x32.png +0 -0
  29. data/assets/favicon/favicon.ico +0 -0
  30. data/assets/favicon/mstile-144x144.png +0 -0
  31. data/assets/favicon/mstile-150x150.png +0 -0
  32. data/assets/favicon/mstile-310x150.png +0 -0
  33. data/assets/favicon/mstile-310x310.png +0 -0
  34. data/assets/favicon/mstile-70x70.png +0 -0
  35. data/assets/favicon/safari-pinned-tab.svg +133 -0
  36. data/assets/favicon/site.webmanifest +18 -0
  37. data/assets/favicon.png +0 -0
  38. data/assets/header.png +0 -0
  39. data/assets/note-border.png +0 -0
  40. data/css/boxes.scss +66 -0
  41. data/css/stats-block.scss +159 -0
  42. data/css/style.scss +230 -0
  43. metadata +212 -0
@@ -0,0 +1,304 @@
1
+ ---
2
+ layout: default
3
+ ---
4
+
5
+ <div class="seven columns">
6
+ <div class="metadata">
7
+ <h1>{{ page.title | default: 'Monster' }}</h1>
8
+ <p class="meta">{{ page.author | default: 'Unknown' }} &bull; {{ page.date | default: '1938-07-27' | date: '%A, %B %e, %Y' }}</p>
9
+ </div>
10
+
11
+ {{ content }}
12
+
13
+ {% assign: ss = page.shops | join: '' %}
14
+ {% assign: hs = page.houses | join: '' %}
15
+ {% if ss != '' or hs != '' %}
16
+ <h2>Buildings</h2>
17
+
18
+ {% if ss != '' %}
19
+ <!-- Shops List -->
20
+ <h3>Shops</h3>
21
+ {% for shop in page.shops %}
22
+ <div class="building">
23
+ <h5>{{ shop.name }}</h5>
24
+ <p class="type">{{ shop.type }}</p>
25
+ <p><strong>Owner:</strong> {{ shop.owner.name }}, {{ shop.owner.gender }} {{ shop.owner.race }}, {{ shop.owner.level | ordinal }}-level {{ shop.owner.class }}</p>
26
+ <p><strong>Location:</strong> {{ shop.location }}</p>
27
+ <p><strong>Description:</strong> {{ shop.desc }}</p>
28
+ <h6>Transactions</h6>
29
+ <ul>
30
+ <li><strong>Selling:</strong> {% if shop.prices.sell %}{{ shop.prices.sell }}% market price{% else %}Does not sell{% endif %}</li>
31
+ <li><strong>Buying:</strong> {% if shop.prices.buy %}{{ shop.prices.buy }}% market price{% else %}Does not buy{% endif %}</li>
32
+ </ul>
33
+ {% assign: gs = shop.goods | join: '' %}
34
+ {% if gs != '' %}
35
+ <h6>{{ shop.goods.name }}</h6>
36
+ <ul>
37
+ {% for good in shop.goods.list %}
38
+ <li>{{ good.name }} ({{ good.cost }})</li>
39
+ {% endfor %}
40
+ </ul>
41
+ {% endif %}
42
+ </div>
43
+ {% endfor %}
44
+ {% endif %}
45
+
46
+ {% if hs != '' %}
47
+ <!-- Houses List -->
48
+ <h3>Houses</h3>
49
+ {% for house in page.houses %}
50
+ <div class="building">
51
+ {% if house.name != '' %}
52
+ <h5>{{ house.name }}</h5>
53
+ <p class="type">{{ house.type }}</p>
54
+ {% else %}
55
+ <h5>{{ house.type }}</h5>
56
+ {% endif %}
57
+ <p><strong>Location:</strong> {{ house.location }}</p>
58
+ <p><strong>Description:</strong> {{ house.desc }}</p>
59
+ <h6>Inhabitants</h6>
60
+ <ul>
61
+ {% for person in house.people %}
62
+ <li><strong>{{ person.name }}:</strong> {{ person.gender }} {{ person.race }}, {{ person.level | ordinal }}-level {{ person.class }}{% if person.owner %}, <strong>owner</strong>{% endif %}.</li>
63
+ {% endfor %}
64
+ </ul>
65
+ {% assign: is = house.items | join: '' %}
66
+ {% if is != '' %}
67
+ <h6>Items</h6>
68
+ <ul>
69
+ {% for item in house.items %}
70
+ <li><strong>{{ item.name }}:</strong> {{ item.desc }}</li>
71
+ {% endfor %}
72
+ </ul>
73
+ {% endif %}
74
+ </div>
75
+ {% endfor %}
76
+ {% endif %}
77
+
78
+ {% endif %}
79
+ </div>
80
+
81
+ <div class="five columns">
82
+ <blockquote class="meta">
83
+ <h5>{{ page.settlement.name | default: 'Settlement Name' }}</h5>
84
+ <p class="subtitle">{{ page.settlement.size | default: 'Small City' }}</p>
85
+
86
+ <p><strong>Size:</strong> {{ page.settlement.size }}</p>
87
+ <p><strong>Demographics:</strong> {% for race in page.settlement.demographics %}{{ race.percent }}% {{ race.race }}{% unless forloop.last %}, {% endunless %}{% endfor %}</p>
88
+ <p><strong>Population:</strong> {{ page.settlement.population | pretty_number }} souls</p>
89
+ <p><strong>Wealth:</strong> {{ page.settlement.wealth | pretty_number }} gp</p>
90
+ <p><strong>GP Limit:</strong> {{ page.settlement.gp-limit | pretty_number }} gp</p>
91
+
92
+ {% assign: cs = page.settlement.centres | join: '' %}
93
+ {% if cs != '' %}
94
+ <h6>Ruling</h6>
95
+ <ul>
96
+ {% for centre in page.settlement.centres %}
97
+ <li><strong>{{ centre.name }}:</strong> {{ centre.type }} ({{ centre.align | abbr_align }})</li>
98
+ {% endfor %}
99
+ </ul>
100
+ {% endif %}
101
+
102
+ {% assign: as = page.settlement.authorities | join: '' %}
103
+ {% if as != '' %}
104
+ <h6>Authorities</h6>
105
+ <ul>
106
+ {% for authority in page.settlement.authorities %}
107
+ <li><strong>{{ authority.name }}:</strong> {{ authority.title }}, {{ authority.level | ordinal }}-level {{ authority.class }}</li>
108
+ {% endfor %}
109
+ </ul>
110
+ {% endif %}
111
+
112
+ {% assign: ds = page.demographics | join: '' %}
113
+ {% if ds != '' %}
114
+ <h6>Demographics</h6>
115
+
116
+ <details>
117
+ <summary>Overview</summary>
118
+ <ul>
119
+ <li><strong>Nobles:</strong> {{ page.demographics.overview.nobles | pretty_number }}</li>
120
+ <li><strong>Officers:</strong> {{ page.demographics.overview.officers | pretty_number }}</li>
121
+ <li><strong>Clergy:</strong> {{ page.demographics.overview.clergy | pretty_number }}</li>
122
+ <li><strong>Freeholders:</strong> {{ page.demographics.overview.freeholders | pretty_number }}</li>
123
+ <li><strong>Citizens:</strong> {{ page.demographics.overview.citizens | pretty_number }}</li>
124
+ <li><strong>Hirelings:</strong> {{ page.demographics.overview.hirelings | pretty_number }}</li>
125
+ </ul>
126
+ </details>
127
+
128
+ <details>
129
+ <summary>Nobility</summary>
130
+ <p><strong>Ruling House</strong></p>
131
+ <ul>
132
+ <li><strong>Nobles:</strong> {{ page.demographics.ruling-house.nobles | pretty_number }}</li>
133
+ <li><strong>Relatives:</strong> {{ page.demographics.ruling-house.relatives | pretty_number }}</li>
134
+ <li><strong>Servants:</strong> {{ page.demographics.ruling-house.servants | pretty_number }}</li>
135
+ <li><strong>Guards:</strong> {{ page.demographics.ruling-house.guards | pretty_number }}</li>
136
+ <li><strong>Serjaants:</strong> {{ page.demographics.ruling-house.serjaants | pretty_number }}</li>
137
+ </ul>
138
+ <p><strong>Other Noble Houses</strong></p>
139
+ <ul>
140
+ <li><strong>Houses:</strong> {{ page.demographics.other-houses.houses | pretty_number }}</li>
141
+ <li><strong>Population:</strong> {{ page.demographics.other-houses.population | pretty_number }}</li>
142
+ </ul>
143
+ </details>
144
+
145
+ <details>
146
+ <summary>Officers</summary>
147
+ <ul>
148
+ <li><strong>Reeves:</strong> {{ page.demographics.officers.reeves | pretty_number }}</li>
149
+ <li><strong>Messors:</strong> {{ page.demographics.officers.messors | pretty_number }}</li>
150
+ <li><strong>Woodwards:</strong> {{ page.demographics.officers.woodwards | pretty_number }}</li>
151
+ <li><strong>Constables:</strong> {{ page.demographics.officers.constables | pretty_number }}</li>
152
+ <li><strong>Guards:</strong> {{ page.demographics.officers.guards | pretty_number }}</li>
153
+ </ul>
154
+ </details>
155
+
156
+ <details>
157
+ <summary>Clergy</summary>
158
+ <ul>
159
+ <li><strong>Clerics:</strong> {{ page.demographics.clergy.clerics | pretty_number }}</li>
160
+ <li><strong>Priests:</strong> {{ page.demographics.clergy.priests | pretty_number }}</li>
161
+ </ul>
162
+ </details>
163
+
164
+ <details>
165
+ <summary>Freeholders</summary>
166
+ <ul>
167
+ {% if page.demographics.freeholders.adventures != 0 and page.demographics.freeholders.adventures != '' %}
168
+ <li><strong>Adventures:</strong> {{ page.demographics.freeholders.adventures | pretty_number }}</li>
169
+ {% endif %}
170
+ {% if page.demographics.freeholders.apothecaries != 0 and page.demographics.freeholders.apothecaries != '' %}
171
+ <li><strong>Apothecaries:</strong> {{ page.demographics.freeholders.apothecaries | pretty_number }}</li>
172
+ {% endif %}
173
+ {% if page.demographics.freeholders.armourers != 0 and page.demographics.freeholders.armourers != '' %}
174
+ <li><strong>Armourers&ast;:</strong> {{ page.demographics.freeholders.armourers | pretty_number }}</li>
175
+ {% endif %}
176
+ {% if page.demographics.freeholders.artists != 0 and page.demographics.freeholders.artists != '' %}
177
+ <li><strong>Artists:</strong> {{ page.demographics.freeholders.artists | pretty_number }}</li>
178
+ {% endif %}
179
+ {% if page.demographics.freeholders.butchers != 0 and page.demographics.freeholders.butchers != '' %}
180
+ <li><strong>Butchers&ast;:</strong> {{ page.demographics.freeholders.butchers | pretty_number }}</li>
181
+ {% endif %}
182
+ {% if page.demographics.freeholders.chandlers != 0 and page.demographics.freeholders.chandlers != '' %}
183
+ <li><strong>Chandlers:</strong> {{ page.demographics.freeholders.chandlers | pretty_number }}</li>
184
+ {% endif %}
185
+ {% if page.demographics.freeholders.charcoalers != 0 and page.demographics.freeholders.charcoalers != '' %}
186
+ <li><strong>Charcoalers:</strong> {{ page.demographics.freeholders.charcoalers | pretty_number }}</li>
187
+ {% endif %}
188
+ {% if page.demographics.freeholders.cobblers != 0 and page.demographics.freeholders.cobblers != '' %}
189
+ <li><strong>Cobblers:</strong> {{ page.demographics.freeholders.cobblers | pretty_number }}</li>
190
+ {% endif %}
191
+ {% if page.demographics.freeholders.entertainers != 0 and page.demographics.freeholders.entertainers != '' %}
192
+ <li><strong>Entertainers:</strong> {{ page.demographics.freeholders.entertainers | pretty_number }}</li>
193
+ {% endif %}
194
+ {% if page.demographics.freeholders.foresters != 0 and page.demographics.freeholders.foresters != '' %}
195
+ <li><strong>Foresters:</strong> {{ page.demographics.freeholders.foresters | pretty_number }}</li>
196
+ {% endif %}
197
+ {% if page.demographics.freeholders.furriers != 0 and page.demographics.freeholders.furriers != '' %}
198
+ <li><strong>Furriers:</strong> {{ page.demographics.freeholders.furriers | pretty_number }}</li>
199
+ {% endif %}
200
+ {% if page.demographics.freeholders.glassworkers != 0 and page.demographics.freeholders.glassworkers != '' %}
201
+ <li><strong>Glassworkers:</strong> {{ page.demographics.freeholders.glassworkers | pretty_number }}</li>
202
+ {% endif %}
203
+ {% if page.demographics.freeholders.innkeepers != 0 and page.demographics.freeholders.innkeepers != '' %}
204
+ <li><strong>Innkeepers:</strong> {{ page.demographics.freeholders.innkeepers | pretty_number }}</li>
205
+ {% endif %}
206
+ {% if page.demographics.freeholders.jewelers != 0 and page.demographics.freeholders.jewelers != '' %}
207
+ <li><strong>Jewelers:</strong> {{ page.demographics.freeholders.jewelers | pretty_number }}</li>
208
+ {% endif %}
209
+ {% if page.demographics.freeholders.litigants != 0 and page.demographics.freeholders.litigants != '' %}
210
+ <li><strong>Litigants:</strong> {{ page.demographics.freeholders.litigants | pretty_number }}</li>
211
+ {% endif %}
212
+ {% if page.demographics.freeholders.locksmiths != 0 and page.demographics.freeholders.locksmiths != '' %}
213
+ <li><strong>Locksmiths:</strong> {{ page.demographics.freeholders.locksmiths | pretty_number }}</li>
214
+ {% endif %}
215
+ {% if page.demographics.freeholders.masons != 0 and page.demographics.freeholders.masons != '' %}
216
+ <li><strong>Masons:</strong> {{ page.demographics.freeholders.masons | pretty_number }}</li>
217
+ {% endif %}
218
+ {% if page.demographics.freeholders.metalsmiths != 0 and page.demographics.freeholders.metalsmiths != '' %}
219
+ <li><strong>Metalsmiths&ast;:</strong> {{ page.demographics.freeholders.metalsmiths | pretty_number }}</li>
220
+ {% endif %}
221
+ {% if page.demographics.freeholders.bakers != 0 and page.demographics.freeholders.bakers != '' %}
222
+ <li><strong>Bakers&ast;:</strong> {{ page.demographics.freeholders.bakers | pretty_number }}</li>
223
+ {% endif %}
224
+ {% if page.demographics.freeholders.ostlers != 0 and page.demographics.freeholders.ostlers != '' %}
225
+ <li><strong>Ostlers&ast;:</strong> {{ page.demographics.freeholders.ostlers | pretty_number }}</li>
226
+ {% endif %}
227
+ {% if page.demographics.freeholders.outfitters != 0 and page.demographics.freeholders.outfitters != '' %}
228
+ <li><strong>Outfitters:</strong> {{ page.demographics.freeholders.outfitters | pretty_number }}</li>
229
+ {% endif %}
230
+ {% if page.demographics.freeholders.physicians != 0 and page.demographics.freeholders.physicians != '' %}
231
+ <li><strong>Physicians:</strong> {{ page.demographics.freeholders.physicians | pretty_number }}</li>
232
+ {% endif %}
233
+ {% if page.demographics.freeholders.potters != 0 and page.demographics.freeholders.potters != '' %}
234
+ <li><strong>Potters:</strong> {{ page.demographics.freeholders.potters | pretty_number }}</li>
235
+ {% endif %}
236
+ {% if page.demographics.freeholders.roofers != 0 and page.demographics.freeholders.roofers != '' %}
237
+ <li><strong>Roofers:</strong> {{ page.demographics.freeholders.roofers | pretty_number }}</li>
238
+ {% endif %}
239
+ {% if page.demographics.freeholders.ropemakers != 0 and page.demographics.freeholders.ropemakers != '' %}
240
+ <li><strong>Ropemakers:</strong> {{ page.demographics.freeholders.ropemakers | pretty_number }}</li>
241
+ {% endif %}
242
+ {% if page.demographics.freeholders.sages != 0 and page.demographics.freeholders.sages != '' %}
243
+ <li><strong>Sages:</strong> {{ page.demographics.freeholders.sages | pretty_number }}</li>
244
+ {% endif %}
245
+ {% if page.demographics.freeholders.salters != 0 and page.demographics.freeholders.salters != '' %}
246
+ <li><strong>Salters&ast;:</strong> {{ page.demographics.freeholders.salters | pretty_number }}</li>
247
+ {% endif %}
248
+ {% if page.demographics.freeholders.scribes != 0 and page.demographics.freeholders.scribes != '' %}
249
+ <li><strong>Scribes:</strong> {{ page.demographics.freeholders.scribes | pretty_number }}</li>
250
+ {% endif %}
251
+ {% if page.demographics.freeholders.shipwrights != 0 and page.demographics.freeholders.shipwrights != '' %}
252
+ <li><strong>Shipwrights&ast;:</strong> {{ page.demographics.freeholders.shipwrights | pretty_number }}</li>
253
+ {% endif %}
254
+ {% if page.demographics.freeholders.tailors != 0 and page.demographics.freeholders.tailors != '' %}
255
+ <li><strong>Tailors:</strong> {{ page.demographics.freeholders.tailors | pretty_number }}</li>
256
+ {% endif %}
257
+ {% if page.demographics.freeholders.tanners != 0 and page.demographics.freeholders.tanners != '' %}
258
+ <li><strong>Tanners&ast;:</strong> {{ page.demographics.freeholders.tanners | pretty_number }}</li>
259
+ {% endif %}
260
+ {% if page.demographics.freeholders.taverners != 0 and page.demographics.freeholders.taverners != '' %}
261
+ <li><strong>Taverners:</strong> {{ page.demographics.freeholders.taverners | pretty_number }}</li>
262
+ {% endif %}
263
+ {% if page.demographics.freeholders.teamsters != 0 and page.demographics.freeholders.teamsters != '' %}
264
+ <li><strong>Teamsters:</strong> {{ page.demographics.freeholders.teamsters | pretty_number }}</li>
265
+ {% endif %}
266
+ {% if page.demographics.freeholders.timberwrights != 0 and page.demographics.freeholders.timberwrights != '' %}
267
+ <li><strong>Timberwrights&ast;:</strong> {{ page.demographics.freeholders.timberwrights | pretty_number }}</li>
268
+ {% endif %}
269
+ {% if page.demographics.freeholders.tinkers != 0 and page.demographics.freeholders.tinkers != '' %}
270
+ <li><strong>Tinkers:</strong> {{ page.demographics.freeholders.tinkers | pretty_number }}</li>
271
+ {% endif %}
272
+ {% if page.demographics.freeholders.vintners != 0 and page.demographics.freeholders.vintners != '' %}
273
+ <li><strong>Vintners:</strong> {{ page.demographics.freeholders.vintners | pretty_number }}</li>
274
+ {% endif %}
275
+ {% if page.demographics.freeholders.weaponcrafters != 0 and page.demographics.freeholders.weaponcrafters != '' %}
276
+ <li><strong>Weaponcrafters&ast;:</strong> {{ page.demographics.freeholders.weaponcrafters | pretty_number }}</li>
277
+ {% endif %}
278
+ {% if page.demographics.freeholders.weavers != 0 and page.demographics.freeholders.weavers != '' %}
279
+ <li><strong>Weavers:</strong> {{ page.demographics.freeholders.weavers | pretty_number }}</li>
280
+ {% endif %}
281
+ {% if page.demographics.freeholders.woodcrafters != 0 and page.demographics.freeholders.woodcrafters != '' %}
282
+ <li><strong>Woodcrafters:</strong> {{ page.demographics.freeholders.woodcrafters | pretty_number }}</li>
283
+ {% endif %}
284
+ {% if page.demographics.freeholders.yeomen != 0 and page.demographics.freeholders.yeomen != '' %}
285
+ <li><strong>Yeomen:</strong> {{ page.demographics.freeholders.yeomen | pretty_number }}</li>
286
+ {% endif %}
287
+ </ul>
288
+ <p>Freeholders typically live in the same building as their shop, unless marked with an asterisk (&ast;), in which case their dwelling is separate from their place of business.</p>
289
+ </details>
290
+
291
+ <details>
292
+ <summary>Buildings</summary>
293
+ <ul>
294
+ <li><strong>Mansions:</strong> {{ page.demographics.buildings.mansions | pretty_number }}</li>
295
+ <li><strong>Churches:</strong> {{ page.demographics.buildings.churches | pretty_number }}</li>
296
+ <li><strong>Businesses:</strong> {{ page.demographics.buildings.businesses | pretty_number }}</li>
297
+ <li><strong>Municipal:</strong> {{ page.demographics.buildings.municipal | pretty_number }}</li>
298
+ <li><strong>Homes:</strong> {{ page.demographics.buildings.homes | pretty_number }}</li>
299
+ <li><strong>Total:</strong> {{ page.demographics.buildings.total | pretty_number }}</li>
300
+ </ul>
301
+ </details>
302
+ {% endif %}
303
+ </blockquote>
304
+ </div>
@@ -0,0 +1,44 @@
1
+ ---
2
+ layout: default
3
+ ---
4
+
5
+ <div class="spell header">
6
+ <h1>{{ page.title | default: 'Spell' }}</h1>
7
+ <p class="meta">{{ page.author | default: 'Unknown' }} &bull; {{ page.date | default: '1938-07-27' | date: '%A, %B %e, %Y' }}</p>
8
+ <!-- -->
9
+ <div>
10
+ {% assign: descs = page.spell.descriptor | join: '' %}
11
+ <p>{{ page.spell.school }}{% if page.spell.subschool != '' %} ({{ page.spell.subschool }}){% endif %}{% if descs != '' %} [{{ page.spell.descriptor | join: ', ' }}]{% endif %}</p>
12
+
13
+ <p><strong>Level:</strong> {{ page.spell.level | join: ', ' }}</p>
14
+ <p><strong>Components:</strong> {{ page.spell.components.list | join: ', ' }}</p>
15
+ <p><strong>Casting Time:</strong> {{ page.spell.cast-time | default: '1 standard action' }}</p>
16
+ <p><strong>Range:</strong> {{ page.spell.range | default: 'Touch' }}</p>
17
+ <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>
21
+ </div>
22
+ </div>
23
+
24
+ {{ content }}
25
+
26
+ <div class="spell components">
27
+ <!-- Material Components, if applicable -->
28
+ {% if page.spell.components.material != '' %}
29
+ <h6>Material Component</h6>
30
+ <p>{{ page.spell.components.material }}</p>
31
+ {% endif %}
32
+
33
+ <!-- Arcane Focus, if applicable -->
34
+ {% if page.spell.components.focus != '' %}
35
+ <h6>Arcane Focus</h6>
36
+ <p>{{ page.spell.components.focus }}</p>
37
+ {% endif %}
38
+
39
+ <!-- XP Cost, if applicable -->
40
+ {% if page.spell.components.xp != '' %}
41
+ <h6>XP Cost</h6>
42
+ <p>{{ page.spell.components.xp }}</p>
43
+ {% endif %}
44
+ </div>
@@ -0,0 +1,28 @@
1
+ module Jekyll
2
+ module AbbrAlignFilter
3
+ def abbr_align(input)
4
+ case input
5
+ when "Lawful Good"
6
+ return "LG"
7
+ when "Lawful Neutral"
8
+ return "LN"
9
+ when "Lawful Evil"
10
+ return "LE"
11
+ when "Neutral Good"
12
+ return "NG"
13
+ when "Neutral Evil"
14
+ return "NE"
15
+ when "Chaotic Good"
16
+ return "CG"
17
+ when "Chaotic Neutral"
18
+ return "CN"
19
+ when "Chaotic Evil"
20
+ return "CE"
21
+ else
22
+ return "N"
23
+ end
24
+ end
25
+ end
26
+ end
27
+
28
+ Liquid::Template.register_filter(Jekyll::AbbrAlignFilter)
@@ -0,0 +1,10 @@
1
+ module Jekyll
2
+ module AbilityModFilter
3
+ def ability(input)
4
+ mod = (input - 10) / 2
5
+ return input.to_s + " (" + (mod < 0 ? mod.to_s : "+" + mod.to_s) + ")"
6
+ end
7
+ end
8
+ end
9
+
10
+ Liquid::Template.register_filter(Jekyll::AbilityModFilter)
@@ -0,0 +1,9 @@
1
+ module Jekyll
2
+ module AddSignFilter
3
+ def add_sign(input)
4
+ return input < 0 ? input.to_s : "+" + input.to_s
5
+ end
6
+ end
7
+ end
8
+
9
+ Liquid::Template.register_filter(Jekyll::AddSignFilter)
@@ -0,0 +1,11 @@
1
+ module Jekyll
2
+ module ArticulateFilter
3
+ def articulate(input, capital = false)
4
+ art = (/^[AEIOUY].+/.match?(input) ? 'an' : 'a')
5
+ if capital then art.capitalize! end
6
+ return art + " " + input
7
+ end
8
+ end
9
+ end
10
+
11
+ Liquid::Template.register_filter(Jekyll::ArticulateFilter)
@@ -0,0 +1,9 @@
1
+ module Jekyll
2
+ module PrettyNumberFilter
3
+ def pretty_number(input)
4
+ return input.to_s.reverse.gsub(/(\d{3})(?=\d)/, '\\1,').reverse
5
+ end
6
+ end
7
+ end
8
+
9
+ Liquid::Template.register_filter(Jekyll::PrettyNumberFilter)
@@ -0,0 +1,21 @@
1
+ module Jekyll
2
+ module OrdinalFilter
3
+ def ordinal(input)
4
+ ending = ''
5
+ case input % 100
6
+ when 11, 12, 13 then ending = 'th'
7
+ else
8
+ case input % 10
9
+ when 1 then ending = 'st'
10
+ when 2 then ending = 'nd'
11
+ when 3 then ending = 'rd'
12
+ else ending = 'th'
13
+ end
14
+ end
15
+
16
+ return input.to_s + ending
17
+ end
18
+ end
19
+ end
20
+
21
+ Liquid::Template.register_filter(Jekyll::OrdinalFilter)
@@ -0,0 +1,9 @@
1
+ module Jekyll
2
+ module PluralizeFilter
3
+ def pluralize(input, singular, plural)
4
+ return input.to_s + " " + (input == 1.abs ? singular.to_s : plural.to_s)
5
+ end
6
+ end
7
+ end
8
+
9
+ Liquid::Template.register_filter(Jekyll::PluralizeFilter)
data/assets/404.png ADDED
Binary file
Binary file
Binary file
Binary file
@@ -0,0 +1,12 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <browserconfig>
3
+ <msapplication>
4
+ <tile>
5
+ <square70x70logo src="assets/favicon/mstile-70x70.png"/>
6
+ <square150x150logo src="assets/favicon/mstile-150x150.png"/>
7
+ <square310x310logo src="assets/favicon/mstile-310x310.png"/>
8
+ <wide310x150logo src="assets/favicon/mstile-310x150.png"/>
9
+ <TileColor>#922610</TileColor>
10
+ </tile>
11
+ </msapplication>
12
+ </browserconfig>
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
@@ -0,0 +1,133 @@
1
+ <?xml version="1.0" standalone="no"?>
2
+ <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20010904//EN"
3
+ "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
4
+ <svg version="1.0" xmlns="http://www.w3.org/2000/svg"
5
+ width="1067.000000pt" height="1067.000000pt" viewBox="0 0 1067.000000 1067.000000"
6
+ preserveAspectRatio="xMidYMid meet">
7
+ <metadata>
8
+ Created by potrace 1.11, written by Peter Selinger 2001-2013
9
+ </metadata>
10
+ <g transform="translate(0.000000,1067.000000) scale(0.100000,-0.100000)"
11
+ fill="#000000" stroke="none">
12
+ <path d="M5305 10639 c-82 -10 -98 -14 -158 -43 -43 -21 -347 -193 -397 -226
13
+ -8 -5 -51 -30 -95 -55 -44 -25 -87 -50 -95 -55 -13 -9 -119 -69 -235 -135 -22
14
+ -13 -80 -47 -130 -76 -49 -29 -117 -68 -150 -86 -33 -19 -67 -38 -75 -43 -8
15
+ -6 -55 -33 -105 -61 -49 -28 -103 -59 -120 -69 -16 -10 -64 -37 -105 -60 -41
16
+ -23 -111 -64 -155 -90 -91 -54 -737 -427 -775 -447 -14 -8 -43 -25 -65 -39
17
+ -22 -13 -47 -27 -55 -31 -8 -4 -31 -16 -50 -28 -19 -12 -55 -33 -80 -47 -25
18
+ -14 -157 -90 -295 -170 -137 -80 -263 -153 -280 -162 -16 -9 -37 -21 -45 -26
19
+ -8 -5 -114 -66 -235 -136 -121 -69 -249 -143 -285 -164 -36 -21 -119 -69 -185
20
+ -107 -66 -38 -156 -90 -200 -116 -145 -83 -209 -162 -240 -293 -9 -40 -12
21
+ -629 -12 -2540 0 -2302 1 -2494 17 -2550 36 -134 90 -193 268 -297 169 -99
22
+ 390 -226 427 -246 17 -9 31 -19 33 -23 2 -5 8 -8 12 -8 7 0 309 -171 370 -210
23
+ 14 -8 95 -55 175 -100 17 -10 70 -41 118 -69 49 -28 91 -51 93 -51 3 0 10 -5
24
+ 17 -10 21 -18 127 -79 127 -73 0 3 8 -1 18 -9 9 -9 64 -42 122 -75 58 -33 179
25
+ -103 270 -155 91 -53 181 -105 200 -115 19 -11 90 -52 157 -92 68 -39 127 -71
26
+ 133 -71 5 0 10 -4 10 -10 0 -5 4 -10 9 -10 5 0 70 -36 146 -80 76 -44 139 -80
27
+ 141 -80 2 0 34 -19 71 -41 38 -23 131 -78 208 -122 77 -44 154 -87 170 -97 17
28
+ -10 70 -41 118 -69 49 -28 93 -51 98 -51 5 0 9 -3 9 -8 0 -4 15 -13 33 -21 17
29
+ -8 34 -17 37 -21 4 -4 203 -119 305 -176 11 -6 44 -25 73 -42 29 -18 57 -32
30
+ 62 -32 4 0 10 -3 12 -7 3 -7 237 -144 382 -223 112 -62 213 -74 329 -39 32 10
31
+ 149 70 260 135 111 64 217 125 235 136 18 10 225 129 460 265 235 136 452 260
32
+ 482 277 30 16 57 32 60 35 3 3 14 11 25 17 65 36 300 170 375 214 63 38 218
33
+ 127 230 133 8 4 30 16 48 27 29 18 227 132 522 302 47 26 92 53 100 57 33 20
34
+ 307 178 354 204 28 16 68 39 88 53 21 13 40 24 43 24 2 0 33 17 67 38 35 21
35
+ 88 52 118 69 30 17 96 54 145 83 50 29 110 64 135 78 25 13 50 28 55 32 6 5
36
+ 30 19 55 32 25 14 86 48 135 77 118 70 139 81 210 121 168 93 228 143 278 232
37
+ 57 102 54 -18 52 2668 -1 2339 -2 2478 -19 2535 -39 131 -88 187 -251 282 -91
38
+ 53 -317 184 -345 199 -19 10 -36 22 -38 27 -2 4 -8 7 -13 7 -5 0 -100 53 -211
39
+ 118 -112 65 -230 133 -263 151 -33 18 -64 36 -70 41 -9 6 -425 247 -530 305
40
+ -22 13 -98 57 -169 99 -70 42 -130 76 -133 76 -3 0 -35 18 -70 40 -35 23 -74
41
+ 45 -86 51 -12 5 -31 15 -42 22 -122 74 -216 127 -224 127 -6 0 -11 5 -11 10 0
42
+ 6 -4 10 -9 10 -5 0 -70 36 -145 80 -76 44 -139 80 -142 80 -3 0 -29 15 -57 33
43
+ -47 30 -130 78 -377 220 -47 26 -92 52 -100 57 -45 28 -293 170 -296 170 -3 0
44
+ -21 11 -42 24 -30 19 -388 226 -542 314 -19 11 -94 54 -166 95 -155 90 -238
45
+ 117 -329 106z m-385 -1763 l0 -634 -1101 0 -1100 0 58 34 c32 19 65 39 73 44
46
+ 8 5 80 46 159 92 80 46 165 95 190 110 25 15 57 33 71 41 60 33 391 224 650
47
+ 375 118 69 229 133 245 142 93 52 131 73 235 134 63 36 122 70 130 76 8 5 62
48
+ 36 120 69 58 34 139 81 180 105 41 24 78 45 83 45 4 1 7 -284 7 -633z m1069
49
+ 499 c128 -74 235 -135 237 -135 3 0 23 -12 47 -27 48 -31 64 -41 127 -73 25
50
+ -13 47 -27 50 -30 3 -4 30 -20 60 -35 30 -16 62 -34 70 -41 8 -6 38 -24 65
51
+ -38 28 -15 57 -31 65 -36 81 -50 224 -130 231 -130 5 0 9 -3 9 -8 0 -4 21 -17
52
+ 48 -30 26 -13 76 -41 112 -63 36 -22 74 -44 85 -49 11 -6 27 -14 35 -20 24
53
+ -15 149 -88 405 -235 132 -76 257 -148 279 -160 l38 -23 -1101 0 -1101 0 0 31
54
+ c-4 263 -4 1237 0 1237 3 0 111 -61 239 -135z m-1369 -1964 c0 -3 -16 -32 -35
55
+ -64 -19 -32 -35 -59 -35 -61 0 -2 -22 -42 -50 -90 -28 -48 -50 -89 -50 -92 0
56
+ -3 -8 -17 -19 -32 -17 -24 -131 -225 -187 -327 -12 -22 -54 -96 -93 -164 -39
57
+ -68 -71 -126 -71 -127 0 -2 -13 -25 -29 -52 -31 -52 -39 -67 -161 -282 -46
58
+ -80 -93 -164 -106 -187 -13 -23 -62 -111 -110 -195 -215 -379 -253 -446 -279
59
+ -493 -16 -27 -53 -93 -83 -145 -31 -52 -60 -105 -66 -117 -6 -13 -13 -23 -16
60
+ -23 -3 0 -51 80 -106 178 -56 97 -144 249 -195 337 -50 88 -103 180 -117 205
61
+ -14 25 -42 74 -64 109 -21 34 -38 64 -38 66 0 2 -36 64 -80 139 -44 76 -80
62
+ 141 -80 146 0 6 -4 10 -10 10 -5 0 -10 4 -10 9 0 5 -23 49 -51 98 -28 48 -59
63
+ 102 -69 118 -9 17 -50 88 -91 158 -41 70 -83 144 -95 165 -11 20 -55 98 -99
64
+ 172 -43 74 -87 151 -98 170 -11 19 -28 49 -38 65 -11 17 -22 37 -26 45 -4 8
65
+ -26 48 -50 88 -24 40 -43 77 -43 81 0 5 -3 11 -7 13 -5 2 -18 22 -31 45 l-22
66
+ 41 1405 0 c773 0 1405 -3 1405 -7z m3968 -70 c-22 -42 -53 -98 -68 -126 -34
67
+ -62 -82 -150 -128 -235 -39 -72 -61 -114 -149 -275 -33 -60 -82 -150 -108
68
+ -200 -26 -49 -51 -94 -55 -100 -4 -5 -29 -50 -55 -100 -52 -97 -92 -171 -135
69
+ -250 -15 -27 -43 -79 -62 -115 -84 -156 -113 -208 -144 -263 -19 -32 -34 -60
70
+ -34 -62 0 -2 -57 -109 -127 -237 -69 -128 -143 -264 -164 -303 -21 -38 -41
71
+ -69 -46 -69 -4 1 -23 30 -41 65 -18 35 -73 138 -121 229 -49 91 -108 201 -131
72
+ 245 -23 44 -57 107 -75 140 -18 33 -54 101 -80 150 -26 50 -60 113 -75 140
73
+ -15 28 -44 84 -66 125 -21 41 -41 77 -44 80 -3 3 -17 30 -32 60 -15 30 -51
74
+ 100 -81 155 -29 55 -75 141 -101 190 -27 50 -65 122 -86 160 -94 175 -115 215
75
+ -158 295 -24 47 -63 119 -85 160 -22 41 -57 107 -78 146 l-37 71 1304 1 1304
76
+ 0 -42 -77z m-3213 -466 c48 -91 93 -175 164 -307 51 -97 108 -203 166 -313 26
77
+ -49 96 -180 155 -290 59 -110 135 -254 170 -320 34 -66 71 -133 80 -150 10
78
+ -16 41 -75 70 -130 29 -55 65 -122 80 -150 26 -47 52 -96 165 -310 26 -49 60
79
+ -112 75 -140 15 -27 44 -83 65 -123 20 -39 41 -75 46 -78 5 -3 7 -9 4 -14 -3
80
+ -4 2 -13 10 -20 8 -7 15 -16 15 -20 0 -4 -610 -8 -1355 -8 -745 1 -1355 3
81
+ -1355 7 0 3 8 20 18 36 10 17 38 66 62 110 24 44 63 113 87 153 24 41 43 75
82
+ 43 76 0 2 38 70 85 151 47 82 85 150 85 151 0 2 32 57 70 123 39 66 70 124 70
83
+ 130 0 6 3 11 8 11 4 0 15 17 25 38 10 20 31 60 48 87 16 28 35 62 40 78 6 15
84
+ 15 27 20 27 5 0 9 4 9 9 0 5 84 157 187 337 102 181 197 349 211 374 13 25 41
85
+ 74 62 110 98 170 192 335 234 415 17 32 28 47 30 43 2 -2 24 -43 51 -93z
86
+ m3782 -1759 l0 -1545 -36 19 c-20 10 -72 39 -116 65 -44 27 -93 56 -110 65
87
+ -16 10 -76 45 -133 79 -57 33 -108 61 -113 61 -5 0 -9 5 -9 10 0 6 -4 10 -9
88
+ 10 -5 0 -77 41 -160 90 -84 50 -156 90 -161 90 -4 0 -10 4 -12 8 -1 5 -28 22
89
+ -58 39 -97 54 -209 120 -222 130 -7 6 -37 23 -66 38 -29 15 -55 31 -58 36 -4
90
+ 7 70 158 96 194 4 6 33 60 65 120 32 61 67 126 78 145 11 19 42 78 70 130 27
91
+ 52 59 107 69 123 11 15 16 27 13 27 -3 0 2 12 13 28 17 25 99 175 161 297 14
92
+ 28 29 52 34 53 4 2 7 7 7 11 0 5 36 74 80 154 44 80 80 149 80 152 0 3 11 22
93
+ 23 43 13 20 54 96 92 167 37 72 73 137 80 145 6 8 26 44 44 80 17 36 40 79 50
94
+ 95 10 17 43 77 73 135 31 58 72 134 92 168 20 35 36 68 36 73 0 5 2 9 3 9 2 0
95
+ 4 -695 4 -1544z m-7454 834 c71 -124 141 -245 155 -270 14 -25 81 -142 150
96
+ -260 68 -118 136 -235 150 -260 14 -25 90 -157 168 -293 79 -136 144 -250 144
97
+ -253 0 -3 5 -10 10 -17 6 -7 53 -86 105 -177 104 -183 103 -163 15 -212 -25
98
+ -14 -90 -52 -145 -85 -111 -66 -386 -228 -425 -250 -14 -8 -43 -25 -65 -38
99
+ -22 -14 -71 -43 -110 -65 -38 -22 -77 -45 -85 -50 -8 -6 -64 -39 -125 -75 -60
100
+ -35 -116 -69 -122 -75 -10 -9 -13 7 -13 72 -1 168 -1 2594 0 2618 0 21 6 16
101
+ 31 -30 18 -30 90 -156 162 -280z m4845 -2368 c-28 -54 -59 -110 -68 -127 -9
102
+ -16 -38 -70 -65 -120 -26 -49 -56 -103 -65 -120 -10 -16 -37 -66 -60 -110 -24
103
+ -44 -57 -105 -73 -135 -16 -30 -59 -109 -95 -175 -35 -66 -78 -145 -95 -175
104
+ -17 -30 -45 -80 -61 -112 -17 -31 -44 -80 -60 -110 -16 -29 -60 -111 -99 -183
105
+ -79 -147 -117 -218 -157 -290 -15 -27 -45 -81 -65 -120 -198 -367 -258 -475
106
+ -264 -475 -4 0 -19 24 -35 53 -15 28 -52 95 -83 147 -30 52 -63 109 -73 126
107
+ -10 17 -71 123 -136 235 -64 112 -125 218 -135 234 -10 17 -23 39 -29 50 -5
108
+ 11 -22 41 -37 68 -75 129 -539 933 -672 1164 -83 145 -151 264 -151 267 0 2
109
+ 592 4 1315 4 l1315 0 -52 -96z m1247 -171 c16 -9 32 -19 35 -22 3 -3 64 -39
110
+ 135 -80 72 -40 132 -76 135 -79 3 -3 67 -42 143 -85 76 -44 150 -88 165 -97
111
+ 15 -10 36 -22 48 -27 18 -8 73 -41 149 -88 11 -7 37 -22 58 -33 20 -11 37 -24
112
+ 37 -29 0 -8 -49 -39 -135 -86 -11 -6 -96 -56 -190 -110 -380 -220 -504 -291
113
+ -580 -334 -44 -24 -81 -48 -83 -53 -2 -4 -8 -8 -13 -8 -8 0 -449 -249 -459
114
+ -260 -3 -3 -14 -10 -25 -16 -87 -46 -281 -160 -283 -166 -2 -5 -8 -8 -13 -8
115
+ -6 0 -48 -23 -95 -50 -47 -28 -89 -50 -94 -50 -6 0 -10 -4 -10 -8 0 -5 -16
116
+ -14 -35 -22 -19 -8 -35 -17 -35 -22 0 -4 -4 -8 -10 -8 -5 0 -33 -14 -62 -31
117
+ -29 -18 -69 -41 -88 -52 -19 -10 -55 -31 -79 -45 l-43 -25 42 79 c24 43 49 88
118
+ 55 99 7 11 33 58 57 105 25 47 73 137 108 200 78 144 105 193 219 405 50 94
119
+ 96 177 101 185 6 8 19 33 30 55 10 22 26 51 34 65 20 32 151 272 205 375 23
120
+ 44 50 94 60 110 10 17 35 64 56 105 21 41 45 83 53 93 8 9 12 17 8 17 -4 0 1
121
+ 12 12 28 10 15 33 55 51 88 l33 62 136 -81 c75 -44 150 -87 167 -96z m-4520
122
+ -193 c77 -133 143 -244 147 -246 5 -2 8 -7 8 -12 0 -8 171 -309 351 -617 49
123
+ -84 101 -174 116 -200 23 -43 59 -106 225 -391 26 -46 48 -88 48 -93 0 -5 5
124
+ -9 10 -9 6 0 10 -6 10 -14 0 -7 7 -19 15 -26 9 -7 13 -15 10 -18 -3 -3 3 -14
125
+ 12 -25 18 -19 17 -20 -7 -6 -14 8 -32 19 -40 25 -8 6 -40 25 -70 41 -30 17
126
+ -116 65 -190 108 -172 100 -554 321 -600 347 -19 11 -64 37 -100 58 -36 21
127
+ -81 47 -100 58 -83 47 -476 273 -490 282 -28 17 -125 73 -165 95 -22 12 -102
128
+ 59 -179 104 -76 44 -139 81 -141 81 -2 0 -32 17 -66 38 -35 21 -76 44 -91 51
129
+ -16 8 -28 17 -28 20 0 5 58 40 214 130 63 36 427 251 461 272 17 10 39 23 50
130
+ 28 11 5 37 21 58 35 21 14 40 26 43 26 3 0 30 16 60 35 30 19 58 35 63 35 4 0
131
+ 19 8 32 19 13 10 53 34 89 54 l65 35 20 -38 c11 -21 83 -148 160 -282z"/>
132
+ </g>
133
+ </svg>