nereare_grimoire 1.13.10 → 1.18.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/LICENSE.md +1 -1
- data/_layouts/adventure.html +9 -1
- data/_layouts/armor.html +17 -7
- data/_layouts/item.html +4 -4
- data/_layouts/monster.html +299 -139
- data/_layouts/settlement.html +9 -3
- data/_layouts/spell.html +44 -13
- data/_layouts/weapon.html +10 -4
- data/_plugins/cr-format.rb +80 -0
- data/assets/css/stats-block.scss +23 -15
- data/assets/css/style.scss +2 -0
- metadata +32 -47
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 964d714a040713d64260467fee4bbac52d3db69336d02b6b2ab1d19df79585f2
|
4
|
+
data.tar.gz: 40d9dd381247affb2057168f14a399fc1010f1c0e128ab22ae196cf6bfcbdff2
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d853ea58983c6abd84d7d86a2b74cadfd859b4edaccd34d5f288249ce5feaea4c3164c7043fb8e081db7fe3d3a18df7d3a5d3990603e3ce7a6f677d8a37f6e40
|
7
|
+
data.tar.gz: bfb1d671e918ba139c1c0c06da38a224610c7dfa898e0f05d6a95b2f721b7959e49f553f1a47a0213bace70ed5b2f26244193beca28d9d82f6da9b0abd5ea0b1
|
data/LICENSE.md
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
# Hippocratic License Version 2.0
|
2
2
|
|
3
|
-
Copyright `2019-
|
3
|
+
Copyright `2019-2022` `Igor Padoim`
|
4
4
|
|
5
5
|
Licensor hereby grants permission by this license ("License"), free of charge, to any person or entity (the "Licensee") obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
|
6
6
|
|
data/_layouts/adventure.html
CHANGED
@@ -15,10 +15,18 @@ layout: default
|
|
15
15
|
<blockquote class="meta">
|
16
16
|
<h5>{{ page.adventure.name | default: 'Adventure Name' }}</h5>
|
17
17
|
<p class="subtitle">An adventure for {{ page.adventure.char-num | default: 4 | pluralize: 'player character', 'player characters' }} of {% if page.adventure.lvl.range %}levels {{ page.adventure.lvl.min | ordinal }} through {{ page.adventure.lvl.max | ordinal }}{% else %}{{ page.adventure.lvl.lvl | ordinal }} level{% endif %}.</p>
|
18
|
+
{% if page.adventure.max-xp %}
|
18
19
|
<p><strong>Max XP:</strong> {{ page.adventure.max-xp | pretty_number }} xp</p>
|
20
|
+
{% endif %}
|
21
|
+
{% if page.adventure.max-gp %}
|
19
22
|
<p><strong>Max Gold:</strong> {{ page.adventure.max-gp | pretty_number }} gp</p>
|
20
|
-
|
23
|
+
{% endif %}
|
24
|
+
{% if page.adventure.encounters %}
|
25
|
+
<p><strong># Encounters:</strong> {{ page.adventure.encounters | pretty_number }}</p>
|
26
|
+
{% endif %}
|
27
|
+
{% if page.adventure.type %}
|
21
28
|
<p><strong>Type:</strong> {{ page.adventure.type }}</p>
|
29
|
+
{% endif %}
|
22
30
|
{% if page.adventure.questline %}
|
23
31
|
<p><strong>Questline:</strong> <em>{{ page.adventure.questline.name }}</em>{% if page.adventure.questline.chapter %}, Chapter {{ page.adventure.questline.chapter }}{% endif %}</p>
|
24
32
|
{% endif %}
|
data/_layouts/armor.html
CHANGED
@@ -15,16 +15,26 @@ layout: default
|
|
15
15
|
<h2>{{ page.item.name | default: 'Armor' }}</h2>
|
16
16
|
<p>{{ page.item.type | default: 'Light' }} Armor{% if page.item.rarity %}, {{ page.item.rarity }}{% endif %}{% if page.item.attunement %} (Requires attunement by {{ page.item.attunement }}){% endif %}</p>
|
17
17
|
<p><strong>Weight:</strong> {{ page.item.weight }}</p>
|
18
|
-
<p><strong>Base Value:</strong> {{ page.item.value }}gp</p>
|
18
|
+
<p><strong>Base Value:</strong> {{ page.item.value | pretty_number }}gp</p>
|
19
19
|
<p><strong>Armor Class:</strong> {{ page.item.ac.base }}{% if page.item.ac.dex > 0 %} + Dex Mod. (Max {{ page.item.ac.dex }}){% endif %}</p>
|
20
|
-
{% if page.item.
|
21
|
-
|
22
|
-
{%
|
23
|
-
{% if page.item.stealth %}
|
20
|
+
{% if page.item.e5 %}
|
21
|
+
<!-- 5E Specifics -->
|
22
|
+
{% if page.item.e5.stealth %}
|
24
23
|
<p><strong>Disadvantage on Stealth rolls</strong></p>
|
25
24
|
{% endif %}
|
26
|
-
{% if page.item.charges %}
|
27
|
-
<p><strong>Charges:</strong> {{ page.item.charges.number }} (Regains {{ page.item.charges.regain }} {{ page.item.charges.reset }})</p>
|
25
|
+
{% if page.item.e5.charges %}
|
26
|
+
<p><strong>Charges:</strong> {{ page.item.e5.charges.number }} {% if page.item.e5.charges.regain %}(Regains {{ page.item.e5.charges.regain }} charges {{ page.item.e5.charges.reset }}){% else %}(Consumable){% endif %}</p>
|
27
|
+
{% endif %}
|
28
|
+
<!-- /5E Specifics -->
|
29
|
+
{% else %}
|
30
|
+
<!-- 3.5 Specifics -->
|
31
|
+
{% if page.item.e35.str %}
|
32
|
+
<p><strong>Min Strength</strong> {{ page.item.e35.str }}</p>
|
33
|
+
{% endif %}
|
34
|
+
{% if page.item.e35.penalty %}
|
35
|
+
<p><strong>Check Penalty</strong> {{ page.item.e35.penalty }}</p>
|
36
|
+
{% endif %}
|
37
|
+
<!-- /3.5 Specifics -->
|
28
38
|
{% endif %}
|
29
39
|
{% if page.item.attributes %}
|
30
40
|
<ul>
|
data/_layouts/item.html
CHANGED
@@ -13,11 +13,11 @@ layout: default
|
|
13
13
|
|
14
14
|
<div class="four columns">
|
15
15
|
<h2>{{ page.item.name | default: 'Item' }}</h2>
|
16
|
-
<p>{{ page.item.type | default: 'Gadget' }}{% 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: 'Gadget' }}{% if page.item.5e.rarity %}, {{ page.item.5e.rarity }}{% endif %}{% if page.item.5e.attunement %} (Requires attunement by {{ page.item.5e.attunement }}){% endif %}</p>
|
17
17
|
<p><strong>Weight:</strong> {{ page.item.weight }}</p>
|
18
|
-
<p><strong>Base Value:</strong> {{ page.item.value }}gp</p>
|
19
|
-
{% if page.item.charges %}
|
20
|
-
<p><strong>Charges:</strong> {{ page.item.charges.number }} (Regains {{ page.item.charges.regain }} {{ page.item.charges.reset }})</p>
|
18
|
+
<p><strong>Base Value:</strong> {{ page.item.value | pretty_number }}gp</p>
|
19
|
+
{% if page.item.5e.charges %}
|
20
|
+
<p><strong>Charges:</strong> {{ page.item.5e.charges.number }}{% if page.item.5e.charges.regain %} (Regains {{ page.item.5e.charges.regain }} {{ page.item.5e.charges.reset }}){% else %}(Consumable){% endif %}</p>
|
21
21
|
{% endif %}
|
22
22
|
{% if page.item.attributes %}
|
23
23
|
<ul>
|
data/_layouts/monster.html
CHANGED
@@ -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="
|
19
|
-
<
|
20
|
-
|
21
|
-
|
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
|
-
<!--
|
24
|
-
<
|
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
|
-
|
28
|
-
|
29
|
-
|
30
|
-
<
|
31
|
-
|
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
|
-
<!--
|
38
|
-
<div class="
|
39
|
-
<h4>
|
40
|
-
<p>{{ page.monster.
|
53
|
+
<!-- ability strength -->
|
54
|
+
<div class="ability-dexterity">
|
55
|
+
<h4>DEX</h4>
|
56
|
+
<p>{{ page.monster.abilities.dex | ability }}</p>
|
41
57
|
</div>
|
42
|
-
<!--
|
43
|
-
<div class="
|
44
|
-
<h4>
|
45
|
-
<p>{{ page.monster.
|
58
|
+
<!-- ability dexterity -->
|
59
|
+
<div class="ability-constitution">
|
60
|
+
<h4>CON</h4>
|
61
|
+
<p>{{ page.monster.abilities.con | ability }}</p>
|
46
62
|
</div>
|
47
|
-
<!--
|
48
|
-
<div class="
|
49
|
-
<h4>
|
50
|
-
<p>{{ page.monster.
|
63
|
+
<!-- ability constitution -->
|
64
|
+
<div class="ability-intelligence">
|
65
|
+
<h4>INT</h4>
|
66
|
+
<p>{{ page.monster.abilities.int | ability }}</p>
|
51
67
|
</div>
|
52
|
-
<!--
|
53
|
-
<div class="
|
54
|
-
<h4>
|
55
|
-
<p>{{ page.monster.
|
68
|
+
<!-- ability intelligence -->
|
69
|
+
<div class="ability-wisdom">
|
70
|
+
<h4>WIS</h4>
|
71
|
+
<p>{{ page.monster.abilities.wis | ability }}</p>
|
56
72
|
</div>
|
57
|
-
<!--
|
58
|
-
<div class="
|
59
|
-
<h4>
|
60
|
-
<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
|
-
<!--
|
63
|
-
|
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
|
-
|
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
|
-
<
|
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 %}—{% 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
|
-
|
103
|
-
|
104
|
-
|
105
|
-
</
|
106
|
-
|
107
|
-
<
|
108
|
-
|
109
|
-
<
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
|
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
|
-
|
117
|
-
|
118
|
-
<
|
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
|
-
|
122
|
-
|
123
|
-
<
|
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
|
-
|
127
|
-
|
128
|
-
<
|
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
|
-
|
132
|
-
|
133
|
-
<
|
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
|
-
|
137
|
-
|
138
|
-
<
|
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
|
-
|
144
|
-
|
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
|
-
|
159
|
-
|
160
|
-
|
161
|
-
|
162
|
-
{
|
163
|
-
<
|
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
|
-
|
184
|
-
{% endif %}
|
332
|
+
{% endfor %}
|
185
333
|
</div>
|
186
|
-
|
187
|
-
|
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 %}
|
data/_layouts/settlement.html
CHANGED
@@ -22,7 +22,9 @@ layout: default
|
|
22
22
|
<div class="building">
|
23
23
|
<h5>{{ shop.name }}</h5>
|
24
24
|
<p class="type">{{ shop.type }}</p>
|
25
|
-
|
25
|
+
{% if shop.owner %}
|
26
|
+
<p><strong>Owner:</strong> {{ shop.owner.name }}, {{ shop.owner.gender }} {{ shop.owner.race }}, {% if shop.owner.level %}{{ shop.owner.level | ordinal }}-level{% endif %} {{ shop.owner.class }}</p>
|
27
|
+
{% endif %}
|
26
28
|
<p><strong>Location:</strong> {{ shop.location }}</p>
|
27
29
|
<p><strong>Description:</strong> {{ shop.desc }}</p>
|
28
30
|
<h6>Transactions</h6>
|
@@ -59,7 +61,7 @@ layout: default
|
|
59
61
|
<h6>Inhabitants</h6>
|
60
62
|
<ul>
|
61
63
|
{% 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>
|
64
|
+
<li><strong>{{ person.name }}:</strong> {{ person.gender }} {{ person.race }}, {% if person.level %}{{ person.level | ordinal }}-level{% endif %} {{ person.class }}{% if person.owner %}, <strong>owner</strong>{% endif %}.</li>
|
63
65
|
{% endfor %}
|
64
66
|
</ul>
|
65
67
|
{% assign: is = house.items | join: '' %}
|
@@ -86,8 +88,12 @@ layout: default
|
|
86
88
|
<p><strong>Size:</strong> {{ page.settlement.size }}</p>
|
87
89
|
<p><strong>Demographics:</strong> {% for race in page.settlement.demographics %}{{ race.percent }}% {{ race.race }}{% unless forloop.last %}, {% endunless %}{% endfor %}</p>
|
88
90
|
<p><strong>Population:</strong> {{ page.settlement.population | pretty_number }} souls</p>
|
91
|
+
{% if page.settlement.wealth %}
|
89
92
|
<p><strong>Wealth:</strong> {{ page.settlement.wealth | pretty_number }} gp</p>
|
93
|
+
{% endif %}
|
94
|
+
{% if page.settlement.gp-limit %}
|
90
95
|
<p><strong>GP Limit:</strong> {{ page.settlement.gp-limit | pretty_number }} gp</p>
|
96
|
+
{% endif %}
|
91
97
|
|
92
98
|
{% assign: cs = page.settlement.centres | join: '' %}
|
93
99
|
{% if cs != '' %}
|
@@ -104,7 +110,7 @@ layout: default
|
|
104
110
|
<h6>Authorities</h6>
|
105
111
|
<ul>
|
106
112
|
{% for authority in page.settlement.authorities %}
|
107
|
-
<li><strong>{{ authority.name }}:</strong> {{ authority.title }}
|
113
|
+
<li><strong>{{ authority.name }}:</strong> {{ authority.title }} ({% if authority.level %}{{ authority.level | ordinal }}-level {% endif %}{{ authority.class }})</li>
|
108
114
|
{% endfor %}
|
109
115
|
</ul>
|
110
116
|
{% endif %}
|
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
|
-
<p><strong>Base Value:</strong> {{ page.item.value }}gp</p>
|
18
|
+
<p><strong>Base Value:</strong> {{ page.item.value | pretty_number }}gp</p>
|
19
19
|
{% assing: 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)
|
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
metadata
CHANGED
@@ -1,43 +1,57 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: nereare_grimoire
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.18.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Igor Padoim
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2022-08-06 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: html-proofer
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- - "
|
17
|
+
- - ">="
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: 3.
|
19
|
+
version: 3.18.5
|
20
20
|
type: :development
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
|
-
- - "
|
24
|
+
- - ">="
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: 3.
|
26
|
+
version: 3.18.5
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: nokogiri
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
|
-
- - "
|
31
|
+
- - ">="
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: 1.
|
33
|
+
version: 1.12.5
|
34
34
|
type: :development
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
|
-
- - "
|
38
|
+
- - ">="
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version: 1.
|
40
|
+
version: 1.12.5
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: webrick
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - ">="
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '0'
|
48
|
+
type: :development
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - ">="
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '0'
|
41
55
|
- !ruby/object:Gem::Dependency
|
42
56
|
name: jekyll-feed
|
43
57
|
requirement: !ruby/object:Gem::Requirement
|
@@ -45,9 +59,6 @@ dependencies:
|
|
45
59
|
- - ">="
|
46
60
|
- !ruby/object:Gem::Version
|
47
61
|
version: 0.12.1
|
48
|
-
- - "<"
|
49
|
-
- !ruby/object:Gem::Version
|
50
|
-
version: 0.16.0
|
51
62
|
type: :runtime
|
52
63
|
prerelease: false
|
53
64
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -55,9 +66,6 @@ dependencies:
|
|
55
66
|
- - ">="
|
56
67
|
- !ruby/object:Gem::Version
|
57
68
|
version: 0.12.1
|
58
|
-
- - "<"
|
59
|
-
- !ruby/object:Gem::Version
|
60
|
-
version: 0.16.0
|
61
69
|
- !ruby/object:Gem::Dependency
|
62
70
|
name: jekyll
|
63
71
|
requirement: !ruby/object:Gem::Requirement
|
@@ -65,9 +73,6 @@ dependencies:
|
|
65
73
|
- - ">="
|
66
74
|
- !ruby/object:Gem::Version
|
67
75
|
version: '4.0'
|
68
|
-
- - "<"
|
69
|
-
- !ruby/object:Gem::Version
|
70
|
-
version: '4.2'
|
71
76
|
type: :runtime
|
72
77
|
prerelease: false
|
73
78
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -75,9 +80,6 @@ dependencies:
|
|
75
80
|
- - ">="
|
76
81
|
- !ruby/object:Gem::Version
|
77
82
|
version: '4.0'
|
78
|
-
- - "<"
|
79
|
-
- !ruby/object:Gem::Version
|
80
|
-
version: '4.2'
|
81
83
|
- !ruby/object:Gem::Dependency
|
82
84
|
name: jekyll-redirect-from
|
83
85
|
requirement: !ruby/object:Gem::Requirement
|
@@ -85,9 +87,6 @@ dependencies:
|
|
85
87
|
- - ">="
|
86
88
|
- !ruby/object:Gem::Version
|
87
89
|
version: '0.15'
|
88
|
-
- - "<"
|
89
|
-
- !ruby/object:Gem::Version
|
90
|
-
version: '0.17'
|
91
90
|
type: :runtime
|
92
91
|
prerelease: false
|
93
92
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -95,21 +94,18 @@ dependencies:
|
|
95
94
|
- - ">="
|
96
95
|
- !ruby/object:Gem::Version
|
97
96
|
version: '0.15'
|
98
|
-
- - "<"
|
99
|
-
- !ruby/object:Gem::Version
|
100
|
-
version: '0.17'
|
101
97
|
- !ruby/object:Gem::Dependency
|
102
98
|
name: jekyll-seo-tag
|
103
99
|
requirement: !ruby/object:Gem::Requirement
|
104
100
|
requirements:
|
105
|
-
- - "
|
101
|
+
- - ">="
|
106
102
|
- !ruby/object:Gem::Version
|
107
103
|
version: 2.6.1
|
108
104
|
type: :runtime
|
109
105
|
prerelease: false
|
110
106
|
version_requirements: !ruby/object:Gem::Requirement
|
111
107
|
requirements:
|
112
|
-
- - "
|
108
|
+
- - ">="
|
113
109
|
- !ruby/object:Gem::Version
|
114
110
|
version: 2.6.1
|
115
111
|
- !ruby/object:Gem::Dependency
|
@@ -119,9 +115,6 @@ dependencies:
|
|
119
115
|
- - ">="
|
120
116
|
- !ruby/object:Gem::Version
|
121
117
|
version: 1.3.1
|
122
|
-
- - "<"
|
123
|
-
- !ruby/object:Gem::Version
|
124
|
-
version: 1.5.0
|
125
118
|
type: :runtime
|
126
119
|
prerelease: false
|
127
120
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -129,9 +122,6 @@ dependencies:
|
|
129
122
|
- - ">="
|
130
123
|
- !ruby/object:Gem::Version
|
131
124
|
version: 1.3.1
|
132
|
-
- - "<"
|
133
|
-
- !ruby/object:Gem::Version
|
134
|
-
version: 1.5.0
|
135
125
|
- !ruby/object:Gem::Dependency
|
136
126
|
name: jemoji
|
137
127
|
requirement: !ruby/object:Gem::Requirement
|
@@ -139,9 +129,6 @@ dependencies:
|
|
139
129
|
- - ">="
|
140
130
|
- !ruby/object:Gem::Version
|
141
131
|
version: 0.11.1
|
142
|
-
- - "<"
|
143
|
-
- !ruby/object:Gem::Version
|
144
|
-
version: 0.13.0
|
145
132
|
type: :runtime
|
146
133
|
prerelease: false
|
147
134
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -149,10 +136,7 @@ dependencies:
|
|
149
136
|
- - ">="
|
150
137
|
- !ruby/object:Gem::Version
|
151
138
|
version: 0.11.1
|
152
|
-
|
153
|
-
- !ruby/object:Gem::Version
|
154
|
-
version: 0.13.0
|
155
|
-
description:
|
139
|
+
description:
|
156
140
|
email:
|
157
141
|
- igorpadoim@gmail.com
|
158
142
|
executables: []
|
@@ -181,6 +165,7 @@ files:
|
|
181
165
|
- _plugins/add-sign.rb
|
182
166
|
- _plugins/animal-metadata.rb
|
183
167
|
- _plugins/articulate.rb
|
168
|
+
- _plugins/cr-format.rb
|
184
169
|
- _plugins/number.rb
|
185
170
|
- _plugins/ordinal.rb
|
186
171
|
- _plugins/plant-metadata.rb
|
@@ -215,7 +200,7 @@ metadata:
|
|
215
200
|
source_code_uri: https://github.com/Nereare/Grimoire
|
216
201
|
changelog_uri: https://github.com/Nereare/Grimoire/blob/master/CHANGELOG.md
|
217
202
|
github_repo: https://github.com/Nereare/Grimoire.git
|
218
|
-
post_install_message:
|
203
|
+
post_install_message:
|
219
204
|
rdoc_options: []
|
220
205
|
require_paths:
|
221
206
|
- lib
|
@@ -230,8 +215,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
230
215
|
- !ruby/object:Gem::Version
|
231
216
|
version: '0'
|
232
217
|
requirements: []
|
233
|
-
rubygems_version: 3.
|
234
|
-
signing_key:
|
218
|
+
rubygems_version: 3.3.16
|
219
|
+
signing_key:
|
235
220
|
specification_version: 4
|
236
221
|
summary: A jekyll quasi-wiki for RPG-oriented worldbuilding.
|
237
222
|
test_files: []
|