· 6 years ago · Jul 31, 2019, 07:54 AM
1 <!-- WARHAMMER FANTASY ROLEPLAY 4th EDITION CHARACTER SHEET -->
2 <!-- Authors; Arioch1973, Alondaar, Havoc, Oxycutor, Realitor -->
3 <!-- Version 1.60a -->
4
5<!-- Character Sheet Start -->
6
7
8 <!--- Header ---->
9 <div class="sheet-col" style="text-align:center; width:100%">
10 <img src="https://i.imgur.com/GWtPsPd.png" style="max-height: 75px;" />
11 </div>
12 <br><br>
13 <!-- for future, possible GM tabs
14 <input type='radio' name="attr_main_show" class="sheet-tab sheet-tabPC" value="1" checked/>
15<label class="sheet-tab" >PC</label>
16 <input type='radio' name="attr_main_show" class="sheet-tab sheet-tabGM" value="2" />
17<label class="sheet-tab" >GM</label>
18 <br>
19 <br>
20
21<div class="sheet-tab-content sheet-tabPC"> -->
22<div>
23 <input type='radio' name="attr_npc-show" class="sheet-tab sheet-tabMain" value="1" checked/>
24<label class="sheet-tab" >Main</label>
25<input type='radio' name="attr_npc-show" class="sheet-tab sheet-tabSkillsTalents" value="2" />
26<label class="sheet-tab" >Skills & Talents</label>
27 <input type='radio' name="attr_npc-show" class="sheet-tab sheet-tabGearMagic" value="3" />
28<label class="sheet-tab" >Gear & Magic</label>
29 <input type='radio' name="attr_npc-show" class="sheet-tab sheet-tabInformation" value="4" />
30<label class="sheet-tab" >Information</label>
31<input type='radio' name="attr_npc-show" class="sheet-tab sheet-tabExperience" value="5" />
32<label class="sheet-tab" >Experience</label>
33
34
35<div class="sheet-tab-content sheet-tabMain">
36<div class="sheet-wrapper">
37 <div class="sheet-col" style="text-align:center; width:100%">
38 </div>
39 <table>
40 <tr>
41 <td style="text-align:Right; width:10%"><label style="text-align:Right" >Name</label>
42 </td>
43 <td style="text-align:center" COLSPAN=3><input type="text" name="attr_character_name" />
44 </td>
45 <td style="text-align:Right; width:10%"><label style="text-align:Right" >Species</label>
46 </td>
47 <td style="text-align:center; width:15%"><input type="text" name="attr_character_Species" />
48 </td>
49 <td style="text-align:Right; width:10%"><label style="text-align:Right" >Class</label>
50 </td>
51 <td style="text-align:center; width:15%"><input type="text" name="attr_character_Class" />
52 </td>
53 </tr>
54 <tr>
55 <td style="text-align:Right; width:10%"><label style="text-align:Right" >Career</label>
56 </td>
57 <td style="text-align:center" COLSPAN=3><input type="text" name="attr_character_Career" />
58 </td>
59 <td style="text-align:Right; width:10%"><label style="text-align:Right" >Career Tier</label>
60 </td>
61 <td style="text-align:center" COLSPAN=3><input type="text" name="attr_character_CareerTier" />
62 </td>
63 </tr>
64 <tr>
65 <td style="text-align:Right; width:10%"><label style="text-align:Right" >Career Path</label>
66 </td>
67 <td style="text-align:center; width:15%" COLSPAN=5><input type="text" name="attr_character_CareerPath" />
68 </td>
69 <td style="text-align:Right; width:10%"><label style="text-align:Right" >Status</label>
70 </td>
71 <td style="text-align:center; width:15%"><input type="text" name="attr_character_Status" />
72 </td>
73 </tr>
74 <tr>
75 <td style="text-align:Right; width:10%"><label style="text-align:Right" >Age</label>
76 </td>
77 <td style="text-align:center; width:15%"><input type="text" name="attr_character_Age" />
78 </td>
79 <td style="text-align:Right; width:10%"><label style="text-align:Right" >Height</label>
80 </td>
81 <td style="text-align:center; width:15%"><input type="text" name="attr_character_Height" />
82 </td>
83 <td style="text-align:Right; width:10%"><label style="text-align:Right" >Hair</label>
84 </td>
85 <td style="text-align:center; width:15%"><input type="text" name="attr_character_Hair" />
86 </td>
87 <td style="text-align:Right; width:10%"><label style="text-align:Right">Eyes</label>
88 </td>
89 <td style="text-align:center; width:15%"><input type="text" name="attr_character_Eyes" />
90 </td>
91 </tr>
92 <tr>
93 <td style="text-align:Right; width:10%"><label style="text-align:Right" >Nationality</label>
94 </td>
95 <td style="text-align:center; width:15%"><input type="text" name="attr_character_Nationality" />
96 </td>
97 <td style="text-align:Right; width:10%"><label style="text-align:Right" >Birthplace</label>
98 </td>
99 <td style="text-align:center; width:15%"><input type="text" name="attr_character_Birthplace" />
100 </td>
101 <td style="text-align:Right; width:10%"><label style="text-align:Right" >Religion</label>
102 </td>
103 <td style="text-align:center; width:15%"><input type="text" name="attr_character_Religion" />
104 </td>
105 <td style="text-align:Right; width:10%"><label style="text-align:Right" >Star Sign</label>
106 </td>
107 <td style="text-align:center; width:15%"><input type="text" name="attr_character_StarSign" />
108 </td>
109 </tr>
110 </table>
111
112<!-- Characteristics -->
113 <hr>
114
115 <div class="sheet-col sheet-tablealt" style="width:50%">
116 <div class="sheet-tablewrapper">
117 <table>
118 <tr>
119 <th COLSPAN=11><div class="sheet-bluelabel"><label style="text-align:center" >CHARACTERISTICS</label></div>
120 </th>
121 </tr>
122
123 <tr class="sheet-bluelabel">
124 <td style="text-align:center; width:16.5%">
125 </td>
126 <td style="text-align:left; width:8.3%"><button type="roll" name="roll_WS" value="&{template:wfrp4} {{name=@{character_name}}} {{title=Weapon Skill}} {{dice=[[ 1d100cs01cs02cs03cs04cs05cs11cs22cs33cs44cs55cs66cs77cs88cf96cf97cf98cf99cf100 ]]}} {{against=[[ ?{Modifier?|0}+@{Current_WS} ]]}}"><label class="labelbutton" style="text-align:center" >WS</label></button>
127 </td>
128 <td style="text-align:left; width:8.3%"><button type="roll" name="roll_BS" value="&{template:wfrp4} {{name=@{character_name}}} {{title=Ballistic Skill}} {{dice=[[ 1d100cs01cs02cs03cs04cs05cs11cs22cs33cs44cs55cs66cs77cs88cf96cf97cf98cf99cf100 ]]}} {{against=[[ ?{Modifier?|0}+@{Current_BS} ]]}}"> <label class="labelbutton" style="text-align:center" >BS</label></button>
129 </td>
130 <td style="text-align:center; width:8.3%"><button type="roll" name="roll_S" value="&{template:wfrp4} {{name=@{character_name}}} {{title=Strength}} {{dice=[[ 1d100cs01cs02cs03cs04cs05cs11cs22cs33cs44cs55cs66cs77cs88cf96cf97cf98cf99cf100 ]]}} {{against=[[ ?{Modifier?|0}+@{Current_S} ]]}}"><label class="labelbutton" style="text-align:center" >S</label></button>
131 </td>
132 <td style="text-align:center; width:8.3%"><button type="roll" name="roll_T" value="&{template:wfrp4} {{name=@{character_name}}} {{title=Toughness}} {{dice=[[ 1d100cs01cs02cs03cs04cs05cs11cs22cs33cs44cs55cs66cs77cs88cf96cf97cf98cf99cf100 ]]}} {{against=[[ ?{Modifier?|0}+@{Current_T} ]]}}"><label class="labelbutton" style="text-align:center" >T</label></button>
133 </td>
134 <td style="text-align:center; width:8.3%"><button type="roll" name="roll_I" value="&{template:wfrp4} {{name=@{character_name}}} {{title=Initiative}} {{dice=[[ 1d100cs01cs02cs03cs04cs05cs11cs22cs33cs44cs55cs66cs77cs88cf96cf97cf98cf99cf100 ]]}} {{against=[[ ?{Modifier?|0}+@{Current_I} ]]}}"><label class="labelbutton" style="text-align:center" >I</label></button>
135 </td>
136 <td style="text-align:center; width:8.3%"><button type="roll" name="roll_Ag" value="&{template:wfrp4} {{name=@{character_name}}} {{title=Agility}} {{dice=[[ 1d100cs01cs02cs03cs04cs05cs11cs22cs33cs44cs55cs66cs77cs88cf96cf97cf98cf99cf100 ]]}} {{against=[[ ?{Modifier?|0}+@{Current_Ag} ]]}}"><label class="labelbutton" style="text-align:center" >Ag</label></button>
137 </td>
138 <td style="text-align:center; width:8.3%"><button type="roll" name="roll_Dex" value="&{template:wfrp4} {{name=@{character_name}}} {{title=Dexterity}} {{dice=[[ 1d100cs01cs02cs03cs04cs05cs11cs22cs33cs44cs55cs66cs77cs88cf96cf97cf98cf99cf100 ]]}} {{against=[[ ?{Modifier?|0}+@{Current_Dex} ]]}}"><label class="labelbutton" style="text-align:center" >Dex</label></button>
139 </td>
140 <td style="text-align:center; width:8.3%"><button type="roll" name="roll_Int" value="&{template:wfrp4} {{name=@{character_name}}} {{title=Intelligence}} {{dice=[[ 1d100cs01cs02cs03cs04cs05cs11cs22cs33cs44cs55cs66cs77cs88cf96cf97cf98cf99cf100 ]]}} {{against=[[ ?{Modifier?|0}+@{Current_Int} ]]}}"><label class="labelbutton" style="text-align:center" >Int</label></button>
141 </td>
142 <td style="text-align:center; width:8.3%"><button type="roll" name="roll_WP" value="&{template:wfrp4} {{name=@{character_name}}} {{title=Willpower}} {{dice=[[ 1d100cs01cs02cs03cs04cs05cs11cs22cs33cs44cs55cs66cs77cs88cf96cf97cf98cf99cf100 ]]}} {{against=[[ ?{Modifier?|0}+@{Current_WP} ]]}}"><label class="labelbutton" style="text-align:center">WP</label></button>
143 </td>
144 <td style="text-align:center; width:8.3%"><button type="roll" name="roll_Fel" value="&{template:wfrp4} {{name=@{character_name}}} {{title=Fellowship}} {{dice=[[ 1d100cs01cs02cs03cs04cs05cs11cs22cs33cs44cs55cs66cs77cs88cf96cf97cf98cf99cf100 ]]}} {{against=[[ ?{Modifier?|0}+@{Current_FEL} ]]}}"><label class="labelbutton" style="text-align:center" >Fel</label></button>
145 </td>
146 </tr>
147 <tr>
148
149 <td style="text-align:center; width:16.5%"><label style="text-align:center" >Career</label>
150 </td>
151 <td style="text-align:left; width:8.3%"><input type="checkbox" value="1" name="attr_WS_CareerAdvance" /><span style="text-align:center"></span>
152 </td>
153 <td style="text-align:left; width:8.3%"><input type="checkbox" value="1" name="attr_BS_CareerAdvance" /><span style="text-align:center"></span>
154 </td>
155 <td style="text-align:left; width:8.3%"><input type="checkbox" value="1" name="attr_S_CareerAdvance" /><span style="text-align:center"></span>
156 </td>
157 <td style="text-align:left; width:8.3%"><input type="checkbox" value="1" name="attr_T_CareerAdvance" /><span style="text-align:center"></span>
158 </td>
159 <td style="text-align:left; width:8.3%"><input type="checkbox" value="1" name="attr_I_CareerAdvance" /><span style="text-align:center"></span>
160 </td>
161 <td style="text-align:left; width:8.3%"><input type="checkbox" value="1" name="attr_Ag_CareerAdvance" /><span style="text-align:center"></span>
162 </td>
163 <td style="text-align:left; width:8.3%"><input type="checkbox" value="1" name="attr_Dex_CareerAdvance" /><span style="text-align:center"></span>
164 </td>
165 <td style="text-align:left; width:8.3%"><input type="checkbox" value="1" name="attr_Int_CareerAdvance" /><span style="text-align:center"></span>
166 </td>
167 <td style="text-align:left; width:8.3%"><input type="checkbox" value="1" name="attr_WP_CareerAdvance" /><span style="text-align:center"></span>
168 </td>
169 <td style="text-align:left; width:8.3%"><input type="checkbox" value="1" name="attr_Fel_CareerAdvance" /><span style="text-align:center"></span>
170 </td>
171 </tr>
172 <tr>
173 <td style="text-align:center; width:16.5%"><label style="text-align:center" >Initial</label>
174 </td>
175 <td style="text-align:center; width:8.3%"><input type="number" name="attr_Initial_WS" style="text-align:center" value="0"/>
176 </td>
177 <td style="text-align:center; width:8.3%"><input type="number" name="attr_Initial_BS" style="text-align:center" value="0"/>
178 </td>
179 <td style="text-align:center; width:8.3%"><input type="number" name="attr_Initial_S" style="text-align:center" value="0"/>
180 </td>
181 <td style="text-align:center; width:8.3%"><input type="number" name="attr_Initial_T" style="text-align:center" value="0"/>
182 </td>
183 <td style="text-align:center; width:8.3%"><input type="number" name="attr_Initial_I" style="text-align:center" value="0"/>
184 </td>
185 <td style="text-align:center; width:8.3%"><input type="number" name="attr_Initial_Ag" style="text-align:center" value="0"/>
186 </td>
187 <td style="text-align:center; width:8.3%"><input type="number" name="attr_Initial_Dex" style="text-align:center" value="0"/>
188 </td>
189 <td style="text-align:center; width:8.3%"><input type="number" name="attr_Initial_Int" style="text-align:center" value="0"/>
190 </td>
191 <td style="text-align:center; width:8.3%"><input type="number" name="attr_Initial_WP" style="text-align:center" value="0"/>
192 </td>
193 <td style="text-align:center; width:8.3%"><input type="number" name="attr_Initial_Fel" style="text-align:center" value="0"/>
194 </td>
195 </tr>
196 <tr>
197 <td style="text-align:center; width:16.5%"><label style="text-align:center" >Talents</label>
198 </td>
199 <td style="text-align:center; width:8.3%"><input type="number" name="attr_Talent_WS" style="text-align:center" value="0"/>
200 </td>
201 <td style="text-align:center; width:8.3%"><input type="number" name="attr_Talent_BS" style="text-align:center" value="0"/>
202 </td>
203 <td style="text-align:center; width:8.3%"><input type="number" name="attr_Talent_S" style="text-align:center" value="0"/>
204 </td>
205 <td style="text-align:center; width:8.3%"><input type="number" name="attr_Talent_T" style="text-align:center" value="0"/>
206 </td>
207 <td style="text-align:center; width:8.3%"><input type="number" name="attr_Talent_I" style="text-align:center" value="0"/>
208 </td>
209 <td style="text-align:center; width:8.3%"><input type="number" name="attr_Talent_Ag" style="text-align:center" value="0"/>
210 </td>
211 <td style="text-align:center; width:8.3%"><input type="number" name="attr_Talent_Dex" style="text-align:center" value="0"/>
212 </td>
213 <td style="text-align:center; width:8.3%"><input type="number" name="attr_Talent_Int" style="text-align:center" value="0"/>
214 </td>
215 <td style="text-align:center; width:8.3%"><input type="number" name="attr_Talent_WP" style="text-align:center" value="0"/>
216 </td>
217 <td style="text-align:center; width:8.3%"><input type="number" name="attr_Talent_Fel" style="text-align:center" value="0"/>
218 </td>
219 </tr>
220 <tr>
221 <td style="text-align:center; width:16.5%"><label style="text-align:center" >Advances</label>
222 </td>
223 <td style="text-align:center; width:8.3%"><input type="number" name="attr_Advances_WS" style="text-align:center" value="0"/>
224 </td>
225 <td style="text-align:center; width:8.3%"><input type="number" name="attr_Advances_BS" style="text-align:center" value="0"/>
226 </td>
227 <td style="text-align:center; width:8.3%"><input type="number" name="attr_Advances_S" style="text-align:center" value="0"/>
228 </td>
229 <td style="text-align:center; width:8.3%"><input type="number" name="attr_Advances_T" style="text-align:center" value="0"/>
230 </td>
231 <td style="text-align:center; width:8.3%"><input type="number" name="attr_Advances_I" style="text-align:center" value="0"/>
232 </td>
233 <td style="text-align:center; width:8.3%"><input type="number" name="attr_Advances_Ag" style="text-align:center" value="0"/>
234 </td>
235 <td style="text-align:center; width:8.3%"><input type="number" name="attr_Advances_Dex" style="text-align:center" value="0"/>
236 </td>
237 <td style="text-align:center; width:8.3%"><input type="number" name="attr_Advances_Int" style="text-align:center" value="0"/>
238 </td>
239 <td style="text-align:center; width:8.3%"><input type="number" name="attr_Advances_WP" style="text-align:center" value="0"/>
240 </td>
241 <td style="text-align:center; width:8.3%"><input type="number" name="attr_Advances_Fel" style="text-align:center" value="0"/>
242 </td>
243 </tr>
244 <tr>
245 <td style="text-align:center; width:16.5%"><label style="text-align:center" >Modifier</label>
246 </td>
247 <td style="text-align:center; width:8.3%"><input type="number" name="attr_Modifier_WS" style="text-align:center" value="0"/>
248 </td>
249 <td style="text-align:center; width:8.3%"><input type="number" name="attr_Modifier_BS" style="text-align:center" value="0"/>
250 </td>
251 <td style="text-align:center; width:8.3%"><input type="number" name="attr_Modifier_S" style="text-align:center" value="0"/>
252 </td>
253 <td style="text-align:center; width:8.3%"><input type="number" name="attr_Modifier_T" style="text-align:center" value="0"/>
254 </td>
255 <td style="text-align:center; width:8.3%"><input type="number" name="attr_Modifier_I" style="text-align:center" value="0"/>
256 </td>
257 <td style="text-align:center; width:8.3%"><input type="number" name="attr_Modifier_Ag" style="text-align:center" value="0"/>
258 </td>
259 <td style="text-align:center; width:8.3%"><input type="number" name="attr_Modifier_Dex" style="text-align:center" value="0"/>
260 </td>
261 <td style="text-align:center; width:8.3%"><input type="number" name="attr_Modifier_Int" style="text-align:center" value="0"/>
262 </td>
263 <td style="text-align:center; width:8.3%"><input type="number" name="attr_Modifier_WP" style="text-align:center" value="0"/>
264 </td>
265 <td style="text-align:center; width:8.3%"><input type="number" name="attr_Modifier_Fel" style="text-align:center" value="0"/>
266 </td>
267 </tr>
268 <tr>
269 <td style="text-align:center; width:16.5%"><label style="text-align:center" >Current</label>
270 </td>
271 <td style="text-align:center; width:8.3%"><input type="number" name="attr_Current_WS" style="text-align:center" disabled value="floor(@{Initial_WS} + @{Talent_WS} + @{Advances_WS} + @{Modifier_WS})"/>
272 </td>
273 <td style="text-align:center; width:8.3%"><input type="number" name="attr_Current_BS" style="text-align:center" disabled value="floor(@{Initial_BS} + @{Talent_BS} + @{Advances_BS} + @{Modifier_BS})"/>
274 </td>
275 <td style="text-align:center; width:8.3%"><input type="number" name="attr_Current_S" style="text-align:center" disabled value="floor(@{Initial_S} + @{Talent_S} + @{Advances_S} + @{Modifier_S})"/>
276 </td>
277 <td style="text-align:center; width:8.3%"><input type="number" name="attr_Current_T" style="text-align:center" disabled value="floor(@{Initial_T} + @{Talent_T} + @{Advances_T} + @{Modifier_T})"/>
278 </td>
279 <td style="text-align:center; width:8.3%"><input type="number" name="attr_Current_I" style="text-align:center" disabled value="floor(@{Initial_I} + @{Talent_I} + @{Advances_I} + @{Modifier_I})"/>
280 </td>
281 <td style="text-align:center; width:8.3%"><input type="number" name="attr_Current_Ag" style="text-align:center" disabled value="floor(@{Initial_Ag} + @{Talent_Ag} + @{Advances_Ag} + @{Modifier_Ag})"/>
282 </td>
283 <td style="text-align:center; width:8.3%"><input type="number" name="attr_Current_Dex" style="text-align:center" disabled value="floor(@{Initial_Dex} + @{Talent_Dex} + @{Advances_Dex} + @{Modifier_Dex})"/>
284 </td>
285 <td style="text-align:center; width:8.3%"><input type="number" name="attr_Current_Int" style="text-align:center" disabled value="floor(@{Initial_Int} + @{Talent_Int} + @{Advances_Int} + @{Modifier_Int})"/>
286 </td>
287 <td style="text-align:center; width:8.3%"><input type="number" name="attr_Current_WP" style="text-align:center" disabled value="floor(@{Initial_WP} + @{Talent_WP} + @{Advances_WP} + @{Modifier_WP})"/>
288 </td>
289 <td style="text-align:center; width:8.3%"><input type="number" name="attr_Current_Fel" style="text-align:center" disabled value="floor(@{Initial_Fel} + @{Talent_Fel} + @{Advances_Fel} + @{Modifier_Fel})"/>
290 </td>
291 </tr>
292
293<!-- Characteristic Bonuses -->
294 <tr>
295 <th COLSPAN=11><label style="text-align:center">CHARACTERISTICS BONUSES</label>
296 </th>
297 </tr>
298 <tr>
299 <td style="text-align:center; width:16.5%"><label style="text-align:center" >Initial</label>
300 </td>
301 <td style="text-align:center; width:8.3%"><input type="number" name="attr_Initial_WSB" style="text-align:center" disabled value="floor((@{Initial_WS} + @{Talent_WS} + @{Advances_WS} + @{Modifier_WS})/10)"/>
302 </td>
303 <td style="text-align:center; width:8.3%"><input type="number" name="attr_Initial_BSB" style="text-align:center" disabled value="floor((@{Initial_BS} + @{Talent_BS} + @{Advances_BS} + @{Modifier_BS})/10)"/>
304 </td>
305 <td style="text-align:center; width:8.3%"><input type="number" name="attr_Initial_SB" style="text-align:center" disabled value="floor((@{Initial_S} + @{Talent_S} + @{Advances_S} + @{Modifier_S})/10)"/>
306 </td>
307 <td style="text-align:center; width:8.3%"><input type="number" name="attr_Initial_TB" style="text-align:center" disabled value="floor((@{Initial_T} + @{Talent_T} + @{Advances_T} + @{Modifier_T})/10)"/>
308 </td>
309 <td style="text-align:center; width:8.3%"><input type="number" name="attr_Initial_IB" style="text-align:center" disabled value="floor((@{Initial_I} + @{Talent_I} + @{Advances_I} + @{Modifier_I})/10)"/>
310 </td>
311 <td style="text-align:center; width:8.3%"><input type="number" name="attr_Initial_AgB" style="text-align:center" disabled value="floor((@{Initial_Ag} + @{Talent_Ag} + @{Advances_Ag} + @{Modifier_Ag})/10)"/>
312 </td>
313 <td style="text-align:center; width:8.3%"><input type="number" name="attr_Initial_DexB" style="text-align:center" disabled value="floor((@{Initial_Dex} + @{Talent_Dex} + @{Advances_Dex} + @{Modifier_Dex})/10)"/>
314 </td>
315 <td style="text-align:center; width:8.3%"><input type="number" name="attr_Initial_IntB" style="text-align:center" disabled value="floor((@{Initial_Int} + @{Talent_Int} + @{Advances_Int} + @{Modifier_Int})/10)"/>
316 </td>
317 <td style="text-align:center; width:8.3%"><input type="number" name="attr_Initial_WPB" style="text-align:center" disabled value="floor((@{Initial_WP} + @{Talent_WP} + @{Advances_WP} + @{Modifier_WP})/10)"/>
318 </td>
319 <td style="text-align:center; width:8.3%"><input type="number" name="attr_Initial_FelB" style="text-align:center" disabled value="floor((@{Initial_Fel} + @{Talent_Fel} + @{Advances_Fel} + @{Modifier_Fel})/10)"/>
320 </td>
321 </tr>
322 <tr>
323 <td style="text-align:center; width:16.5%"><label style="text-align:center" >Modifier</label>
324 </td>
325 <td style="text-align:center; width:8.3%"><input type="number" name="attr_Modifier_WSB" style="text-align:center" value="0"/>
326 </td>
327 <td style="text-align:center; width:8.3%"><input type="number" name="attr_Modifier_BSB" style="text-align:center" value="0"/>
328 </td>
329 <td style="text-align:center; width:8.3%"><input type="number" name="attr_Modifier_SB" style="text-align:center" value="0"/>
330 </td>
331 <td style="text-align:center; width:8.3%"><input type="number" name="attr_Modifier_TB" style="text-align:center" value="0"/>
332 </td>
333 <td style="text-align:center; width:8.3%"><input type="number" name="attr_Modifier_IB" style="text-align:center" value="0"/>
334 </td>
335 <td style="text-align:center; width:8.3%"><input type="number" name="attr_Modifier_AgB" style="text-align:center" value="0"/>
336 </td>
337 <td style="text-align:center; width:8.3%"><input type="number" name="attr_Modifier_DexB" style="text-align:center" value="0"/>
338 </td>
339 <td style="text-align:center; width:8.3%"><input type="number" name="attr_Modifier_IntB" style="text-align:center" value="0"/>
340 </td>
341 <td style="text-align:center; width:8.3%"><input type="number" name="attr_Modifier_WPB" style="text-align:center" value="0"/>
342 </td>
343 <td style="text-align:center; width:8.3%"><input type="number" name="attr_Modifier_FelB" style="text-align:center" value="0"/>
344 </td>
345 </tr>
346 <tr>
347 <td style="text-align:center; width:16.5%"><label style="text-align:center" >Current</label>
348 </td>
349 <td style="text-align:center; width:8.3%"><input type="number" name="attr_Current_WSB" style="text-align:center" disabled value="floor(@{Initial_WSB} + @{Modifier_WSB})"/>
350 </td>
351 <td style="text-align:center; width:8.3%"><input type="number" name="attr_Current_BSB" style="text-align:center" disabled value="floor(@{Initial_BSB} + @{Modifier_BSB})"/>
352 </td>
353 <td style="text-align:center; width:8.3%"><input type="number" name="attr_Current_SB" style="text-align:center" disabled value="floor(@{Initial_SB} + @{Modifier_SB})"/>
354 </td>
355 <td style="text-align:center; width:8.3%"><input type="number" name="attr_Current_TB" style="text-align:center" disabled value="floor(@{Initial_TB} + @{Modifier_TB})"/>
356 </td>
357 <td style="text-align:center; width:8.3%"><input type="number" name="attr_Current_IB" style="text-align:center" disabled value="floor(@{Initial_IB} + @{Modifier_IB})"/>
358 </td>
359 <td style="text-align:center; width:8.3%"><input type="number" name="attr_Current_AgB" style="text-align:center" disabled value="floor(@{Initial_AgB} + @{Modifier_AgB})"/>
360 </td>
361 <td style="text-align:center; width:8.3%"><input type="number" name="attr_Current_DexB" style="text-align:center" disabled value="floor(@{Initial_DexB} + @{Modifier_DexB})"/>
362 </td>
363 <td style="text-align:center; width:8.3%"><input type="number" name="attr_Current_IntB" style="text-align:center" disabled value="floor(@{Initial_IntB} + @{Modifier_IntB})"/>
364 </td>
365 <td style="text-align:center; width:8.3%"><input type="number" name="attr_Current_WPB" style="text-align:center" disabled value="floor(@{Initial_WPB} + @{Modifier_WPB})"/>
366 </td>
367 <td style="text-align:center; width:8.3%"><input type="number" name="attr_Current_FelB" style="text-align:center" disabled value="floor(@{Initial_FelB} + @{Modifier_FelB})"/>
368 </td>
369 </tr>
370 </table>
371 </div>
372 </div>
373
374<!-- Fate, Fortune, Resilience, Resolve, Experience -->
375 <div class="sheet-col" style="width:2%">
376 </div>
377 <div class="sheet-col" style="width:46%">
378 <div>
379 <table style="width:100%">
380 <tr>
381 <th COLSPAN=2><label style="text-align:center" >FATE</label>
382 </th>
383 <th >
384 </th>
385 <th COLSPAN=2><label style="text-align:center">RESILIENCE</label>
386 </th>
387 <th >
388 </th>
389 <th COLSPAN=2><label style="text-align:center" >EXPERIENCE</label>
390 </th>
391 </tr>
392 <tr>
393 <td style="text-align:center; width:18%"><label style="text-align:center" >Fate</label>
394 </td>
395 <td style="text-align:center; width:14%"><input type="number" name="attr_character_Fate" style="text-align:center" value="0"/>
396 </td>
397 <td style="text-align:center; width:2%">
398 </td>
399 <td style="text-align:center; width:18%"><label style="text-align:center" >Resilience</label>
400 </td>
401 <td style="text-align:center; width:14%"><input type="number" name="attr_character_Resilience" style="text-align:center" value="0"/>
402 </td>
403 <td style="text-align:center; width:2%">
404 </td>
405 <td style="text-align:center; width:12%"><label style="text-align:center" >Total</label>
406 </td>
407 <td style="text-align:center; width:20%"><input type="number" name="attr_character_TotalExperience" style="text-align:center" value="0"/>
408 </td>
409 </tr>
410 <tr>
411 <td style="text-align:center; width:18%"><label style="text-align:center">Fortune</label>
412 </td>
413 <td style="text-align:center; width:14%"><input type="number" name="attr_character_Fortune" style="text-align:center" value="0"/>
414 </td>
415 <td style="text-align:center; width:2%">
416 </td>
417 <td style="text-align:center; width:18%"><label style="text-align:center">Resolve</label>
418 </td>
419 <td style="text-align:center; width:14%"><input type="number" name="attr_character_Resolve" style="text-align:center" value="0"/>
420 </td>
421 <td style="text-align:center; width:2%">
422 </td>
423 <td style="text-align:center; width:12%"><label style="text-align:center" >Spent</label>
424 </td>
425 <td style="text-align:center; width:20%"><input type="number" name="attr_character_SpentExperience" style="text-align:center" value="0"/>
426 </td>
427 </tr>
428 <tr>
429 <td style="text-align:center; width:18%"><label style="text-align:center" >Motivation</label>
430 </td>
431 <td style="text-align:center; width:14%" COLSPAN=4><input type="text" name="attr_character_Motivation" style="text-align:center" value=""/>
432 </td>
433 <td style="text-align:center; width:2%">
434 </td>
435 <td style="text-align:center; width:12%"><label style="text-align:center">Left</label>
436 </td>
437 <td style="text-align:center; width:20%"><input type="number" name="attr_character_LeftExperience" style="text-align:center" disabled value="floor(@{character_TotalExperience}-@{character_SpentExperience})"/>
438 </td>
439 </tr>
440 <tr>
441 <td style="text-align:center; width:2%">
442 </td>
443 </tr>
444 </table>
445
446<!-- Ambitiions -->
447 <table style="width:100%; text-align:left">
448 <hr>
449 <tr>
450 <th COLSPAN=2><label style="text-align:center" >AMBITIONS</label>
451 </th>
452 </tr>
453 <tr>
454 <td style="text-align:center; width:35%"><label style="text-align:left" >Personal Short Term</label>
455 </td>
456 <td style="text-align:center; width:65%" COLSPAN=4><input type="text" name="attr_character_ShortTermAmbition" style="text-align:center" value=""/>
457 </td>
458 </tr>
459 <tr>
460 <td style="text-align:center; width:35%"><label style="text-align:left" >Personal Long Term</label>
461 </td>
462 <td style="text-align:center; width:65%" COLSPAN=4><input type="text" name="attr_character_LongTermAmbition" style="text-align:center" value=""/>
463 </td>
464 </tr>
465 <tr>
466 <td style="text-align:center; width:35%"><label style="text-align:leftr" >Party Short Term</label>
467 </td>
468 <td style="text-align:center; width:65%" COLSPAN=4><input type="text" name="attr_character_PartyShortAmbition" style="text-align:center" value=""/>
469 </td>
470 </tr>
471 <tr>
472 <td style="text-align:center; width:30%"><label style="text-align:leftr">Party Long Term</label>
473 </td>
474 <td style="text-align:center; width:65%" COLSPAN=4><input type="text" name="attr_character_PartyLongAmbition" style="text-align:center" value=""/>
475 </td>
476 </tr>
477 </table>
478 </div>
479 </div>
480
481<!-- Movement and Encumbrance -->
482<br>
483
484<div class="sheet-col sheet-table" style="width:100%">
485 <div class="sheet-col sheet-table" style="width:25%">
486
487<!-- Movement -->
488 <div>
489 <table style="width:100%">
490 <tr>
491 <th COLSPAN=10><label style="text-align:center" >MOVEMENT</label>
492 </th>
493 </tr>
494 <tr>
495 <td style="text-align:center; width:2%">
496 </td>
497 <td style="text-align:center; width:12%"><label style="text-align:center" >Movement</label>
498 </td>
499 <td style="text-align:center; width:10%"><input type="number" name="attr_character_Movement" style="text-align:center" value="0"/>
500 </td>
501 <td style="text-align:center; width:2%">
502 </td>
503 <td style="text-align:center; width:12%"><label style="text-align:center" >Walk</label>
504 </td>
505 <td style="text-align:center; width:10%"><input type="number" name="attr_character_MovementWalk" style="text-align:center" value="0"/>
506 </td>
507 <td style="text-align:center; width:2%">
508 </td>
509 <td style="text-align:center; width:12%"><label style="text-align:center" >Run</label>
510 </td>
511 <td style="text-align:center; width:10%"><input type="number" name="attr_character_MovementRun" style="text-align:center" value="0"/>
512 </td>
513 <td style="text-align:center; width:2%">
514 </td>
515 </tr>
516 </table><br>
517 <table style="width:100%">
518 <tr>
519 <th COLSPAN=10><label style="text-align:center" >INITIATIVE</label>
520 </th>
521 </tr>
522 <tr>
523 <td style="text-align:center; width:2%">
524 </td>
525 <td style="text-align:center; width:41%">
526 <select name="attr_combat_iniative_template" style="width:100%" class="sheet-input-selectbox" >
527 <option value="&{template:wfrp4} {{name=@{character_name}}} {{title=Initiative}} {{dice=[[ 1d100cs01cs02cs03cs04cs05cs11cs22cs33cs44cs55cs66cs77cs88cf96cf97cf98cf99cf100 ]]}} {{against=[[ ?{Modifier?|0}+@{Current_I} ]]}}" >I Test (No Tracker)</option>
528 <option value="&{template:wfrp4} {{name=@{character_name}}} Initiative} {{initiativeTest=[[ ?{Modifier?|0} + 1d10 + @{character_combatiniative_modifier} + @{Current_IB} &{tracker} ]]}} {{initiativeTestInitiativeBonus=[[ @{Current_IB} ]]}} {{initiativeTestTalents=[[ @{character_combatiniative_modifier} ]]}}" >I Bonus</option>
529 <option value="&{template:wfrp4} {{name=@{character_name}}} Initiative} {{initiativeTest=[[ ?{Modifier?|0} + 1d10 + @{character_combatiniative_modifier} + @{Current_IB} + @{Current_AgB} &{tracker} ]]}} {{initiativeTestInitiativeBonus=[[ @{Current_IB} ]]}} {{initiativeTestAgilityBonus=[[ @{Current_AgB} ]]}} {{initiativeTestTalents=[[ @{character_combatiniative_modifier} ]]}}" selected>I+Ag Bonus</option>
530 </select>
531 </td>
532 <td style="text-align:center; width:2%">
533 </td>
534 <td style="text-align:center; width:10%"><input type="number" name="attr_character_combatiniative_modifier" style="text-align:center" value="0"/>
535 </td>
536 <td style="text-align:center; width:2%">
537 </td>
538 <td style="text-align:center; width:15%"><button type="roll" style="width:90%" name="roll_combatiniativetemplate" value="@{combat_iniative_template}"><label class="labelbutton" style="text-align:center">Roll</label></button>
539 </td>
540 <td style="text-align:center; width:2%">
541 </td>
542 </tr>
543 </table>
544 </div>
545 </div>
546
547 <div class="sheet-col sheet-table" style="width:12%">
548 </div>
549
550<!-- Encumbrance -->
551
552 <div class="sheet-col sheet-table" style="width:48%">
553 <div>
554 <table style="width:100%">
555 <tr>
556 <th COLSPAN=12><label style="text-align:center" >ENCUMBRANCE</label>
557 </th>
558 </tr>
559 <tr>
560 <td style="text-align:center; width:9%"><label style="text-align:center" >Weapons</label>
561 </td>
562 <td style="text-align:center; width:2%">
563 </td>
564 <td style="text-align:center; width:9%"><label style="text-align:center" >Armour</label>
565 </td>
566 <td style="text-align:center; width:2%">
567 </td>
568 <td style="text-align:center; width:9%"><label style="text-align:center" >Trappings</label>
569 </td>
570 <td style="text-align:center; width:2%">
571 </td>
572 <td style="text-align:center; width:9%"><label style="text-align:center" >Total</label>
573 </td>
574 <td style="text-align:center; width:2%">
575 </td>
576 <td style="text-align:center; width:9%"><label style="text-align:center" >Mod</label>
577 </td>
578 <td style="text-align:center; width:2%">
579 </td>
580 <td style="text-align:center; width:15%"><label style="text-align:center" >Max Enc.</label>
581 </td>
582 </tr>
583 <tr>
584 <td style="text-align:center; width:9%"><input type="number" name="attr_character_EncumbranceWeapons" style="text-align:center" value="0" readonly/>
585 </td>
586 <td style="text-align:center; width:2%">
587 </td>
588 <td style="text-align:center; width:9%"><input type="number" name="attr_character_EncumbranceArmour" style="text-align:center" value="0" readonly/>
589 </td>
590 <td style="text-align:center; width:2%">
591 </td>
592 <td style="text-align:center; width:9%"><input type="number" name="attr_character_EncumbranceTrappings" style="text-align:center" value="0" readonly/>
593 </td>
594 <td style="text-align:center; width:2%">
595 </td>
596 <td style="text-align:center; width:9%"><input type="number" name="attr_character_EncumbranceTotal" style="text-align:center" value="floor(@{character_EncumbranceWeapons}+@{character_EncumbranceArmour}+@{character_EncumbranceTrappings})" disabled />
597 </td>
598 <td style="text-align:center; width:2%">
599 </td>
600 <td style="text-align:center; width:9%"><input type="number" name="attr_character_EncumbranceMod" style="text-align:center" value="0" />
601 </td>
602 <td style="text-align:center; width:2%">
603 </td>
604 <td style="text-align:center; width:15%"><input type="number" name="attr_character_EncumbranceMax" style="text-align:center" value="floor(@{Current_SB}+@{Current_TB}+@{character_EncumbranceMod})"/ disabled>
605 </td>
606 </tr>
607 </table>
608 </div>
609 </div>
610</div>
611
612<!-- Wealth -->
613 <br><br>
614 <div class="sheet-col sheet-table" style="width:100%">
615 <div class="sheet-col" style="width:38%">
616 <table style="width:100%">
617 <tr>
618 <th COLSPAN=3><label style="text-align:center" >WEALTH</label>
619 </th>
620 </tr>
621 <tr>
622 <td style="text-align:center; width:33%"><label style="text-align:center" >Gold Crowns</label><img src="https://i.imgur.com/Iaa05PB.png" style="width:25px; height:25px">
623 </td>
624 <td style="text-align:center; width:33%"><label style="text-align:center" >Silver Shillings</label><img src="https://i.imgur.com/YGifBnd.png" style="width:22px; height:22px">
625 </td>
626 <td style="text-align:center; width:33%"><label style="text-align:center" >Brass Pennies</label><img src="https://i.imgur.com/3VrFgnG.png" style="width:19px; height:19px">
627 </td>
628 </tr>
629 <tr>
630 <td style="text-align:center; width:33%"><input type="number" name="attr_character_Gold" style="text-align:center; font-size:0.9em;" value="0"/>
631 </td>
632 <td style="text-align:center; width:33%"><input type="number" name="attr_character_Silver" style="text-align:center; font-size:0.9em;" value="0"/>
633 </td>
634 <td style="text-align:center; width:33%"><input type="number" name="attr_character_Brass" style="text-align:center; font-size:0.9em;" value="0"/>
635 </td>
636 </tr>
637 <tr>
638 <td style="text-align:center; width:33%"><label style="text-align:center;" >Total</label>
639 </td>
640 <td style="text-align:center; width:33%"><input type="number" name="attr_character_TotalWealth" style="text-align:Right" value="floor(@{character_Brass} + floor(12*@{character_Silver}) + floor(240*@{character_Gold}))" disabled />
641 </td>
642 <td style="text-align:left; width:33%"><label style="text-align:left; font-size:0.8em;" >d (1GC=20/-=240d)</label>
643 </td>
644 </tr>
645 </table>
646 <!--
647 <tr>
648 <th><label style="text-align:center; font-size:0.8em;">1GC = 20/- = 240d</label></th>
649 </tr>
650 -->
651 </div>
652 <div class="sheet-col " style="width:2%">
653 </div>
654
655<!-- Wounds -->
656 <div class="sheet-col" style="width:58%">
657 <table style="width:100%">
658 <tr>
659 <th COLSPAN=8><label style="text-align:center" >WOUNDS</label>
660 </th>
661 </tr>
662 <tr>
663 <td style="text-align:center; width:10%">
664 <select name="attr_Wounds_SB_Opt" style="width:100%" class="sheet-input-selectbox">
665 <option value="@{Current_SB}*3" >SBx3</option>
666 <option value="@{Current_SB}*2" >SBx2</option>
667 <option value="@{Current_SB}" selected >SB</option>
668 <option value="0"><b>-</b></option>
669 </select>
670 </td>
671 <td style="text-align:center; width:10%">
672 <select name="attr_Wounds_TB_Opt" style="width:100%" class="sheet-input-selectbox" >
673 <option value="@{Current_TB}*3" >TBx3</option>
674 <option value="@{Current_TB}*2" selected >TBx2</option>
675 <option value="@{Current_TB}" >TB</option>
676 <option value="0"><b>-</b></option>
677 </select>
678 </td>
679 <td style="text-align:center; width:10%">
680 <select name="attr_Wounds_WPB_Opt" style="width:100%" class="sheet-input-selectbox" >
681 <option value="@{Current_WPB}*3" >WPBx3</option>
682 <option value="@{Current_WPB}*2" >WPBx2</option>
683 <option value="@{Current_WPB}" selected >WPB</option>
684 <option value="0"><b>-</b></option>
685 </select>
686 </td>
687<!-- Hardy Option -->
688 <td style="text-align:center; width:15%">
689 <select name="attr_Wounds_Hardy_Opt" style="width:100%" class="sheet-input-selectbox" >
690 <option value="0" selected >Hardy</option>
691 <option value="@{Current_TB}" ><b>Hardy:1</b></option>
692 <option value="@{Current_TB}*2" ><b>Hardy:2</b></option>
693 <option value="@{Current_TB}*3" ><b>Hardy:3</b></option>
694 <option value="@{Current_TB}*4" ><b>Hardy:4</b></option>
695 <option value="@{Current_TB}*5" ><b>Hardy:5</b></option>
696 <option value="@{Current_TB}*6" ><b>Hardy:6</b></option>
697 <option value="@{Current_TB}*7" ><b>Hardy:7</b></option>
698 <option value="@{Current_TB}*8" ><b>Hardy:8</b></option>
699 <option value="@{Current_TB}*9" ><b>Hardy:9</b></option>
700 <option value="@{Current_TB}*10" ><b>Hardy:10</b></option>
701 </select>
702 </td>
703
704<!-- Wound Size Option -->
705 <td style="text-align:center; width:20%">
706 <select name="attr_Wounds_Size_Opt" style="width:100%" class="sheet-input-selectbox" >
707 <option type="hidden" value="floor((1)+@{Wounds_Mod}+@{Wounds_Hardy})" ><b>Tiny</b></option>
708 <option type="hidden" value="floor((@{Wounds_TB})+@{Wounds_Mod}+@{Wounds_Hardy})" ><b>Little</b></option>
709 <option type="hidden" value="floor(((@{Wounds_TB}+@{Wounds_WPB})*1)+@{Wounds_Mod}+@{Wounds_Hardy})" ><b>Small</b></option>
710 <option type="hidden" value="floor(((@{Wounds_SB}+@{Wounds_TB}+@{Wounds_WPB})*1)+@{Wounds_Mod}+@{Wounds_Hardy})" selected ><b>Average</b></option>
711 <option type="hidden" value="floor(((@{Wounds_SB}+@{Wounds_TB}+@{Wounds_WPB})*2)+@{Wounds_Mod}+@{Wounds_Hardy})" ><b>Large</b></option>
712 <option type="hidden" value="floor(((@{Wounds_SB}+@{Wounds_TB}+@{Wounds_WPB})*4)+@{Wounds_Mod}+@{Wounds_Hardy})" ><b>Enormous</b></option>
713 <option type="hidden" value="floor(((@{Wounds_SB}+@{Wounds_TB}+@{Wounds_WPB})*8)+@{Wounds_Mod}+@{Wounds_Hardy})" ><b>Monstrous</b></option>
714 </select>
715 </td>
716 <td style="text-align:center; width:10%"><label style="text-align:center" >Mod</label>
717 </td>
718 <td style="text-align:center; width:10%"><label style="text-align:center" >Current</label>
719 </td>
720 <td style="text-align:center; width:1%">
721 </td>
722 <td style="text-align:center; width:10%"><label style="text-align:center" >Maximum</label>
723 </td>
724 </tr>
725 <tr>
726 <td style="text-align:center; width:10%"><input type="number" name="attr_Wounds_SB" style="text-align:center" value="floor(@{Wounds_SB_Opt})" disabled />
727 </td>
728 <td style="text-align:center; width:10%"><input type="number" name="attr_Wounds_TB" style="text-align:center" value="floor(@{Wounds_TB_Opt})" disabled />
729 </td>
730 <td style="text-align:center; width:10%"><input type="number" name="attr_Wounds_WPB" style="text-align:center" value="floor(@{Wounds_WPB_Opt})" disabled />
731 </td>
732 <td style="text-align:center; width:15%"><input type="number" name="attr_Wounds_Hardy" style="text-align:center" value="floor(@{Wounds_Hardy_Opt})" disabled />
733 </td>
734 <td style="text-align:center; width:20%"><input type="number" name="attr_Wounds_Size" style="text-align:center" value="floor(@{Wounds_Size_Opt})" disabled />
735 </td>
736 <td style="text-align:center; width:10%"><input type="number" name="attr_Wounds_Mod" style="text-align:center" value="0" />
737 </td>
738 <td style="text-align:center; width:10%"><input type="number" name="attr_Wounds" id="CurrentWounds" style="text-align:center" value="0"/>
739 </td>
740 <td style="text-align:center; width:1%">
741 </td>
742 <td style="text-align:center; width:10%"><input type="number" name="attr_Wounds_max" style="text-align:center" value="@{Wounds_hidden}" disabled />
743 </td>
744 </tr>
745 </table>
746 <input type="hidden" name="attr_Wounds_hidden" style="text-align:center" value="0" />
747 </div>
748</div>
749</div>
750</div>
751
752
753<div class="sheet-tab-content sheet-tabSkillsTalents">
754<div class="sheet-wrapper">
755
756
757<!-- Basic Skills -->
758 <br>
759 <div class="sheet-col sheet-tablealt" style="width:48%">
760 <div class="sheet-tablewrapper" style="width: 95%">
761 <table style="width:100%">
762 <tr>
763 <th COLSPAN=9><div class="sheet-bluelabel"><label style="text-align:center" >BASIC SKILLS</label></div>
764 </th>
765 </tr>
766 <tr>
767 <td style="text-align:center; width:42%"><label style="text-align:left" >Name</label>
768 </td>
769 <td style="text-align:center; width:8%">
770 </td>
771 <td style="text-align:center; width:10%"><label style="text-align:center" >Char.</label>
772 </td>
773 <td style="text-align:center; width:10%"><label style="text-align:center" >Adv.</label>
774 </td>
775 <td style="text-align:center; width:10%"><label style="text-align:center" >Mod.</label>
776 </td>
777 <td style="text-align:center; width:10%"><label style="text-align:center" >Total</label>
778 </td>
779 <td style="text-align:center; width:10%">
780 </td>
781
782 </tr>
783
784<!-- Art Skill -->
785 <tr>
786 <td style="width:42%;text-align:left"><i><span >Art</span></i>
787 </td>
788 <td style="width:8%;text-align:left"><input type="checkbox" value="1" name="attr_ArtCareerSkill" /><span></span>
789 </td>
790 <td style="width:10%">
791 <select name="attr_Art_char" style="width:100%" class="sheet-input-selectbox" >
792 <option value="@{Current_WS}" >(WS)</option>
793 <option value="@{Current_BS}" >(BS)</option>
794 <option value="@{Current_S}" >(S)</option>
795 <option value="@{Current_T}" >(T)</option>
796 <option value="@{Current_I}" >(I)</option>
797 <option value="@{Current_Ag}" >(Ag)</option>
798 <option value="@{Current_Dex}" selected >(Dex)</option>
799 <option value="@{Current_Int}" >(Int)</option>
800 <option value="@{Current_WP}" >(WP)</option>
801 <option value="@{Current_Fel}" >(Fel)</option>
802 </select>
803 </td>
804 <td style="width:10%"><input type="number" style="text-align:center;" name="attr_Art_adv" value="0" />
805 </td>
806 <td style="width:10%">
807 <input type="number" style="text-align:center;" name="attr_Art_mod" value="0" />
808 </td>
809 <td style="width:10%">
810 <input class="cursorbutton" type="number" name="attr_Art" style="text-align:center;" value="floor(@{Art_char}+@{Art_adv}+@{Art_mod})" disabled="true"/>
811 </td>
812 <td style="width:10%">
813 <button type="roll" style="width:90%" name="roll_Art" value="&{template:wfrp4} {{name=@{character_name}}} {{title=Art}} {{dice=[[ 1d100cs01cs02cs03cs04cs05cs11cs22cs33cs44cs55cs66cs77cs88cf96cf97cf98cf99cf100 ]]}} {{against=[[ ?{Modifier?|0}+@{Art} ]]}}">
814 <label class="labelbutton" style="text-align:center">Roll</label>
815 </button>
816 </td>
817 </tr>
818
819 <tr>
820 <td style="width:42%;text-align:left"><span >Athletics</span>
821 </td>
822 <td style="width:8%;text-align:left"><input type="checkbox" value="1" name="attr_AthleticsCareerSkill" /><span></span>
823 </td>
824 <td style="width:10%">
825 <select name="attr_Athletics_char" style="width:100%" class="sheet-input-selectbox" >
826 <option value="@{Current_WS}" >(WS)</option>
827 <option value="@{Current_BS}" >(BS)</option>
828 <option value="@{Current_S}" >(S)</option>
829 <option value="@{Current_T}" >(T)</option>
830 <option value="@{Current_I}" >(I)</option>
831 <option value="@{Current_Ag}" selected >(Ag)</option>
832 <option value="@{Current_Dex}" >(Dex)</option>
833 <option value="@{Current_Int}" >(Int)</option>
834 <option value="@{Current_WP}" >(WP)</option>
835 <option value="@{Current_Fel}" >(Fel)</option>
836 </select>
837 </td>
838 <td style="width:10%"><input type="number" style="text-align:center;" name="attr_Athletics_adv" value="0" />
839 </td>
840 <td style="width:10%">
841 <input type="number" style="text-align:center;" name="attr_Athletics_mod" value="0" />
842 </td>
843 <td style="width:10%">
844 <input type="number" name="attr_Athletics" style="text-align:center;" value="floor(@{Athletics_char}+@{Athletics_adv}+@{Athletics_mod})" disabled="true"/>
845 </td>
846 <td style="width:10%">
847 <button type="roll" style="width:90%" name="roll_Athletics" value="&{template:wfrp4} {{name=@{character_name}}} {{title=Athletics}} {{dice=[[ 1d100cs01cs02cs03cs04cs05cs11cs22cs33cs44cs55cs66cs77cs88cf96cf97cf98cf99cf100 ]]}} {{against=[[ ?{Modifier?|0}+@{Athletics} ]]}}">
848 <label class="labelbutton" style="text-align:center">Roll</label>
849 </button>
850 </td>
851 </tr>
852
853 <tr>
854 <td style="width:42%;text-align:left" >Bribery</td>
855 <td style="width:8%;text-align:left"><input type="checkbox" value="1" name="attr_BriberyCareerSkill" /><span></span>
856 </td>
857 <td style="width:10%">
858 <select name="attr_Bribery_char" style="width:100%" class="sheet-input-selectbox" >
859 <option value="@{Current_WS}" >(WS)</option>
860 <option value="@{Current_BS}" >(BS)</option>
861 <option value="@{Current_S}" >(S)</option>
862 <option value="@{Current_T}" >(T)</option>
863 <option value="@{Current_I}" >(I)</option>
864 <option value="@{Current_Ag}" >(Ag)</option>
865 <option value="@{Current_Dex}" >(Dex)</option>
866 <option value="@{Current_Int}" >(Int)</option>
867 <option value="@{Current_WP}" >(WP)</option>
868 <option value="@{Current_Fel}" selected >(Fel)</option>
869 </select>
870 </td>
871 <td style="width:10%"><input type="number" style="text-align:center;" name="attr_Bribery_adv" value="0" />
872 </td>
873 <td style="width:10%">
874 <input type="number" style="text-align:center;" name="attr_Bribery_mod" value="0" />
875 </td>
876 <td style="width:10%">
877 <input type="number" name="attr_Bribery" style="text-align:center;" value="floor(@{Bribery_char}+@{Bribery_adv}+@{Bribery_mod})" disabled="true"/>
878 </td>
879 <td style="width:10%">
880 <button type="roll" style="width:90%" name="roll_Bribery" value="&{template:wfrp4} {{name=@{character_name}}} {{title=Bribery}} {{dice=[[ 1d100cs01cs02cs03cs04cs05cs11cs22cs33cs44cs55cs66cs77cs88cf96cf97cf98cf99cf100 ]]}} {{against=[[ ?{Modifier?|0}+@{Bribery} ]]}}">
881 <label class="labelbutton" style="text-align:center">Roll</label>
882 </button>
883 </td>
884 </tr>
885
886 <tr>
887 <td style="width:42%;text-align:left" >Charm</td>
888 <td style="width:8%;text-align:left"><input type="checkbox" value="1" name="attr_CharmCareerSkill" /><span></span>
889 </td>
890 <td style="width:10%">
891 <select name="attr_Charm_char" style="width:100%" class="sheet-input-selectbox" >
892 <option value="@{Current_WS}" >(WS)</option>
893 <option value="@{Current_BS}" >(BS)</option>
894 <option value="@{Current_S}" >(S)</option>
895 <option value="@{Current_T}" >(T)</option>
896 <option value="@{Current_I}" >(I)</option>
897 <option value="@{Current_Ag}" >(Ag)</option>
898 <option value="@{Current_Dex}" >(Dex)</option>
899 <option value="@{Current_Int}" >(Int)</option>
900 <option value="@{Current_WP}" >(WP)</option>
901 <option value="@{Current_Fel}" selected >(Fel)</option>
902 </select>
903 </td>
904 <td style="width:10%"><input type="number" style="text-align:center;" name="attr_Charm_adv" value="0" />
905 </td>
906 <td style="width:10%">
907 <input type="number" style="text-align:center;" name="attr_Charm_mod" value="0" />
908 </td>
909 <td style="width:10%">
910 <input type="number" name="attr_Charm" style="text-align:center;" value="floor(@{Charm_char}+@{Charm_adv}+@{Charm_mod})" disabled="true"/>
911 </td>
912 <td style="width:10%">
913 <button type="roll" style="width:90%" name="roll_Charm" value="&{template:wfrp4} {{name=@{character_name}}} {{title=Charm}} {{dice=[[ 1d100cs01cs02cs03cs04cs05cs11cs22cs33cs44cs55cs66cs77cs88cf96cf97cf98cf99cf100 ]]}} {{against=[[ ?{Modifier?|0}+@{Charm} ]]}}">
914 <label class="labelbutton" style="text-align:center">Roll</label>
915 </button>
916 </td>
917 </tr>
918
919 <tr>
920 <td style="width:42%;text-align:left" >Charm Animal</td>
921 <td style="width:8%;text-align:left"><input type="checkbox" value="1" name="attr_CharmAnimalCareerSkill" /><span></span>
922 </td>
923 <td style="width:10%">
924 <select name="attr_CharmAnimal_char" style="width:100%" class="sheet-input-selectbox" >
925 <option value="@{Current_WS}" >(WS)</option>
926 <option value="@{Current_BS}" >(BS)</option>
927 <option value="@{Current_S}" >(S)</option>
928 <option value="@{Current_T}" >(T)</option>
929 <option value="@{Current_I}" >(I)</option>
930 <option value="@{Current_Ag}" >(Ag)</option>
931 <option value="@{Current_Dex}" >(Dex)</option>
932 <option value="@{Current_Int}" >(Int)</option>
933 <option value="@{Current_WP}" selected >(WP)</option>
934 <option value="@{Current_Fel}" >(Fel)</option>
935 </select>
936 </td>
937 <td style="width:10%"><input type="number" style="text-align:center;" name="attr_CharmAnimal_adv" value="0" />
938 </td>
939 <td style="width:10%">
940 <input type="number" style="text-align:center;" name="attr_CharmAnimal_mod" value="0" />
941 </td>
942 <td style="width:10%">
943 <input type="number" name="attr_CharmAnimal" style="text-align:center;" value="floor(@{CharmAnimal_char}+@{CharmAnimal_adv}+@{CharmAnimal_mod})" disabled="true"/>
944 </td>
945 <td style="width:10%">
946 <button type="roll" style="width:90%" name="roll_CharmAnimal" value="&{template:wfrp4} {{name=@{character_name}}} {{title=Charm Animal}} {{dice=[[ 1d100cs01cs02cs03cs04cs05cs11cs22cs33cs44cs55cs66cs77cs88cf96cf97cf98cf99cf100 ]]}} {{against=[[ ?{Modifier?|0}+@{CharmAnimal} ]]}}">
947 <label class="labelbutton" style="text-align:center">Roll</label>
948 </button>
949 </td>
950 </tr>
951
952 <tr>
953 <td style="width:42%;text-align:left" >Climb</td>
954 <td style="width:8%;text-align:left"><input type="checkbox" value="1" name="attr_ClimbCareerSkill" /><span></span>
955 </td>
956 <td style="width:10%">
957 <select name="attr_Climb_char" style="width:100%" class="sheet-input-selectbox" >
958 <option value="@{Current_WS}" >(WS)</option>
959 <option value="@{Current_BS}" >(BS)</option>
960 <option value="@{Current_S}" selected >(S)</option>
961 <option value="@{Current_T}" >(T)</option>
962 <option value="@{Current_I}" >(I)</option>
963 <option value="@{Current_Ag}" >(Ag)</option>
964 <option value="@{Current_Dex}" >(Dex)</option>
965 <option value="@{Current_Int}" >(Int)</option>
966 <option value="@{Current_WP}" >(WP)</option>
967 <option value="@{Current_Fel}" >(Fel)</option>
968 </select>
969 </td>
970 <td style="width:10%"><input type="number" style="text-align:center;" name="attr_Climb_adv" value="0" />
971 </td>
972 <td style="width:10%">
973 <input type="number" style="text-align:center;" name="attr_Climb_mod" value="0" />
974 </td>
975 <td style="width:10%">
976 <input type="number" name="attr_Climb" style="text-align:center;" value="floor(@{Climb_char}+@{Climb_adv}+@{Climb_mod})" disabled="true"/>
977 </td>
978 <td style="width:10%">
979 <button type="roll" style="width:90%" name="roll_Climb" value="&{template:wfrp4} {{name=@{character_name}}} {{title=Climb}} {{dice=[[ 1d100cs01cs02cs03cs04cs05cs11cs22cs33cs44cs55cs66cs77cs88cf96cf97cf98cf99cf100 ]]}} {{against=[[ ?{Modifier?|0}+@{Climb} ]]}}">
980 <label class="labelbutton" style="text-align:center">Roll</label>
981 </button>
982 </td>
983 </tr>
984
985 <tr>
986 <td style="width:42%;text-align:left" >Cool</td>
987 <td style="width:8%;text-align:left"><input type="checkbox" value="1" name="attr_CoolCareerSkill" /><span></span>
988 </td>
989 <td style="width:10%">
990 <select name="attr_Cool_char" style="width:100%" class="sheet-input-selectbox" >
991 <option value="@{Current_WS}" >(WS)</option>
992 <option value="@{Current_BS}" >(BS)</option>
993 <option value="@{Current_S}" >(S)</option>
994 <option value="@{Current_T}" >(T)</option>
995 <option value="@{Current_I}" >(I)</option>
996 <option value="@{Current_Ag}" >(Ag)</option>
997 <option value="@{Current_Dex}" >(Dex)</option>
998 <option value="@{Current_Int}" >(Int)</option>
999 <option value="@{Current_WP}" selected >(WP)</option>
1000 <option value="@{Current_Fel}" >(Fel)</option>
1001 </select>
1002 </td>
1003 <td style="width:10%"><input type="number" style="text-align:center;" name="attr_Cool_adv" value="0" />
1004 </td>
1005 <td style="width:10%">
1006 <input type="number" style="text-align:center;" name="attr_Cool_mod" value="0" />
1007 </td>
1008 <td style="width:10%">
1009 <input type="number" name="attr_Cool" style="text-align:center;" value="floor(@{Cool_char}+@{Cool_adv}+@{Cool_mod})" disabled="true"/>
1010 </td>
1011 <td style="width:10%">
1012 <button type="roll" style="width:90%" name="roll_Cool" value="&{template:wfrp4} {{name=@{character_name}}} {{title=Cool}} {{dice=[[ 1d100cs01cs02cs03cs04cs05cs11cs22cs33cs44cs55cs66cs77cs88cf96cf97cf98cf99cf100 ]]}} {{against=[[ ?{Modifier?|0}+@{Cool} ]]}}">
1013 <label class="labelbutton" style="text-align:center">Roll</label>
1014 </button>
1015 </td>
1016 </tr>
1017
1018 <tr>
1019 <td style="width:42%;text-align:left" >Consume Alcohol</td>
1020 <td style="width:8%;text-align:left"><input type="checkbox" value="1" name="attr_ConsumeAlcoholCareerSkill" /><span></span>
1021 </td>
1022 <td style="width:10%">
1023 <select name="attr_ConsumeAlcohol_char" style="width:100%" class="sheet-input-selectbox" >
1024 <option value="@{Current_WS}" >(WS)</option>
1025 <option value="@{Current_BS}" >(BS)</option>
1026 <option value="@{Current_S}" >(S)</option>
1027 <option value="@{Current_T}" selected >(T)</option>
1028 <option value="@{Current_I}" >(I)</option>
1029 <option value="@{Current_Ag}" >(Ag)</option>
1030 <option value="@{Current_Dex}" >(Dex)</option>
1031 <option value="@{Current_Int}" >(Int)</option>
1032 <option value="@{Current_WP}" >(WP)</option>
1033 <option value="@{Current_Fel}" >(Fel)</option>
1034 </select>
1035 </td>
1036 <td style="width:10%"><input type="number" style="text-align:center;" name="attr_ConsumeAlcohol_adv" value="0" />
1037 </td>
1038 <td style="width:10%">
1039 <input type="number" style="text-align:center;" name="attr_ConsumeAlcohol_mod" value="0" />
1040 </td>
1041 <td style="width:10%">
1042 <input type="number" name="attr_ConsumeAlcohol" style="text-align:center;" value="floor(@{ConsumeAlcohol_char}+@{ConsumeAlcohol_adv}+@{ConsumeAlcohol_mod})" disabled="true"/>
1043 </td>
1044 <td style="width:10%">
1045 <button type="roll" style="width:90%" name="roll_ConsumeAlcohol" value="&{template:wfrp4} {{name=@{character_name}}} {{title=Consume Alcohol}} {{dice=[[ 1d100cs01cs02cs03cs04cs05cs11cs22cs33cs44cs55cs66cs77cs88cf96cf97cf98cf99cf100 ]]}} {{against=[[ ?{Modifier?|0}+@{ConsumeAlcohol} ]]}}">
1046 <label class="labelbutton" style="text-align:center">Roll</label>
1047 </button>
1048 </td>
1049 </tr>
1050 <tr>
1051 <td style="width:42%;text-align:left" >Dodge</td>
1052 <td style="width:8%;text-align:left"><input type="checkbox" value="1" name="attr_DodgeCareerSkill" /><span></span>
1053 </td>
1054 <td style="width:10%">
1055 <select name="attr_Dodge_char" style="width:100%" class="sheet-input-selectbox" >
1056 <option value="@{Current_WS}" >(WS)</option>
1057 <option value="@{Current_BS}" >(BS)</option>
1058 <option value="@{Current_S}" >(S)</option>
1059 <option value="@{Current_T}" >(T)</option>
1060 <option value="@{Current_I}" >(I)</option>
1061 <option value="@{Current_Ag}" selected >(Ag)</option>
1062 <option value="@{Current_Dex}" >(Dex)</option>
1063 <option value="@{Current_Int}" >(Int)</option>
1064 <option value="@{Current_WP}" >(WP)</option>
1065 <option value="@{Current_Fel}" >(Fel)</option>
1066 </select>
1067 </td>
1068 <td style="width:10%"><input type="number" style="text-align:center;" name="attr_Dodge_adv" value="0" />
1069 </td>
1070 <td style="width:10%">
1071 <input type="number" style="text-align:center;" name="attr_Dodge_mod" value="0" />
1072 </td>
1073 <td style="width:10%">
1074 <input type="number" name="attr_Dodge" style="text-align:center;" value="floor(@{Dodge_char}+@{Dodge_adv}+@{Dodge_mod})" disabled="true"/>
1075 </td>
1076 <td style="width:10%">
1077 <button type="roll" style="width:90%" name="roll_Dodge" value="&{template:wfrp4} {{name=@{character_name}}} {{title=Dodge}} {{dice=[[ 1d100cs01cs02cs03cs04cs05cs11cs22cs33cs44cs55cs66cs77cs88cf96cf97cf98cf99cf100 ]]}} {{against=[[ ?{Modifier?|0}+@{Dodge} ]]}}">
1078 <label class="labelbutton" style="text-align:center">Roll</label>
1079 </button>
1080 </td>
1081 </tr>
1082
1083 <tr>
1084 <td style="width:42%;text-align:left" >Drive</td>
1085 <td style="width:8%;text-align:left"><input type="checkbox" value="1" name="attr_DriveCareerSkill" /><span></span>
1086 </td>
1087 <td style="width:10%">
1088 <select name="attr_Drive_char" style="width:100%" class="sheet-input-selectbox" >
1089 <option value="@{Current_WS}" >(WS)</option>
1090 <option value="@{Current_BS}" >(BS)</option>
1091 <option value="@{Current_S}" >(S)</option>
1092 <option value="@{Current_T}" >(T)</option>
1093 <option value="@{Current_I}" >(I)</option>
1094 <option value="@{Current_Ag}" selected >(Ag)</option>
1095 <option value="@{Current_Dex}" >(Dex)</option>
1096 <option value="@{Current_Int}" >(Int)</option>
1097 <option value="@{Current_WP}" >(WP)</option>
1098 <option value="@{Current_Fel}" >(Fel)</option>
1099 </select>
1100 </td>
1101 <td style="width:10%"><input type="number" style="text-align:center;" name="attr_Drive_adv" value="0" />
1102 </td>
1103 <td style="width:10%">
1104 <input type="number" style="text-align:center;" name="attr_Drive_mod" value="0" />
1105 </td>
1106 <td style="width:10%">
1107 <input type="number" name="attr_Drive" style="text-align:center;" value="floor(@{Drive_char}+@{Drive_adv}+@{Drive_mod})" disabled="true"/>
1108 </td>
1109 <td style="width:10%">
1110 <button type="roll" style="width:90%" name="roll_Drive" value="&{template:wfrp4} {{name=@{character_name}}} {{title=Drive}} {{dice=[[ 1d100cs01cs02cs03cs04cs05cs11cs22cs33cs44cs55cs66cs77cs88cf96cf97cf98cf99cf100 ]]}} {{against=[[ ?{Modifier?|0}+@{Drive} ]]}}">
1111 <label class="labelbutton" style="text-align:center">Roll</label>
1112 </button>
1113 </td>
1114 </tr>
1115
1116 <tr>
1117 <td style="width:42%;text-align:left" >Endurance</td>
1118 <td style="width:8%;text-align:left"><input type="checkbox" value="1" name="attr_EnduranceCareerSkill" /><span></span>
1119 </td>
1120 <td style="width:10%">
1121 <select name="attr_Endurance_char" style="width:100%" class="sheet-input-selectbox" >
1122 <option value="@{Current_WS}" >(WS)</option>
1123 <option value="@{Current_BS}" >(BS)</option>
1124 <option value="@{Current_S}" >(S)</option>
1125 <option value="@{Current_T}" selected >(T)</option>
1126 <option value="@{Current_I}" >(I)</option>
1127 <option value="@{Current_Ag}" >(Ag)</option>
1128 <option value="@{Current_Dex}" >(Dex)</option>
1129 <option value="@{Current_Int}" >(Int)</option>
1130 <option value="@{Current_WP}" >(WP)</option>
1131 <option value="@{Current_Fel}" >(Fel)</option>
1132 </select>
1133 </td>
1134 <td style="width:10%"><input type="number" style="text-align:center;" name="attr_Endurance_adv" value="0" />
1135 </td>
1136 <td style="width:10%">
1137 <input type="number" style="text-align:center;" name="attr_Endurance_mod" value="0" />
1138 </td>
1139 <td style="width:10%">
1140 <input type="number" name="attr_Endurance" style="text-align:center;" value="floor(@{Endurance_char}+@{Endurance_adv}+@{Endurance_mod})" disabled="true"/>
1141 </td>
1142 <td style="width:10%">
1143 <button type="roll" style="width:90%" name="roll_Endurance" value="&{template:wfrp4} {{name=@{character_name}}} {{title=Endurance}} {{dice=[[ 1d100cs01cs02cs03cs04cs05cs11cs22cs33cs44cs55cs66cs77cs88cf96cf97cf98cf99cf100 ]]}} {{against=[[ ?{Modifier?|0}+@{Endurance} ]]}}">
1144 <label class="labelbutton" style="text-align:center">Roll</label>
1145 </button>
1146 </td>
1147 </tr>
1148
1149 <tr>
1150 <td style="width:42%;text-align:left"><i><span >Entertain</span></i></td>
1151 <td style="width:8%;text-align:left"><input type="checkbox" value="1" name="attr_EntertainCareerSkill" /><span></span>
1152 </td>
1153 <td style="width:10%">
1154 <select name="attr_Entertain_char" style="width:100%" class="sheet-input-selectbox" >
1155 <option value="@{Current_WS}" >(WS)</option>
1156 <option value="@{Current_BS}" >(BS)</option>
1157 <option value="@{Current_S}" >(S)</option>
1158 <option value="@{Current_T}" >(T)</option>
1159 <option value="@{Current_I}" >(I)</option>
1160 <option value="@{Current_Ag}" >(Ag)</option>
1161 <option value="@{Current_Dex}" >(Dex)</option>
1162 <option value="@{Current_Int}" >(Int)</option>
1163 <option value="@{Current_WP}" >(WP)</option>
1164 <option value="@{Current_Fel}" selected >(Fel)</option>
1165 </select>
1166 </td>
1167 <td style="width:10%"><input type="number" style="text-align:center;" name="attr_Entertain_adv" value="0" />
1168 </td>
1169 <td style="width:10%">
1170 <input type="number" style="text-align:center;" name="attr_Entertain_mod" value="0" />
1171 </td>
1172 <td style="width:10%">
1173 <input type="number" name="attr_Entertain" style="text-align:center;" value="floor(@{Entertain_char}+@{Entertain_adv}+@{Entertain_mod})" disabled="true"/>
1174 </td>
1175 <td style="width:10%">
1176 <button type="roll" style="width:90%" name="roll_Entertain" value="&{template:wfrp4} {{name=@{character_name}}} {{title=Entertain}} {{dice=[[ 1d100cs01cs02cs03cs04cs05cs11cs22cs33cs44cs55cs66cs77cs88cf96cf97cf98cf99cf100 ]]}} {{against=[[ ?{Modifier?|0}+@{Entertain} ]]}}">
1177 <label class="labelbutton" style="text-align:center">Roll</label>
1178 </button>
1179 </td>
1180 </tr>
1181
1182 <tr>
1183 <td style="width:42%;text-align:left" >Gamble</td>
1184 <td style="width:8%;text-align:left"><input type="checkbox" value="1" name="attr_GambleCareerSkill" /><span></span>
1185 </td>
1186 <td style="width:10%">
1187 <select name="attr_Gamble_char" style="width:100%" class="sheet-input-selectbox" >
1188 <option value="@{Current_WS}" >(WS)</option>
1189 <option value="@{Current_BS}" >(BS)</option>
1190 <option value="@{Current_S}" >(S)</option>
1191 <option value="@{Current_T}" >(T)</option>
1192 <option value="@{Current_I}" >(I)</option>
1193 <option value="@{Current_Ag}" >(Ag)</option>
1194 <option value="@{Current_Dex}" >(Dex)</option>
1195 <option value="@{Current_Int}" selected >(Int)</option>
1196 <option value="@{Current_WP}" >(WP)</option>
1197 <option value="@{Current_Fel}" >(Fel)</option>
1198 </select>
1199 </td>
1200 <td style="width:10%"><input type="number" style="text-align:center;" name="attr_Gamble_adv" value="0" />
1201 </td>
1202 <td style="width:10%">
1203 <input type="number" style="text-align:center;" name="attr_Gamble_mod" value="0" />
1204 </td>
1205 <td style="width:10%">
1206 <input type="number" name="attr_Gamble" style="text-align:center;" value="floor(@{Gamble_char}+@{Gamble_adv}+@{Gamble_mod})" disabled="true"/>
1207 </td>
1208 <td style="width:10%">
1209 <button type="roll" style="width:90%" name="roll_Gamble" value="&{template:wfrp4} {{name=@{character_name}}} {{title=Gamble}} {{dice=[[ 1d100cs01cs02cs03cs04cs05cs11cs22cs33cs44cs55cs66cs77cs88cf96cf97cf98cf99cf100 ]]}} {{against=[[ ?{Modifier?|0}+@{Gamble} ]]}}">
1210 <label class="labelbutton" style="text-align:center">Roll</label>
1211 </button>
1212 </td>
1213 </tr>
1214
1215 <tr>
1216 <td style="width:42%;text-align:left" >Gossip</td>
1217 <td style="width:8%;text-align:left"><input type="checkbox" value="1" name="attr_GossipCareerSkill" /><span></span>
1218 </td>
1219 <td style="width:10%">
1220 <select name="attr_Gossip_char" style="width:100%" class="sheet-input-selectbox" >
1221 <option value="@{Current_WS}" >(WS)</option>
1222 <option value="@{Current_BS}" >(BS)</option>
1223 <option value="@{Current_S}" >(S)</option>
1224 <option value="@{Current_T}" >(T)</option>
1225 <option value="@{Current_I}" >(I)</option>
1226 <option value="@{Current_Ag}" >(Ag)</option>
1227 <option value="@{Current_Dex}" >(Dex)</option>
1228 <option value="@{Current_Int}" >(Int)</option>
1229 <option value="@{Current_WP}" >(WP)</option>
1230 <option value="@{Current_Fel}" selected >(Fel)</option>
1231 </select>
1232 </td>
1233 <td style="width:10%"><input type="number" style="text-align:center;" name="attr_Gossip_adv" value="0" />
1234 </td>
1235 <td style="width:10%">
1236 <input type="number" style="text-align:center;" name="attr_Gossip_mod" value="0" />
1237 </td>
1238 <td style="width:10%">
1239 <input type="number" name="attr_Gossip" style="text-align:center;" value="floor(@{Gossip_char}+@{Gossip_adv}+@{Gossip_mod})" disabled="true"/>
1240 </td>
1241 <td style="width:10%">
1242 <button type="roll" style="width:90%" name="roll_Gossip" value="&{template:wfrp4} {{name=@{character_name}}} {{title=Gossip}} {{dice=[[ 1d100cs01cs02cs03cs04cs05cs11cs22cs33cs44cs55cs66cs77cs88cf96cf97cf98cf99cf100 ]]}} {{against=[[ ?{Modifier?|0}+@{Gossip} ]]}}">
1243 <label class="labelbutton" style="text-align:center">Roll</label>
1244 </button>
1245 </td>
1246 </tr>
1247
1248 <tr>
1249 <td style="width:42%;text-align:left" >Haggle</td>
1250 <td style="width:8%;text-align:left"><input type="checkbox" value="1" name="attr_HaggleCareerSkill" /><span></span>
1251 </td>
1252 <td style="width:10%">
1253 <select name="attr_Haggle_char" style="width:100%" class="sheet-input-selectbox" >
1254 <option value="@{Current_WS}" >(WS)</option>
1255 <option value="@{Current_BS}" >(BS)</option>
1256 <option value="@{Current_S}" >(S)</option>
1257 <option value="@{Current_T}" >(T)</option>
1258 <option value="@{Current_I}" >(I)</option>
1259 <option value="@{Current_Ag}" >(Ag)</option>
1260 <option value="@{Current_Dex}" >(Dex)</option>
1261 <option value="@{Current_Int}" >(Int)</option>
1262 <option value="@{Current_WP}" >(WP)</option>
1263 <option value="@{Current_Fel}" selected >(Fel)</option>
1264 </select>
1265 </td>
1266 <td style="width:10%"><input type="number" style="text-align:center;" name="attr_Haggle_adv" value="0" />
1267 </td>
1268 <td style="width:10%">
1269 <input type="number" style="text-align:center;" name="attr_Haggle_mod" value="0" />
1270 </td>
1271 <td style="width:10%">
1272 <input type="number" name="attr_Haggle" style="text-align:center;" value="floor(@{Haggle_char}+@{Haggle_adv}+@{Haggle_mod})" disabled="true"/>
1273 </td>
1274 <td style="width:10%">
1275 <button type="roll" style="width:90%" name="roll_Haggle" value="&{template:wfrp4} {{name=@{character_name}}} {{title=Haggle}} {{dice=[[ 1d100cs01cs02cs03cs04cs05cs11cs22cs33cs44cs55cs66cs77cs88cf96cf97cf98cf99cf100 ]]}} {{against=[[ ?{Modifier?|0}+@{Haggle} ]]}}">
1276 <label class="labelbutton" style="text-align:center">Roll</label>
1277 </button>
1278 </td>
1279 </tr>
1280
1281 <tr>
1282 <td style="width:42%;text-align:left" >Intimidate</td>
1283 <td style="width:8%;text-align:left"><input type="checkbox" value="1" name="attr_IntimidateCareerSkill" /><span></span>
1284 </td>
1285 <td style="width:10%">
1286 <select name="attr_Intimidate_char" style="width:100%" class="sheet-input-selectbox" >
1287 <option value="@{Current_WS}" >(WS)</option>
1288 <option value="@{Current_BS}" >(BS)</option>
1289 <option value="@{Current_S}" selected >(S)</option>
1290 <option value="@{Current_T}" >(T)</option>
1291 <option value="@{Current_I}" >(I)</option>
1292 <option value="@{Current_Ag}" >(Ag)</option>
1293 <option value="@{Current_Dex}" >(Dex)</option>
1294 <option value="@{Current_Int}" >(Int)</option>
1295 <option value="@{Current_WP}" >(WP)</option>
1296 <option value="@{Current_Fel}" >(Fel)</option>
1297 </select>
1298 </td>
1299 <td style="width:10%"><input type="number" style="text-align:center;" name="attr_Intimidate_adv" value="0" />
1300 </td>
1301 <td style="width:10%">
1302 <input type="number" style="text-align:center;" name="attr_Intimidate_mod" value="0" />
1303 </td>
1304 <td style="width:10%">
1305 <input type="number" name="attr_Intimidate" style="text-align:center;" value="floor(@{Intimidate_char}+@{Intimidate_adv}+@{Intimidate_mod})" disabled="true"/>
1306 </td>
1307 <td style="width:10%">
1308 <button type="roll" style="width:90%" name="roll_Intimidate" value="&{template:wfrp4} {{name=@{character_name}}} {{title=Intimidate}} {{dice=[[ 1d100cs01cs02cs03cs04cs05cs11cs22cs33cs44cs55cs66cs77cs88cf96cf97cf98cf99cf100 ]]}} {{against=[[ ?{Modifier?|0}+@{Intimidate} ]]}}">
1309 <label class="labelbutton" style="text-align:center">Roll</label>
1310 </button>
1311 </td>
1312 </tr>
1313
1314 <tr>
1315 <td style="width:42%;text-align:left" >Intuition</td>
1316 <td style="width:8%;text-align:left"><input type="checkbox" value="1" name="attr_IntutitionCareerSkill" /><span></span>
1317 </td>
1318 <td style="width:10%">
1319 <select name="attr_Intuition_char" style="width:100%" class="sheet-input-selectbox" >
1320 <option value="@{Current_WS}" >(WS)</option>
1321 <option value="@{Current_BS}" >(BS)</option>
1322 <option value="@{Current_S}" >(S)</option>
1323 <option value="@{Current_T}" >(T)</option>
1324 <option value="@{Current_I}" selected >(I)</option>
1325 <option value="@{Current_Ag}" >(Ag)</option>
1326 <option value="@{Current_Dex}" >(Dex)</option>
1327 <option value="@{Current_Int}" >(Int)</option>
1328 <option value="@{Current_WP}" >(WP)</option>
1329 <option value="@{Current_Fel}" >(Fel)</option>
1330 </select>
1331 </td>
1332 <td style="width:10%"><input type="number" style="text-align:center;" name="attr_Intuition_adv" value="0" />
1333 </td>
1334 <td style="width:10%">
1335 <input type="number" style="text-align:center;" name="attr_Intuition_mod" value="0" />
1336 </td>
1337 <td style="width:10%">
1338 <input type="number" name="attr_Intuition" style="text-align:center;" value="floor(@{Intuition_char}+@{Intuition_adv}+@{Intuition_mod})" disabled="true"/>
1339 </td>
1340 <td style="width:10%">
1341 <button type="roll" style="width:90%" name="roll_Intuition" value="&{template:wfrp4} {{name=@{character_name}}} {{title=Intuition}} {{dice=[[ 1d100cs01cs02cs03cs04cs05cs11cs22cs33cs44cs55cs66cs77cs88cf96cf97cf98cf99cf100 ]]}} {{against=[[ ?{Modifier?|0}+@{Intuition} ]]}}">
1342 <label class="labelbutton" style="text-align:center">Roll</label>
1343 </button>
1344 </td>
1345 </tr>
1346
1347 <tr>
1348 <td style="width:42%;text-align:left" >Leadership</td>
1349 <td style="width:8%;text-align:left"><input type="checkbox" value="1" name="attr_LeadershipCareerSkill" /><span></span>
1350 </td>
1351 <td style="width:10%">
1352 <select name="attr_Leadership_char" style="width:100%" class="sheet-input-selectbox" >
1353 <option value="@{Current_WS}" >(WS)</option>
1354 <option value="@{Current_BS}" >(BS)</option>
1355 <option value="@{Current_S}" >(S)</option>
1356 <option value="@{Current_T}" >(T)</option>
1357 <option value="@{Current_I}" >(I)</option>
1358 <option value="@{Current_Ag}" >(Ag)</option>
1359 <option value="@{Current_Dex}" >(Dex)</option>
1360 <option value="@{Current_Int}" >(Int)</option>
1361 <option value="@{Current_WP}" >(WP)</option>
1362 <option value="@{Current_Fel}" selected >(Fel)</option>
1363 </select>
1364 </td>
1365 <td style="width:10%"><input type="number" style="text-align:center;" name="attr_Leadership_adv" value="0" />
1366 </td>
1367 <td style="width:10%">
1368 <input type="number" style="text-align:center;" name="attr_Leadership_mod" value="0" />
1369 </td>
1370 <td style="width:10%">
1371 <input type="number" name="attr_Leadership" style="text-align:center;" value="floor(@{Leadership_char}+@{Leadership_adv}+@{Leadership_mod})" disabled="true"/>
1372 </td>
1373 <td style="width:10%">
1374 <button type="roll" style="width:90%" name="roll_Leadership" value="&{template:wfrp4} {{name=@{character_name}}} {{title=Leadership}} {{dice=[[ 1d100cs01cs02cs03cs04cs05cs11cs22cs33cs44cs55cs66cs77cs88cf96cf97cf98cf99cf100 ]]}} {{against=[[ ?{Modifier?|0}+@{Leadership} ]]}}">
1375 <label class="labelbutton" style="text-align:center">Roll</label>
1376 </button>
1377 </td>
1378 </tr>
1379
1380 <tr>
1381 <td style="width:42%;text-align:left" >Navigation</td>
1382 <td style="width:8%;text-align:left"><input type="checkbox" value="1" name="attr_NavigationCareerSkill" /><span></span>
1383 </td>
1384 <td style="width:10%">
1385 <select name="attr_Navigation_char" style="width:100%" class="sheet-input-selectbox" >
1386 <option value="@{Current_WS}" >(WS)</option>
1387 <option value="@{Current_BS}" >(BS)</option>
1388 <option value="@{Current_S}" >(S)</option>
1389 <option value="@{Current_T}" >(T)</option>
1390 <option value="@{Current_I}" selected >(I)</option>
1391 <option value="@{Current_Ag}" >(Ag)</option>
1392 <option value="@{Current_Dex}" >(Dex)</option>
1393 <option value="@{Current_Int}" >(Int)</option>
1394 <option value="@{Current_WP}" >(WP)</option>
1395 <option value="@{Current_Fel}" >(Fel)</option>
1396 </select>
1397 </td>
1398 <td style="width:10%"><input type="number" style="text-align:center;" name="attr_Navigation_adv" value="0" />
1399 </td>
1400 <td style="width:10%">
1401 <input type="number" style="text-align:center;" name="attr_Navigation_mod" value="0" />
1402 </td>
1403 <td style="width:10%">
1404 <input type="number" name="attr_Navigation" style="text-align:center;" value="floor(@{Navigation_char}+@{Navigation_adv}+@{Navigation_mod})" disabled="true"/>
1405 </td>
1406 <td style="width:10%">
1407 <button type="roll" style="width:90%" name="roll_Navigation" value="&{template:wfrp4} {{name=@{character_name}}} {{title=Navigation}} {{dice=[[ 1d100cs01cs02cs03cs04cs05cs11cs22cs33cs44cs55cs66cs77cs88cf96cf97cf98cf99cf100 ]]}} {{against=[[ ?{Modifier?|0}+@{Navigation} ]]}}">
1408 <label class="labelbutton" style="text-align:center">Roll</label>
1409 </button>
1410 </td>
1411 </tr>
1412
1413 <tr>
1414 <td style="width:42%;text-align:left" >Outdoor Survival</td>
1415 <td style="width:8%;text-align:left"><input type="checkbox" value="1" name="attr_OutdoorSurvivalCareerSkill" /><span></span>
1416 </td>
1417 <td style="width:10%">
1418 <select name="attr_OutdoorSurvival_char" style="width:100%" class="sheet-input-selectbox" >
1419 <option value="@{Current_WS}" >(WS)</option>
1420 <option value="@{Current_BS}" >(BS)</option>
1421 <option value="@{Current_S}" >(S)</option>
1422 <option value="@{Current_T}" >(T)</option>
1423 <option value="@{Current_I}" >(I)</option>
1424 <option value="@{Current_Ag}" >(Ag)</option>
1425 <option value="@{Current_Dex}" >(Dex)</option>
1426 <option value="@{Current_Int}" selected >(Int)</option>
1427 <option value="@{Current_WP}" >(WP)</option>
1428 <option value="@{Current_Fel}" >(Fel)</option>
1429 </select>
1430 </td>
1431 <td style="width:10%"><input type="number" style="text-align:center;" name="attr_OutdoorSurvival_adv" value="0" />
1432 </td>
1433 <td style="width:10%">
1434 <input type="number" style="text-align:center;" name="attr_OutdoorSurvival_mod" value="0" />
1435 </td>
1436 <td style="width:10%">
1437 <input type="number" name="attr_OutdoorSurvival" style="text-align:center;" value="floor(@{OutdoorSurvival_char}+@{OutdoorSurvival_adv}+@{OutdoorSurvival_mod})" disabled="true"/>
1438 </td>
1439 <td style="width:10%">
1440 <button type="roll" style="width:90%" name="roll_OutdoorSurvival" value="&{template:wfrp4} {{name=@{character_name}}} {{title=Outdoor Survival}} {{dice=[[ 1d100cs01cs02cs03cs04cs05cs11cs22cs33cs44cs55cs66cs77cs88cf96cf97cf98cf99cf100 ]]}} {{against=[[ ?{Modifier?|0}+@{OutdoorSurvival} ]]}}">
1441 <label class="labelbutton" style="text-align:center">Roll</label>
1442 </button>
1443 </td>
1444 </tr>
1445
1446 <tr>
1447 <td style="width:42%;text-align:left" >Perception</td>
1448 <td style="width:8%;text-align:left"><input type="checkbox" value="1" name="attr_PerceptionCareerSkill" /><span></span>
1449 </td>
1450 <td style="width:10%">
1451 <select name="attr_Perception_char" style="width:100%" class="sheet-input-selectbox" >
1452 <option value="@{Current_WS}" >(WS)</option>
1453 <option value="@{Current_BS}" >(BS)</option>
1454 <option value="@{Current_S}" >(S)</option>
1455 <option value="@{Current_T}" >(T)</option>
1456 <option value="@{Current_I}" selected >(I)</option>
1457 <option value="@{Current_Ag}" >(Ag)</option>
1458 <option value="@{Current_Dex}" >(Dex)</option>
1459 <option value="@{Current_Int}" >(Int)</option>
1460 <option value="@{Current_WP}" >(WP)</option>
1461 <option value="@{Current_Fel}" >(Fel)</option>
1462 </select>
1463 </td>
1464 <td style="width:10%"><input type="number" style="text-align:center;" name="attr_Perception_adv" value="0" />
1465 </td>
1466 <td style="width:10%">
1467 <input type="number" style="text-align:center;" name="attr_Perception_mod" value="0" />
1468 </td>
1469 <td style="width:10%">
1470 <input type="number" name="attr_Perception" style="text-align:center;" value="floor(@{Perception_char}+@{Perception_adv}+@{Perception_mod})" disabled="true"/>
1471 </td>
1472 <td style="width:10%">
1473 <button type="roll" style="width:90%" name="roll_Perception" value="&{template:wfrp4} {{name=@{character_name}}} {{title=Perception}} {{dice=[[ 1d100cs01cs02cs03cs04cs05cs11cs22cs33cs44cs55cs66cs77cs88cf96cf97cf98cf99cf100 ]]}} {{against=[[ ?{Modifier?|0}+@{Perception} ]]}}">
1474 <label class="labelbutton" style="text-align:center">Roll</label>
1475 </button>
1476 </td>
1477 </tr>
1478
1479 <tr>
1480 <td style="width:42%;text-align:left"><i><span >Ride</span></i></td>
1481 <td style="width:8%;text-align:left"><input type="checkbox" value="1" name="attr_RideCareerSkill" /><span></span>
1482 </td>
1483 <td style="width:10%">
1484 <select name="attr_Ride_char" style="width:100%" class="sheet-input-selectbox" >
1485 <option value="@{Current_WS}" >(WS)</option>
1486 <option value="@{Current_BS}" >(BS)</option>
1487 <option value="@{Current_S}" >(S)</option>
1488 <option value="@{Current_T}" >(T)</option>
1489 <option value="@{Current_I}" >(I)</option>
1490 <option value="@{Current_Ag}" selected >(Ag)</option>
1491 <option value="@{Current_Dex}" >(Dex)</option>
1492 <option value="@{Current_Int}" >(Int)</option>
1493 <option value="@{Current_WP}" >(WP)</option>
1494 <option value="@{Current_Fel}" >(Fel)</option>
1495 </select>
1496 </td>
1497 <td style="width:10%"><input type="number" style="text-align:center;" name="attr_Ride_adv" value="0" />
1498 </td>
1499 <td style="width:10%">
1500 <input type="number" style="text-align:center;" name="attr_Ride_mod" value="0" />
1501 </td>
1502 <td style="width:10%">
1503 <input type="number" name="attr_Row" style="text-align:center;" value="floor(@{Row_char}+@{Row_adv}+@{Row_mod})" disabled="true"/>
1504 </td>
1505 <td style="width:10%">
1506 <button type="roll" style="width:90%" name="roll_Ride" value="&{template:wfrp4} {{name=@{character_name}}} {{title=Ride}} {{dice=[[ 1d100cs01cs02cs03cs04cs05cs11cs22cs33cs44cs55cs66cs77cs88cf96cf97cf98cf99cf100 ]]}} {{against=[[ ?{Modifier?|0}+@{Ride} ]]}}">
1507 <label class="labelbutton" style="text-align:center">Roll</label>
1508 </button>
1509 </td>
1510 </tr>
1511
1512 <tr>
1513 <td style="width:42%;text-align:left" >Row</td>
1514 <td style="width:8%;text-align:left"><input type="checkbox" value="1" name="attr_RowCareerSkill" /><span></span>
1515 </td>
1516 <td style="width:10%">
1517 <select name="attr_Row_char" style="width:100%" class="sheet-input-selectbox" >
1518 <option value="@{Current_WS}" >(WS)</option>
1519 <option value="@{Current_BS}" >(BS)</option>
1520 <option value="@{Current_S}" selected >(S)</option>
1521 <option value="@{Current_T}" >(T)</option>
1522 <option value="@{Current_I}" >(I)</option>
1523 <option value="@{Current_Ag}" >(Ag)</option>
1524 <option value="@{Current_Dex}" >(Dex)</option>
1525 <option value="@{Current_Int}" >(Int)</option>
1526 <option value="@{Current_WP}" >(WP)</option>
1527 <option value="@{Current_Fel}" >(Fel)</option>
1528 </select>
1529 </td>
1530 <td style="width:10%"><input type="number" style="text-align:center;" name="attr_Row_adv" value="0" />
1531 </td>
1532 <td style="width:10%">
1533 <input type="number" style="text-align:center;" name="attr_Row_mod" value="0" />
1534 </td>
1535 <td style="width:10%">
1536 <input type="number" name="attr_Row" style="text-align:center;" value="floor(@{Row_char}+@{Row_adv}+@{Row_mod})" disabled="true"/>
1537 </td>
1538 <td style="width:10%">
1539 <button type="roll" style="width:90%" name="roll_Row" value="&{template:wfrp4} {{name=@{character_name}}} {{title=Row}} {{dice=[[ 1d100cs01cs02cs03cs04cs05cs11cs22cs33cs44cs55cs66cs77cs88cf96cf97cf98cf99cf100 ]]}} {{against=[[ ?{Modifier?|0}+@{Row} ]]}}">
1540 <label class="labelbutton" style="text-align:center">Roll</label>
1541 </button>
1542 </td>
1543 </tr>
1544
1545 <tr>
1546 <td style="width:42%;text-align:left"><i><span >Stealth</span></i></td>
1547 <td style="width:8%;text-align:left"><input type="checkbox" value="1" name="attr_StealthCareerSkill" /><span></span>
1548 </td>
1549 <td style="width:10%">
1550 <select name="attr_Stealth_char" style="width:100%" class="sheet-input-selectbox" >
1551 <option value="@{Current_WS}" >(WS)</option>
1552 <option value="@{Current_BS}" >(BS)</option>
1553 <option value="@{Current_S}" >(S)</option>
1554 <option value="@{Current_T}" >(T)</option>
1555 <option value="@{Current_I}" >(I)</option>
1556 <option value="@{Current_Ag}" selected >(Ag)</option>
1557 <option value="@{Current_Dex}" >(Dex)</option>
1558 <option value="@{Current_Int}" >(Int)</option>
1559 <option value="@{Current_WP}" >(WP)</option>
1560 <option value="@{Current_Fel}" >(Fel)</option>
1561 </select>
1562 </td>
1563 <td style="width:10%"><input type="number" style="text-align:center;" name="attr_Stealth_adv" value="0" />
1564 </td>
1565 <td style="width:10%">
1566 <input type="number" style="text-align:center;" name="attr_Stealth_mod" value="0" />
1567 </td>
1568 <td style="width:10%">
1569 <input type="number" name="attr_Stealth" style="text-align:center;" value="floor(@{Stealth_char}+@{Stealth_adv}+@{Stealth_mod})" disabled="true"/>
1570 </td>
1571 <td style="width:10%">
1572 <button type="roll" name="roll_Stealth" value="&{template:wfrp4} {{name=@{character_name}}} {{title=Stealth}} {{dice=[[ 1d100cs01cs02cs03cs04cs05cs11cs22cs33cs44cs55cs66cs77cs88cf96cf97cf98cf99cf100 ]]}} {{against=[[ ?{Modifier?|0}+@{Stealth} ]]}}">
1573 <label class="labelbutton" style="text-align:center">Roll</label>
1574 </button>
1575 </td>
1576 </tr>
1577 </table>
1578
1579 </div> <!--- Hackery --->
1580
1581 </div>
1582
1583<!-- Middle Separation -->
1584
1585<!-- Melee Specialisations -->
1586<div class="sheet-col sheet-table" style="width:48%">
1587 <div class="sheet-tablewrapper" style="width: 95%">
1588 <div class="sheet-col sheet-tablealt">
1589 <table style="width:100%">
1590 <tr>
1591 <th COLSPAN=9><div class="sheet-bluelabel"><label style="text-align:center" >MELEE SPECIALISATIONS (BASIC)</label></div>
1592 </th>
1593 </tr>
1594 <tr>
1595 <td style="text-align:center; width:42%"><label style="text-align:left" >Name</label>
1596 </td>
1597 <td style="text-align:center; width:8%">
1598 </td>
1599 <td style="text-align:center; width:10%"><label style="text-align:center" >Char.</label>
1600 </td>
1601 <td style="text-align:center; width:10%"><label style="text-align:center" >Adv.</label>
1602 </td>
1603 <td style="text-align:center; width:10%"><label style="text-align:center" >Mod.</label>
1604 </td>
1605 <td style="text-align:center; width:10%"><label style="text-align:center" >Total</label>
1606 </td>
1607 <td style="text-align:center; width:10%">
1608 </td>
1609 </tr>
1610 <tr>
1611 <td style="width:42%;text-align:left" ><i>Melee</i> (Basic)</td>
1612 <td style="width:8%;text-align:left"><input type="checkbox" value="1" name="attr_MeleeBasicCareerSkill" /><span></span>
1613 </td>
1614 <td style="width:10%">
1615 <select name="attr_MeleeBasic_char" style="width:100%" class="sheet-input-selectbox" >
1616 <option value="@{Current_WS}" selected >(WS)</option>
1617 <option value="@{Current_BS}" >(BS)</option>
1618 <option value="@{Current_S}" >(S)</option>
1619 <option value="@{Current_T}" >(T)</option>
1620 <option value="@{Current_I}" >(I)</option>
1621 <option value="@{Current_Ag}" >(Ag)</option>
1622 <option value="@{Current_Dex}" >(Dex)</option>
1623 <option value="@{Current_Int}" >(Int)</option>
1624 <option value="@{Current_WP}" >(WP)</option>
1625 <option value="@{Current_Fel}" >(Fel)</option>
1626 </select>
1627 </td>
1628 <td style="width:10%"><input type="number" style="text-align:center;" name="attr_MeleeBasic_adv" value="0" />
1629 </td>
1630 <td style="width:10%">
1631 <input type="number" style="text-align:center;" name="attr_MeleeBasic_mod" value="0" />
1632 </td>
1633 <td style="width:10%">
1634 <input type="number" name="attr_MeleeBasic" style="text-align:center;" value="floor(@{MeleeBasic_char}+@{MeleeBasic_adv}+@{MeleeBasic_mod})" disabled="true"/>
1635 </td>
1636 <td style="width:10%">
1637 <button type="roll" name="roll_MeleeBasic" value="&{template:wfrp4} {{name=@{character_name}}} {{title=Melee (Basic)}} {{dice=[[ 1d100cs01cs02cs03cs04cs05cs11cs22cs33cs44cs55cs66cs77cs88cf96cf97cf98cf99cf100 ]]}} {{against=[[ ?{Modifier?|0}+@{MeleeBasic} ]]}}">
1638 <label class="labelbutton" style="text-align:center">Roll</label>
1639 </button>
1640 </td>
1641 </tr>
1642 <tr>
1643 <td style="width:42%;text-align:left" ><i>Melee</i> (Brawling)</td>
1644 <td style="width:8%;text-align:left"><input type="checkbox" value="1" name="attr_MeleeBrawlingCareerSkill" /><span></span>
1645 </td>
1646 <td style="width:10%">
1647 <select name="attr_MeleeBrawling_char" style="width:100%" class="sheet-input-selectbox" >
1648 <option value="@{Current_WS}" selected >(WS)</option>
1649 <option value="@{Current_BS}" >(BS)</option>
1650 <option value="@{Current_S}" >(S)</option>
1651 <option value="@{Current_T}" >(T)</option>
1652 <option value="@{Current_I}" >(I)</option>
1653 <option value="@{Current_Ag}" >(Ag)</option>
1654 <option value="@{Current_Dex}" >(Dex)</option>
1655 <option value="@{Current_Int}" >(Int)</option>
1656 <option value="@{Current_WP}" >(WP)</option>
1657 <option value="@{Current_Fel}" >(Fel)</option>
1658 </select>
1659 </td>
1660 <td style="width:10%"><input type="number" style="text-align:center;" name="attr_MeleeBrawling_adv" value="0" />
1661 </td>
1662 <td style="width:10%">
1663 <input type="number" style="text-align:center;" name="attr_MeleeBrawling_mod" value="0" />
1664 </td>
1665 <td style="width:10%">
1666 <input type="number" name="attr_MeleeBrawling" style="text-align:center;" value="floor(@{MeleeBrawling_char}+@{MeleeBrawling_adv}+@{MeleeBrawling_mod})" disabled="true"/>
1667 </td>
1668 <td style="width:10%">
1669 <button type="roll" style="width:90%" name="roll_MeleeBrawling" value="&{template:wfrp4} {{name=@{character_name}}} {{title=Melee (Brawling)}} {{dice=[[ 1d100cs01cs02cs03cs04cs05cs11cs22cs33cs44cs55cs66cs77cs88cf96cf97cf98cf99cf100 ]]}} {{against=[[ ?{Modifier?|0}+@{MeleeBrawling} ]]}}">
1670 <label class="labelbutton" style="text-align:center">Roll</label>
1671 </button>
1672 </td>
1673 </tr>
1674 <tr>
1675 <td style="width:42%;text-align:left" ><i>Melee</i> (Cavalry)</td>
1676 <td style="width:8%;text-align:left"><input type="checkbox" value="1" name="attr_MeleeCavalryCareerSkill" /><span></span>
1677 </td>
1678 <td style="width:10%">
1679 <select name="attr_MeleeCavalry_char" style="width:100%" class="sheet-input-selectbox" >
1680 <option value="@{Current_WS}" selected >(WS)</option>
1681 <option value="@{Current_BS}" >(BS)</option>
1682 <option value="@{Current_S}" >(S)</option>
1683 <option value="@{Current_T}" >(T)</option>
1684 <option value="@{Current_I}" >(I)</option>
1685 <option value="@{Current_Ag}" >(Ag)</option>
1686 <option value="@{Current_Dex}" >(Dex)</option>
1687 <option value="@{Current_Int}" >(Int)</option>
1688 <option value="@{Current_WP}" >(WP)</option>
1689 <option value="@{Current_Fel}" >(Fel)</option>
1690 </select>
1691 </td>
1692 <td style="width:10%"><input type="number" style="text-align:center;" name="attr_MeleeCavalry_adv" value="0" />
1693 </td>
1694 <td style="width:10%">
1695 <input type="number" style="text-align:center;" name="attr_MeleeCavalry_mod" value="0" />
1696 </td>
1697 <td style="width:10%">
1698 <input type="number" name="attr_MeleeCavalry" style="text-align:center;" value="floor(@{MeleeCavalry_char}+@{MeleeCavalry_adv}+@{MeleeCavalry_mod})" disabled="true"/>
1699 </td>
1700 <td style="width:10%">
1701 <button type="roll" style="width:90%" name="roll_MeleeCavalry" value="&{template:wfrp4} {{name=@{character_name}}} {{title=Melee (Cavalry)}} {{dice=[[ 1d100cs01cs02cs03cs04cs05cs11cs22cs33cs44cs55cs66cs77cs88cf96cf97cf98cf99cf100 ]]}} {{against=[[ ?{Modifier?|0}+@{MeleeCavalry} ]]}}">
1702 <label class="labelbutton" style="text-align:center">Roll</label>
1703 </button>
1704 </td>
1705 </tr>
1706 <tr>
1707 <td style="width:42%;text-align:left" ><i>Melee</i> (Fencing)</td>
1708 <td style="width:8%;text-align:left"><input type="checkbox" value="1" name="attr_MeleeFencingCareerSkill" /><span></span>
1709 </td>
1710 <td style="width:10%">
1711 <select name="attr_MeleeFencing_char" style="width:100%" class="sheet-input-selectbox" >
1712 <option value="@{Current_WS}" selected >(WS)</option>
1713 <option value="@{Current_BS}" >(BS)</option>
1714 <option value="@{Current_S}" >(S)</option>
1715 <option value="@{Current_T}" >(T)</option>
1716 <option value="@{Current_I}" >(I)</option>
1717 <option value="@{Current_Ag}" >(Ag)</option>
1718 <option value="@{Current_Dex}" >(Dex)</option>
1719 <option value="@{Current_Int}" >(Int)</option>
1720 <option value="@{Current_WP}" >(WP)</option>
1721 <option value="@{Current_Fel}" >(Fel)</option>
1722 </select>
1723 </td>
1724 <td style="width:10%"><input type="number" style="text-align:center;" name="attr_MeleeFencing_adv" value="0" />
1725 </td>
1726 <td style="width:10%">
1727 <input type="number" style="text-align:center;" name="attr_MeleeFencing_mod" value="0" />
1728 </td>
1729 <td style="width:10%">
1730 <input type="number" name="attr_MeleeFencing" style="text-align:center;" value="floor(@{MeleeFencing_char}+@{MeleeFencing_adv}+@{MeleeFencing_mod})" disabled="true"/>
1731 </td>
1732 <td style="width:10%">
1733 <button type="roll" style="width:90%" name="roll_MeleeFencing" value="&{template:wfrp4} {{name=@{character_name}}} {{title=Melee (Fencing)}} {{dice=[[ 1d100cs01cs02cs03cs04cs05cs11cs22cs33cs44cs55cs66cs77cs88cf96cf97cf98cf99cf100 ]]}} {{against=[[ ?{Modifier?|0}+@{MeleeFencing} ]]}}">
1734 <label class="labelbutton" style="text-align:center">Roll</label>
1735 </button>
1736 </td>
1737 </tr>
1738 <tr>
1739 <td style="width:42%;text-align:left" ><i>Melee</i> (Flail)</td>
1740 <td style="width:8%;text-align:left"><input type="checkbox" value="1" name="attr_MeleeFlailCareerSkill" /><span></span>
1741 </td>
1742 <td style="width:10%">
1743 <select name="attr_MeleeFlail_char" style="width:100%" class="sheet-input-selectbox" >
1744 <option value="@{Current_WS}" selected >(WS)</option>
1745 <option value="@{Current_BS}" >(BS)</option>
1746 <option value="@{Current_S}" >(S)</option>
1747 <option value="@{Current_T}" >(T)</option>
1748 <option value="@{Current_I}" >(I)</option>
1749 <option value="@{Current_Ag}" >(Ag)</option>
1750 <option value="@{Current_Dex}" >(Dex)</option>
1751 <option value="@{Current_Int}" >(Int)</option>
1752 <option value="@{Current_WP}" >(WP)</option>
1753 <option value="@{Current_Fel}" >(Fel)</option>
1754 </select>
1755 </td>
1756 <td style="width:10%"><input type="number" style="text-align:center;" name="attr_MeleeFlail_adv" value="0" />
1757 </td>
1758 <td style="width:10%">
1759 <input type="number" style="text-align:center;" name="attr_MeleeFlail_mod" value="0" />
1760 </td>
1761 <td style="width:10%">
1762 <input type="number" name="attr_MeleeFlail" style="text-align:center;" value="floor(@{MeleeFlail_char}+@{MeleeFlail_adv}+@{MeleeFlail_mod})" disabled="true"/>
1763 </td>
1764 <td style="width:10%">
1765 <button type="roll" style="width:90%" name="roll_MeleeFlail" value="&{template:wfrp4} {{name=@{character_name}}} {{title=Melee (Flail)}} {{dice=[[ 1d100cs01cs02cs03cs04cs05cs11cs22cs33cs44cs55cs66cs77cs88cf96cf97cf98cf99cf100 ]]}} {{against=[[ ?{Modifier?|0}+@{MeleeFlail} ]]}}">
1766 <label class="labelbutton" style="text-align:center">Roll</label>
1767 </button>
1768 </td>
1769 </tr>
1770 <tr>
1771 <td style="width:42%;text-align:left" ><i>Melee</i> (Parry)</td>
1772 <td style="width:8%;text-align:left"><input type="checkbox" value="1" name="attr_MeleeParryCareerSkill" /><span></span>
1773 </td>
1774 <td style="width:10%">
1775 <select name="attr_MeleeParry_char" style="width:100%" class="sheet-input-selectbox" >
1776 <option value="@{Current_WS}" selected >(WS)</option>
1777 <option value="@{Current_BS}" >(BS)</option>
1778 <option value="@{Current_S}" >(S)</option>
1779 <option value="@{Current_T}" >(T)</option>
1780 <option value="@{Current_I}" >(I)</option>
1781 <option value="@{Current_Ag}" >(Ag)</option>
1782 <option value="@{Current_Dex}" >(Dex)</option>
1783 <option value="@{Current_Int}" >(Int)</option>
1784 <option value="@{Current_WP}" >(WP)</option>
1785 <option value="@{Current_Fel}" >(Fel)</option>
1786 </select>
1787 </td>
1788 <td style="width:10%"><input type="number" style="text-align:center;" name="attr_MeleeParry_adv" value="0" />
1789 </td>
1790 <td style="width:10%">
1791 <input type="number" style="text-align:center;" name="attr_MeleeParry_mod" value="0" />
1792 </td>
1793 <td style="width:10%">
1794 <input type="number" name="attr_MeleeParry" style="text-align:center;" value="floor(@{MeleeParry_char}+@{MeleeParry_adv}+@{MeleeParry_mod})" disabled="true"/>
1795 </td>
1796 <td style="width:10%">
1797 <button type="roll" style="width:90%" name="roll_MeleeParry" value="&{template:wfrp4} {{name=@{character_name}}} {{title=Melee (Parry)}} {{dice=[[ 1d100cs01cs02cs03cs04cs05cs11cs22cs33cs44cs55cs66cs77cs88cf96cf97cf98cf99cf100 ]]}} {{against=[[ ?{Modifier?|0}+@{MeleeParry} ]]}}">
1798 <label class="labelbutton" style="text-align:center">Roll</label>
1799 </button>
1800 </td>
1801 </tr>
1802 <tr>
1803 <td style="width:42%;text-align:left" ><i>Melee</i> (Pole-Arm)</td>
1804 <td style="width:8%;text-align:left"><input type="checkbox" value="1" name="attr_MeleePolearmCareerSkill" /><span></span>
1805 </td>
1806 <td style="width:10%">
1807 <select name="attr_MeleePoleArm_char" style="width:100%" class="sheet-input-selectbox" >
1808 <option value="@{Current_WS}" selected >(WS)</option>
1809 <option value="@{Current_BS}" >(BS)</option>
1810 <option value="@{Current_S}" >(S)</option>
1811 <option value="@{Current_T}" >(T)</option>
1812 <option value="@{Current_I}" >(I)</option>
1813 <option value="@{Current_Ag}" >(Ag)</option>
1814 <option value="@{Current_Dex}" >(Dex)</option>
1815 <option value="@{Current_Int}" >(Int)</option>
1816 <option value="@{Current_WP}" >(WP)</option>
1817 <option value="@{Current_Fel}" >(Fel)</option>
1818 </select>
1819 </td>
1820 <td style="width:10%"><input type="number" style="text-align:center;" name="attr_MeleePoleArm_adv" value="0" />
1821 </td>
1822 <td style="width:10%">
1823 <input type="number" style="text-align:center;" name="attr_MeleePoleArm_mod" value="0" />
1824 </td>
1825 <td style="width:10%">
1826 <input type="number" name="attr_MeleePoleArm" style="text-align:center;" value="floor(@{MeleePoleArm_char}+@{MeleePoleArm_adv}+@{MeleePoleArm_mod})" disabled="true"/>
1827 </td>
1828 <td style="width:10%">
1829 <button type="roll" style="width:90%" name="roll_MeleePoleArm" value="&{template:wfrp4} {{name=@{character_name}}} {{title=Melee (Pole-Arm)}} {{dice=[[ 1d100cs01cs02cs03cs04cs05cs11cs22cs33cs44cs55cs66cs77cs88cf96cf97cf98cf99cf100 ]]}} {{against=[[ ?{Modifier?|0}+@{MeleePoleArm} ]]}}">
1830 <label class="labelbutton" style="text-align:center">Roll</label>
1831 </button>
1832 </td>
1833 </tr>
1834 <tr>
1835 <td style="width:42%;text-align:left" ><i>Melee</i> (Two-Handed)</td>
1836 <td style="width:8%;text-align:left"><input type="checkbox" value="1" name="attr_MeleeTwohandedCareerSkill" /><span></span>
1837 </td>
1838 <td style="width:10%">
1839 <select name="attr_MeleeTwoHanded_char" style="width:100%" class="sheet-input-selectbox" >
1840 <option value="@{Current_WS}" selected >(WS)</option>
1841 <option value="@{Current_BS}" >(BS)</option>
1842 <option value="@{Current_S}" >(S)</option>
1843 <option value="@{Current_T}" >(T)</option>
1844 <option value="@{Current_I}" >(I)</option>
1845 <option value="@{Current_Ag}" >(Ag)</option>
1846 <option value="@{Current_Dex}" >(Dex)</option>
1847 <option value="@{Current_Int}" >(Int)</option>
1848 <option value="@{Current_WP}" >(WP)</option>
1849 <option value="@{Current_Fel}" >(Fel)</option>
1850 </select>
1851 </td>
1852 <td style="width:10%"><input type="number" style="text-align:center;" name="attr_MeleeTwoHanded_adv" value="0" />
1853 </td>
1854 <td style="width:10%">
1855 <input type="number" style="text-align:center;" name="attr_MeleeTwoHanded_mod" value="0" />
1856 </td>
1857 <td style="width:10%">
1858 <input type="number" name="attr_MeleeTwoHanded" style="text-align:center;" value="floor(@{MeleeTwoHanded_char}+@{MeleeTwoHanded_adv}+@{MeleeTwoHanded_mod})" disabled="true"/>
1859 </td>
1860 <td style="width:10%">
1861 <button type="roll" style="width:90%" name="roll_MeleeTwoHanded" value="&{template:wfrp4} {{name=@{character_name}}} {{title=Melee (Two-Handed)}} {{dice=[[ 1d100cs01cs02cs03cs04cs05cs11cs22cs33cs44cs55cs66cs77cs88cf96cf97cf98cf99cf100 ]]}} {{against=[[ ?{Modifier?|0}+@{MeleeTwoHanded} ]]}}">
1862 <label class="labelbutton" style="text-align:center">Roll</label>
1863 </button>
1864 </td>
1865 </tr>
1866
1867<!-- Ranged Specialisations -->
1868 <tr><th COLSPAN=9><label style="text-align:center"> </label></th></tr>
1869 <tr>
1870 <th COLSPAN=8><div class="sheet-bluelabel"><label style="text-align:center" >RANGED SPECIALISATIONS (ADVANCED)</label></div>
1871 </th>
1872 </tr>
1873 <tr>
1874 <td style="text-align:center; width:42%"><label style="text-align:left" >Name</label>
1875 </td>
1876 <td style="text-align:center; width:8%">
1877 </td>
1878 <td style="text-align:center; width:10%"><label style="text-align:center" >Char.</label>
1879 </td>
1880 <td style="text-align:center; width:10%"><label style="text-align:center" >Adv.</label>
1881 </td>
1882 <td style="text-align:center; width:10%"><label style="text-align:center" >Mod.</label>
1883 </td>
1884 <td style="text-align:center; width:10%"><label style="text-align:center" >Total</label>
1885 </td>
1886 <td style="text-align:center; width:10%">
1887 </td>
1888 </tr>
1889 <tr>
1890 <td style="width:42%;text-align:left" ><i>Ranged</i> (Blackpowder)</td>
1891 <td style="width:8%;text-align:left"><input type="checkbox" value="1" name="attr_RangedBlackpowderCareerSkill" /><span></span>
1892 </td>
1893 <td style="width:10%">
1894 <select name="attr_RangedBlackpowder_char" style="width:100%" class="sheet-input-selectbox" >
1895 <option value="@{Current_WS}" >(WS)</option>
1896 <option value="@{Current_BS}"selected >(BS)</option>
1897 <option value="@{Current_S}" >(S)</option>
1898 <option value="@{Current_T}" >(T)</option>
1899 <option value="@{Current_I}" >(I)</option>
1900 <option value="@{Current_Ag}" >(Ag)</option>
1901 <option value="@{Current_Dex}" >(Dex)</option>
1902 <option value="@{Current_Int}" >(Int)</option>
1903 <option value="@{Current_WP}" >(WP)</option>
1904 <option value="@{Current_Fel}" >(Fel)</option>
1905 </select>
1906 </td>
1907 <td style="width:10%"><input type="number" style="text-align:center;" name="attr_RangedBlackpowder_adv" value="0" />
1908 </td>
1909 <td style="width:10%">
1910 <input type="number" style="text-align:center;" name="attr_RangedBlackpowder_mod" value="0" />
1911 </td>
1912 <td style="width:10%">
1913 <input type="number" name="attr_RangedBlackpowder" style="text-align:center;" value="floor(@{RangedBlackpowder_char}+@{RangedBlackpowder_adv}+@{RangedBlackpowder_mod})" disabled="true"/>
1914 </td>
1915 <td style="width:10%">
1916 <button type="roll" style="width:90%" name="roll_RangedBlackpowder" value="&{template:wfrp4} {{name=@{character_name}}} {{title=Ranged (Blackpowder)}} {{dice=[[ 1d100cs01cs02cs03cs04cs05cs11cs22cs33cs44cs55cs66cs77cs88cf96cf97cf98cf99cf100 ]]}} {{against=[[ ?{Modifier?|0}+@{RangedBlackpowder} ]]}}">
1917 <label class="labelbutton" style="text-align:center">Roll</label>
1918 </button>
1919 </td>
1920 </tr>
1921
1922 <tr>
1923 <td style="width:42%;text-align:left" ><i>Ranged</i> (Bow)</td>
1924 <td style="width:8%;text-align:left"><input type="checkbox" value="1" name="attr_RangedBowCareerSkill" /><span></span>
1925 </td>
1926 <td style="width:10%">
1927 <select name="attr_RangedBow_char" style="width:100%" class="sheet-input-selectbox" >
1928 <option value="@{Current_WS}" >(WS)</option>
1929 <option value="@{Current_BS}"selected >(BS)</option>
1930 <option value="@{Current_S}" >(S)</option>
1931 <option value="@{Current_T}" >(T)</option>
1932 <option value="@{Current_I}" >(I)</option>
1933 <option value="@{Current_Ag}" >(Ag)</option>
1934 <option value="@{Current_Dex}" >(Dex)</option>
1935 <option value="@{Current_Int}" >(Int)</option>
1936 <option value="@{Current_WP}" >(WP)</option>
1937 <option value="@{Current_Fel}" >(Fel)</option>
1938 </select>
1939 </td>
1940 <td style="width:10%"><input type="number" style="text-align:center;" name="attr_RangedBow_adv" value="0" />
1941 </td>
1942 <td style="width:10%">
1943 <input type="number" style="text-align:center;" name="attr_RangedBow_mod" value="0" />
1944 </td>
1945 <td style="width:10%">
1946 <input type="number" name="attr_RangedBow" style="text-align:center;" value="floor(@{RangedBow_char}+@{RangedBow_adv}+@{RangedBow_mod})" disabled="true"/>
1947 </td>
1948 <td style="width:10%">
1949 <button type="roll" style="width:90%" name="roll_RangedBow" value="&{template:wfrp4} {{name=@{character_name}}} {{title=Ranged (Bow)}} {{dice=[[ 1d100cs01cs02cs03cs04cs05cs11cs22cs33cs44cs55cs66cs77cs88cf96cf97cf98cf99cf100 ]]}} {{against=[[ ?{Modifier?|0}+@{RangedBow} ]]}}">
1950 <label class="labelbutton" style="text-align:center">Roll</label>
1951 </button>
1952 </td>
1953 </tr>
1954
1955 <tr>
1956 <td style="width:42%;text-align:left" ><i>Ranged</i> (Crossbow) †</td>
1957 <td style="width:8%;text-align:left"><input type="checkbox" value="1" name="attr_RangedCrossbowCareerSkill" /><span></span>
1958 </td>
1959 <td style="width:10%">
1960 <select name="attr_RangedCrossBow_char" style="width:100%" class="sheet-input-selectbox" >
1961 <option value="@{Current_WS}" >(WS)</option>
1962 <option value="@{Current_BS}"selected >(BS)</option>
1963 <option value="@{Current_S}" >(S)</option>
1964 <option value="@{Current_T}" >(T)</option>
1965 <option value="@{Current_I}" >(I)</option>
1966 <option value="@{Current_Ag}" >(Ag)</option>
1967 <option value="@{Current_Dex}" >(Dex)</option>
1968 <option value="@{Current_Int}" >(Int)</option>
1969 <option value="@{Current_WP}" >(WP)</option>
1970 <option value="@{Current_Fel}" >(Fel)</option>
1971 </select>
1972 </td>
1973 <td style="width:10%"><input type="number" style="text-align:center;" name="attr_RangedCrossBow_adv" value="0" />
1974 </td>
1975 <td style="width:10%">
1976 <input type="number" style="text-align:center;" name="attr_RangedCrossBow_mod" value="0" />
1977 </td>
1978 <td style="width:10%">
1979 <input type="number" name="attr_RangedCrossBow" style="text-align:center;" value="floor(@{RangedCrossBow_char}+@{RangedCrossBow_adv}+@{RangedCrossBow_mod})" disabled="true"/>
1980 </td>
1981 <td style="width:10%">
1982 <button type="roll" style="width:90%" name="roll_RangedCrossBow" value="&{template:wfrp4} {{name=@{character_name}}} {{title=Ranged (Crossbow)}} {{dice=[[ 1d100cs01cs02cs03cs04cs05cs11cs22cs33cs44cs55cs66cs77cs88cf96cf97cf98cf99cf100 ]]}} {{against=[[ ?{Modifier?|0}+@{RangedCrossBow} ]]}}">
1983 <label class="labelbutton" style="text-align:center">Roll</label>
1984 </button>
1985 </td>
1986 </tr>
1987
1988 <tr>
1989 <td style="width:42%;text-align:left" ><i>Ranged</i> (Engineering)</td>
1990 <td style="width:8%;text-align:left"><input type="checkbox" value="1" name="attr_RangedEngineeringCareerSkill" /><span></span>
1991 </td>
1992 <td style="width:10%">
1993 <select name="attr_RangedEngineering_char" style="width:100%" class="sheet-input-selectbox" >
1994 <option value="@{Current_WS}" >(WS)</option>
1995 <option value="@{Current_BS}"selected >(BS)</option>
1996 <option value="@{Current_S}" >(S)</option>
1997 <option value="@{Current_T}" >(T)</option>
1998 <option value="@{Current_I}" >(I)</option>
1999 <option value="@{Current_Ag}" >(Ag)</option>
2000 <option value="@{Current_Dex}" >(Dex)</option>
2001 <option value="@{Current_Int}" >(Int)</option>
2002 <option value="@{Current_WP}" >(WP)</option>
2003 <option value="@{Current_Fel}" >(Fel)</option>
2004 </select>
2005 </td>
2006 <td style="width:10%"><input type="number" style="text-align:center;" name="attr_RangedEngineering_adv" value="0" />
2007 </td>
2008 <td style="width:10%">
2009 <input type="number" style="text-align:center;" name="attr_RangedEngineering_mod" value="0" />
2010 </td>
2011 <td style="width:10%">
2012 <input type="number" name="attr_RangedEngineering" style="text-align:center;" value="floor(@{RangedEngineering_char}+@{RangedEngineering_adv}+@{RangedEngineering_mod})" disabled="true"/>
2013 </td>
2014 <td style="width:10%">
2015 <button type="roll" style="width:90%" name="roll_RangedEngineering" value="&{template:wfrp4} {{name=@{character_name}}} {{title=Ranged (Engineering)}} {{dice=[[ 1d100cs01cs02cs03cs04cs05cs11cs22cs33cs44cs55cs66cs77cs88cf96cf97cf98cf99cf100 ]]}} {{against=[[ ?{Modifier?|0}+@{RangedEngineering} ]]}}">
2016 <label class="labelbutton" style="text-align:center">Roll</label>
2017 </button>
2018 </td>
2019 </tr>
2020
2021 <tr>
2022 <td style="width:42%;text-align:left" ><i>Ranged</i> (Entangling)</td>
2023 <td style="width:8%;text-align:left"><input type="checkbox" value="1" name="attr_RangedEntanglingCareerSkill" /><span></span>
2024 </td>
2025 <td style="width:10%">
2026 <select name="attr_RangedEntangling_char" style="width:100%" class="sheet-input-selectbox" >
2027 <option value="@{Current_WS}" >(WS)</option>
2028 <option value="@{Current_BS}"selected >(BS)</option>
2029 <option value="@{Current_S}" >(S)</option>
2030 <option value="@{Current_T}" >(T)</option>
2031 <option value="@{Current_I}" >(I)</option>
2032 <option value="@{Current_Ag}" >(Ag)</option>
2033 <option value="@{Current_Dex}" >(Dex)</option>
2034 <option value="@{Current_Int}" >(Int)</option>
2035 <option value="@{Current_WP}" >(WP)</option>
2036 <option value="@{Current_Fel}" >(Fel)</option>
2037 </select>
2038 </td>
2039 <td style="width:10%"><input type="number" style="text-align:center;" name="attr_RangedEntangling_adv" value="0" />
2040 </td>
2041 <td style="width:10%">
2042 <input type="number" style="text-align:center;" name="attr_RangedEntangling_mod" value="0" />
2043 </td>
2044 <td style="width:10%">
2045 <input type="number" name="attr_RangedEntangling" style="text-align:center;" value="floor(@{RangedEntangling_char}+@{RangedEntangling_adv}+@{RangedEntangling_mod})" disabled="true"/>
2046 </td>
2047 <td style="width:10%">
2048 <button type="roll" style="width:90%" name="roll_RangedEntangling" value="&{template:wfrp4} {{name=@{character_name}}} {{title=Ranged (Engtangling)}} {{dice=[[ 1d100cs01cs02cs03cs04cs05cs11cs22cs33cs44cs55cs66cs77cs88cf96cf97cf98cf99cf100 ]]}} {{against=[[ ?{Modifier?|0}+@{RangedEngtangling} ]]}}">
2049 <label class="labelbutton" style="text-align:center">Roll</label>
2050 </button>
2051 </td>
2052 </tr>
2053
2054 <tr>
2055 <td style="width:42%;text-align:left" ><i>Ranged</i> (Explosives)</td>
2056 <td style="width:8%;text-align:left"><input type="checkbox" value="1" name="attr_RangedExplosivesCareerSkill" /><span></span>
2057 </td>
2058 <td style="width:10%">
2059 <select name="attr_RangedExplosives_char" style="width:100%" class="sheet-input-selectbox" >
2060 <option value="@{Current_WS}" >(WS)</option>
2061 <option value="@{Current_BS}"selected >(BS)</option>
2062 <option value="@{Current_S}" >(S)</option>
2063 <option value="@{Current_T}" >(T)</option>
2064 <option value="@{Current_I}" >(I)</option>
2065 <option value="@{Current_Ag}" >(Ag)</option>
2066 <option value="@{Current_Dex}" >(Dex)</option>
2067 <option value="@{Current_Int}" >(Int)</option>
2068 <option value="@{Current_WP}" >(WP)</option>
2069 <option value="@{Current_Fel}" >(Fel)</option>
2070 </select>
2071 </td>
2072 <td style="width:10%"><input type="number" style="text-align:center;" name="attr_RangedExplosives_adv" value="0" />
2073 </td>
2074 <td style="width:10%">
2075 <input type="number" style="text-align:center;" name="attr_RangedExplosives_mod" value="0" />
2076 </td>
2077 <td style="width:10%">
2078 <input type="number" name="attr_RangedExplosives" style="text-align:center;" value="floor(@{RangedExplosives_char}+@{RangedExplosives_adv}+@{RangedExplosives_mod})" disabled="true"/>
2079 </td>
2080 <td style="width:10%">
2081 <button type="roll" style="width:90%" name="roll_RangedExplosives" value="&{template:wfrp4} {{name=@{character_name}}} {{title=Ranged (Explosives)}} {{dice=[[ 1d100cs01cs02cs03cs04cs05cs11cs22cs33cs44cs55cs66cs77cs88cf96cf97cf98cf99cf100 ]]}} {{against=[[ ?{Modifier?|0}+@{RangedExplosives} ]]}}">
2082 <label class="labelbutton" style="text-align:center">Roll</label>
2083 </button>
2084 </td>
2085 </tr>
2086
2087 <tr>
2088 <td style="width:42%;text-align:left" ><i>Ranged</i> (Sling)</td>
2089 <td style="width:8%;text-align:left"><input type="checkbox" value="1" name="attr_RangedSlingCareerSkill" /><span></span>
2090 </td>
2091 <td style="width:10%">
2092 <select name="attr_RangedSling_char" style="width:100%" class="sheet-input-selectbox" >
2093 <option value="@{Current_WS}" >(WS)</option>
2094 <option value="@{Current_BS}"selected >(BS)</option>
2095 <option value="@{Current_S}" >(S)</option>
2096 <option value="@{Current_T}" >(T)</option>
2097 <option value="@{Current_I}" >(I)</option>
2098 <option value="@{Current_Ag}" >(Ag)</option>
2099 <option value="@{Current_Dex}" >(Dex)</option>
2100 <option value="@{Current_Int}" >(Int)</option>
2101 <option value="@{Current_WP}" >(WP)</option>
2102 <option value="@{Current_Fel}" >(Fel)</option>
2103 </select>
2104 </td>
2105 <td style="width:10%"><input type="number" style="text-align:center;" name="attr_RangedSling_adv" value="0" />
2106 </td>
2107 <td style="width:10%">
2108 <input type="number" style="text-align:center;" name="attr_RangedSling_mod" value="0" />
2109 </td>
2110 <td style="width:10%">
2111 <input type="number" name="attr_RangedSling" style="text-align:center;" value="floor(@{RangedSling_char}+@{RangedSling_adv}+@{RangedSling_mod})" disabled="true"/>
2112 </td>
2113 <td style="width:10%">
2114 <button type="roll" style="width:90%" name="roll_RangedSling" value="&{template:wfrp4} {{name=@{character_name}}} {{title=Ranged (Sling)}} {{dice=[[ 1d100cs01cs02cs03cs04cs05cs11cs22cs33cs44cs55cs66cs77cs88cf96cf97cf98cf99cf100 ]]}} {{against=[[ ?{Modifier?|0}+@{RangedSling} ]]}}">
2115 <label class="labelbutton" style="text-align:center">Roll</label>
2116 </button>
2117 </td>
2118 </tr>
2119
2120 <tr>
2121 <td style="width:42%;text-align:left" ><i>Ranged</i> (Throwing) †</td>
2122 <td style="width:8%;text-align:left"><input type="checkbox" value="1" name="attr_RangedThrowingCareerSkill" /><span></span>
2123 </td>
2124 <td style="width:10%">
2125 <select name="attr_RangedThrowing_char" style="width:100%" class="sheet-input-selectbox" >
2126 <option value="@{Current_WS}" >(WS)</option>
2127 <option value="@{Current_BS}"selected>(BS)</option>
2128 <option value="@{Current_S}" >(S)</option>
2129 <option value="@{Current_T}" >(T)</option>
2130 <option value="@{Current_I}" >(I)</option>
2131 <option value="@{Current_Ag}" >(Ag)</option>
2132 <option value="@{Current_Dex}" >(Dex)</option>
2133 <option value="@{Current_Int}" >(Int)</option>
2134 <option value="@{Current_WP}" >(WP)</option>
2135 <option value="@{Current_Fel}" >(Fel)</option>
2136 </select>
2137 </td>
2138 <td style="width:10%"><input type="number" style="text-align:center;" name="attr_RangedThrowing_adv" value="0" />
2139 </td>
2140 <td style="width:10%">
2141 <input type="number" style="text-align:center;" name="attr_RangedThrowing_mod" value="0" />
2142 </td>
2143 <td style="width:10%">
2144 <input type="number" name="attr_RangedThrowing" style="text-align:center;" value="floor(@{RangedThrowing_char}+@{RangedThrowing_adv}+@{RangedThrowing_mod})" disabled="true"/>
2145 </td>
2146 <td style="width:10%">
2147 <button type="roll" style="width:90%" name="roll_RangedThrowing" value="&{template:wfrp4} {{name=@{character_name}}} {{title=Ranged (Throwing)}} {{dice=[[ 1d100cs01cs02cs03cs04cs05cs11cs22cs33cs44cs55cs66cs77cs88cf96cf97cf98cf99cf100 ]]}} {{against=[[ ?{Modifier?|0}+@{RangedThrowing} ]]}}">
2148 <label class="labelbutton" style="text-align:center">Roll</label>
2149 </button>
2150 </td>
2151 </tr>
2152 </table>
2153 </div> <!-- table wrapper --->
2154
2155<!-- Magic, Blessing ans Miracles -->
2156 <label style="text-align:center; font-size:0.8em;" >†= Can be used untrained but loses all Qualities and keeps the Flaws</label>
2157 <table class="tablealt" style="width:100%">
2158 <tr>
2159 <th COLSPAN=8><div class="sheet-bluelabel"><label style="text-align:center" >MAGIC, BLESSINGS AND MIRACLES (ADVANCED)</label></div>
2160 </th>
2161 </tr>
2162 <tr>
2163 <td style="text-align:center; width:42%"><label style="text-align:left" >Name</label>
2164 </td>
2165 <td style="text-align:center; width:8%">
2166 </td>
2167 <td style="text-align:center; width:10%"><label style="text-align:center" >Char.</label>
2168 </td>
2169 <td style="text-align:center; width:10%"><label style="text-align:center" >Adv.</label>
2170 </td>
2171 <td style="text-align:center; width:10%"><label style="text-align:center" >Mod.</label>
2172 </td>
2173 <td style="text-align:center; width:10%"><label style="text-align:center" >Total</label>
2174 </td>
2175 <td style="text-align:center; width:10%">
2176 </td>
2177 </tr>
2178
2179<!-- Language Magick -->
2180 <tr>
2181 <td style="width:42%;text-align:left" ><i>Language</i> (Magick)</td>
2182 <td style="width:8%;text-align:left"><input type="checkbox" value="1" name="attr_LanguageMagickCareerSkill" /><span></span>
2183 </td>
2184 <td style="width:10%">
2185 <select name="attr_LanguageMagick_char" style="width:100%" class="sheet-input-selectbox" >
2186 <option value="@{Current_WS}" >(WS)</option>
2187 <option value="@{Current_BS}" >(BS)</option>
2188 <option value="@{Current_S}" >(S)</option>
2189 <option value="@{Current_T}" >(T)</option>
2190 <option value="@{Current_I}" >(I)</option>
2191 <option value="@{Current_Ag}" >(Ag)</option>
2192 <option value="@{Current_Dex}" >(Dex)</option>
2193 <option value="@{Current_Int}" selected >(Int)</option>
2194 <option value="@{Current_WP}" >(WP)</option>
2195 <option value="@{Current_Fel}" >(Fel)</option>
2196 </select>
2197 </td>
2198 <td style="width:10%"><input type="number" style="text-align:center;" name="attr_LanguageMagick_adv" value="0" />
2199 </td>
2200 <td style="width:10%">
2201 <input type="number" style="text-align:center;" name="attr_LanguageMagick_mod" value="0" />
2202 </td>
2203 <td style="width:10%">
2204 <input type="number" name="attr_LanguageMagick" style="text-align:center;" value="floor(@{LanguageMagick_char}+@{LanguageMagick_adv}+@{LanguageMagick_mod})" disabled="true"/>
2205 </td>
2206 <td style="width:10%">
2207 <button type="roll" style="width:90%" name="roll_LanguageMagick" value="&{template:wfrp4} {{name=@{character_name}}} {{title=Language (Magick)}} {{dice=[[ 1d100cs01cs02cs03cs04cs05cs11cs22cs33cs44cs55cs66cs77cs88cf96cf97cf98cf99cf100 ]]}} {{against=[[ ?{Modifier?|0}+@{LanguageMagick} ]]}}">
2208 <label class="labelbutton" style="text-align:center">Roll</label>
2209 </button>
2210 </td>
2211 </tr>
2212<!-- Pray Skill -->
2213 <tr>
2214 <td style="width:42%;text-align:left" >Pray</td>
2215 <td style="width:8%;text-align:left"><input type="checkbox" value="1" name="attr_PrayCareerSkill" /><span></span>
2216 </td>
2217 <td style="width:10%">
2218 <select name="attr_Pray_char" style="width:100%" class="sheet-input-selectbox" >
2219 <option value="@{Current_WS}" >(WS)</option>
2220 <option value="@{Current_BS}" >(BS)</option>
2221 <option value="@{Current_S}" >(S)</option>
2222 <option value="@{Current_T}" >(T)</option>
2223 <option value="@{Current_I}" >(I)</option>
2224 <option value="@{Current_Ag}" >(Ag)</option>
2225 <option value="@{Current_Dex}" >(Dex)</option>
2226 <option value="@{Current_Int}" >(Int)</option>
2227 <option value="@{Current_WP}" >(WP)</option>
2228 <option value="@{Current_Fel}" selected >(Fel)</option>
2229 </select>
2230 </td>
2231 <td style="width:10%"><input type="number" style="text-align:center;" name="attr_Pray_adv" value="0" />
2232 </td>
2233 <td style="width:10%">
2234 <input type="number" style="text-align:center;" name="attr_Pray_mod" value="0" />
2235 </td>
2236 <td style="width:10%">
2237 <input type="number" name="attr_Pray" style="text-align:center;" value="floor(@{Pray_char}+@{Pray_adv}+@{Pray_mod})" disabled="true"/>
2238 </td>
2239 <td style="width:10%">
2240 <button type="roll" style="width:90%" name="roll_Pray" value="&{template:wfrp4} {{name=@{character_name}}} {{title=Pray}} {{dice=[[ 1d100cs01cs02cs03cs04cs05cs11cs22cs33cs44cs55cs66cs77cs88cf96cf97cf98cf99cf100 ]]}} {{against=[[ ?{Modifier?|0}+@{Pray} ]]}}">
2241 <label class="labelbutton" style="text-align:center">Roll</label>
2242 </button>
2243 </td>
2244 </tr>
2245 </table>
2246
2247 </div>
2248</div>
2249
2250<!-- Grouped and Advanced Skills -->
2251<hr>
2252<div class="sheet-col sheet-table" style="width:48%">
2253 <table style="text-align:center; width:100%">
2254 <tr>
2255 <th COLSPAN=10><label style="text-align:center" >GROUPED & ADVANCED SKILLS</label>
2256 </th>
2257 </tr>
2258 <tr>
2259 <td style="text-align:center; width:42%"><label style="text-align:left" >Name</label>
2260 </td>
2261 <td style="text-align:center; width:8%">
2262 </td>
2263 <td style="text-align:center; width:10%"><label style="text-align:center" >Char.</label>
2264 </td>
2265 <td style="text-align:center; width:10%"><label style="text-align:center" >Adv.</label>
2266 </td>
2267 <td style="text-align:center; width:10%"><label style="text-align:center" >Mod.</label>
2268 </td>
2269 <td style="text-align:center; width:10%"><label style="text-align:center" >Total</label>
2270 </td>
2271 <td style="text-align:center; width:10%">
2272 </td>
2273 </tr>
2274 </table>
2275 <fieldset class="repeating_advancedskills" name="attr_repeating_advancedskills">
2276 <table style="width:100%">
2277 <tr>
2278 <td style="width:42%;text-align:left"><input class="sheet-baseinfo" type="text" name="attr_CustomSkillName" />
2279 </td>
2280 <td style="width:8%"><input type="checkbox" value="1" name="attr_CustomCareerSkill" /><span></span>
2281 </td>
2282 <td style="width:10%">
2283 <select name="attr_CustomSkill_char" style="width:100%" class="sheet-input-selectbox" >
2284 <option value="@{Current_WS}" selected>(WS)</option>
2285 <option value="@{Current_BS}" >(BS)</option>
2286 <option value="@{Current_S}">(S)</option>
2287 <option value="@{Current_T}" >(T)</option>
2288 <option value="@{Current_I}" >(I)</option>
2289 <option value="@{Current_Ag}" >(Ag)</option>
2290 <option value="@{Current_Dex}">(Dex)</option>
2291 <option value="@{Current_Int}" >(Int)</option>
2292 <option value="@{Current_WP}">(WP)</option>
2293 <option value="@{Current_Fel}" >(Fel)</option>
2294 </select>
2295 </td>
2296 <td style="width:10%"><input type="number" style="text-align:center;" name="attr_CustomSkill_adv" value="1" />
2297 </td>
2298 <td style="width:10%">
2299 <input type="number" style="text-align:center;" name="attr_CustomSkill_mod" value="0" />
2300 </td>
2301 <td style="width:10%">
2302 <input type="number" name="attr_CustomSkill" style="text-align:center;" value="floor(@{CustomSkill_char}+@{CustomSkill_adv}+@{CustomSkill_mod})" disabled="true"/>
2303 </td>
2304 <td style="width:10%">
2305 <button type="roll" name="roll_CustomSkill" value="&{template:wfrp4} {{name=@{character_name}}} {{title=@{CustomSkillName}}} {{dice=[[ 1d100cs01cs02cs03cs04cs05cs11cs22cs33cs44cs55cs66cs77cs88cf96cf97cf98cf99cf100 ]]}} {{against=[[ ?{Modifier?|0}+@{CustomSkill} ]]}}">
2306 <label class="labelbutton" style="text-align:center">Roll</label>
2307 </button>
2308 </td>
2309 </tr>
2310 </table>
2311 </fieldset>
2312 <br>
2313</div>
2314
2315<!-- Talents -->
2316 <div class="sheet-col sheet-table" style="width:48%">
2317 <h4 >Talents</h4>
2318 <table style="width:100%">
2319 <fieldset class="repeating_talents" name="repeating_talents">
2320 <div style="width:100%">
2321 <div class="sheet-item" style="width:72%"><input type="text" placeholder="Name" name="attr_TalentName" />
2322 </div>
2323 <div class="sheet-item" style="width:8%"><input type="number" style="text-align:center" value="1" name="attr_TalentNumber" />
2324 </div>
2325 <div class="sheet-item" style="width:8%"><button type="roll" style="width:90%" name="roll_TalentDisplay" value="&{template:wfrp4} {{name=@{character_name}}} {{title=@{TalentName}}} {{talent=@{TalentName}}} {{talentdescription=@{TalentDesc}}}">I</button>
2326 </div>
2327 <input type="checkbox" class="sheet-arrow" name="attr_TalentDescHide"/><span></span>
2328 <div class="sheet-body">
2329 <textarea name="attr_Talentdesc" placeholder="Description" style="width:90%; height:50px"></textarea>
2330 </div>
2331 </div>
2332 </fieldset>
2333 </table>
2334 </div>
2335
2336</div>
2337</div>
2338
2339
2340
2341<div class="sheet-tab-content sheet-tabGearMagic">
2342<div class="sheet-wrapper">
2343 <br>
2344
2345<!-- Middle Section; Armour and Armour Points-->
2346<table>
2347
2348
2349<!-- Armour -->
2350 <td class="sheet-col" style="width:60%">
2351 <div class="sheet-col" style="width:100%">
2352 <h4 >ARMOUR</h4>
2353 <div class="sheet-col" style="width:100%; text-align:left">
2354 <div class="sheet-col" style="width:10%; margin:-2px; "><label style="text-align:center" >Head</label>
2355 </div>
2356 <div class="sheet-col" style="width:10%; margin:-2px; "><label style="text-align:center" >R.Arm</label>
2357 </div>
2358 <div class="sheet-col" style="width:10%; margin:-2px; "><label style="text-align:center" >L.Arm</label>
2359 </div>
2360 <div class="sheet-col" style="width:10%; margin:-2px; "><label style="text-align:center" >Body</label>
2361 </div>
2362 <div class="sheet-col" style="width:10%; margin:-2px; "><label style="text-align:center" >R.Leg</label>
2363 </div>
2364 <div class="sheet-col" style="width:10%; margin:-2px; "><label style="text-align:center" >L.Leg</label>
2365 </div>
2366 <div class="sheet-col" style="width:10%; margin:-2px; "><label style="text-align:center" >Shield</label>
2367 </div>
2368 <div class="sheet-col" style="width:10%; margin:-2px; "><label style="text-align:center" >AP</label>
2369 </div>
2370 <div class="sheet-col" style="width:10%; margin:-2px; "><label style="text-align:center" >Enc.</label>
2371 </div>
2372 <div class="sheet-col" style="width:10%; ">
2373 </div>
2374 </div>
2375 <fieldset class="repeating_armor" name="attr_repeating_armor">
2376 <div style="width:100%; text-align:left">
2377 <div class="sheet-col" style="width:9%;"><input type="checkbox" value="1" name="attr_ArmourHead" /><span></span>
2378 </div>
2379 <div class="sheet-col" style="width:9%;"><input type="checkbox" value="1" name="attr_ArmourRArm" /><span></span>
2380 </div>
2381 <div class="sheet-col" style="width:9%;"><input type="checkbox" value="1" name="attr_ArmourLArm" /><span></span>
2382 </div>
2383 <div class="sheet-col" style="width:9%;"><input type="checkbox" value="1" name="attr_ArmourBody" /><span></span>
2384 </div>
2385 <div class="sheet-col" style="width:9%;"><input type="checkbox" value="1" name="attr_ArmourRLeg" /><span></span>
2386 </div>
2387 <div class="sheet-col" style="width:9%;"><input type="checkbox" value="1" name="attr_ArmourLLeg" /><span></span>
2388 </div>
2389 <div class="sheet-col" style="width:9%;"><input type="checkbox" value="1" name="attr_ArmourShield" /><span></span>
2390 </div>
2391 <div class="sheet-col" style="width:10%;"><input type="number" value="0" style="text-align:center" name="attr_ArmourPoints" />
2392 </div>
2393 <div class="sheet-col" style="width:10%;"><input type="number" value="0" style="text-align:center"name="attr_ArmourEnc" />
2394 </div>
2395 <div class="sheet-item" style="width:8%"><button type="roll" style="width:90%" name="roll_ArmorDisplay" value="&{template:wfrp4} {{name=@{character_name}}} {{title=@{ArmourName}}} {{talentdescription=@{ArmourDesc}}}">I</button>
2396 </div>
2397 </div>
2398 <div style="width:100%; text-align:left">
2399 <div class="sheet-col" style="width:40%;">
2400 <input type="text" placeholder="Name" name="attr_ArmourName" />
2401 </div>
2402 <div class="sheet-col" style="width:47.5%;">
2403 <input type="text" placeholder="Qualities/Flaws" name="attr_ArmourQualities" />
2404 </div>
2405 <input type="checkbox" class="sheet-arrow" style="" name="attr_ArmourDescHide"/>
2406
2407 <span></span>
2408 <div class="sheet-body">
2409 <textarea name="attr_Armourdesc" placeholder="Description" style="width:90%; height:50px"></textarea>
2410 </div>
2411 </div>
2412 </fieldset>
2413 </div>
2414 </td>
2415
2416<!-- Armour Points -->
2417 <td class="sheet-col" style="width:40%">
2418 <div class="sheet-col" style="width:100%">
2419 <table class="sheet-armortable" style="width:100%;margin-left:10px; background-size:176px 314px;">
2420 <tr>
2421 <th COLSPAN=10><label style="text-align:center" >ARMOUR POINTS</label>
2422 </th>
2423 </tr>
2424 <tr>
2425 <td style="width:10%">
2426 </td>
2427 <td style="width:10%">
2428 </td>
2429 <td style="width:10%">
2430 </td>
2431 <td style="width:10%">
2432 </td>
2433 <td style="width:10%">
2434 </td>
2435 <td style="width:10%">
2436 </td>
2437 <td style="width:10%">
2438 </td>
2439 <td style="width:10%">
2440 </td>
2441 <td style="width:10%">
2442 </td>
2443 <td style="width:10%">
2444 </td>
2445 </tr>
2446 <tr>
2447 <td COLSPAN=4>
2448 </td>
2449 <td COLSPAN=2><br>01-09<br>
2450 <input type="number" value="0" style="text-align:center;height:50px;width:50px;font-size:24px" name="attr_ArmourAPHead" readonly/><br>
2451 <label style="text-align:center" >Head</label>
2452 </td>
2453 <td COLSPAN=4>
2454 </td>
2455 </tr>
2456 <tr>
2457 <td COLSPAN=1>
2458 </td>
2459 <td COLSPAN=3>25-44<br>
2460 <input type="number" value="0" style="text-align:center;height:50px;width:50px;font-size:24px" name="attr_ArmourAPRightArm" readonly/><br>
2461 <label style="text-align:center" >Right Arm</label><br>
2462 (or primary arm)
2463 </td>
2464 <td COLSPAN=2><br>45-79<br>
2465 <input type="number" value="0" style="text-align:center;height:50px;width:50px;font-size:24px" name="attr_ArmourAPBody" readonly/><br>
2466 <label style="text-align:center" >Body</label>
2467 </td>
2468 <td COLSPAN=3>10-24<br>
2469 <input type="number" value="0" style="text-align:center;height:50px;width:50px;font-size:24px" name="attr_ArmourAPLeftArm" readonly/><br>
2470 <label style="text-align:center" >Left Arm</label><br>
2471 (or secondary arm)
2472 </td>
2473 <td COLSPAN=1>
2474 </td>
2475 </tr>
2476 <tr>
2477 <td class="sheet-armorshield" COLSPAN=2><br><br>
2478 <input type="number" value="0" style="text-align:center;height:50px;width:50px;font-size:24px" name="attr_ArmourAPShield" readonly/><br>
2479 <label style="text-align:center" >Shield</label>
2480 </td>
2481 <td COLSPAN=1>
2482 </td>
2483 <td COLSPAN=2><br>90-00<br>
2484 <input type="number" value="0" style="text-align:center;height:50px;width:50px;font-size:24px" name="attr_ArmourAPRightLeg" readonly/><br>
2485 <label style="text-align:center" >Right Leg</label>
2486 </td>
2487 <td COLSPAN=1>
2488 </td>
2489 <td COLSPAN=2><br>80-89<br>
2490 <input type="number" value="0" style="text-align:center;height:50px;width:50px;font-size:24px" name="attr_ArmourAPLeftLeg" readonly/><br>
2491 <label style="text-align:center" >Left Leg</label>
2492 </td>
2493 <td COLSPAN=3>
2494 </td>
2495 </tr>
2496 </table>
2497 </div>
2498 </td>
2499</table>
2500
2501<!-- Weapons -->
2502 <hr>
2503 <div style="width:100%">
2504 <h4 >WEAPONS</h4>
2505 <div class="sheet-col" style="width:100%; text-align:left">
2506 <div class="sheet-col" style="width:25%;"><label style="text-align:left">Name</label>
2507 </div>
2508 <div class="sheet-col" style="width:10%; margin:-2px; "><label style="text-align:center" >Group</label>
2509 </div>
2510 <div class="sheet-col" style="width:5%; margin:-2px; "><label style="text-align:center" >Enc.</label>
2511 </div>
2512 <div class="sheet-col" style="width:10%; margin:-2px; "><label style="text-align:center" >Range/Reach</label>
2513 </div>
2514 <div class="sheet-col" style="width:10%; margin:-2px; "><label style="text-align:center" >Damage</label>
2515 </div>
2516 <div class="sheet-col" style="width:25%; margin:-2px; "><label style="text-align:left" >Qualities</label>
2517 </div>
2518 </div>
2519 <fieldset class="repeating_weapons" name="attr_repeating_weapons">
2520 <div style="width:100%; text-align:left">
2521 <div class="sheet-col" style="width:25%;"><input type="text" name="attr_WeaponName" />
2522 </div>
2523 <div class="sheet-col" style="width:10%; margin:-2px; ">
2524 <select name="attr_WeaponGroup" style="width:100%" class="sheet-input-selectbox" >
2525 <option value="@{MeleeBasic}" selected>Melee (Basic)</option>
2526 <option value="@{MeleeBrawling}">Melee (Brawling)</option>
2527 <option value="@{MeleeCavalry}">Melee (Cavalry)</option>
2528 <option value="@{MeleeFencing}">Melee (Fencing)</option>
2529 <option value="@{MeleeFlail}">Melee (Flail)</option>
2530 <option value="@{MeleeParry}">Melee (Parry)</option>
2531 <option value="@{MeleePoleArm}">Melee (Pole-Arm)</option>
2532 <option value="@{MeleeTwoHanded}">Melee (Two-Handed)</option>
2533 <option value="@{RangedBlackpowder}">Ranged (Blackpowder)</option>
2534 <option value="@{RangedBow}">Ranged (Bow)</option>
2535 <option value="@{RangedCrossbow}">Ranged (Crossbow)</option>
2536 <option value="@{RangedEngineering}">Ranged (Engineering)</option>
2537 <option value="@{RangedEntangling}">Ranged (Entangling)</option>
2538 <option value="@{RangedExplosives}">Ranged (Explosives)</option>
2539 <option value="@{RangedSling}">Ranged (Sling)</option>
2540 <option value="@{RangedThrowing}">Ranged (Throwing)</option>
2541 <option value="@{Current_WS}">Weapon Skill</option>
2542 <option value="@{Current_BS}">Ballistic Skill</option>
2543 </select>
2544 </div>
2545 <div class="sheet-col" style="width:5%; margin:-2px; "><input type="text" style="text-align:center" name="attr_WeaponEnc" />
2546 </div>
2547 <div class="sheet-col" style="width:10%; margin:-2px; "><input type="text" style="text-align:center" name="attr_WeaponRange" />
2548 </div>
2549 <div class="sheet-col" style="width:10%; margin:-2px; "><input type="text" style="text-align:center" name="attr_WeaponDamage" />
2550 </div>
2551 <div class="sheet-col" style="width:25%; margin:-2px; "><input type="text" name="attr_WeaponQualities" />
2552 </div>
2553 <div class="sheet-col" style="width:5%; margin:-2px; "><button type="roll" name="roll_WeaponDamage" value="&{template:wfrp4} {{name=@{character_name}}} {{title=@{WeaponName}}} {{dice=[[ 1d100cs01cs02cs03cs04cs05cs11cs22cs33cs44cs55cs66cs77cs88cf96cf97cf98cf99cf100 ]]}} {{against=[[ ?{Modifier?|0}+@{WeaponGroup} ]]}} {{weapon=@{WeaponName}}} {{range=@{WeaponRange}}} {{damage=@{WeaponDamage}}} {{qualities=@{WeaponQualities}}} {{description=@{Weapondesc}}} {{hitlocation=1}} ]]"><label class="labelbutton" style="text-align:center">Roll</label></button>
2554 </div>
2555 <div class="sheet-item" style="width:5%;text-align:center"><input type="checkbox" name="attr_WeaponHeld" value="1" checked style="text-align:center" /><span></span>
2556 </div>
2557 <div class="sheet-body">
2558 <textarea name="attr_Trappingdesc" placeholder="Description" style="width:90%; height:50px"></textarea>
2559 </div>
2560 <input type="checkbox" class="sheet-arrow" name="attr_WeaponDescHide"/><span></span>
2561 <div class="sheet-body">
2562 <textarea name="attr_Weapondesc" style="width:90%; height:50px"></textarea>
2563 </div>
2564 </div>
2565 </fieldset>
2566 </div>
2567
2568<!-- Spells and Prayers -->
2569 <hr>
2570 <div style="width:100%">
2571 <h4 >SPELLS AND PRAYERS</h4>
2572 <div class="sheet-wrapper" style="width:100%; text-align:center">
2573 <table>
2574 <tr>
2575 <td class="sheet-col" style="width:14%">
2576 </td>
2577 <td class="sheet-col" style="width:27%"><label >Extended Channelling SL</label>
2578 </td>
2579 <td class="sheet-col" style="width:5%;"><input type="number" style="text-align:center;" name="attr_ExtendedChannellingSl" value="0">
2580 </td>
2581
2582 <td class="sheet-col" style="width:19%">
2583 </td>
2584
2585 <td class="sheet-col" style="width:14%"><label >Sin Points</label>
2586 </td>
2587 <td class="sheet-col" style="width:5%"><input type="number" style="text-align:center;" name="attr_SinPoints" value="0" />
2588 </td>
2589 <td class="sheet-col" style="width:14%">
2590 </td>
2591 </tr>
2592 </table>
2593 </div>
2594 <div class="sheet-col" style="width:100%; text-align:left">
2595 <div class="sheet-col" style="width:20%;"><label style="text-align:left" >Name</label>
2596 </div>
2597 <div class="sheet-col" style="width:10%;"><label style="text-align:center" >Type</label>
2598 </div>
2599 <div class="sheet-col" style="width:5%; margin:-2px; "><label style="text-align:center" >CN</label>
2600 </div>
2601 <div class="sheet-col" style="width:10%; margin:-2px; "><label style="text-align:center" >Range</label>
2602 </div>
2603 <div class="sheet-col" style="width:10%; margin:-2px; "><label style="text-align:center" >Target</label>
2604 </div>
2605 <div class="sheet-col" style="width:10%; margin:-2px; "><label style="text-align:center" >Duration</label>
2606 </div>
2607 <div class="sheet-col" style="width:25%; margin:-2px; "><label style="text-align:left" >Effect</label>
2608 </div>
2609 </div>
2610 <fieldset class="repeating_spells" name="attr_repeating_spells">
2611 <div style="width:100%; text-align:left">
2612 <div class="sheet-col" style="width:20%;"><input type="text" name="attr_Spell" />
2613 </div>
2614 <div class="sheet-col" style="width:10%; margin:-2px; ">
2615 <select name="attr_SpellType" style="width:100%" class="sheet-input-selectbox" >
2616 <option value="@{LanguageMagick}" selected><label >Arcane</label></option>
2617 <option value="@{Pray}"><label >Divine</label></option>
2618 </select>
2619 </div>
2620 <div class="sheet-col" style="width:5%; margin:-2px; "><input type="text" style="text-align:center" name="attr_SpellCN" />
2621 </div>
2622 <div class="sheet-col" style="width:10%; margin:-2px; ">
2623 <!-- Spell Range -->
2624 <select name="attr_SpellRange" type="number" style="width:100%" class="sheet-input-selectbox" >
2625 <option value="[[@{Current_WP}]] Yards" selected><label>Willpower Yards</label></option>
2626 <option value="[[@{Current_WPB}]] Yards"><label>Willpower Bonus Yards</label></option>
2627 <option value="[[@{Current_WPB}]] Miles"><label>Willpower Bonus Miles</label></option>
2628 <option value="1 Yard"><label>1 Yard</label></option>
2629 <option value="You"><label>You</label></option>
2630 <option value="Touch"><label>Touch</label></option>
2631 <option value="Special"><label>Special</label></option>
2632 <option value="[[@{Current_I}]] Yards" selected><label>Initiative Yards</label></option>
2633 <option value="[[@{Current_IB}]] Miles" selected><label>Initiative Bonus Miles</label></option>
2634 <option value="[[@{Current_IntB}]] Yards" selected><label>Intelligence Bonus Yards</label></option>
2635 <option value="[[@{Current_Fel}]] Yards" selected><label>Fellowship Yards</label></option>
2636 <option value="[[@{Current_FelB}]] Yards" selected><label>Fellowship Bonus Yards</label></option>
2637 <option value="6 Yards" selected><label>6 Yards</label></option>
2638 </select>
2639 </div>
2640 <div class="sheet-col" style="width:10%; margin:-2px; "><input type="text" style="text-align:center" name="attr_SpellTarget" />
2641 </div>
2642 <div class="sheet-col" style="width:10%; margin:-2px; "><input type="text" style="text-align:center" name="attr_SpellDuration" />
2643 </div>
2644 <div class="sheet-col" style="width:25%; margin:-2px; "><input type="text" name="attr_SpellEffect" />
2645 </div>
2646 <div class="sheet-col" style="width:5%; margin:-2px; "><button type="roll" name="cast_spell_info" value="&{template:wfrp4} {{name=@{character_name}}} {{title=@{Spell}}} {{dice=[[ 1d100cs01cs02cs03cs04cs05cs11cs22cs33cs44cs55cs66cs77cs88cf96cf97cf98cf99cf100 ]]}} {{against=[[ ?{Modifier?|0}+@{SpellType} ]]}} {{spell=@{Spell}}} {{cn=@{SpellCN}}} {{range=@{SpellRange}}} {{target=@{SpellTarget}}} {{duration=@{SpellDuration}}} {{effect=@{SpellEffect}}} {{description=@{Spelldesc}}} {{hitlocation=1}} {{description=@{Spelldesc}}} {{channelling=@{ExtendedChannellingSl}}}"><label class="labelbutton" style="text-align:center">Roll</label></button>
2647 </div>
2648 <input type="checkbox" class="sheet-arrow" style="" name="attr_SpellDescHide"/><span></span>
2649 <div class="sheet-body">
2650 <textarea name="attr_Spelldesc" placeholder="Description" style="width:90%; height:50px"></textarea>
2651 </div>
2652 </div>
2653 </fieldset>
2654 </div>
2655
2656<!-- INJURIES, AFFLICTIONS, PSYCHOLOGY AND MUTATIONS -->
2657 <hr>
2658 <h4 >INJURIES, AFFLICTIONS, PSYCHOLOGY AND MUTATIONS</h4>
2659 <!-- Corruption -->
2660 <div class="sheet-wrapper" style="width:100%; text-align:center;">
2661 <table>
2662 <tr>
2663 <td style="width:10%">
2664 </td>
2665
2666 <td style="text-align:left; width:20%"><label style="text-align:left" >Current Corruption</label>
2667 </td>
2668 <td style="text-align:left; width:5%"><input type="number" name="attr_corruption" style="text-align:center" value="0" />
2669 </td>
2670
2671 <td style="width:5%">
2672 </td>
2673
2674 <td style="text-align:left; width:15%"><label style="text-align:left" >Max Corruption</label>
2675 </td>
2676 <td style="text-align:left; width:5%"><input type="number" name="attr_maxcorruption" style="text-align:center" value="floor(@{Current_TB}+@{Current_WPB}+@{corruptionmod})" disabled/>
2677 </td>
2678
2679 <td style="width:10%">
2680 </td>
2681
2682 <td style="text-align:left; width:10"><label style="text-align:left" >Modifier</label>
2683 </td>
2684 <td style="text-align:left; width:5%"><input type="number" name="attr_corruptionmod" style="text-align:center" value="0" />
2685 </td>
2686
2687 <td style="width:15%">
2688 </td>
2689 </tr>
2690 </table>
2691 </div>
2692 <div class="sheet-wrapper" style="width:100%">
2693 <div style="width:100%; text-align:left;">
2694 <div class="sheet-col" style="width:32%"><label style="text-align:left" >Name</label>
2695 </div>
2696 <div class="sheet-col" style="width:38%"><label style="text-align:left" >Effect</label>
2697 </div>
2698 <div class="sheet-col" style="width:20%"><label style="text-align:center" >Time</label>
2699 </div>
2700 </div>
2701 <fieldset class="repeating_afflictions" name="repeating_afflicitons">
2702 <div style="width 100%; text-align:left;">
2703 <div class="sheet-col" style="width:32%"><input type="text" placeholder="Affliction Name" name="attr_afflictionname" />
2704 </div>
2705 <div class="sheet-col" style="width:38%"><input type="text" placeholder="Affliction Effect" style="text-align:left" name="attr_afflictioneffect" />
2706 </div>
2707 <div class="sheet-col" style="width:20%"><input type="text" placeholder="Affliction Heal Time" style="text-align:center" name="attr_afflictionhealtime">
2708 </div>
2709
2710 <div class="sheet-item" style="width:5%"><button type="roll" style="width:90%" name="roll_AfflicitonDisplay" value="&{template:wfrp4} {{name=@{character_name}}} {{title=@{afflictionname}}} {{afflictiondescription=@{Afflicitondesc}}} {{afflictionEffect=@{afflictioneffect}}} {{afflictionTime=@{afflictionhealtime}}}">I</button></div>
2711 <input type="checkbox" class="sheet-arrow" style="" name="attr_AfflicitonDescHide"/><span></span>
2712 <div class="sheet-body">
2713 <textarea name="attr_Afflicitondesc" placeholder="Description" style="width:90%; height:50px"></textarea>
2714 </div>
2715 </div>
2716 </fieldset>
2717 </div>
2718
2719<!-- Trappings -->
2720 <hr>
2721 <div style="width:100%">
2722 <div class="sheet-wrapper" style="width:100%; text-align:left;">
2723 <h4 >TRAPPINGS</h4>
2724 <div style="width:100%">
2725 <div class="sheet-col" style="width:82%"><label style="text-align:left" >Name</label>
2726 </div>
2727 <div class="sheet-col" style="width:5%"><label style="text-align:left" >Enc</label>
2728 </div>
2729 <div class="sheet-col" style="width:8%"><label style="text-align:center"></label>
2730 </div>
2731 </div>
2732 <fieldset class="repeating_trappings" name="repeating_trappings">
2733 <div style="width:100%">
2734 <div class="sheet-item" style="width:77%"><input type="text" placeholder="" name="attr_TrappingName" /></div>
2735 <div class="sheet-item" style="width:5%"><input type="number" style="text-align:center" value="0" name="attr_TrappingWeight" /></div>
2736 <div class="sheet-item" style="width:8%;text-align:center"><input type="checkbox" name="attr_TrappingHeld" value="1" checked style="text-align:center" /><span></span></div>
2737 <div class="sheet-item" style="width:5%"><button type="roll" style="width:90%" name="roll_TrappingDisplay" value="&{template:wfrp4} {{name=@{character_name}}} {{title=@{TrappingName}}} {{talentdescription=@{TrappingDesc}}}">I</button></div>
2738 <input type="checkbox" class="sheet-arrow" name="attr_TrappingDescHide"/><span></span>
2739 <div class="sheet-body">
2740 <textarea name="attr_Trappingdesc" placeholder="Description" style="width:90%; height:50px"></textarea>
2741 </div>
2742 </div>
2743 </fieldset>
2744
2745 </div>
2746 <div class="sheet-col" style="width:2%">
2747 </div>
2748 </div>
2749
2750</div>
2751</div>
2752
2753
2754<div class="sheet-tab-content sheet-tabInformation">
2755<div class="sheet-wrapper">
2756<!-- Notes -->
2757 <br>
2758 <div>
2759 <div class="sheet-col" style="width:48%; " >
2760 <h4 >PERSONALITY</h4>
2761 <textarea name="attr_Personality" style="width:90%; height:100px" ></textarea>
2762 </div>
2763 <div class="sheet-col" style="width:2%; ">
2764 </div>
2765 <div class="sheet-col" style="width:48%; " >
2766 <h4 >APPEARANCE</h4>
2767 <textarea name="attr_Appearance" style="width:90%; height:100px" ></textarea>
2768 </div>
2769 </div>
2770<!-- Personality -->
2771 <hr>
2772 <div>
2773 <div class="sheet-col" style="width:48%; ">
2774 <h4>CONTACTS/FRIENDS</h4>
2775 <textarea name="attr_Contacts" style="width:90%; height:100px" ></textarea>
2776 </div>
2777 <div class="sheet-col" style="width:2%; ">
2778 </div>
2779 <div class="sheet-col" style="width:48%; " >
2780 <h4>ENEMIES</h4>
2781 <textarea name="attr_Enemies" style="width:90%; height:100px" ></textarea>
2782 </div>
2783 </div>
2784 <hr>
2785 <div>
2786 <div class="sheet-col" style="width:99%; " >
2787 <h4 >HISTORY</h4>
2788 <textarea name="attr_History" style="width:90%; height:150px" ></textarea>
2789 </div>
2790 </div>
2791 <hr>
2792 <div>
2793 <div class="sheet-col" style="width:99%; ">
2794 <h4 >NOTES</h4>
2795 <textarea name="attr_Notes" style="width:90%; height:150px" ></textarea>
2796 </div>
2797 </div>
2798 <hr>
2799 <div class="sheet-col" style="text-align:center; width:100%; font-size:12px;">
2800 </div>
2801 <hr>
2802
2803</div>
2804</div>
2805
2806<div class="sheet-tab-content sheet-tabExperience">
2807<div class="sheet-wrapper">
2808 <br>
2809 <h4>Experience Points</h4>
2810 <table style="margin-left:auto;margin-right:auto; text-align:center">
2811 <tr>
2812 <td><label style="text-align:center; height:auto;">Total XP</label>
2813 </td>
2814 <td><label style="text-align:center; height:auto;">Spent XP</label>
2815 </td>
2816 <td><label style="text-align:center; height:auto">Left XP</label>
2817 </td>
2818 </tr>
2819 <tr>
2820 <td style="width:120px;"><input style="width:100px; text-align:center" type="number" name="attr_character_TotalExperience" value="0" />
2821 </td>
2822 <td style="width:120px;"><input style="width:100px; text-align:center" type="number" name="attr_character_SpentExperience" value="0" />
2823 </td>
2824 <td style="width:120px;"><input style="width:100px; text-align:center"type="number" name="attr_character_LeftExperience" disabled value="floor(@{character_TotalExperience}-@{character_SpentExperience})" />
2825 </td>
2826 </tr>
2827 </table>
2828 <br>
2829 <label>Advancements Taken (Calculated):</label>
2830 <fieldset class="repeating_advancements">
2831 <table style="width:100%">
2832 <tr>
2833 <td style="width:25%"><input type="text" placeholder="Advancement Name" name="attr_advancement1" /></td>
2834 <td style="width:5%"><input type="number" placeholder="Cost" value="0" name="attr_advancement1xp" /></td>
2835 <td style="width:5%"></td>
2836 <td style="width:25%"><input type="text" placeholder="Advancement Name" name="attr_advancement2" /></td>
2837 <td style="width:5%"><input type="number" placeholder="Cost" value="0" name="attr_advancement2xp" /></td>
2838 <td style="width:5%"></td>
2839 <td style="width:25%"><input type="text" placeholder="Advancement Name" name="attr_advancement3" /></td>
2840 <td style="width:5%"><input type="number" placeholder="Cost" value="0" name="attr_advancement3xp" /></td>
2841 </tr>
2842 </table>
2843 </fieldset>
2844 </div>
2845
2846</div>
2847</div>
2848
2849<!-- possible NPC Sheet
2850<div class="sheet-tab-content sheet-tabGM">
2851 <input type='radio' name="attr_gm_show" class="sheet-tab sheet-tabNPC" value="1" checked />
2852<label class="sheet-tab" >NPC</label>
2853
2854</div> -->
2855
2856<br><br>
2857<!-- Rolltemplate wfrp4 -->
2858 <rolltemplate class="sheet-rolltemplate-wfrp4">
2859 <table>
2860 <th style="text-align:center; width:10%"><div class="sheet-rollcharacter">{{name}}</div>
2861 <div class="sheet-rolltitle">{{title}}</div>
2862 </th>
2863 <tr>
2864 <td style="text-align:left; width:10%">
2865 {{#dice}}
2866 <b>Rolled: </b> {{dice}} <b>vs</b> {{against}}
2867
2868 <!-- Success Result -->
2869 <br>**Result:**
2870 {{#rollWasCrit() dice}}
2871 {{#rollLess() dice against}}
2872 <b><i style="color:#3FB315;">Critical</i></b>
2873 {{/rollLess() dice against}}
2874 {{#rollGreater() dice against}}
2875 <b><i style="color:#cc6633;">Fumbling</i></b>
2876 {{/rollGreater() dice against}}
2877 {{/rollWasCrit() dice}}
2878 {{#rollWasFumble() dice}}
2879 <b><i style="color:#cc6633;">Fumbling</i></b>
2880 {{/rollWasFumble() dice}}
2881 {{#rollLess() dice against}}
2882 <b><i style="color:#3FB315;">Success</i></b><br>
2883 {{/rollLess() dice against}}
2884 {{#rollTotal() dice against}}
2885 <b><i style="color:#3FB315;">Success</i></b><br>
2886 {{/rollTotal() dice against}}
2887 {{#rollGreater() dice against}}
2888 <b><i style="color:#cc6633;">Failure</i></b><br>
2889 {{/rollGreater() dice against}}
2890 {{/dice}}
2891<!-- Spell Description -->
2892 {{#description}}
2893 <br><b>Description: </b> <i>{{description}}</i><br>
2894 {{/description}}
2895<!-- Weapon Stats -->
2896 {{#weapon}}
2897 <br><b>Weapon:</b> {{weapon}}<br>
2898 <b>Range/Reach:</b> {{range}}<br>
2899 <b>Dmg:</b> {{damage}}
2900 {{/weapon}}
2901<!-- Spell Stats 1st Part -->
2902 {{#spell}}
2903 <br><b>Spell:</b> {{spell}}<br>
2904 <b>CN:</b> {{cn}}
2905 {{/spell}}
2906<!-- Success Level -->
2907{{#rollBetween() against 90 99}}
2908 {{#rollTotal() dice 100}}–1{{/rollTotal() dice 100}}
2909 {{#rollBetween() dice against 99}}
2910 {{#^rollTotal() dice against}}<b>SL: </b>–0{{/^rollTotal() dice against}}
2911 {{/rollBetween() dice against 99}}
2912 {{#rollBetween() dice 90 against}}<b>SL: </b>+0{{/rollBetween() dice 90 against}}
2913 {{#rollBetween() dice 80 89}}<b>SL: </b>+1{{/rollBetween() dice 80 89}}
2914 {{#rollBetween() dice 70 79}}<b>SL: </b>+2{{/rollBetween() dice 70 79}}
2915 {{#rollBetween() dice 60 69}}<b>SL: </b>+3{{/rollBetween() dice 60 69}}
2916 {{#rollBetween() dice 50 59}}<b>SL: </b>+4{{/rollBetween() dice 50 59}}
2917 {{#rollBetween() dice 40 49}}<b>SL: </b>+5{{/rollBetween() dice 40 49}}
2918 {{#rollBetween() dice 30 39}}<b>SL: </b>+6{{/rollBetween() dice 30 39}}
2919 {{#rollBetween() dice 20 29}}<b>SL: </b>+7{{/rollBetween() dice 20 29}}
2920 {{#rollBetween() dice 10 19}}<b>SL: </b>+8{{/rollBetween() dice 10 19}}
2921 {{#rollBetween() dice 1 9}}<b>SL: </b>+9{{/rollBetween() dice 1 9}}
2922{{/rollBetween() against 90 99}}
2923{{#rollBetween() against 80 89}}
2924 {{#rollTotal() dice 100}}<b>SL: </b>–2{{/rollTotal() dice 100}}
2925 {{#rollBetween() dice 90 99}}<b>SL: </b>–1{{/rollBetween() dice 90 99}}
2926 {{#rollBetween() dice against 89}}
2927 {{#^rollTotal() dice against}}<b>SL: </b>–0{{/^rollTotal() dice against}}
2928 {{/rollBetween() dice against 89}}
2929 {{#rollBetween() dice 80 against}}<b>SL: </b>+0{{/rollBetween() dice 80 against}}
2930 {{#rollBetween() dice 70 79}}<b>SL: </b>+1{{/rollBetween() dice 70 79}}
2931 {{#rollBetween() dice 60 69}}<b>SL: </b>+2{{/rollBetween() dice 60 69}}
2932 {{#rollBetween() dice 50 59}}<b>SL: </b>+3{{/rollBetween() dice 50 59}}
2933 {{#rollBetween() dice 40 49}}<b>SL: </b>+4{{/rollBetween() dice 40 49}}
2934 {{#rollBetween() dice 30 39}}<b>SL: </b>+5{{/rollBetween() dice 30 39}}
2935 {{#rollBetween() dice 20 29}}<b>SL: </b>+6{{/rollBetween() dice 20 29}}
2936 {{#rollBetween() dice 10 19}}<b>SL: </b>+7{{/rollBetween() dice 10 19}}
2937 {{#rollBetween() dice 1 9}}<b>SL: </b>+8{{/rollBetween() dice 1 9}}
2938{{/rollBetween() against 80 89}}
2939{{#rollBetween() against 70 79}}
2940 {{#rollTotal() dice 100}}<b>SL: </b>–3{{/rollTotal() dice 100}}
2941 {{#rollBetween() dice 90 99}}<b>SL: </b>–2{{/rollBetween() dice 90 99}}
2942 {{#rollBetween() dice 80 89}}<b>SL: </b>–1{{/rollBetween() dice 80 89}}
2943 {{#rollBetween() dice against 79}}
2944 {{#^rollTotal() dice against}}<b>SL: </b>–0{{/^rollTotal() dice against}}
2945 {{/rollBetween() dice against 79}}
2946 {{#rollBetween() dice 70 against}}<b>SL: </b>+0{{/rollBetween() dice 70 against}}
2947 {{#rollBetween() dice 60 69}}<b>SL: </b>+1{{/rollBetween() dice 60 69}}
2948 {{#rollBetween() dice 50 59}}<b>SL: </b>+2{{/rollBetween() dice 50 59}}
2949 {{#rollBetween() dice 40 49}}<b>SL: </b>+3{{/rollBetween() dice 40 49}}
2950 {{#rollBetween() dice 30 39}}<b>SL: </b>+4{{/rollBetween() dice 30 39}}
2951 {{#rollBetween() dice 20 29}}<b>SL: </b>+5{{/rollBetween() dice 20 29}}
2952 {{#rollBetween() dice 10 19}}<b>SL: </b>+6{{/rollBetween() dice 10 19}}
2953 {{#rollBetween() dice 1 9}}+7{{/rollBetween() dice 1 9}}
2954{{/rollBetween() against 70 79}}
2955{{#rollBetween() against 60 69}}
2956 {{#rollTotal() dice 100}}–4{{/rollTotal() dice 100}}
2957 {{#rollBetween() dice 90 99}}<b>SL: </b>–3{{/rollBetween() dice 90 99}}
2958 {{#rollBetween() dice 80 89}}<b>SL: </b>–2{{/rollBetween() dice 80 89}}
2959 {{#rollBetween() dice 70 79}}<b>SL: </b>–1{{/rollBetween() dice 70 79}}
2960 {{#rollBetween() dice against 69}}
2961 {{#^rollTotal() dice against}}<b>SL: </b>–0{{/^rollTotal() dice against}}
2962 {{/rollBetween() dice against 69}}
2963 {{#rollBetween() dice 60 against}}<b>SL: </b>+0{{/rollBetween() dice 60 against}}
2964 {{#rollBetween() dice 50 59}}<b>SL: </b>+1{{/rollBetween() dice 50 59}}
2965 {{#rollBetween() dice 40 49}}<b>SL: </b>+2{{/rollBetween() dice 40 49}}
2966 {{#rollBetween() dice 30 39}}<b>SL: </b>+3{{/rollBetween() dice 30 39}}
2967 {{#rollBetween() dice 20 29}}<b>SL: </b>+4{{/rollBetween() dice 20 29}}
2968 {{#rollBetween() dice 10 19}}<b>SL: </b>+5{{/rollBetween() dice 10 19}}
2969 {{#rollBetween() dice 1 9}}<b>SL: </b>+6{{/rollBetween() dice 1 9}}
2970{{/rollBetween() against 60 69}}
2971{{#rollBetween() against 50 59}}
2972 {{#rollTotal() dice 100}}<b>SL: </b>–5{{/rollTotal() dice 100}}
2973 {{#rollBetween() dice 90 99}}<b>SL: </b>–4{{/rollBetween() dice 90 99}}
2974 {{#rollBetween() dice 80 89}}<b>SL: </b>–3{{/rollBetween() dice 80 89}}
2975 {{#rollBetween() dice 70 79}}<b>SL: </b>–2{{/rollBetween() dice 70 79}}
2976 {{#rollBetween() dice 60 69}}<b>SL: </b>–1{{/rollBetween() dice 60 69}}
2977 {{#rollBetween() dice against 59}}
2978 {{#^rollTotal() dice against}}<b>SL: </b>–0{{/^rollTotal() dice against}}
2979 {{/rollBetween() dice against 59}}
2980 {{#rollBetween() dice 50 against}}<b>SL: </b>+0{{/rollBetween() dice 50 against}}
2981 {{#rollBetween() dice 40 49}}<b>SL: </b>+1{{/rollBetween() dice 40 49}}
2982 {{#rollBetween() dice 30 39}}<b>SL: </b>+2{{/rollBetween() dice 30 39}}
2983 {{#rollBetween() dice 20 29}}<b>SL: </b>+3{{/rollBetween() dice 20 29}}
2984 {{#rollBetween() dice 10 19}}<b>SL: </b>+4{{/rollBetween() dice 10 19}}
2985 {{#rollBetween() dice 1 9}}<b>SL: </b>+5{{/rollBetween() dice 1 9}}
2986{{/rollBetween() against 50 59}}
2987{{#rollBetween() against 40 49}}
2988 {{#rollTotal() dice 100}}–6{{/rollTotal() dice 100}}
2989 {{#rollBetween() dice 90 99}}<b>SL: </b>–5{{/rollBetween() dice 90 99}}
2990 {{#rollBetween() dice 80 89}}<b>SL: </b>–4{{/rollBetween() dice 80 89}}
2991 {{#rollBetween() dice 70 79}}<b>SL: </b>–3{{/rollBetween() dice 70 79}}
2992 {{#rollBetween() dice 60 69}}<b>SL: </b>–2{{/rollBetween() dice 60 69}}
2993 {{#rollBetween() dice 50 59}}<b>SL: </b>–1{{/rollBetween() dice 50 59}}
2994 {{#rollBetween() dice against 49}}
2995 {{#^rollTotal() dice against}}<b>SL: </b>–0{{/^rollTotal() dice against}}
2996 {{/rollBetween() dice against 49}}
2997 {{#rollBetween() dice 40 against}}<b>SL: </b>+0{{/rollBetween() dice 40 against}}
2998 {{#rollBetween() dice 30 39}}<b>SL: </b>+1{{/rollBetween() dice 30 39}}
2999 {{#rollBetween() dice 20 29}}<b>SL: </b>+2{{/rollBetween() dice 20 29}}
3000 {{#rollBetween() dice 10 19}}<b>SL: </b>+3{{/rollBetween() dice 10 19}}
3001 {{#rollBetween() dice 1 9}}<b>SL: </b>+4{{/rollBetween() dice 1 9}}
3002{{/rollBetween() against 40 49}}
3003{{#rollBetween() against 30 39}}
3004 {{#rollTotal() dice 100}}-7{{/rollTotal() dice 100}}
3005 {{#rollBetween() dice 90 99}}<b>SL: </b>–6{{/rollBetween() dice 90 99}}
3006 {{#rollBetween() dice 80 89}}<b>SL: </b>–5{{/rollBetween() dice 80 89}}
3007 {{#rollBetween() dice 70 79}}<b>SL: </b>–4{{/rollBetween() dice 70 79}}
3008 {{#rollBetween() dice 60 69}}<b>SL: </b>–3{{/rollBetween() dice 60 69}}
3009 {{#rollBetween() dice 50 59}}<b>SL: </b>–2{{/rollBetween() dice 50 59}}
3010 {{#rollBetween() dice 40 49}}<b>SL: </b>–1{{/rollBetween() dice 40 49}}
3011 {{#rollBetween() dice against 39}}
3012 {{#^rollTotal() dice against}}<b>SL: </b>–0{{/^rollTotal() dice against}}
3013 {{/rollBetween() dice against 39}}
3014 {{#rollBetween() dice 30 against}}<b>SL: </b>+0{{/rollBetween() dice 30 against}}
3015 {{#rollBetween() dice 20 29}}<b>SL: </b>+1{{/rollBetween() dice 20 29}}
3016 {{#rollBetween() dice 10 19}}<b>SL: </b>+2{{/rollBetween() dice 10 19}}
3017 {{#rollBetween() dice 1 9}}<b>SL: </b>+3{{/rollBetween() dice 1 9}}
3018{{/rollBetween() against 30 39}}
3019{{#rollBetween() against 20 29}}
3020 {{#rollTotal() dice 100}}–8{{/rollTotal() dice 100}}
3021 {{#rollBetween() dice 90 99}}<b>SL: </b>–7{{/rollBetween() dice 90 99}}
3022 {{#rollBetween() dice 80 89}}<b>SL: </b>–6{{/rollBetween() dice 80 89}}
3023 {{#rollBetween() dice 70 79}}<b>SL: </b>–5{{/rollBetween() dice 70 79}}
3024 {{#rollBetween() dice 60 69}}<b>SL: </b>–4{{/rollBetween() dice 60 69}}
3025 {{#rollBetween() dice 50 59}}<b>SL: </b>–3{{/rollBetween() dice 50 59}}
3026 {{#rollBetween() dice 40 49}}<b>SL: </b>–2{{/rollBetween() dice 40 49}}
3027 {{#rollBetween() dice 30 39}}<b>SL: </b>–1{{/rollBetween() dice 30 39}}
3028 {{#rollBetween() dice against 29}}
3029 {{#^rollTotal() dice against}}<b>SL: </b>–0{{/^rollTotal() dice against}}
3030 {{/rollBetween() dice against 29}}
3031 {{#rollBetween() dice 20 against}}<b>SL: </b>+0{{/rollBetween() dice 20 against}}
3032 {{#rollBetween() dice 10 19}}<b>SL: </b>+1{{/rollBetween() dice 10 19}}
3033 {{#rollBetween() dice 1 9}}<b>SL: </b>+2{{/rollBetween() dice 1 9}}
3034{{/rollBetween() against 20 29}}
3035{{#rollBetween() against 10 19}}
3036 {{#rollTotal() dice 100}}<b>SL: </b>–9{{/rollTotal() dice 100}}
3037 {{#rollBetween() dice 90 99}}<b>SL: </b>–8{{/rollBetween() dice 90 99}}
3038 {{#rollBetween() dice 80 89}}<b>SL: </b>–7{{/rollBetween() dice 80 89}}
3039 {{#rollBetween() dice 70 79}}<b>SL: </b>–6{{/rollBetween() dice 70 79}}
3040 {{#rollBetween() dice 60 69}}<b>SL: </b>–5{{/rollBetween() dice 60 69}}
3041 {{#rollBetween() dice 50 59}}<b>SL: </b>–4{{/rollBetween() dice 50 59}}
3042 {{#rollBetween() dice 40 49}}<b>SL: </b>–3{{/rollBetween() dice 40 49}}
3043 {{#rollBetween() dice 30 39}}<b>SL: </b>–2{{/rollBetween() dice 30 39}}
3044 {{#rollBetween() dice 20 29}}<b>SL: </b>–1{{/rollBetween() dice 20 29}}
3045 {{#rollBetween() dice against 19}}
3046 {{#^rollTotal() dice against}}<b>SL: </b>–0{{/^rollTotal() dice against}}
3047 {{/rollBetween() dice against 19}}
3048 {{#rollBetween() dice 10 against}}<b>SL: </b>+0{{/rollBetween() dice 10 against}}
3049 {{#rollBetween() dice 1 9}}<b>SL: </b>+1{{/rollBetween() dice 1 9}}
3050{{/rollBetween() against 10 19}}
3051{{#rollBetween() against 1 9}}
3052 {{#rollTotal() dice 100}}<b>SL: </b>–10{{/rollTotal() dice 100}}
3053 {{#rollBetween() dice 90 99}}<b>SL: </b>–9{{/rollBetween() dice 90 99}}
3054 {{#rollBetween() dice 80 89}}<b>SL: </b>–8{{/rollBetween() dice 80 89}}
3055 {{#rollBetween() dice 70 79}}<b>SL: </b>–7{{/rollBetween() dice 70 79}}
3056 {{#rollBetween() dice 60 69}}<b>SL: </b>–6{{/rollBetween() dice 60 69}}
3057 {{#rollBetween() dice 50 59}}<b>SL: </b>–5{{/rollBetween() dice 50 59}}
3058 {{#rollBetween() dice 40 49}}<b>SL: </b>–4{{/rollBetween() dice 40 49}}
3059 {{#rollBetween() dice 30 39}}<b>SL: </b>–3{{/rollBetween() dice 30 39}}
3060 {{#rollBetween() dice 20 29}}<b>SL: </b>–2{{/rollBetween() dice 20 29}}
3061 {{#rollBetween() dice 10 19}}<b>SL: </b>–1{{/rollBetween() dice 10 19}}
3062 {{#rollBetween() dice against 9}}
3063 {{#^rollTotal() dice against}}<b>SL: </b>–0{{/^rollTotal() dice against}}
3064 {{/rollBetween() dice against 9}}
3065 {{#rollBetween() dice 1 against}}<b>SL: </b>+0{{/rollBetween() dice 1 against}}
3066{{/rollBetween() against 1 9}}
3067
3068{{#rollBetween() against 100 109}}
3069 {{#rollBetween() dice 96 99}}<b>SL: </b>-1{{/rollBetween() dice 96 99}}
3070 {{#rollBetween() dice 90 95}}<b>SL: </b>+1{{/rollBetween() dice 90 95}}
3071 {{#rollBetween() dice 80 89}}<b>SL: </b>+2{{/rollBetween() dice 80 89}}
3072 {{#rollBetween() dice 70 79}}<b>SL: </b>+3{{/rollBetween() dice 70 79}}
3073 {{#rollBetween() dice 60 69}}<b>SL: </b>+4{{/rollBetween() dice 60 69}}
3074 {{#rollBetween() dice 50 59}}<b>SL: </b>+5{{/rollBetween() dice 50 59}}
3075 {{#rollBetween() dice 40 49}}<b>SL: </b>+6{{/rollBetween() dice 40 49}}
3076 {{#rollBetween() dice 30 39}}<b>SL: </b>+7{{/rollBetween() dice 30 39}}
3077 {{#rollBetween() dice 20 29}}<b>SL: </b>+8{{/rollBetween() dice 20 29}}
3078 {{#rollBetween() dice 10 19}}<b>SL: </b>+9{{/rollBetween() dice 10 19}}
3079 {{#rollBetween() dice 1 9}}<b>SL: </b>+10{{/rollBetween() dice 1 9}}
3080{{/rollBetween() against 100 109}}
3081
3082{{#rollBetween() against 110 119}}
3083 {{#rollBetween() dice 96 99}}<b>SL: </b>-1{{/rollBetween() dice 96 99}}
3084 {{#rollBetween() dice 90 95}}<b>SL: </b>+2{{/rollBetween() dice 90 95}}
3085 {{#rollBetween() dice 80 89}}<b>SL: </b>+3{{/rollBetween() dice 80 89}}
3086 {{#rollBetween() dice 70 79}}<b>SL: </b>+4{{/rollBetween() dice 70 79}}
3087 {{#rollBetween() dice 60 69}}<b>SL: </b>+5{{/rollBetween() dice 60 69}}
3088 {{#rollBetween() dice 50 59}}<b>SL: </b>+6{{/rollBetween() dice 50 59}}
3089 {{#rollBetween() dice 40 49}}<b>SL: </b>+7{{/rollBetween() dice 40 49}}
3090 {{#rollBetween() dice 30 39}}<b>SL: </b>+8{{/rollBetween() dice 30 39}}
3091 {{#rollBetween() dice 20 29}}<b>SL: </b>+9{{/rollBetween() dice 20 29}}
3092 {{#rollBetween() dice 10 19}}<b>SL: </b>+10{{/rollBetween() dice 10 19}}
3093 {{#rollBetween() dice 1 9}}<b>SL: </b>+10{{/rollBetween() dice 1 9}}
3094{{/rollBetween() against 110 119}}
3095
3096{{#rollBetween() against 120 129}}
3097 {{#rollBetween() dice 96 99}}<b>SL: </b>-1{{/rollBetween() dice 96 99}}
3098 {{#rollBetween() dice 90 95}}<b>SL: </b>+3{{/rollBetween() dice 90 95}}
3099 {{#rollBetween() dice 80 89}}<b>SL: </b>+4{{/rollBetween() dice 80 89}}
3100 {{#rollBetween() dice 70 79}}<b>SL: </b>+5{{/rollBetween() dice 70 79}}
3101 {{#rollBetween() dice 60 69}}<b>SL: </b>+6{{/rollBetween() dice 60 69}}
3102 {{#rollBetween() dice 50 59}}<b>SL: </b>+7{{/rollBetween() dice 50 59}}
3103 {{#rollBetween() dice 40 49}}<b>SL: </b>+8{{/rollBetween() dice 40 49}}
3104 {{#rollBetween() dice 30 39}}<b>SL: </b>+9{{/rollBetween() dice 30 39}}
3105 {{#rollBetween() dice 20 29}}<b>SL: </b>+10{{/rollBetween() dice 20 29}}
3106 {{#rollBetween() dice 10 19}}<b>SL: </b>+11{{/rollBetween() dice 10 19}}
3107 {{#rollBetween() dice 03 09}}<b>SL: </b>+11{{/rollBetween() dice 03 09}}
3108 {{#rollBetween() dice 01 02}}<b>SL: </b>+12{{/rollBetween() dice 01 02}}
3109{{/rollBetween() against 120 129}}
3110
3111{{#rollBetween() against 130 139}}
3112 {{#rollBetween() dice 96 99}}<b>SL: </b>-1{{/rollBetween() dice 96 99}}
3113 {{#rollBetween() dice 90 95}}<b>SL: </b>+4{{/rollBetween() dice 90 95}}
3114 {{#rollBetween() dice 80 89}}<b>SL: </b>+5{{/rollBetween() dice 80 89}}
3115 {{#rollBetween() dice 70 79}}<b>SL: </b>+6{{/rollBetween() dice 70 79}}
3116 {{#rollBetween() dice 60 69}}<b>SL: </b>+7{{/rollBetween() dice 60 69}}
3117 {{#rollBetween() dice 50 59}}<b>SL: </b>+8{{/rollBetween() dice 50 59}}
3118 {{#rollBetween() dice 40 49}}<b>SL: </b>+9{{/rollBetween() dice 40 49}}
3119 {{#rollBetween() dice 30 39}}<b>SL: </b>+10{{/rollBetween() dice 30 39}}
3120 {{#rollBetween() dice 20 29}}<b>SL: </b>+11{{/rollBetween() dice 20 29}}
3121 {{#rollBetween() dice 10 19}}<b>SL: </b>+12{{/rollBetween() dice 10 19}}
3122 {{#rollBetween() dice 04 09}}<b>SL: </b>+12{{/rollBetween() dice 04 09}}
3123 {{#rollBetween() dice 01 03}}<b>SL: </b>+13{{/rollBetween() dice 01 03}}
3124{{/rollBetween() against 130 139}}
3125
3126{{#rollBetween() against 140 149}}
3127 {{#rollBetween() dice 96 99}}<b>SL: </b>-1{{/rollBetween() dice 96 99}}
3128 {{#rollBetween() dice 90 95}}<b>SL: </b>+5{{/rollBetween() dice 90 95}}
3129 {{#rollBetween() dice 80 89}}<b>SL: </b>+6{{/rollBetween() dice 80 89}}
3130 {{#rollBetween() dice 70 79}}<b>SL: </b>+7{{/rollBetween() dice 70 79}}
3131 {{#rollBetween() dice 60 69}}<b>SL: </b>+8{{/rollBetween() dice 60 69}}
3132 {{#rollBetween() dice 50 59}}<b>SL: </b>+9{{/rollBetween() dice 50 59}}
3133 {{#rollBetween() dice 40 49}}<b>SL: </b>+10{{/rollBetween() dice 40 49}}
3134 {{#rollBetween() dice 30 39}}<b>SL: </b>+11{{/rollBetween() dice 30 39}}
3135 {{#rollBetween() dice 20 29}}<b>SL: </b>+12{{/rollBetween() dice 20 29}}
3136 {{#rollBetween() dice 10 19}}<b>SL: </b>+13{{/rollBetween() dice 10 19}}
3137 {{#rollBetween() dice 05 09}}<b>SL: </b>+13{{/rollBetween() dice 05 09}}
3138 {{#rollBetween() dice 01 04}}<b>SL: </b>+14{{/rollBetween() dice 01 04}}
3139{{/rollBetween() against 140 149}}
3140
3141{{#rollBetween() against 150 159}}
3142 {{#rollBetween() dice 96 99}}<b>SL: </b>-1{{/rollBetween() dice 96 99}}
3143 {{#rollBetween() dice 90 95}}<b>SL: </b>+6{{/rollBetween() dice 90 95}}
3144 {{#rollBetween() dice 80 89}}<b>SL: </b>+7{{/rollBetween() dice 80 89}}
3145 {{#rollBetween() dice 70 79}}<b>SL: </b>+8{{/rollBetween() dice 70 79}}
3146 {{#rollBetween() dice 60 69}}<b>SL: </b>+9{{/rollBetween() dice 60 69}}
3147 {{#rollBetween() dice 50 59}}<b>SL: </b>+10{{/rollBetween() dice 50 59}}
3148 {{#rollBetween() dice 40 49}}<b>SL: </b>+11{{/rollBetween() dice 40 49}}
3149 {{#rollBetween() dice 30 39}}<b>SL: </b>+12{{/rollBetween() dice 30 39}}
3150 {{#rollBetween() dice 20 29}}<b>SL: </b>+13{{/rollBetween() dice 20 29}}
3151 {{#rollBetween() dice 10 19}}<b>SL: </b>+14{{/rollBetween() dice 10 19}}
3152 {{#rollBetween() dice 06 09}}<b>SL: </b>+14{{/rollBetween() dice 06 09}}
3153 {{#rollBetween() dice 01 05}}<b>SL: </b>+15{{/rollBetween() dice 01 05}}
3154{{/rollBetween() against 150 159}}
3155
3156{{#rollBetween() against 160 169}}
3157 {{#rollBetween() dice 96 99}}<b>SL: </b>-1{{/rollBetween() dice 96 99}}
3158 {{#rollBetween() dice 90 95}}<b>SL: </b>+7{{/rollBetween() dice 90 95}}
3159 {{#rollBetween() dice 80 89}}<b>SL: </b>+8{{/rollBetween() dice 80 89}}
3160 {{#rollBetween() dice 70 79}}<b>SL: </b>+9{{/rollBetween() dice 70 79}}
3161 {{#rollBetween() dice 60 69}}<b>SL: </b>+10{{/rollBetween() dice 60 69}}
3162 {{#rollBetween() dice 50 59}}<b>SL: </b>+11{{/rollBetween() dice 50 59}}
3163 {{#rollBetween() dice 40 49}}<b>SL: </b>+12{{/rollBetween() dice 40 49}}
3164 {{#rollBetween() dice 30 39}}<b>SL: </b>+13{{/rollBetween() dice 30 39}}
3165 {{#rollBetween() dice 20 29}}<b>SL: </b>+14{{/rollBetween() dice 20 29}}
3166 {{#rollBetween() dice 10 19}}<b>SL: </b>+15{{/rollBetween() dice 10 19}}
3167 {{#rollBetween() dice 07 09}}<b>SL: </b>+15{{/rollBetween() dice 07 09}}
3168 {{#rollBetween() dice 01 06}}<b>SL: </b>+16{{/rollBetween() dice 01 06}}
3169{{/rollBetween() against 160 169}}
3170
3171{{#rollBetween() against 170 179}}
3172 {{#rollBetween() dice 96 99}}<b>SL: </b>-1{{/rollBetween() dice 96 99}}
3173 {{#rollBetween() dice 90 95}}<b>SL: </b>+8{{/rollBetween() dice 90 95}}
3174 {{#rollBetween() dice 80 89}}<b>SL: </b>+9{{/rollBetween() dice 80 89}}
3175 {{#rollBetween() dice 70 79}}<b>SL: </b>+10{{/rollBetween() dice 70 79}}
3176 {{#rollBetween() dice 60 69}}<b>SL: </b>+11{{/rollBetween() dice 60 69}}
3177 {{#rollBetween() dice 50 59}}<b>SL: </b>+12{{/rollBetween() dice 50 59}}
3178 {{#rollBetween() dice 40 49}}<b>SL: </b>+13{{/rollBetween() dice 40 49}}
3179 {{#rollBetween() dice 30 39}}<b>SL: </b>+14{{/rollBetween() dice 30 39}}
3180 {{#rollBetween() dice 20 29}}<b>SL: </b>+15{{/rollBetween() dice 20 29}}
3181 {{#rollBetween() dice 10 19}}<b>SL: </b>+16{{/rollBetween() dice 10 19}}
3182 {{#rollBetween() dice 08 09}}<b>SL: </b>+16{{/rollBetween() dice 08 09}}
3183 {{#rollBetween() dice 01 07}}<b>SL: </b>+17{{/rollBetween() dice 01 07}}
3184{{/rollBetween() against 170 179}}
3185
3186{{#rollBetween() against 180 189}}
3187 {{#rollBetween() dice 96 99}}<b>SL: </b>-1{{/rollBetween() dice 96 99}}
3188 {{#rollBetween() dice 90 95}}<b>SL: </b>+9{{/rollBetween() dice 90 95}}
3189 {{#rollBetween() dice 80 89}}<b>SL: </b>+10{{/rollBetween() dice 80 89}}
3190 {{#rollBetween() dice 70 79}}<b>SL: </b>+11{{/rollBetween() dice 70 79}}
3191 {{#rollBetween() dice 60 69}}<b>SL: </b>+12{{/rollBetween() dice 60 69}}
3192 {{#rollBetween() dice 50 59}}<b>SL: </b>+13{{/rollBetween() dice 50 59}}
3193 {{#rollBetween() dice 40 49}}<b>SL: </b>+14{{/rollBetween() dice 40 49}}
3194 {{#rollBetween() dice 30 39}}<b>SL: </b>+15{{/rollBetween() dice 30 39}}
3195 {{#rollBetween() dice 20 29}}<b>SL: </b>+16{{/rollBetween() dice 20 29}}
3196 {{#rollBetween() dice 10 19}}<b>SL: </b>+17{{/rollBetween() dice 10 19}}
3197 {{#rollTotal() dice 09}}<b>SL: </b>+17{{/rollTotal() dice 09}}
3198 {{#rollBetween() dice 01 08}}<b>SL: </b>+18{{/rollBetween() dice 01 08}}
3199{{/rollBetween() against 180 189}}
3200
3201{{#rollBetween() against 190 199}}
3202 {{#rollBetween() dice 96 99}}<b>SL: </b>-1{{/rollBetween() dice 96 99}}
3203 {{#rollBetween() dice 90 95}}<b>SL: </b>+10{{/rollBetween() dice 90 95}}
3204 {{#rollBetween() dice 80 89}}<b>SL: </b>+11{{/rollBetween() dice 80 89}}
3205 {{#rollBetween() dice 70 79}}<b>SL: </b>+12{{/rollBetween() dice 70 79}}
3206 {{#rollBetween() dice 60 69}}<b>SL: </b>+13{{/rollBetween() dice 60 69}}
3207 {{#rollBetween() dice 50 59}}<b>SL: </b>+14{{/rollBetween() dice 50 59}}
3208 {{#rollBetween() dice 40 49}}<b>SL: </b>+15{{/rollBetween() dice 40 49}}
3209 {{#rollBetween() dice 30 39}}<b>SL: </b>+16{{/rollBetween() dice 30 39}}
3210 {{#rollBetween() dice 20 29}}<b>SL: </b>+17{{/rollBetween() dice 20 29}}
3211 {{#rollBetween() dice 10 19}}<b>SL: </b>+18{{/rollBetween() dice 10 19}}
3212 {{#rollLess() against 198}}
3213 {{#rollTotal() dice 09}}<b>SL: </b>+18{{/rollTotal() dice 09}}
3214 {{#rollBetween() dice 01 08}}<b>SL: </b>+19{{/rollBetween() dice 01 08}}
3215 {{/rollLess() against 198}}
3216 {{#rollTotal() against 199}} <b>SL: </b>+19 {{/rollTotal() against 199}}
3217{{/rollBetween() against 190 199}}
3218
3219{{#rollGreater() against 200}}
3220 <b>SL: </b>+20 <i style="font-size:0.8em;">max calculated value</i>
3221{{/rollGreater() against 200}}
3222
3223<!-- Extended Channelling SL -->
3224{{#channelling}}
3225 <b>Channelling SL:</b> {{channelling}}
3226{{/channelling}}
3227
3228<!-- Hit Location -->
3229 {{#hitlocation}}
3230 <br>
3231 <!-- Head -->
3232 {{#rollTotal() dice 10}}
3233 <b>Hit Location:</b> <i>Head</i>
3234 {{/rollTotal() dice 10}}
3235 {{#rollTotal() dice 20}}
3236 <b>Hit Location:</b> <i>Head</i>
3237 {{/rollTotal() dice 20}}
3238 {{#rollTotal() dice 30}}
3239 <b>Hit Location:</b> <i>Head</i>
3240 {{/rollTotal() dice 30}}
3241 {{#rollTotal() dice 40}}
3242 <b>Hit Location:</b> <i>Head</i>
3243 {{/rollTotal() dice 40}}
3244 {{#rollTotal() dice 50}}
3245 <b>Hit Location:</b> <i>Head</i>
3246 {{/rollTotal() dice 50}}
3247 {{#rollTotal() dice 60}}
3248 <b>Hit Location:</b> <i>Head</i>
3249 {{/rollTotal() dice 60}}
3250 {{#rollTotal() dice 70}}
3251 <b>Hit Location:</b> <i>Head</i>
3252 {{/rollTotal() dice 70}}
3253 {{#rollTotal() dice 80}}
3254 <b>Hit Location:</b> <i>Head</i>
3255 {{/rollTotal() dice 80}}
3256 {{#rollTotal() dice 90}}
3257 <b>Hit Location:</b> <i>Head</i>
3258 {{/rollTotal() dice 90}}
3259
3260 <!-- Left Arm -->
3261 {{#rollTotal() dice 01}}
3262 <b>Hit Location:</b> <i>Left Arm</i>
3263 {{/rollTotal() dice 01}}
3264 {{#rollTotal() dice 11}}
3265 <b>Hit Location:</b> <i>Left Arm</i>
3266 {{/rollTotal() dice 11}}
3267 {{#rollTotal() dice 21}}
3268 <b>Hit Location:</b> <i>Left Arm</i>
3269 {{/rollTotal() dice 21}}
3270 {{#rollTotal() dice 31}}
3271 <b>Hit Location:</b> <i>Left Arm</i>
3272 {{/rollTotal() dice 31}}
3273 {{#rollTotal() dice 41}}
3274 <b>Hit Location:</b> <i>Left Arm</i>
3275 {{/rollTotal() dice 41}}
3276 {{#rollTotal() dice 51}}
3277 <b>Hit Location:</b> <i>Left Arm</i>
3278 {{/rollTotal() dice 51}}
3279 {{#rollTotal() dice 61}}
3280 <b>Hit Location:</b> <i>Left Arm</i>
3281 {{/rollTotal() dice 61}}
3282 {{#rollTotal() dice 71}}
3283 <b>Hit Location:</b> <i>Left Arm</i>
3284 {{/rollTotal() dice 71}}
3285 {{#rollTotal() dice 81}}
3286 <b>Hit Location:</b> <i>Left Arm</i>
3287 {{/rollTotal() dice 81}}
3288 {{#rollTotal() dice 91}}
3289 <b>Hit Location:</b> <i>Left Arm</i>
3290 {{/rollTotal() dice 91}}
3291 {{#rollTotal() dice 02}}
3292 <b>Hit Location:</b> <i>Left Arm</i>
3293 {{/rollTotal() dice 02}}
3294 {{#rollTotal() dice 12}}
3295 <b>Hit Location:</b> <i>Left Arm</i>
3296 {{/rollTotal() dice 12}}
3297 {{#rollTotal() dice 22}}
3298 <b>Hit Location:</b> <i>Left Arm</i>
3299 {{/rollTotal() dice 22}}
3300 {{#rollTotal() dice 32}}
3301 <b>Hit Location:</b> <i>Left Arm</i>
3302 {{/rollTotal() dice 32}}
3303 {{#rollTotal() dice 42}}
3304 <b>Hit Location:</b> <i>Left Arm</i>
3305 {{/rollTotal() dice 42}}
3306
3307 <!-- Right Arm -->
3308 {{#rollTotal() dice 52}}
3309 <b>Hit Location:</b> <i>Right Arm</i>
3310 {{/rollTotal() dice 52}}
3311 {{#rollTotal() dice 62}}
3312 <b>Hit Location:</b> <i>Right Arm</i>
3313 {{/rollTotal() dice 62}}
3314 {{#rollTotal() dice 72}}
3315 <b>Hit Location:</b> <i>Right Arm</i>
3316 {{/rollTotal() dice 72}}
3317 {{#rollTotal() dice 82}}
3318 <b>Hit Location:</b> <i>Right Arm</i>
3319 {{/rollTotal() dice 82}}
3320 {{#rollTotal() dice 92}}
3321 <b>Hit Location:</b> <i>Right Arm</i>
3322 {{/rollTotal() dice 92}}
3323 {{#rollTotal() dice 03}}
3324 <b>Hit Location:</b> <i>Right Arm</i>
3325 {{/rollTotal() dice 03}}
3326 {{#rollTotal() dice 13}}
3327 <b>Hit Location:</b> <i>Right Arm</i>
3328 {{/rollTotal() dice 13}}
3329 {{#rollTotal() dice 23}}
3330 <b>Hit Location:</b> <i>Right Arm</i>
3331 {{/rollTotal() dice 23}}
3332 {{#rollTotal() dice 33}}
3333 <b>Hit Location:</b> <i>Right Arm</i>
3334 {{/rollTotal() dice 33}}
3335 {{#rollTotal() dice 43}}
3336 <b>Hit Location:</b> <i>Right Arm</i>
3337 {{/rollTotal() dice 43}}
3338 {{#rollTotal() dice 53}}
3339 <b>Hit Location:</b> <i>Right Arm</i>
3340 {{/rollTotal() dice 53}}
3341 {{#rollTotal() dice 63}}
3342 <b>Hit Location:</b> <i>Right Arm</i>
3343 {{/rollTotal() dice 63}}
3344 {{#rollTotal() dice 73}}
3345 <b>Hit Location:</b> <i>Right Arm</i>
3346 {{/rollTotal() dice 73}}
3347 {{#rollTotal() dice 83}}
3348 <b>Hit Location:</b> <i>Right Arm</i>
3349 {{/rollTotal() dice 83}}
3350 {{#rollTotal() dice 93}}
3351 <b>Hit Location:</b> <i>Right Arm</i>
3352 {{/rollTotal() dice 93}}
3353 {{#rollTotal() dice 04}}
3354 <b>Hit Location:</b> <i>Right Arm</i>
3355 {{/rollTotal() dice 04}}
3356 {{#rollTotal() dice 14}}
3357 <b>Hit Location:</b> <i>Right Arm</i>
3358 {{/rollTotal() dice 14}}
3359 {{#rollTotal() dice 24}}
3360 <b>Hit Location:</b> <i>Right Arm</i>
3361 {{/rollTotal() dice 24}}
3362 {{#rollTotal() dice 34}}
3363 <b>Hit Location:</b> <i>Right Arm</i>
3364 {{/rollTotal() dice 34}}
3365 {{#rollTotal() dice 44}}
3366 <b>Hit Location:</b> <i>Right Arm</i>
3367 {{/rollTotal() dice 44}}
3368
3369 <!-- Body -->
3370 {{#rollTotal() dice 54}}
3371 <b>Hit Location:</b> <i>Body</i>
3372 {{/rollTotal() dice 54}}
3373 {{#rollTotal() dice 64}}
3374 <b>Hit Location:</b> <i>Body</i>
3375 {{/rollTotal() dice 64}}
3376 {{#rollTotal() dice 74}}
3377 <b>Hit Location:</b> <i>Body</i>
3378 {{/rollTotal() dice 74}}
3379 {{#rollTotal() dice 84}}
3380 <b>Hit Location:</b> <i>Body</i>
3381 {{/rollTotal() dice 84}}
3382 {{#rollTotal() dice 94}}
3383 <b>Hit Location:</b> <i>Body</i>
3384 {{/rollTotal() dice 94}}
3385 {{#rollTotal() dice 05}}
3386 <b>Hit Location:</b> <i>Body</i>
3387 {{/rollTotal() dice 05}}
3388 {{#rollTotal() dice 15}}
3389 <b>Hit Location:</b> <i>Body</i>
3390 {{/rollTotal() dice 15}}
3391 {{#rollTotal() dice 25}}
3392 <b>Hit Location:</b> <i>Body</i>
3393 {{/rollTotal() dice 25}}
3394 {{#rollTotal() dice 35}}
3395 <b>Hit Location:</b> <i>Body</i>
3396 {{/rollTotal() dice 35}}
3397 {{#rollTotal() dice 45}}
3398 <b>Hit Location:</b> <i>Body</i>
3399 {{/rollTotal() dice 45}}
3400 {{#rollTotal() dice 55}}
3401 <b>Hit Location:</b> <i>Body</i>
3402 {{/rollTotal() dice 55}}
3403 {{#rollTotal() dice 65}}
3404 <b>Hit Location:</b> <i>Body</i>
3405 {{/rollTotal() dice 65}}
3406 {{#rollTotal() dice 75}}
3407 <b>Hit Location:</b> <i>Body</i>
3408 {{/rollTotal() dice 75}}
3409 {{#rollTotal() dice 85}}
3410 <b>Hit Location:</b> <i>Body</i>
3411 {{/rollTotal() dice 85}}
3412 {{#rollTotal() dice 95}}
3413 <b>Hit Location:</b> <i>Body</i>
3414 {{/rollTotal() dice 95}}
3415 {{#rollTotal() dice 06}}
3416 <b>Hit Location:</b> <i>Body</i>
3417 {{/rollTotal() dice 06}}
3418 {{#rollTotal() dice 16}}
3419 <b>Hit Location:</b> <i>Body</i>
3420 {{/rollTotal() dice 16}}
3421 {{#rollTotal() dice 26}}
3422 <b>Hit Location:</b> <i>Body</i>
3423 {{/rollTotal() dice 26}}
3424 {{#rollTotal() dice 36}}
3425 <b>Hit Location:</b> <i>Body</i>
3426 {{/rollTotal() dice 36}}
3427 {{#rollTotal() dice 46}}
3428 <b>Hit Location:</b> <i>Body</i>
3429 {{/rollTotal() dice 46}}
3430 {{#rollTotal() dice 56}}
3431 <b>Hit Location:</b> <i>Body</i>
3432 {{/rollTotal() dice 56}}
3433 {{#rollTotal() dice 66}}
3434 <b>Hit Location:</b> <i>Body</i>
3435 {{/rollTotal() dice 66}}
3436 {{#rollTotal() dice 76}}
3437 <b>Hit Location:</b> <i>Body</i>
3438 {{/rollTotal() dice 76}}
3439 {{#rollTotal() dice 86}}
3440 <b>Hit Location:</b> <i>Body</i>
3441 {{/rollTotal() dice 86}}
3442 {{#rollTotal() dice 96}}
3443 <b>Hit Location:</b> <i>Body</i>
3444 {{/rollTotal() dice 96}}
3445 {{#rollTotal() dice 07}}
3446 <b>Hit Location:</b> <i>Body</i>
3447 {{/rollTotal() dice 07}}
3448 {{#rollTotal() dice 17}}
3449 <b>Hit Location:</b> <i>Body</i>
3450 {{/rollTotal() dice 17}}
3451 {{#rollTotal() dice 27}}
3452 <b>Hit Location:</b> <i>Body</i>
3453 {{/rollTotal() dice 27}}
3454 {{#rollTotal() dice 37}}
3455 <b>Hit Location:</b> <i>Body</i>
3456 {{/rollTotal() dice 37}}
3457 {{#rollTotal() dice 47}}
3458 <b>Hit Location:</b> <i>Body</i>
3459 {{/rollTotal() dice 47}}
3460 {{#rollTotal() dice 57}}
3461 <b>Hit Location:</b> <i>Body</i>
3462 {{/rollTotal() dice 57}}
3463 {{#rollTotal() dice 67}}
3464 <b>Hit Location:</b> <i>Body</i>
3465 {{/rollTotal() dice 67}}
3466 {{#rollTotal() dice 77}}
3467 <b>Hit Location:</b> <i>Body</i>
3468 {{/rollTotal() dice 77}}
3469 {{#rollTotal() dice 87}}
3470 <b>Hit Location:</b> <i>Body</i>
3471 {{/rollTotal() dice 87}}
3472 {{#rollTotal() dice 97}}
3473 <b>Hit Location:</b> <i>Body</i>
3474 {{/rollTotal() dice 97}}
3475
3476 <!-- Left Leg -->
3477 {{#rollTotal() dice 08}}
3478 <b>Hit Location:</b> <i>Left Leg</i>
3479 {{/rollTotal() dice 08}}
3480 {{#rollTotal() dice 18}}
3481 <b>Hit Location:</b> <i>Left Leg</i>
3482 {{/rollTotal() dice 18}}
3483 {{#rollTotal() dice 28}}
3484 <b>Hit Location:</b> <i>Left Leg</i>
3485 {{/rollTotal() dice 28}}
3486 {{#rollTotal() dice 38}}
3487 <b>Hit Location:</b> <i>Left Leg</i>
3488 {{/rollTotal() dice 38}}
3489 {{#rollTotal() dice 48}}
3490 <b>Hit Location:</b> <i>Left Leg</i>
3491 {{/rollTotal() dice 48}}
3492 {{#rollTotal() dice 58}}
3493 <b>Hit Location:</b> <i>Left Leg</i>
3494 {{/rollTotal() dice 58}}
3495 {{#rollTotal() dice 68}}
3496 <b>Hit Location:</b> <i>Left Leg</i>
3497 {{/rollTotal() dice 68}}
3498 {{#rollTotal() dice 78}}
3499 <b>Hit Location:</b> <i>Left Leg</i>
3500 {{/rollTotal() dice 78}}
3501 {{#rollTotal() dice 88}}
3502 <b>Hit Location:</b> <i>Left Leg</i>
3503 {{/rollTotal() dice 88}}
3504 {{#rollTotal() dice 98}}
3505 <b>Hit Location:</b> <i>Left Leg</i>
3506 {{/rollTotal() dice 98}}
3507
3508 <!-- Right Leg -->
3509 {{#rollTotal() dice 09}}
3510 <b>Hit Location:</b> <i>Right Leg</i>
3511 {{/rollTotal() dice 09}}
3512 {{#rollTotal() dice 19}}
3513 <b>Hit Location:</b> <i>Right Leg</i>
3514 {{/rollTotal() dice 19}}
3515 {{#rollTotal() dice 29}}
3516 <b>Hit Location:</b> <i>Right Leg</i>
3517 {{/rollTotal() dice 29}}
3518 {{#rollTotal() dice 39}}
3519 <b>Hit Location:</b> <i>Right Leg</i>
3520 {{/rollTotal() dice 39}}
3521 {{#rollTotal() dice 49}}
3522 <b>Hit Location:</b> <i>Right Leg</i>
3523 {{/rollTotal() dice 49}}
3524 {{#rollTotal() dice 59}}
3525 <b>Hit Location:</b> <i>Right Leg</i>
3526 {{/rollTotal() dice 59}}
3527 {{#rollTotal() dice 69}}
3528 <b>Hit Location:</b> <i>Right Leg</i>
3529 {{/rollTotal() dice 69}}
3530 {{#rollTotal() dice 79}}
3531 <b>Hit Location:</b> <i>Right Leg</i>
3532 {{/rollTotal() dice 79}}
3533 {{#rollTotal() dice 89}}
3534 <b>Hit Location:</b> <i>Right Leg</i>
3535 {{/rollTotal() dice 89}}
3536 {{#rollTotal() dice 99}}
3537 <b>Hit Location:</b> <i>Right Leg</i>
3538 {{/rollTotal() dice 99}}
3539 {{#rollTotal() dice 100}}
3540 <b>Hit Location:</b> <i>Right Leg</i>
3541 {{/rollTotal() dice 100}}
3542 {{/hitlocation}}
3543
3544<!-- Weapon Stats -->
3545 {{#weapon}}
3546 <br>
3547 <!-- Weapon Qualities/Flaws -->
3548 <b>Qualities/Flaws:</b> {{qualities}}
3549 {{/weapon}}
3550<!-- Spell Stats 2nd part -->
3551 {{#spell}}
3552 <br><b>Range:</b> {{range}}<br>
3553 <b>Target:</b> {{target}}<br>
3554 <b>Duration:</b> {{duration}}<br>
3555 <b>Effect:</b> {{effect}}
3556 {{/spell}}
3557<!-- Talent Description -->
3558 {{#talentdescription}}
3559 <b>Description: </b><i>{{talentdescription}}</i>
3560 {{/talentdescription}}
3561<!-- Affliction Description -->
3562 {{#afflictionEffect}}
3563 <b>Effect: </b><i>{{afflictionEffect}}</i><br>
3564 <b>Time: </b><i>{{afflictionTime}}</i><br>
3565 <b>Description: </b><i>{{afflictiondescription}}</i>
3566 {{/afflictionEffect}}
3567<!-- Affliction Description -->
3568 {{#initiativeTest}}
3569 <b>Initiative Bonus: </b><i>{{initiativeTestInitiativeBonus}}</i><br>
3570 {{#initiativeTestAgilityBonus}}
3571 <b>Agility Bonus: </b><i>{{initiativeTestAgilityBonus}}</i><br>
3572 {{/initiativeTestAgilityBonus}}
3573 <b>Talents: </b><i>{{initiativeTestTalents}}</i><br>
3574 <b>Test: </b>{{initiativeTest}}
3575 {{/initiativeTest}}
3576 </td>
3577 </tr>
3578 </table>
3579 </rolltemplate>
3580
3581<!-- Script Worker - Alondaar -->
3582<script type="text/worker">
3583/* ---- BEGIN: TheAaronSheet.js ---- */
3584// Github: https://github.com/shdwjk/TheAaronSheet/blob/master/TheAaronSheet.js
3585// By: The Aaron, Arcane Scriptomancer
3586// Contact: https://app.roll20.net/users/104025/the-aaron
3587
3588var TAS = TAS || (function(){
3589 'use strict';
3590
3591 var version = '0.2.5',
3592 lastUpdate = 1504710542,
3593
3594 loggingSettings = {
3595 debug: {
3596 key: 'debug',
3597 title: 'DEBUG',
3598 color: {
3599 bgLabel: '#7732A2',
3600 label: '#F2EF40',
3601 bgText: '#FFFEB7',
3602 text: '#7732A2'
3603 }
3604 },
3605 error: {
3606 key: 'error',
3607 title: 'Error',
3608 color: {
3609 bgLabel: '#C11713',
3610 label: 'white',
3611 bgText: '#C11713',
3612 text: 'white'
3613 }
3614 },
3615 warn: {
3616 key: 'warn',
3617 title: 'Warning',
3618 color: {
3619 bgLabel: '#F29140',
3620 label: 'white',
3621 bgText: '#FFD8B7',
3622 text: 'black'
3623 }
3624 },
3625 info: {
3626 key: 'info',
3627 title: 'Info',
3628 color: {
3629 bgLabel: '#413FA9',
3630 label: 'white',
3631 bgText: '#B3B2EB',
3632 text: 'black'
3633 }
3634 },
3635 notice: {
3636 key: 'notice',
3637 title: 'Notice',
3638 color: {
3639 bgLabel: '#33C133',
3640 label: 'white',
3641 bgText: '#ADF1AD',
3642 text: 'black'
3643 }
3644 },
3645 log: {
3646 key: 'log',
3647 title: 'Log',
3648 color: {
3649 bgLabel: '#f2f240',
3650 label: 'black',
3651 bgText: '#ffff90',
3652 text: 'black'
3653 }
3654 },
3655 callstack: {
3656 key: 'TAS',
3657 title: 'function',
3658 color: {
3659 bgLabel: '#413FA9',
3660 label: 'white',
3661 bgText: '#B3B2EB',
3662 text: 'black'
3663 }
3664 },
3665 callstack_async: {
3666 key: 'TAS',
3667 title: 'ASYNC CALL',
3668 color: {
3669 bgLabel: '#413FA9',
3670 label: 'white',
3671 bgText: '#413FA9',
3672 text: 'white'
3673 }
3674 },
3675 TAS: {
3676 key: 'TAS',
3677 title: 'TAS',
3678 color: {
3679 bgLabel: 'grey',
3680 label: 'black;background:linear-gradient(#304352,#d7d2cc,#d7d2cc,#d7d2cc,#304352)',
3681 bgText: 'grey',
3682 text: 'black;background:linear-gradient(#304352,#d7d2cc,#d7d2cc,#d7d2cc,#304352)'
3683 }
3684 }
3685 },
3686
3687
3688 config = {
3689 debugMode: false,
3690 logging: {
3691 log: true,
3692 notice: true,
3693 info: true,
3694 warn: true,
3695 error: true,
3696 debug: false
3697 }
3698 },
3699
3700 callstackRegistry = [],
3701 queuedUpdates = {}, //< Used for delaying saves till the last moment.
3702
3703 complexType = function(o){
3704 switch(typeof o){
3705 case 'string':
3706 return 'string';
3707 case 'boolean':
3708 return 'boolean';
3709 case 'number':
3710 return (_.isNaN(o) ? 'NaN' : (o.toString().match(/\./) ? 'decimal' : 'integer'));
3711 case 'function':
3712 return 'function: '+(o.name ? o.name+'()' : '(anonymous)');
3713 case 'object':
3714 return (_.isArray(o) ? 'array' : (_.isArguments(o) ? 'arguments' : ( _.isNull(o) ? 'null' : 'object')));
3715 default:
3716 return typeof o;
3717 }
3718 },
3719
3720 dataLogger = function(primaryLogger,secondaryLogger,data){
3721 _.each(data,function(m){
3722 var type = complexType(m);
3723 switch(type){
3724 case 'string':
3725 primaryLogger(m);
3726 break;
3727 case 'undefined':
3728 case 'null':
3729 case 'NaN':
3730 primaryLogger('['+type+']');
3731 break;
3732 case 'number':
3733 case 'not a number':
3734 case 'integer':
3735 case 'decimal':
3736 case 'boolean':
3737 primaryLogger('['+type+']: '+m);
3738 break;
3739 default:
3740 primaryLogger('['+type+']:=========================================');
3741 secondaryLogger(m);
3742 primaryLogger('=========================================================');
3743 break;
3744 }
3745 });
3746 },
3747
3748
3749 colorLog = function(options){
3750 var coloredLoggerFunction,
3751 key = options.key,
3752 label = options.title || 'TAS',
3753 lBGColor = (options.color && options.color.bgLabel) || 'blue',
3754 lTxtColor = (options.color && options.color.label) || 'white',
3755 mBGColor = (options.color && options.color.bgText) || 'blue',
3756 mTxtColor = (options.color && options.color.text) || 'white';
3757
3758 coloredLoggerFunction = function(message){
3759 /* eslint-disable no-console */
3760 console.log(
3761 '%c '+label+': %c '+message + ' ',
3762 'background-color: '+lBGColor+';color: '+lTxtColor+'; font-weight:bold;',
3763 'background-color: '+mBGColor+';color: '+mTxtColor+';'
3764 );
3765 /* eslint-enable no-console */
3766 };
3767 return function(){
3768 if('TAS'===key || config.logging[key]){
3769 /* eslint-disable no-console */
3770 dataLogger(coloredLoggerFunction,function(m){console.log(m);},_.toArray(arguments));
3771 /* eslint-enable no-console */
3772 }
3773 };
3774 },
3775
3776 logDebug = colorLog(loggingSettings.debug),
3777 logError = colorLog(loggingSettings.error),
3778 logWarn = colorLog(loggingSettings.warn),
3779 logInfo = colorLog(loggingSettings.info),
3780 logNotice = colorLog(loggingSettings.notice),
3781 logLog = colorLog(loggingSettings.log),
3782 log = colorLog(loggingSettings.TAS),
3783 logCS = colorLog(loggingSettings.callstack),
3784 logCSA = colorLog(loggingSettings.callstack_async),
3785
3786 registerCallstack = function(callstack,label){
3787 var idx=_.findIndex(callstackRegistry,function(o){
3788 return (_.difference(o.stack,callstack).length === _.difference(callstack,o.stack).length) &&
3789 _.difference(o.stack,callstack).length === 0 &&
3790 o.label === label;
3791 });
3792 if(-1 === idx){
3793 idx=callstackRegistry.length;
3794 callstackRegistry.push({
3795 stack: callstack,
3796 label: label
3797 });
3798 }
3799 return idx;
3800 },
3801
3802 setConfigOption = function(options){
3803 var newconf =_.defaults(options,config);
3804 newconf.logging=_.defaults(
3805 (options && options.logging)||{},
3806 config.logging
3807 );
3808 config=newconf;
3809 },
3810
3811 isDebugMode = function(){
3812 return config.debugMode;
3813 },
3814
3815 debugMode = function(){
3816 config.logging.debug=true;
3817 config.debugMode = true;
3818 },
3819
3820 getCallstack = function(){
3821 var e = new Error('dummy'),
3822 stack = _.map(_.rest(e.stack.replace(/^[^(]+?[\n$]/gm, '')
3823 .replace(/^\s+at\s+/gm, '')
3824 .replace(/^Object.<anonymous>\s*\(/gm, '{anonymous}()@')
3825 .split('\n')),function(l){
3826 return l.replace(/\s+.*$/,'');
3827 });
3828 return stack;
3829 },
3830 logCallstackSub = function(cs){
3831 var matches, csa;
3832 _.find(cs,function(line){
3833 matches = line.match(/TAS_CALLSTACK_(\d+)/);
3834 if(matches){
3835 csa=callstackRegistry[matches[1]];
3836 logCSA( '===================='+(csa.label ? '> '+csa.label+' <' : '')+'====================');
3837 logCallstackSub(csa.stack);
3838 return true;
3839 }
3840 logCS(line);
3841 return false;
3842 });
3843 },
3844 logCallstack = function(){
3845 var cs;
3846 if(config.debugMode){
3847 cs = getCallstack();
3848 cs.shift();
3849 log('==============================> CALLSTACK <==============================');
3850 logCallstackSub(cs);
3851 log('=========================================================================');
3852 }
3853 },
3854
3855
3856 wrapCallback = function (label, callback, context){
3857 var callstack;
3858 if('function' === typeof label){
3859 context=callback;
3860 callback=label;
3861 label=undefined;
3862 }
3863 if(!config.debugMode){
3864 return (function(cb,ctx){
3865 return function(){
3866 cb.apply(ctx||{},arguments);
3867 };
3868 }(callback,context));
3869 }
3870
3871 callstack = getCallstack();
3872 callstack.shift();
3873
3874 return (function(cb,ctx,cs,lbl){
3875 var ctxref=registerCallstack(cs,lbl);
3876
3877 /*jshint -W054 */
3878 return new Function('cb','ctx','TASlog',
3879 "return function TAS_CALLSTACK_"+ctxref+"(){"+
3880 "var start,end;"+
3881 "TASlog('Entering: '+(cb.name||'(anonymous function)'));"+
3882 "start=_.now();"+
3883 "cb.apply(ctx||{},arguments);"+
3884 "end=_.now();"+
3885 "TASlog('Exiting: '+(cb.name||'(anonymous function)')+' :: '+(end-start)+'ms elapsed');"+
3886 "};")(cb,ctx,log);
3887 /*jshint +W054 */
3888 }(callback,context,callstack,label));
3889 },
3890
3891
3892 prepareUpdate = function( attribute, value ){
3893 queuedUpdates[attribute]=value;
3894 },
3895
3896 applyQueuedUpdates = function() {
3897 setAttrs(queuedUpdates);
3898 queuedUpdates = {};
3899 },
3900
3901 namesFromArgs = function(args,base){
3902 return _.chain(args)
3903 .reduce(function(memo,attr){
3904 if('string' === typeof attr) {
3905 memo.push(attr);
3906 } else if(_.isArray(args) || _.isArguments(args)){
3907 memo = namesFromArgs(attr,memo);
3908 }
3909 return memo;
3910 },(_.isArray(base) && base) || [])
3911 .uniq()
3912 .value();
3913 },
3914
3915 addId = function(obj,value){
3916 Object.defineProperty(obj,'id',{
3917 value: value,
3918 writable: false,
3919 enumerable: false
3920 });
3921 },
3922
3923 addProp = function(obj,prop,value,fullname){
3924 (function(){
3925 var pname=(_.contains(['S','F','I','D'],prop) ? '_'+prop : prop),
3926 full_pname = fullname || prop,
3927 pvalue=value;
3928
3929 _.each(['S','I','F'],function(p){
3930 if( !_.has(obj,p)){
3931 Object.defineProperty(obj, p, {
3932 value: {},
3933 enumerable: false,
3934 readonly: true
3935 });
3936 }
3937 });
3938 if( !_.has(obj,'D')){
3939 Object.defineProperty(obj, 'D', {
3940 value: _.reduce(_.range(10),function(m,d){
3941 Object.defineProperty(m, d, {
3942 value: {},
3943 enumerable: true,
3944 readonly: true
3945 });
3946 return m;
3947 },{}),
3948 enumerable: false,
3949 readonly: true
3950 });
3951 }
3952
3953
3954 // Raw value
3955 Object.defineProperty(obj, pname, {
3956 enumerable: true,
3957 set: function(v){
3958 if(v!==pvalue) {
3959 pvalue=v;
3960 prepareUpdate(full_pname,v);
3961 }
3962 },
3963 get: function(){
3964 return pvalue;
3965 }
3966 });
3967
3968 // string value
3969 Object.defineProperty(obj.S, pname, {
3970 enumerable: true,
3971 set: function(v){
3972 var val=v.toString();
3973 if(val !== pvalue) {
3974 pvalue=val;
3975 prepareUpdate(full_pname,val);
3976 }
3977 },
3978 get: function(){
3979 return pvalue.toString();
3980 }
3981 });
3982
3983 // int value
3984 Object.defineProperty(obj.I, pname, {
3985 enumerable: true,
3986 set: function(v){
3987 var val=parseInt(v,10) || 0;
3988 if(val !== pvalue){
3989 pvalue=val;
3990 prepareUpdate(full_pname,val);
3991 }
3992 },
3993 get: function(){
3994 return parseInt(pvalue,10) || 0;
3995 }
3996 });
3997
3998 // float value
3999 Object.defineProperty(obj.F, pname, {
4000 enumerable: true,
4001 set: function(v){
4002 var val=parseFloat(v) || 0;
4003 if(val !== pvalue) {
4004 pvalue=val;
4005 prepareUpdate(full_pname,val);
4006 }
4007 },
4008 get: function(){
4009 return parseFloat(pvalue) || 0;
4010 }
4011 });
4012 _.each(_.range(10),function(d){
4013 Object.defineProperty(obj.D[d], pname, {
4014 enumerable: true,
4015 set: function(v){
4016 var val=(parseFloat(v) || 0).toFixed(d);
4017 if(val !== pvalue){
4018 pvalue=val;
4019 prepareUpdate(full_pname,val);
4020 }
4021 },
4022 get: function(){
4023 return (parseFloat(pvalue) || 0).toFixed(d);
4024 }
4025 });
4026 });
4027
4028 }());
4029 },
4030
4031 repeating = function( section ) {
4032 return (function(s){
4033 var sectionName = s,
4034 attrNames = [],
4035 fieldNames = [],
4036 operations = [],
4037 after = [],
4038
4039 repAttrs = function TAS_Repeating_Attrs(){
4040 attrNames = namesFromArgs(arguments,attrNames);
4041 return this;
4042 },
4043 repFields = function TAS_Repeating_Fields(){
4044 fieldNames = namesFromArgs(arguments,fieldNames);
4045 return this;
4046 },
4047 repReduce = function TAS_Repeating_Reduce(func, initial, final, context) {
4048 operations.push({
4049 type: 'reduce',
4050 func: (func && _.isFunction(func) && func) || _.noop,
4051 memo: (_.isUndefined(initial) && 0) || initial,
4052 final: (final && _.isFunction(final) && final) || _.noop,
4053 context: context || {}
4054 });
4055 return this;
4056 },
4057 repMap = function TAS_Repeating_Map(func, final, context) {
4058 operations.push({
4059 type: 'map',
4060 func: (func && _.isFunction(func) && func) || _.noop,
4061 final: (final && _.isFunction(final) && final) || _.noop,
4062 context: context || {}
4063 });
4064 return this;
4065 },
4066 repEach = function TAS_Repeating_Each(func, final, context) {
4067 operations.push({
4068 type: 'each',
4069 func: (func && _.isFunction(func) && func) || _.noop,
4070 final: (final && _.isFunction(final) && final) || _.noop,
4071 context: context || {}
4072 });
4073 return this;
4074 },
4075 repTap = function TAS_Repeating_Tap(final, context) {
4076 operations.push({
4077 type: 'tap',
4078 final: (final && _.isFunction(final) && final) || _.noop,
4079 context: context || {}
4080 });
4081 return this;
4082 },
4083 repAfter = function TAS_Repeating_After(callback,context) {
4084 after.push({
4085 callback: (callback && _.isFunction(callback) && callback) || _.noop,
4086 context: context || {}
4087 });
4088 return this;
4089 },
4090 repExecute = function TAS_Repeating_Execute(callback,context){
4091 var rowSet = {},
4092 attrSet = {},
4093 fieldIds = [],
4094 fullFieldNames = [];
4095
4096 repAfter(callback,context);
4097
4098 // call each operation per row.
4099 // call each operation's final
4100 getSectionIDs("repeating_"+sectionName,function(ids){
4101 fieldIds = ids;
4102 fullFieldNames = _.reduce(fieldIds,function(memo,id){
4103 return memo.concat(_.map(fieldNames,function(name){
4104 return 'repeating_'+sectionName+'_'+id+'_'+name;
4105 }));
4106 },[]);
4107 getAttrs( _.uniq(attrNames.concat(fullFieldNames)), function(values){
4108 _.each(attrNames,function(aname){
4109 if(values.hasOwnProperty(aname)){
4110 addProp(attrSet,aname,values[aname]);
4111 }
4112 });
4113
4114 rowSet = _.reduce(fieldIds,function(memo,id){
4115 var r={};
4116 addId(r,id);
4117 _.each(fieldNames,function(name){
4118 var fn = 'repeating_'+sectionName+'_'+id+'_'+name;
4119 addProp(r,name,values[fn],fn);
4120 });
4121
4122 memo[id]=r;
4123
4124 return memo;
4125 },{});
4126
4127 _.each(operations,function(op){
4128 var res;
4129 switch(op.type){
4130 case 'tap':
4131 _.bind(op.final,op.context,rowSet,attrSet)();
4132 break;
4133
4134 case 'each':
4135 _.each(rowSet,function(r){
4136 _.bind(op.func,op.context,r,attrSet,r.id,rowSet)();
4137 });
4138 _.bind(op.final,op.context,rowSet,attrSet)();
4139 break;
4140
4141 case 'map':
4142 res = _.map(rowSet,function(r){
4143 return _.bind(op.func,op.context,r,attrSet,r.id,rowSet)();
4144 });
4145 _.bind(op.final,op.context,res,rowSet,attrSet)();
4146 break;
4147
4148 case 'reduce':
4149 res = op.memo;
4150 _.each(rowSet,function(r){
4151 res = _.bind(op.func,op.context,res,r,attrSet,r.id,rowSet)();
4152 });
4153 _.bind(op.final,op.context,res,rowSet,attrSet)();
4154 break;
4155 }
4156 });
4157
4158 // finalize attrs
4159 applyQueuedUpdates();
4160 _.each(after,function(op){
4161 _.bind(op.callback,op.context)();
4162 });
4163 });
4164 });
4165 };
4166
4167 return {
4168 attrs: repAttrs,
4169 attr: repAttrs,
4170
4171 column: repFields,
4172 columns: repFields,
4173 field: repFields,
4174 fields: repFields,
4175
4176 reduce: repReduce,
4177 inject: repReduce,
4178 foldl: repReduce,
4179
4180 map: repMap,
4181 collect: repMap,
4182
4183 each: repEach,
4184 forEach: repEach,
4185
4186 tap: repTap,
4187 'do': repTap,
4188
4189 after: repAfter,
4190 last: repAfter,
4191 done: repAfter,
4192
4193 execute: repExecute,
4194 go: repExecute,
4195 run: repExecute
4196 };
4197 }(section));
4198 },
4199
4200
4201 repeatingSimpleSum = function(section, field, destination){
4202 repeating(section)
4203 .attr(destination)
4204 .field(field)
4205 .reduce(function(m,r){
4206 return m + (r.F[field]);
4207 },0,function(t,r,a){
4208 a.S[destination]=t;
4209 })
4210 .execute();
4211 };
4212
4213 /* eslint-disable no-console */
4214 console.log('%c•.¸¸.•*´¨`*•.¸¸.•*´¨`*•.¸ The Aaron Sheet v'+version+' ¸.•*´¨`*•.¸¸.•*´¨`*•.¸¸.•','background: linear-gradient(to right,green,white,white,green); color:black;text-shadow: 0 0 8px white;');
4215 console.log('%c•.¸¸.•*´¨`*•.¸¸.•*´¨`*•.¸ Last update: '+(new Date(lastUpdate*1000))+' ¸.•*´¨`*•.¸¸.•*´¨`*•.¸¸.•','background: linear-gradient(to right,green,white,white,green); color:black;text-shadow: 0 0 8px white;');
4216 /* eslint-enable no-console */
4217
4218
4219 return {
4220 /* Repeating Sections */
4221 repeatingSimpleSum: repeatingSimpleSum,
4222 repeating: repeating,
4223
4224 /* Configuration */
4225 config: setConfigOption,
4226
4227 /* Debugging */
4228 callback: wrapCallback,
4229 callstack: logCallstack,
4230 debugMode: debugMode,
4231 isDebugMode: isDebugMode,
4232 _fn: wrapCallback,
4233
4234 /* Logging */
4235 debug: logDebug,
4236 error: logError,
4237 warn: logWarn,
4238 info: logInfo,
4239 notice: logNotice,
4240 log: logLog
4241 };
4242}());
4243
4244/* ---- END: TheAaronSheet.js ---- */
4245
4246
4247var SWUtils = SWUtils || (function () {
4248 'use strict';
4249 /* for interaction with ExExp, and some basic utils that have nothing to do with Pathfinder rules. */
4250 /** Determines if string can be evaluated to a number
4251 * ensures: no macro calls, dropdowns, or keep highest/lowest more than 1
4252 * allows: floor, abs, kh1, kl1, ceil, round, max, min
4253 *@param {string} preeval string to examine
4254 *@returns {bool} true if string will evaluate to a number.
4255 */
4256 var validNumericStr = function (preeval) {
4257 var anyIllegal = preeval.match(/\||\?|&|\{|\}|k[h,l][^1]/);
4258 if (anyIllegal) {
4259 return false;
4260 }
4261 anyIllegal = preeval.replace(/floor|ceil|round|abs|max|min|kh1|kl1/g, '');
4262 anyIllegal = anyIllegal.match(/[a-zA-Z]/);
4263 if (anyIllegal) {
4264 return false;
4265 }
4266 return true;
4267 },
4268 /** searches a string for @{attribute} and replaces those with their values, passes result to the callback
4269 * if error then passes null
4270 * @param {string} stringToSearch = string containing one or more @{fieldname}
4271 * @param {function(string)} callback when done passes resultant string to callback
4272 */
4273 findAndReplaceFields = function (stringToSearch, callback) {
4274 var fieldnames ;
4275 if (typeof callback !== "function") {
4276 return;
4277 }
4278 if (!stringToSearch) {
4279 callback(null);
4280 return;
4281 }
4282 try {
4283 stringToSearch = stringToSearch.split("selected|").join("");
4284 stringToSearch = stringToSearch.split("target|").join("");
4285 fieldnames = stringToSearch.match(/\@\{[^}]+\}/g);
4286 if (!fieldnames) {
4287 callback(stringToSearch);
4288 return;
4289 }
4290 fieldnames=fieldnames.sort();
4291 fieldnames = _.uniq(fieldnames,true);
4292 fieldnames = _.map(fieldnames,function(field){
4293 return field.slice(2,-1);
4294 });
4295 getAttrs(fieldnames, function (values) {
4296 var evalstr = stringToSearch, innermatches=null,initialsplit;
4297 try {
4298 _.each(fieldnames,function(field){
4299 //evalstr = evalstr.replace( new RegExp(escapeForRegExp('@{'+field+'}'),'g'), values[field]);
4300 initialsplit = evalstr.split('@{'+field+'}');
4301 evalstr = initialsplit.join(values[field]);
4302 });
4303 innermatches=evalstr.match(/\@\{[^}]+\}/g);
4304 } catch (err2) {
4305 TAS.error("findAndReplaceFields", err2);
4306 evalstr = null;
4307 } finally {
4308 if (innermatches) {
4309 findAndReplaceFields(evalstr,callback);
4310 } else {
4311 callback(evalstr);
4312 }
4313 }
4314 });
4315 } catch (err) {
4316 TAS.error("findAndReplaceFields", err);
4317 callback(null);
4318 }
4319 },
4320 /** Replaces kl1 and kh1 with min and max
4321 * example: replaces {x,y}kh1 with min(x,y)
4322 * @param {string} str the string to search
4323 * @returns {string} the resultant string after performing the replace
4324 */
4325 convertKL1KH1toMinMax = function (str) {
4326 var matches;
4327 //TAS.debug("at convertKL1KH1toMinMax for "+str) ;
4328 if (str) {
4329 matches = str.match(/(\{[^}]+\})(kh1|kl1)(?!.*\1)/g);
4330 //TAS.debug("matches are:",matches);
4331 if (matches && matches.length > 0) {
4332 str = _.reduce(matches, function (memo, match) {
4333 var isMin = /kl1$/.test(match),
4334 isMax = /kh1$/.test(match),
4335 newFunc = isMin ? "min" : (isMax ? "max" : ""),
4336 newMatch = match.slice(1, match.length - 4),
4337 replaceStr = newFunc + "(" + newMatch + ")";
4338 return memo.replace(match, replaceStr);
4339 }, str);
4340 }
4341 }
4342 return str;
4343 },
4344 /** Reads in the string, evaluates it to a single number, passes that number to a callback
4345 * calls callback with: the number, 0 (if exprStr empty), or null if an error is encountered
4346 *@param {string} exprStr A string containing a mathematical expression, possibly containing references to fields such as @{myfield}
4347 *@param {function(Number)} callback a function taking one parameter - could be int or float
4348 */
4349 evaluateExpression = function (exprStr, callback) {
4350 var bmatches1 = 0, bmatches2 = 0, pmatches1 = 0, pmatches2 = 0, smatches1 = 0, smatches2 = 0;
4351 if (typeof callback !== "function") {
4352 return;
4353 }
4354 if (exprStr === "" || exprStr === null || exprStr === undefined) {
4355 callback(0);
4356 return;
4357 }
4358 //verify that same number of parenthesis exists
4359 bmatches1 = (exprStr.match(/\(/g) || []).length;
4360 bmatches2 = (exprStr.match(/\)/g) || []).length;
4361 pmatches1 = (exprStr.match(/\{/g) || []).length;
4362 pmatches2 = (exprStr.match(/\}/g) || []).length;
4363 smatches1 = (exprStr.match(/\[/g) || []).length;
4364 smatches2 = (exprStr.match(/\]/g) || []).length;
4365 if (bmatches1 !== bmatches2 || pmatches1 !== pmatches2 || smatches1 !== smatches2) {
4366 TAS.warn("evaluateExpression: Mismatched brackets, cannot evaluate:" + exprStr);
4367 callback(null);
4368 return;
4369 }
4370
4371 findAndReplaceFields(exprStr, function (replacedStr) {
4372 var evaluated,
4373 newexprStr;
4374 //TAS.debug("search and replace of " + exprStr + " resulted in " + replacedStr);
4375 if (replacedStr === null || replacedStr === undefined) {
4376 callback(null);
4377 return;
4378 }
4379 try {
4380 replacedStr = replacedStr.replace(/\s+/g, '').replace(/\[\[/g, "(").replace(/\]\]/g, ")").replace(/\[/g, "(").replace(/\]/g, ")");
4381 newexprStr = convertKL1KH1toMinMax(replacedStr);
4382 //TAS.debug("replacedStr is now "+newexprStr);
4383 if (newexprStr !== replacedStr) {
4384 replacedStr = newexprStr;
4385 }
4386 if (!isNaN(Number(replacedStr)) && isFinite(replacedStr)) {
4387 evaluated = parseFloat(replacedStr);
4388 if (!isNaN(evaluated)) {
4389 callback(evaluated);
4390 return;
4391 }
4392 }
4393 if (typeof replacedStr !== "undefined" && replacedStr !== null && validNumericStr(replacedStr)) {
4394 evaluated = ExExp.handleExpression(replacedStr);
4395 if (!isNaN(evaluated)) {
4396 callback(evaluated);
4397 } else {
4398 TAS.warn("cannot evaluate this to number: " + exprStr +" came back with " + replacedStr);
4399 callback(null);
4400 }
4401 } else {
4402 TAS.warn("cannot evaluate this to number: " + exprStr+" came back with " + replacedStr);
4403 callback(null);
4404 }
4405 } catch (err3) {
4406 TAS.error("error trying to convert to number:" + err3);
4407 callback(null);
4408 }
4409 });
4410 },
4411 /** evaluateAndSetNumber
4412 * Examines the string in readField, and tests to see if it is a number
4413 * if it's a number immediately write it to writeField.
4414 * if not, then replace any @{field} references with numbers, and then evaluate it
4415 * as a mathematical expression till we find a number.
4416 *
4417 * note this is NOT recursive, you can't point one field of
4418 *
4419 * @param {string} readField= field to read containing string to parse
4420 * @param {string} writeField= field to write to
4421 * @param {number} defaultVal= optional, default to set if we cannot evaluate the field. If not supplied assume 0
4422 * @param {function} callback - function(newval, oldval, ischanged)
4423 * @param {bool} silently if true set new val with {silent:true}
4424 * @param {bool} dontSetErrorFlag if true and we could not evaluate, then set attribute named writeField+"_error" to 1
4425 * @param {function} errcallback call if there was an error parsing string function(newval, oldval, ischanged)
4426 */
4427 evaluateAndSetNumber = function (readField, writeField, defaultVal, callback, silently, errcallback) {
4428 var
4429 done = function (a, b, c,currError) {
4430 var donesetter={};
4431 if (currError){
4432 donesetter[writeField+'_error']=0;
4433 setAttrs(donesetter,{silent:true});
4434 }
4435 if (typeof callback === "function") {
4436 callback(a, b, c);
4437 }
4438 },
4439 errordone = function(a,b,c,currError){
4440 var donesetter={};
4441 //TAS.debug("leaving set of "+ writeField+" with old:"+b+", new:"+c+" is changed:"+ c+" and curreerror:"+currError);
4442 if (!currError){
4443 donesetter[writeField+'_error']=1;
4444 setAttrs(donesetter,{silent:true});
4445 }
4446 if (typeof errcallback === "function") {
4447 errcallback(a, b, c);
4448 } else if (typeof callback === "function") {
4449 callback(a, b, c);
4450 }
4451 };
4452 getAttrs([readField, writeField, writeField+"_error"], function (values) {
4453 var setter = {},
4454 params = {},
4455 trueDefault=0,
4456 currVal=0,
4457 isError=0,
4458 currError=0,
4459 isChanged=false,
4460 value=0;
4461 try {
4462 if (silently){params.silent=true;}
4463 currError= parseInt(values[writeField+"_error"],10)||0;
4464 trueDefault = defaultVal || 0;
4465 currVal = parseInt(values[writeField], 10);
4466 value = Number(values[readField]);
4467 //check for blank
4468 if (typeof values[readField] === "undefined" || !values[readField] || values[readField]===null || values[readField]==="" ) {
4469 //if value of readField is blank then set to defaultval.
4470 value = trueDefault;
4471 if (currVal !== value || isNaN(currVal)) {
4472 setter[writeField] = value;
4473 setAttrs(setter, params, function () {
4474 done(value, currVal, true,currError);
4475 });
4476 } else {
4477 done(value, currVal, false,currError);
4478 }
4479 } else if (!isNaN(value)) {
4480 //check for number
4481 if (currVal !== value) {
4482 setter[writeField] = value;
4483 setAttrs(setter, params, function () {
4484 done(value, currVal, true);
4485 });
4486 } else {
4487 done(value, currVal, false,currError);
4488 }
4489 } else {
4490 //pass to evaluateExpression
4491 evaluateExpression(values[readField], function (value2) {
4492 try {
4493 if (value2 === null || value2===undefined || isNaN(value2)) {
4494 isError=1;
4495 value2=trueDefault;
4496 //TAS.debug("setting "+ writeField+" to " +value2);
4497 }
4498 if (isNaN(currVal) || currVal !== value2) {
4499 setter[writeField] = value2;
4500 }
4501 if (_.size(setter)>0){
4502 isChanged=true;
4503 }
4504 } catch (err2) {
4505 TAS.error("SWUtils.evaluateAndSetNumber error after call to evaluateExpression ", err2);
4506 isError=1;
4507 } finally {
4508 setAttrs(setter, params, function () {
4509 if (!isError){
4510 done(value2, currVal, isChanged,currError);
4511 } else {
4512 errordone(value2,currVal,isChanged,currError);
4513 }
4514 });
4515
4516 }
4517 });
4518 }
4519 } catch (err) {
4520 TAS.error("SWUtils.evaluateAndSetNumber", err);
4521 setter[writeField+'_error']=1;
4522 setAttrs(setter,{silent:true},function(){errordone(value, currVal, false,currError);});
4523 }
4524 });
4525 },
4526 /** Reads dropdown value, determines attribute referenced, gets that attribute value, passes it to callback.
4527 * similar to evaluateAndSetNumber but uses a synchronus function to perform search and replace, and assumes the string is only one value not an expression.
4528 * necessary because some dropdowns have other text in the dropdowns, so we can't use the dropdown value exactly as is.
4529 * called by setDropdownValue
4530 * @param {string} readField the attribute name of dropdown we are looking at
4531 * @param {function} synchrousFindAttributeFunc reads in the value of the dropdown field, and returns the exact name of the attribute to look up (since some dropdowns have other text in value)
4532 * @param {function(int)} callback pass the value the dropdown selection represents
4533 * exceptions: if readField is not found pass in "", if readField is 0 or starts with 0 pass in 0.
4534 */
4535 getDropdownValue = function (readField, synchrousFindAttributeFunc, callback) {
4536 if (!readField || (callback && typeof callback !== "function") || typeof synchrousFindAttributeFunc !== "function") {
4537 return;
4538 }
4539 getAttrs([readField], function (values) {
4540 var fieldToFind = values[readField],
4541 foundField = "";
4542 if (typeof fieldToFind === "undefined" || fieldToFind === null) {
4543 callback("");
4544 } else if (fieldToFind === "0" || fieldToFind === 0 || fieldToFind.indexOf("0") === 0) {
4545 //select = none
4546 callback(0);
4547 } else {
4548 foundField = synchrousFindAttributeFunc(fieldToFind);
4549 getAttrs([foundField], function (v) {
4550 var valueOf = parseInt(v[foundField], 10) || 0;
4551 callback(valueOf, foundField);
4552 });
4553 }
4554 });
4555 },
4556 /** Looks at a dropdown value, and sets writeField(s) with the number to which selected option refers.
4557 * calls getDropdownValue
4558 * @param {string} readField the dropdown field
4559 * @param {string_or_Array} writeFields Field(s) to write the value to
4560 * @param {function} synchrousFindAttributeFunc takes value of @readField and says what the lookup field is.
4561 * @param {function(int)} callback (optional) if we need to update the field, call this function
4562 * with the value we set as the only parameter.
4563 * @param {bool} silently if true call setAttrs with {silent:true}
4564 */
4565 setDropdownValue = function (readField, writeFields, synchrousFindAttributeFunc, callback, silently) {
4566 var done = function (newval, currval, changed) {
4567 if (typeof callback === "function") {
4568 callback(newval, currval, changed);
4569 }
4570 };
4571 SWUtils.getDropdownValue(readField, synchrousFindAttributeFunc, function (valueOf) {
4572 var params = {};
4573 if (silently) {params.silent=true;}
4574 if (Array.isArray(writeFields) && writeFields.length === 1) {
4575 writeFields = writeFields[0];
4576 }
4577 if (typeof writeFields === "string") {
4578 getAttrs([writeFields], function (v) {
4579 var currValue = parseInt(v[writeFields], 10),
4580 setter = {};
4581 //TAS.debug("setDropdownValue, readField:" + readField + ", currValue:" + currValue + ", newValue:" + valueOf);
4582 if (currValue !== valueOf || isNaN(currValue)) {
4583 setter[writeFields] = valueOf;
4584 setAttrs(setter, params, function () {
4585 done(valueOf, currValue, true);
4586 });
4587 } else {
4588 done(valueOf, currValue, false);
4589 }
4590 });
4591 } else if (Array.isArray(writeFields)) {
4592 getAttrs(writeFields, function (v) {
4593 var i = 0,
4594 setter = {};
4595 for (i = 0; i < writeFields.length; i++) {
4596 if (parseInt(v[writeFields[i]], 10) !== valueOf) {
4597 setter[writeFields[i]] = valueOf;
4598 }
4599 }
4600 if (_.size(setter) > 0) {
4601 setAttrs(setter, params, function () {
4602 done(valueOf, 0, true);
4603 });
4604 } else {
4605 done(valueOf, 0, false);
4606 }
4607 });
4608 }
4609 });
4610 },
4611 /** getRowTotal return newvalue, currentvalue, allvalues in callback. Summed up floats and round total to int.
4612 * THIS IS PROBABLY SLOWER THAN DOING IT YOURSELF, just wrote to make things simpler.
4613 * @param {Array} fields array of field names to be added up, EXCEPT the first field which is ignored (at index 0) which is the total current value
4614 * @param {number} bonus a number that is added to the other fields.
4615 * @param {Array} penalties array of fieldnames whose values are to be subtracted from the total
4616 * @param {boolean} totalIsFloat true if we should not round the total to int.
4617 * @param {function(number,number)} callback call this with: new total, current total
4618 * @param {function} errorCallback call if error attempting to add.
4619 */
4620 getRowTotal = function (fields, bonus, penalties, totalIsFloat, callback, errorCallback) {
4621 var readFields;
4622 if (typeof callback !== "function" || typeof errorCallback !== "function") {
4623 return;
4624 }
4625 try {
4626 if (!fields || (!Array.isArray(fields)) || fields.length === 0) {
4627 return;
4628 }
4629 if (penalties && Array.isArray(penalties) && penalties.length > 0) {
4630 readFields = fields.concat(penalties);
4631 } else {
4632 readFields = fields;
4633 }
4634 } catch (err2) {
4635 TAS.error("SWUtils.getRowTotal catastrophic error: ", err2);
4636 errorCallback();
4637 return;
4638 }
4639 getAttrs(readFields, function (v) {
4640 var currValue = totalIsFloat ? parseFloat(v[fields[0]]) : parseInt(v[fields[0]], 10),
4641 newValue = 0,
4642 penalty = 0,
4643 i; //, setter = {}
4644 try {
4645 //remember start at 1
4646 for (i = 1; i < fields.length; i++) {
4647 newValue += parseFloat(v[fields[i]]) || 0;
4648 }
4649 if (bonus && !isNaN(parseInt(bonus, 10))) {
4650 newValue += parseFloat(bonus);
4651 }
4652 if (penalties) {
4653 for (i = 0; i < penalties.length; i++) {
4654 penalty += parseFloat(v[penalties[i]]) || 0;
4655 }
4656 newValue -= penalty;
4657 }
4658 if (!totalIsFloat) {
4659 newValue = Math.floor(newValue);
4660 }
4661 callback(newValue, currValue);
4662 } catch (err) {
4663 TAS.error("SWUtils.getRowTotal", err);
4664 errorCallback();
4665 }
4666 });
4667 },
4668 /** Adds up numbers and puts it in the first field of the fields array.
4669 * All numbers are added up as FLOATS, and then FLOOR is used to round the sum down
4670 * @param {Array} fields array of field names to be added up, EXCEPT the first field. fields[0] MUST be the total field
4671 * @param {number} bonus a number that is added to the other fields.
4672 * @param {Array} penalties array of fieldnames whose values are to be subtracted from the total
4673 * @param {boolean} totalIsFloat true if we should not round the total to int.
4674 * @param {function(number,number)} callback optional call this with two values: the new total, old total
4675 * @param {bool} silently if true call setAttrs with {silent:true}
4676 */
4677 updateRowTotal = function (fields, bonus, penalties, totalIsFloat, callback, silently) {
4678 var done = function () {
4679 if (typeof callback === "function") {
4680 callback();
4681 }
4682 };
4683 getRowTotal(fields, bonus, penalties, totalIsFloat, function (newValue, currValue) {
4684 var setter = {},
4685 params = {};
4686 try {
4687 if (newValue !== currValue) {
4688 setter[fields[0]] = newValue;
4689 }
4690 } catch (err) {
4691 TAS.error("PFUtilsAsync.updateRowTotal", err);
4692 } finally {
4693 if (_.size(setter) > 0) {
4694 if (silently) {
4695 params.silent=true;
4696 }
4697 setAttrs(setter, params, done);
4698 } else {
4699 done();
4700 }
4701 }
4702 }, done);
4703 },
4704 /** Escapes special chars for regex
4705 *@param {string} str the string to examine
4706 *@param {boolean} escapeSpaces if we should replace any space with \s* (caller can use it for matching purposes)
4707 *@returns {string} resultant string after search and replace
4708 */
4709 escapeForRegExp = function (str, escapeSpaces) {
4710 var regexEscapes = /[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|\~\!\@\#]/g,
4711 tempstr ='';
4712 if (str) {
4713 tempstr = str.replace(regexEscapes, "\\$&");
4714 if (escapeSpaces){
4715 //replace space plus multiple spaces with non escaped 0 or * space.
4716 tempstr = tempstr.replace(/\t+|\s+/g,'\\s*');
4717 }
4718 }
4719 return tempstr;
4720 },
4721 /** Escapes special chars for macros - to create sub queries - this is not used currently
4722 *@param {string} str the string to examine
4723 *@returns {string} resultant string after search and replace
4724 */
4725 escapeForMacroCall = function (str) {
4726 var macroCallEscapes = [ [/\{\{/g, '{{'],
4727 [/\}\}/g, '}}'],
4728 [/\(/g, '('],
4729 [/\)/g, ')'],
4730 [/\,/g, ','],
4731 [/\?/g, '?'],
4732 [/'/g, '''],
4733 [/"/g, '"'],
4734 [/\=/g, '='] ];
4735 if (str) {
4736 return _.reduce(macroCallEscapes, function (currStr, pair) {
4737 return currStr.replace(pair[0], pair[1]);
4738 }, str);
4739 }
4740 return "";
4741 },
4742 /** Escapes '{{' for passing to a rolltemplate
4743 *@param {string} str the string to examine
4744 *@returns {string} resultant string after search and replace
4745 */
4746 escapeForRollTemplate = function (str) {
4747 if (!str){return str;}
4748 return str.replace(/\{\{/g, '{{');
4749 },
4750 /** escapes string so it can be used in the name section of another link button
4751 *if it finds [name](link) in a string it will remove the [ and ] and the (link)
4752 * replaces [ and ] with escaped versions everywhere else.
4753 *@param {string] str the string we want to use inside a link button
4754 *@returns {string} safe to use new name for button
4755 */
4756 escapeForChatLinkButton = function(str){
4757 var markdownLinkreg=/^([^\[]*?)\[([^\]]*?)\]\(([^\)]*?)\)(.*)$/,
4758 retstr="", matches;
4759 if (!str){return str;}
4760 matches = markdownLinkreg.exec(str);
4761 if(matches){
4762 if (matches[1]){
4763 retstr+=matches[1];
4764 }
4765 if(matches[2]){
4766 retstr += matches[2];
4767 }
4768 if (matches[4]){
4769 retstr += matches[4];
4770 }
4771 } else {
4772 retstr = str;
4773 }
4774 retstr = retstr.replace(/\[/g,'[').replace(/\]/g,']');
4775 return retstr;
4776 },
4777 /** returns id portion of a source Attribute or repeating row attribute name
4778 * @param {string} sourceAttribute from eventInfo object
4779 * @returns {string} the id portion of string, or blank.
4780 */
4781 getRowId = function (sourceAttribute) {
4782 if (!sourceAttribute) { return ""; }
4783 var strs = sourceAttribute.split('_');
4784 if (strs && _.size(strs) >= 4) {
4785 return strs[2];
4786 }
4787 return "";
4788 },
4789 getAttributeName = function (source) {
4790 if (!source) { return ""; }
4791 var itemId = getRowId(source), attrib = "";
4792 if (itemId) {
4793 attrib = source.substring(source.indexOf(itemId) + itemId.length + 1, source.length);
4794 }
4795 return attrib;
4796 },
4797 /** getRepeatingIDStr - if id is not empty, then returns the ID with an underscore on the right. else returns empty string
4798 * this is used so the same function can be written for loops from getIDs or direct from the event with no ID
4799 *@param {string} id the id of the row or blank
4800 *@returns {string} id_ or blank
4801 */
4802 getRepeatingIDStr = function (id) {
4803 var idStr = "";
4804 if (!(id === null || id === undefined)) {
4805 idStr = id + "_";
4806 }
4807 return idStr;
4808 },
4809 /** Append values of multiple arrays of strings together to return one NEW array of strings that is the cartesian product.
4810 * @example cartesianAppend(["a","b"],["c","d"], ["e","f"]);
4811 * // returns ["ace","acf","ade","adf","bce","bcf","bde","bdf"]
4812 * @example cartesianAppend(["pre_"] , ["a","b","c"], ["_post"] );
4813 * //returns ["pre_a_post","pre_b_post","pre_c_post"]
4814 * @param {Array} [...] Arrays of strings
4815 * @returns {Array} of all values in other arrays
4816 */
4817 cartesianAppend = function () {
4818 return _.reduce(arguments, function (a, b) {
4819 return _.flatten(_.map(a, function (x) {
4820 return _.map(b, function (y) {
4821 return String(x) + String(y);
4822 });
4823 }), true);
4824 }, [[]]);
4825 },
4826 /** Concatenates cartesian product of all arrays together returns one flattened NEW array.
4827 * @param {Array} [...] Arrays
4828 * @returns {Array} cartesian product of all arrays (concatenated nothing else)
4829 */
4830 cartesianProduct = function () {
4831 return _.reduce(arguments, function (a, b) {
4832 return _.flatten(_.map(a, function (x) {
4833 return _.map(b, function (y) {
4834 return x.concat([y]);
4835 });
4836 }), true);
4837 }, [[]]);
4838 },
4839 /** trimBoth removes spaces at beginning and end of string, or of each string in an array.
4840 * performs a deep match, so if array is of arrays, will call trim on every string.
4841 * if object is not an array or string, just return object.
4842 * therefore, non immutable objects are not cloned and array will contain links to them.
4843 *@param {Array or string} val string or array of strings
4844 *@returns {Array or string} same object type as passed in
4845 */
4846 trimBoth = function(val){
4847 if (Array.isArray(val)){
4848 return _.map(val,trimBoth);
4849 }
4850 if (typeof val === 'string') {
4851 return val.replace(/^\s*|\s*$/g,'');
4852 }
4853 return val;
4854 }
4855 ;
4856 return {
4857 cartesianAppend: cartesianAppend,
4858 cartesianProduct: cartesianProduct,
4859 convertKL1KH1toMinMax: convertKL1KH1toMinMax,
4860 escapeForRegExp: escapeForRegExp,
4861 escapeForRollTemplate: escapeForRollTemplate,
4862 searchAndReplaceFields: findAndReplaceFields,
4863 findAndReplaceFields: findAndReplaceFields,
4864 evaluateExpression: evaluateExpression,
4865 getRowId: getRowId,
4866 getAttributeName: getAttributeName,
4867 evaluateAndSetNumber: evaluateAndSetNumber,
4868 escapeForChatLinkButton: escapeForChatLinkButton,
4869 getDropdownValue: getDropdownValue,
4870 setDropdownValue: setDropdownValue,
4871 getRowTotal: getRowTotal,
4872 updateRowTotal: updateRowTotal,
4873 getRepeatingIDStr: getRepeatingIDStr,
4874 validNumericStr: validNumericStr,
4875 trimBoth: trimBoth
4876 };
4877}());
4878
4879//calculate current wounds//
4880
4881
4882//calculate armor points //
4883on('change:repeating_armor', function(){
4884 TAS.repeating('armor')
4885 .attrs('ArmourAPHead','ArmourAPRightArm','ArmourAPLeftArm','ArmourAPBody','ArmourAPRightLeg','ArmourAPLeftLeg','ArmourAPShield','Current_TB')
4886 .fields('ArmourHead','ArmourRArm','ArmourLArm','ArmourBody','ArmourRLeg','ArmourLLeg','ArmourShield','ArmourPoints')
4887 .reduce(function(m,r){
4888 m.totalheadAP += (r.I.ArmourHead*r.I.ArmourPoints);
4889 m.totalRArmAP += (r.I.ArmourRArm*r.I.ArmourPoints);
4890 m.totalLArmAP += (r.I.ArmourLArm*r.I.ArmourPoints);
4891 m.totalBodyAP += (r.I.ArmourBody*r.I.ArmourPoints);
4892 m.totalRLegAP += (r.I.ArmourRLeg*r.I.ArmourPoints);
4893 m.totalLLegAP += (r.I.ArmourLLeg*r.I.ArmourPoints);
4894 m.totalShieldAP += (r.I.ArmourShield*r.I.ArmourPoints);
4895 return m;
4896 },{totalheadAP:0,totalRArmAP:0,totalLArmAP:0,totalBodyAP:0,totalRLegAP:0,totalLLegAP:0,totalShieldAP:0},function(m,r,a){
4897 a.I.ArmourAPHead = m.totalheadAP;
4898 a.I.ArmourAPRightArm = m.totalRArmAP;
4899 a.I.ArmourAPLeftArm = m.totalLArmAP;
4900 a.I.ArmourAPBody = m.totalBodyAP;
4901 a.I.ArmourAPRightLeg = m.totalRLegAP;
4902 a.I.ArmourAPLeftLeg = m.totalLLegAP;
4903 a.I.ArmourAPShield = m.totalShieldAP;
4904 })
4905 .execute();
4906
4907 TAS.repeatingSimpleSum('armor','ArmourEnc','character_EncumbranceArmour');
4908});
4909
4910 //Update Trappings Enc
4911on('change:repeating_trappings', function(){
4912 TAS.repeating('trappings')
4913 .attrs('character_EncumbranceTrappings')
4914 .fields('TrappingHeld','TrappingWeight')
4915 .reduce(function(m,r){
4916 m.totalheld += (r.I.TrappingHeld*r.I.TrappingWeight);
4917 return m;
4918 },{totalheld:0},function(m,r,a){
4919 a.I.character_EncumbranceTrappings = m.totalheld;
4920 })
4921 .execute();
4922});
4923
4924//Update Weapon Enc
4925on('change:repeating_weapons', function(){
4926 TAS.repeating('weapons')
4927 .attrs('character_EncumbranceWeapons')
4928 .fields('WeaponHeld','WeaponEnc')
4929 .reduce(function(m,r){
4930 m.totalheld += (r.I.WeaponHeld*r.I.WeaponEnc);
4931 return m;
4932 },{totalheld:0},function(m,r,a){
4933 a.I.character_EncumbranceWeapons = m.totalheld;
4934 })
4935 .execute();
4936});
4937
4938 on('change:repeating_advancements', function(){
4939 TAS.repeating('advancements') //< set the repeating group we are using
4940 .attrs('character_SpentExperience') //< specify we want access to the total_weight attribute
4941 .fields('advancement1xp', 'advancement2xp', 'advancement3xp') //< specify we want the item and weight repeating fields
4942 .reduce(function(memo,row,attrSet,id,rowSet)
4943 {
4944 memo.total += row.I.advancement1xp;
4945 memo.total += row.I.advancement2xp;
4946 memo.total += row.I.advancement3xp;
4947 return memo;
4948 },{total: 0},function(memo,rowSet,attrSet)
4949 {
4950 attrSet.I.character_SpentExperience = memo.total;
4951 })
4952 .execute();
4953});
4954
4955
4956
4957 on('change:Wounds_SB_Opt change:Wounds_TB_Opt change:Wounds_WPB_Opt change:Current_SB change:Current_TB change:Current_WPB change:Wounds_Size_Opt change:Wounds_Hardy_Opt change:Wounds_Mod', function(){
4958 getAttrs(["Wounds_Size", "Wounds_hidden"], function(value)
4959 {
4960 setAttrs({Wounds_hidden: 0});
4961 setAttrs({Wounds_hidden: value.Wounds_Size});
4962 });
4963});
4964
4965</script>