Guest User

Untitled

a guest
Sep 24th, 2023
26
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 77.13 KB | None | 0 0
  1. <div class="sheet-title">
  2. <h1>Watching The Detectives <img src="http://blinkoz.s3.ap-southeast-2.amazonaws.com/Clients/Blinxel/OtekuOtaku/logo-vic_small.png" class="sheet-logo"></h1>
  3. </div>
  4.  
  5.  
  6.  
  7. <div class="sheet-personal">
  8. <!--h1 class="sheet-section">Personal Data</h1-->
  9. <div class="sheet-3colrow">
  10. <div class="sheet-col">
  11. <h2 class="subsection">Description</h2>
  12. <table width="100%">
  13. <tbody>
  14. <tr>
  15. <th>Name:</th><td colspan="3"><input type="text" name="attr_Name"></td>
  16. </tr>
  17. <tr>
  18. <th>Gender:</th><td colspan="3"><input type="text" name="attr_Sex"></td>
  19. </tr>
  20. <tr>
  21. <th>Race:</th><td colspan="3"><input type="text" name="attr_Race"></td>
  22. </tr>
  23. <tr>
  24. <th>Height:</th><td class="sheet-smaller"><input type="number" name="attr_Height" min="0"> cm.</td>
  25. <th>Age:</th>
  26. <td class="sheet-smaller">
  27. <input type="number" name="attr_AgeYears" min="0"> Years</td>
  28. </tr>
  29. <tr>
  30. <th>Weight:</th><td class="sheet-smaller"><input type="number" name="attr_Weight" min="0"> kg.</td>
  31. <td></td><td class="sheet-smaller"><input type="number" name="attr_AgeDays" min="0" max="365"> Days</td>
  32. </tr>
  33. </tbody>
  34. </table>
  35. </div>
  36.  
  37. <div class="sheet-col">
  38. <h2 class="subsection">Locality</h2>
  39. <table width="100%">
  40. <tbody>
  41. <tr>
  42. <th>Date of Birth:</th><td><input type="text" name="attr_DateOfBirth"></td>
  43. </tr>
  44. <tr>
  45. <th>Locality:</th><td><input type="text" name="attr_Locality"></td>
  46. </tr>
  47. <tr>
  48. <th>Society:</th><td><input type="text" name="attr_Society"></td>
  49. </tr>
  50. <tr>
  51. <th>Era:</th>
  52. <td>
  53. <select name="attr_Era">
  54. <option selected></option>
  55. <option>Aquarian</option>
  56. <option>Aquarian Cusp</option>
  57. <option>Piscean</option>
  58. <option>Piscean Cusp</option>
  59. <option>Ariesian</option>
  60. <option>Ariesian Cusp</option>
  61. <option>Tauran</option>
  62. <option>Tauran Cusp</option>
  63. <option>Geminid</option>
  64. <option>Geminid Cusp</option>
  65. <option>Cancerean</option>
  66. <option>Cancerean Cusp</option>
  67. <option>Leonid</option>
  68. <option>Leonid Cusp</option>
  69. <option>Virgin</option>
  70. <option>Virgin Cusp</option>
  71. <option>Libran</option>
  72. <option>Libran Cusp</option>
  73. <option>Scorpiod</option>
  74. <option>Scorpiod Cusp</option>
  75. <option>Sagittarian</option>
  76. <option>Sagittarian Cusp</option>
  77. <option>Capricornic</option>
  78. </select>
  79. </td>
  80. </tr>
  81. <tr>
  82. <th>Grace:</th><td class="sheet-smaller"><input type="number" name="attr_Grace" min="0"></td>
  83. </tr>
  84. </tbody>
  85. </table>
  86. </div>
  87.  
  88. <input type="hidden" class="toggle-show" name="attr_continuumdeets" value="0" />
  89.  
  90. <div class="sheet-col sheet-continuum">
  91. <h2 class="subsection">Continuum</h2>
  92. <table width="100%">
  93. <tbody>
  94. <tr>
  95. <th>Date of Invitation:</th><td colspan ="3"><input type="text" name="attr_DateOfInvitation"></td>
  96. </tr>
  97. <tr>
  98. <th>Corner:</th><td colspan ="3"><input type="text" name="attr_Corner"></td>
  99. </tr>
  100. <tr>
  101. <th>Fraternity:</th>
  102. <td colspan ="3">
  103. <select name="attr_Fraternity">
  104. <option selected></option>
  105. <option>None</option>
  106. <option>Antiquarians</option>
  107. <!--<option>Dreamers</option>-->
  108. <option>Engineers</option>
  109. <option>Foxhorn</option>
  110. <option>Midwives</option>
  111. <option>Moneychangers</option>
  112. <option>Physicians</option>
  113. <option>Quicker</option>
  114. <option>Scribes</option>
  115. <option>Thespians</option>
  116. </select>
  117. </td>
  118. </tr>
  119. </tbody>
  120. </table>
  121. </div>
  122. </div>
  123. </div>
  124.  
  125. <input type="checkbox" id="checkbox" class="sheet-switch" name="attr_continuumdeets" value="1" style="opacity:0">
  126.  
  127.  
  128. <div class="sheet-attributes">
  129. <h1 class="sheet-section">Attributes</h1>
  130. <table>
  131. <tbody>
  132. <tr>
  133. <td width="75%">
  134. <table width="100%">
  135. <tbody>
  136. <tr>
  137. <th bgcolor="#F5B7B1">Body:</th>
  138. <td bgcolor="#F5B7B1">
  139. <input type="number" name="attr_Body" min="0">
  140. <!--<button type="roll" title="Roll against Body" value="&{template:continuum} {{name=@{Name}}} {{ability=Body}} {{rating=[[@{Body}]]}} {{modifiers=[[?{Modifiers|0}]]}} {{IP=[[([[-1 * @{IPTotal}]])]]}} {{check=[[1d10cs11cf0]]}} {{result=[[@{Body} + (?{Modifiers}) + ([[-1 * @{IPTotal}]]) - 1d10cs1cs[[@{Body}]]cf10]]}}"></button>-->
  141. <button type="roll" title="Roll against Body" value="!continuum Body|@{Body}|[[ ?{Modifiers not including IP|0} - @{IPTOTal}]]"></button>
  142. </td>
  143. <th bgcolor="#85C1E9">Mind:</th>
  144. <td bgcolor="#85C1E9">
  145. <input type="number" name="attr_Mind" min="0">
  146. <!--<button type="roll" title="Roll against Mind" value="&{template:continuum} {{name=@{Name}}} {{ability=Mind}} {{rating=[[@{Mind}]]}} {{modifiers=[[?{Modifiers|0}]]}} {{IP=[[([[-1 * @{IPTotal}]])]]}} {{check=[[1d10cs11cf0]]}} {{result=[[@{Mind} + (?{Modifiers}) + ([[-1 * @{IPTotal}]]) - 1d10cs1cs[[@{Mind}]]cf10]]}}"></button>-->
  147. <button type="roll" title="Roll against Mind" value="!continuum Mind|@{Mind}|[[ ?{Modifiers not including IP|0} - @{IPTOTal}]]"></button>
  148. </td>
  149. <th bgcolor="#48C9B0">EQ:</th>
  150. <td bgcolor="#48C9B0">
  151. <input type="number" name="attr_EQ" min="0">
  152. <!--<button type="roll" title="Roll against Mind" value="&{template:continuum} {{name=@{Name}}} {{ability=Mind}} {{rating=[[@{Mind}]]}} {{modifiers=[[?{Modifiers|0}]]}} {{IP=[[([[-1 * @{IPTotal}]])]]}} {{check=[[1d10cs11cf0]]}} {{result=[[@{Mind} + (?{Modifiers}) + ([[-1 * @{IPTotal}]]) - 1d10cs1cs[[@{Mind}]]cf10]]}}"></button>-->
  153. <button type="roll" title="Roll against EQ" value="!continuum EQ|@{EQ}|[[ ?{Modifiers not including IP|0} - @{IPTOTal}]]"></button>
  154. </td>
  155. <th bgcolor="#F5B041">Quick:</th>
  156. <td bgcolor="#F5B041">
  157. <input type="number" name="attr_Quick" min="0">
  158. <!--<button type="roll" title="Roll against Quick" value="&{template:continuum} {{name=@{Name}}} {{ability=Quick}} {{rating=[[@{Quick}]]}} {{modifiers=[[?{Modifiers|0}]]}} {{IP=[[([[-1 * @{IPTotal}]])]]}} {{check=[[1d10cs11cf0]]}} {{result=[[@{Quick} + (?{Modifiers}) + ([[-1 * @{IPTotal}]]) - 1d10cs1cs[[@{Quick}]]cf10]]}}"></button>-->
  159. <button type="roll" title="Roll against Quick" value="!continuum Quick|@{Quick}|[[ ?{Modifiers not including IP|0} - @{IPTOTal}]]"></button>
  160. </td>
  161. <th bgcolor="#C39BD3">Will Temp:</th>
  162. <td bgcolor="#C39BD3">
  163. <input type="number" name="attr_Willpower" min="0">
  164. <!--<button type="roll" title="Roll against Willpower" value="&{template:continuum} {{name=@{Name}}} {{ability=Willpower}} {{rating=[[@{Willpower}]]}} {{modifiers=[[?{Modifiers|0}]]}} {{IP=[[([[-1 * @{IPTotal}]])]]}} {{check=[[1d10cs11cf0]]}} {{result=[[@{Willpower} + (?{Modifiers}) + ([[-1 * @{IPTotal}]]) - 1d10cs1cs[[@{Quick}]]cf10]]}}"></button>-->
  165. <button type="roll" title="Roll against Willpower" value="!continuum Willpower|@{Willpower}|[[ ?{Modifiers not including IP|0} - @{IPTOTal}]]"></button>
  166. </td>
  167. </tr>
  168. <tr>
  169. <td bgcolor="#F5B7B1"></td>
  170. <td bgcolor="#F5B7B1"><!--input type="number" name="attr_BodyProgress" value="0" min="0" max="100"> /100</td-->
  171. <td bgcolor="#85C1E9"></td>
  172. <td bgcolor="#85C1E9"><!--input type="number" name="attr_MindProgress" value="0" min="0" max="100"> /100</td-->
  173. <td bgcolor="#48C9B0"></td>
  174. <td bgcolor="#48C9B0"><!--input type="number" name="attr_EQProgress" value="0" min="0" max="100"> /100</td-->
  175. <td bgcolor="#F5B041"></td>
  176. <td bgcolor="#F5B041"><!--input type="number" name="attr_QuickProgress" value="0" min="0" max="100"> /100</td-->
  177. <th bgcolor="#C39BD3">Will Perm:</th>
  178. <td bgcolor="#C39BD3"><input type="number" name="attr_WillpowerProgress" value="0" min="0" max="10"></td>
  179. </tr>
  180. </tbody>
  181. </table>
  182. </td>
  183. <td width="25%" style="text-align:top">
  184. <label>Benefits & Limits: <textarea name="attr_BenefitsLimits"></textarea></label>
  185. </td>
  186. </tr>
  187. </tbody>
  188. </table>
  189. </div>
  190.  
  191. <input type="hidden" class="sheet-tabstoggle" name="attr_sheetTab" value="character" />
  192. <input type="hidden" class="toggle-show" name="attr_continuumdeets" value="0" />
  193.  
  194. <div>
  195. <button type="action" name="act_PersonalData" >Personal</button>
  196. <button type="action" name="act_Social" >Social</button>
  197. <button type="action" name="act_Combat" >Combat</button>
  198. <!--input type="hidden" class="toggle-show" name="attr_continuumdeets" value="0" /-->
  199. <!--button id="ContinuumButton" type="action" name="act_Continuum" >Continuum</button-->
  200. <!--label for="checkbox" class="toggle-button">Toggle Button</label-->
  201. <input type="checkbox" id="checkbox" class="sheet-switch">
  202. <label for="checkbox">Toggle Button</label>
  203. <button class="sheet-continuum" type="action" name="act_Continuum">Continuum</button>
  204. </div>
  205.  
  206. <div class="sheet-PersonalData">
  207. <div class="sheet-experience">
  208. <h1 class="sheet-section">Experiences</h1>
  209. <table width="100%" class="t2">
  210. <thead>
  211. <tr>
  212. <th width="28%">General</th>
  213. <th width="18%">Body Focus</th>
  214. <th width="18%">Mind Focus</th>
  215. <th width="18%">EQ Focus</th>
  216. <th width="18%">Quick Focus</th>
  217. </tr>
  218. </thead>
  219. </table>
  220. <fieldset class="repeating_experience">
  221. <table width="100%" class="t2">
  222. <tbody>
  223. <tr>
  224. <td><input type="text" STYLE="color: #1C2833; font-family: Verdana; font-weight: bold; font-size: 12px; background-color: #D0D3D4;" name="attr_Skill">
  225. </td>
  226. <td bgcolor="#F5B7B1" colspan="4">
  227. <input type="text" STYLE="color: #1C2833; font-family: Verdana; font-size: 12px; background-color: #F9EBEA;" name="attr_SkillBody">
  228. </td>
  229. </td>
  230. <td bgcolor="#85C1E9" colspan="4">
  231. <input type="text" STYLE="color: #1C2833; font-family: Verdana; font-size: 12px; background-color: #D4E6F1;" name="attr_SkillMind">
  232. </td>
  233. </td>
  234. <td bgcolor="#48C9B0" colspan="4">
  235. <input type="text" STYLE="color: #1C2833; font-family: Verdana; font-size: 12px; background-color: #D4EFDF;" name="attr_SkillEQ">
  236. </td>
  237. </td>
  238. <td bgcolor="#F5B7B1" colspan="4">
  239. <input type="text" STYLE="color: #1C2833; font-family: Verdana; font-size: 12px; background-color: #F6DDCC;" name="attr_SkillQuick">
  240. </td>
  241. </tr>
  242. <tr>
  243. <td><input type="text" STYLE="color: #1C2833; font-family: Verdana; font-weight: bold; font-size: 12px; background-color: #D0D3D4;" name="attr_Skill-1">
  244. </td>
  245. <td bgcolor="#F5B7B1" colspan="4">
  246. <select name="attr_SkillTitleBody">
  247. <option selected disabled></option>
  248. <option value="-2">Untrained</option>
  249. <option value="0">Novice</option>
  250. <option value="1">Apprentice</option>
  251. <option value="2">Journeyman</option>
  252. <option value="3">Master</option>
  253. <option value="4">Grandmaster</option>
  254. <option value="5">Grandmaster + 1</option>
  255. <option value="6">Grandmaster + 2</option>
  256. <option value="7">Grandmaster + 3</option>
  257. <option value="8">Grandmaster + 4</option>
  258. </select>
  259. </td>
  260. <td bgcolor="#85C1E9" colspan="4">
  261. <select name="attr_SkillTitleMind">
  262. <option selected disabled></option>
  263. <option value="-2">Untrained</option>
  264. <option value="0">Novice</option>
  265. <option value="1">Apprentice</option>
  266. <option value="2">Journeyman</option>
  267. <option value="3">Master</option>
  268. <option value="4">Grandmaster</option>
  269. <option value="5">Grandmaster + 1</option>
  270. <option value="6">Grandmaster + 2</option>
  271. <option value="7">Grandmaster + 3</option>
  272. <option value="8">Grandmaster + 4</option>
  273. </select>
  274. </td>
  275. <td bgcolor="#48C9B0" colspan="4">
  276. <select name="attr_SkillTitleEQ">
  277. <option selected disabled></option>
  278. <option value="-2">Untrained</option>
  279. <option value="0">Novice</option>
  280. <option value="1">Apprentice</option>
  281. <option value="2">Journeyman</option>
  282. <option value="3">Master</option>
  283. <option value="4">Grandmaster</option>
  284. <option value="5">Grandmaster + 1</option>
  285. <option value="6">Grandmaster + 2</option>
  286. <option value="7">Grandmaster + 3</option>
  287. <option value="8">Grandmaster + 4</option>
  288. </select>
  289. </td>
  290. <td bgcolor="#F5B041" colspan="4">
  291. <select name="attr_SkillTitleQuick">
  292. <option selected disabled></option>
  293. <option value="-2">Untrained</option>
  294. <option value="0">Novice</option>
  295. <option value="1">Apprentice</option>
  296. <option value="2">Journeyman</option>
  297. <option value="3">Master</option>
  298. <option value="4">Grandmaster</option>
  299. <option value="5">Grandmaster + 1</option>
  300. <option value="6">Grandmaster + 2</option>
  301. <option value="7">Grandmaster + 3</option>
  302. <option value="8">Grandmaster + 4</option>
  303. </select>
  304. </td>
  305. </tr>
  306. <tr>
  307. <td><input type="text" STYLE="color: #1C2833; font-family: Verdana; font-weight: bold; font-size: 12px; background-color: #D0D3D4;" name="attr_Skill-2">
  308. </td>
  309. <td bgcolor="#F5B7B1">
  310. <input type="number" STYLE="color: #1C2833; font-family: Verdana; font-size: 12px; background-color: #F9EBEA;" name="attr_SkillRatingBody" value="@{Body} + @{SkillTitleBody}" disabled>
  311. </td>
  312. <td bgcolor="#F5B7B1">
  313. <button type="roll" title="Roll against Body" value="!continuum @{Skill}|@{SkillRatingBody}|[[ ?{Modifiers not including IP|0} - @{IPTOTal}]]"></button>
  314. </td>
  315. <td bgcolor="#F5B7B1">
  316. <!--input type="number" STYLE="color: #1C2833; font-family: Verdana; font-size: 12px; background-color: #F9EBEA;" name="attr_SkillProgressBody" value="0" min="0"-->
  317. </td>
  318. <td bgcolor="#F5B7B1">
  319. <!--input type="number" STYLE="color: #1C2833; font-family: Verdana; font-size: 12px; background-color: #F9EBEA;" name="attr_SkillProgressMax" value="(@{SkillTitleBody} + 1) * 10" disabled-->
  320. </td>
  321. <td bgcolor="#85C1E9">
  322. <input type="number" STYLE="color: #1C2833; font-family: Verdana; font-size: 12px; background-color: #D4E6F1;" name="attr_SkillRatingMind" value="@{Mind} + @{SkillTitleMind}" disabled>
  323. </td>
  324. <td bgcolor="#85C1E9">
  325. <button type="roll" title="Roll against Mind" value="!continuum @{Skill}|@{SkillRatingMind}|[[ ?{Modifiers not including IP|0} - @{IPTOTal}]]"></button>
  326. </td>
  327. <td bgcolor="#85C1E9">
  328. <!--input type="number" STYLE="color: #1C2833; font-family: Verdana; font-size: 12px; background-color: #D4E6F1;" name="attr_SkillProgressMind" value="0" min="0"-->
  329. </td>
  330. <td bgcolor="#85C1E9">
  331. <!--input type="number" STYLE="color: #1C2833; font-family: Verdana; font-size: 12px; background-color: #D4E6F1;" name="attr_SkillProgressMax" value="(@{SkillTitleMind} + 1) * 10" disabled-->
  332. </td>
  333. <td bgcolor="#48C9B0">
  334. <input type="number" STYLE="color: #1C2833; font-family: Verdana; font-size: 12px; background-color: #D4EFDF;" name="attr_SkillRatingEQ" value="@{EQ} + @{SkillTitleEQ}" disabled>
  335. </td>
  336. <td bgcolor="#48C9B0">
  337. <button type="roll" title="Roll against EQ" value="!continuum @{Skill}|@{SkillRatingEQ}|[[ ?{Modifiers not including IP|0} - @{IPTOTal}]]"></button>
  338. </td>
  339. <td bgcolor="#48C9B0">
  340. <!--input type="number" STYLE="color: #1C2833; font-family: Verdana; font-size: 12px; background-color: #D4EFDF;" name="attr_SkillProgressEQ" value="0" min="0"-->
  341. </td>
  342. <td bgcolor="#48C9B0">
  343. <!--input type="number" STYLE="color: #1C2833; font-family: Verdana; font-size: 12px; background-color: #D4EFDF;" name="attr_SkillProgressMax" value="(@{SkillTitleEQ} + 1) * 10" disabled-->
  344. </td>
  345. <td bgcolor="#F5B041">
  346. <input type="number" STYLE="color: #1C2833; font-family: Verdana; font-size: 12px; background-color: #F6DDCC;" name="attr_SkillRatingQuick" value="@{Quick} + @{SkillTitleQuick}" disabled>
  347. </td>
  348. <td bgcolor="#F5B041">
  349. <button type="roll" title="Roll against Quick" value="!continuum @{Skill}|@{SkillRatingQuick}|[[ ?{Modifiers not including IP|0} - @{IPTOTal}]]"></button>
  350. </td>
  351. <td bgcolor="#F5B041">
  352. <!--input type="number" STYLE="color: #1C2833; font-family: Verdana; font-size: 12px; background-color: #F6DDCC;" name="attr_SkillProgressQuick" value="0" min="0"-->
  353. </td>
  354. <td bgcolor="#F5B041">
  355. <!--input type="number" STYLE="color: #1C2833; font-family: Verdana; font-size: 12px; background-color: #F6DDCC;" name="attr_SkillProgressMax" value="(@{SkillTitleQuick} + 1) * 10" disabled-->
  356. </td>
  357. </tr>
  358. </tbody>
  359. </table>
  360. </fieldset>
  361. </div>
  362.  
  363. <div class="sheet-goals">
  364. <h1 class="sheet-section">Goals</h1>
  365. <table width="100%">
  366. <thead>
  367. <tr>
  368. <th width="1%"></th>
  369. <th width="76%">Goal</th>
  370. <!--th width="10%">Rating</th-->
  371. <th width="15%">Importance</th>
  372. <th width="8%">Result</th>
  373. </tr>
  374. </thead>
  375. </table>
  376. <fieldset class="repeating_goals">
  377. <table width="100%">
  378. <tbody>
  379. <tr>
  380. <th width="1%"></th>
  381. <th width="5%">I will...</th>
  382. <td width="71%"><input type="text" name="attr_Goal"></td>
  383. </td>
  384. <td width="15%">
  385. <select name="attr_GoalTitle">
  386. <option selected disabled></option>
  387. <option value="1">Passing</option>
  388. <option value="2">Mild</option>
  389. <option value="3">Important</option>
  390. <option value="4">Extreme</option>
  391. <option value="5">Critical</option>
  392. </select>
  393. </td>
  394. <td>
  395. <input type="number" name="attr_GoalProgressMax" value="@{GoalTitle}" disabled>
  396. </td>
  397. </tr>
  398. </tbody>
  399. </table>
  400. <table width="100%">
  401. <thead>
  402. <tr>
  403. <th width="1%"></th>
  404. <th width="5%">by...</th>
  405. <td width="94%"><input type="text"></td>
  406. </tr>
  407. </thead>
  408. </table>
  409. </fieldset>
  410. </div>
  411.  
  412. <div class="sheet-events">
  413. <h1 class="sheet-section">Events</h1>
  414. <fieldset class="repeating_events">
  415. <table>
  416. <tbody>
  417. <tr>
  418. <th width="1%"></th>
  419. <td style="text-align:top">
  420. <label>Description: <textarea rows="4" cols="15" name="attr_EventDescription"></textarea></label>
  421. </td>
  422. <td><label>Date: <input type="date"/></td></label>
  423. <td><label>Time: <input type="time"/></td></label>
  424. <td style="text-align:top">
  425. <label>Location: <textarea rows="4" cols="15" name="attr_EventLocation"></textarea></label>
  426. </td>
  427. <td style="text-align:top">
  428. <label>Duration: <input name="attr_EventDuration" type="text"/></label>
  429. </td>
  430. <td style="text-align:top">
  431. <label>Notes: <textarea rows="4" cols="20" name="attr_EventNotes"></textarea></label>
  432. </td>
  433. </tr>
  434. </tbody>
  435. </table>
  436. </fieldset>
  437. </div>
  438.  
  439. </div>
  440. <div class="sheet-Social">
  441. <div class="sheet-favors">
  442. <h1 class="sheet-section">Favors</h1>
  443. <table width="100%">
  444. <thead>
  445. <tr>
  446. <th width="45%" style="text-align:left">Favor</th>
  447. <th width="5%" style="text-align:left">Done</th></th>
  448. <th width="20%" style="text-align:left">Title</th>
  449. <th width="30%" style="text-align:left">When</th>
  450. </tr>
  451. </thead>
  452. </table>
  453. <fieldset class="repeating_favors">
  454. <table width="100%">
  455. <tbody>
  456. <tr>
  457. <td width="45%"><input type="text" name="attr_Favor"></td>
  458. <td width="5%"><input type="checkbox" name="attr_Done"></td>
  459. <td width="20%">
  460. <select name="attr_FavorTitle">
  461. <option selected disabled></option>
  462. <option value="0">Unimportant</option>
  463. <option value="1">Less Important</option>
  464. <option value="2">Moderately Important</option>
  465. <option value="3">Important</option>
  466. <option value="4">Very Important</option>
  467. <option value="5">Extremely Important</option>
  468. <option value="6">Critical</option>
  469. </select>
  470. </td>
  471. <td width="30%"><input type="text" name="attr_YetWhen"></td>
  472. </tr>
  473. </tbody>
  474. </table>
  475. </fieldset>
  476. </div>
  477.  
  478. <div class="sheet-relationships">
  479. <h1 class="sheet-section">Relationships</h1>
  480. <table width="100%">
  481. <thead>
  482. <tr>
  483. <th width="30%">Name</th>
  484. <!--th width="5%">Spanner</th-->
  485. <th width="15%">Relationship</th>
  486. <th width="15%">Importance</th>
  487. <th width="35%">When/Where</th>
  488. </tr>
  489. </thead>
  490. </table>
  491. <fieldset class="repeating_relationship">
  492. <table width="100%">
  493. <tbody>
  494. <tr>
  495. <td width="30%"><input type="text" name="attr_RelationshipName"></td>
  496. </td>
  497. <!--td width="5%"><input type="checkbox" name="attr_IsSpanner"></td-->
  498. <td width="15%">
  499. <select name="attr_RelationshipType">
  500. <option selected disabled></option>
  501. <option>Sibling</option>
  502. <option>Parent</option>
  503. <option>Grandarent</option>
  504. <option>Aunt</option>
  505. <option>Uncle</option>
  506. <option>Cousin</option>
  507. <option>Friend</option>
  508. <option>Ex</option>
  509. <option>Partner</option>
  510. <option>Progeny</option>
  511. <option>Spouse</option>
  512. <option>Aquaintance</option>
  513. <option>Subordinate</option>
  514. <option>Superior</option>
  515. <option>Collegue</option>
  516. </select>
  517. </td>
  518. <td width="15%">
  519. <select name="attr_RelationshipImportance">
  520. <option selected disabled></option>
  521. <option>Public</option>
  522. <option>Social</option>
  523. <option>Professional</option>
  524. <option>Personal</option>
  525. <option>Intimate</option>
  526. </select>
  527. </td>
  528. <td width="35%"><input type="text" name="attr_RelationshipWhen"></td>
  529. </tr>
  530. </tbody>
  531. </table>
  532. </fieldset>
  533. </div>
  534. </div>
  535. <div class="sheet-Combat">
  536. <!--div class="sheet-combat"-->
  537.  
  538. <div class="sheet-experience">
  539. <h1 class="sheet-section">Experiences</h1>
  540. <table width="100%" class="t2">
  541. <thead>
  542. <tr>
  543. <th width="28%">General</th>
  544. <th width="18%">Body Focus</th>
  545. <th width="18%">Mind Focus</th>
  546. <th width="18%">EQ Focus</th>
  547. <th width="18%">Quick Focus</th>
  548. </tr>
  549. </thead>
  550. </table>
  551. <fieldset class="repeating_experience">
  552. <table width="100%" class="t2">
  553. <tbody>
  554. <tr>
  555. <td><input type="text" STYLE="color: #1C2833; font-family: Verdana; font-weight: bold; font-size: 12px; background-color: #D0D3D4;" name="attr_Skill">
  556. </td>
  557. <td bgcolor="#F5B7B1" colspan="4">
  558. <input type="text" STYLE="color: #1C2833; font-family: Verdana; font-size: 12px; background-color: #F9EBEA;" name="attr_SkillBody">
  559. </td>
  560. </td>
  561. <td bgcolor="#85C1E9" colspan="4">
  562. <input type="text" STYLE="color: #1C2833; font-family: Verdana; font-size: 12px; background-color: #D4E6F1;" name="attr_SkillMind">
  563. </td>
  564. </td>
  565. <td bgcolor="#48C9B0" colspan="4">
  566. <input type="text" STYLE="color: #1C2833; font-family: Verdana; font-size: 12px; background-color: #D4EFDF;" name="attr_SkillEQ">
  567. </td>
  568. </td>
  569. <td bgcolor="#F5B7B1" colspan="4">
  570. <input type="text" STYLE="color: #1C2833; font-family: Verdana; font-size: 12px; background-color: #F6DDCC;" name="attr_SkillQuick">
  571. </td>
  572. </tr>
  573. <tr>
  574. <td><input type="text" STYLE="color: #1C2833; font-family: Verdana; font-weight: bold; font-size: 12px; background-color: #D0D3D4;" name="attr_Skill-1">
  575. </td>
  576. <td bgcolor="#F5B7B1" colspan="4">
  577. <select name="attr_SkillTitleBody">
  578. <option selected disabled></option>
  579. <option value="-2">Untrained</option>
  580. <option value="0">Novice</option>
  581. <option value="1">Apprentice</option>
  582. <option value="2">Journeyman</option>
  583. <option value="3">Master</option>
  584. <option value="4">Grandmaster</option>
  585. <option value="5">Grandmaster + 1</option>
  586. <option value="6">Grandmaster + 2</option>
  587. <option value="7">Grandmaster + 3</option>
  588. <option value="8">Grandmaster + 4</option>
  589. </select>
  590. </td>
  591. <td bgcolor="#85C1E9" colspan="4">
  592. <select name="attr_SkillTitleMind">
  593. <option selected disabled></option>
  594. <option value="-2">Untrained</option>
  595. <option value="0">Novice</option>
  596. <option value="1">Apprentice</option>
  597. <option value="2">Journeyman</option>
  598. <option value="3">Master</option>
  599. <option value="4">Grandmaster</option>
  600. <option value="5">Grandmaster + 1</option>
  601. <option value="6">Grandmaster + 2</option>
  602. <option value="7">Grandmaster + 3</option>
  603. <option value="8">Grandmaster + 4</option>
  604. </select>
  605. </td>
  606. <td bgcolor="#48C9B0" colspan="4">
  607. <select name="attr_SkillTitleEQ">
  608. <option selected disabled></option>
  609. <option value="-2">Untrained</option>
  610. <option value="0">Novice</option>
  611. <option value="1">Apprentice</option>
  612. <option value="2">Journeyman</option>
  613. <option value="3">Master</option>
  614. <option value="4">Grandmaster</option>
  615. <option value="5">Grandmaster + 1</option>
  616. <option value="6">Grandmaster + 2</option>
  617. <option value="7">Grandmaster + 3</option>
  618. <option value="8">Grandmaster + 4</option>
  619. </select>
  620. </td>
  621. <td bgcolor="#F5B041" colspan="4">
  622. <select name="attr_SkillTitleQuick">
  623. <option selected disabled></option>
  624. <option value="-2">Untrained</option>
  625. <option value="0">Novice</option>
  626. <option value="1">Apprentice</option>
  627. <option value="2">Journeyman</option>
  628. <option value="3">Master</option>
  629. <option value="4">Grandmaster</option>
  630. <option value="5">Grandmaster + 1</option>
  631. <option value="6">Grandmaster + 2</option>
  632. <option value="7">Grandmaster + 3</option>
  633. <option value="8">Grandmaster + 4</option>
  634. </select>
  635. </td>
  636. </tr>
  637. <tr>
  638. <td><input type="text" STYLE="color: #1C2833; font-family: Verdana; font-weight: bold; font-size: 12px; background-color: #D0D3D4;" name="attr_Skill-2">
  639. </td>
  640. <td bgcolor="#F5B7B1">
  641. <input type="number" STYLE="color: #1C2833; font-family: Verdana; font-size: 12px; background-color: #F9EBEA;" name="attr_SkillRatingBody" value="@{Body} + @{SkillTitleBody}" disabled>
  642. </td>
  643. <td bgcolor="#F5B7B1">
  644. <button type="roll" title="Roll against Body" value="!continuum @{Skill}|@{SkillRatingBody}|[[ ?{Modifiers not including IP|0} - @{IPTOTal}]]"></button>
  645. </td>
  646. <td bgcolor="#F5B7B1">
  647. <!--input type="number" STYLE="color: #1C2833; font-family: Verdana; font-size: 12px; background-color: #F9EBEA;" name="attr_SkillProgressBody" value="0" min="0"-->
  648. </td>
  649. <td bgcolor="#F5B7B1">
  650. <!--input type="number" STYLE="color: #1C2833; font-family: Verdana; font-size: 12px; background-color: #F9EBEA;" name="attr_SkillProgressMax" value="(@{SkillTitleBody} + 1) * 10" disabled-->
  651. </td>
  652. <td bgcolor="#85C1E9">
  653. <input type="number" STYLE="color: #1C2833; font-family: Verdana; font-size: 12px; background-color: #D4E6F1;" name="attr_SkillRatingMind" value="@{Mind} + @{SkillTitleMind}" disabled>
  654. </td>
  655. <td bgcolor="#85C1E9">
  656. <button type="roll" title="Roll against Mind" value="!continuum @{Skill}|@{SkillRatingMind}|[[ ?{Modifiers not including IP|0} - @{IPTOTal}]]"></button>
  657. </td>
  658. <td bgcolor="#85C1E9">
  659. <!--input type="number" STYLE="color: #1C2833; font-family: Verdana; font-size: 12px; background-color: #D4E6F1;" name="attr_SkillProgressMind" value="0" min="0"-->
  660. </td>
  661. <td bgcolor="#85C1E9">
  662. <!--input type="number" STYLE="color: #1C2833; font-family: Verdana; font-size: 12px; background-color: #D4E6F1;" name="attr_SkillProgressMax" value="(@{SkillTitleMind} + 1) * 10" disabled-->
  663. </td>
  664. <td bgcolor="#48C9B0">
  665. <input type="number" STYLE="color: #1C2833; font-family: Verdana; font-size: 12px; background-color: #D4EFDF;" name="attr_SkillRatingEQ" value="@{EQ} + @{SkillTitleEQ}" disabled>
  666. </td>
  667. <td bgcolor="#48C9B0">
  668. <button type="roll" title="Roll against EQ" value="!continuum @{Skill}|@{SkillRatingEQ}|[[ ?{Modifiers not including IP|0} - @{IPTOTal}]]"></button>
  669. </td>
  670. <td bgcolor="#48C9B0">
  671. <!--input type="number" STYLE="color: #1C2833; font-family: Verdana; font-size: 12px; background-color: #D4EFDF;" name="attr_SkillProgressEQ" value="0" min="0"-->
  672. </td>
  673. <td bgcolor="#48C9B0">
  674. <!--input type="number" STYLE="color: #1C2833; font-family: Verdana; font-size: 12px; background-color: #D4EFDF;" name="attr_SkillProgressMax" value="(@{SkillTitleEQ} + 1) * 10" disabled-->
  675. </td>
  676. <td bgcolor="#F5B041">
  677. <input type="number" STYLE="color: #1C2833; font-family: Verdana; font-size: 12px; background-color: #F6DDCC;" name="attr_SkillRatingQuick" value="@{Quick} + @{SkillTitleQuick}" disabled>
  678. </td>
  679. <td bgcolor="#F5B041">
  680. <button type="roll" title="Roll against Quick" value="!continuum @{Skill}|@{SkillRatingQuick}|[[ ?{Modifiers not including IP|0} - @{IPTOTal}]]"></button>
  681. </td>
  682. <td bgcolor="#F5B041">
  683. <!--input type="number" STYLE="color: #1C2833; font-family: Verdana; font-size: 12px; background-color: #F6DDCC;" name="attr_SkillProgressQuick" value="0" min="0"-->
  684. </td>
  685. <td bgcolor="#F5B041">
  686. <!--input type="number" STYLE="color: #1C2833; font-family: Verdana; font-size: 12px; background-color: #F6DDCC;" name="attr_SkillProgressMax" value="(@{SkillTitleQuick} + 1) * 10" disabled-->
  687. </td>
  688. </tr>
  689. </tbody>
  690. </table>
  691. </fieldset>
  692. </div>
  693.  
  694. <h1 class="sheet-section">Combat</h1>
  695. <h2 class="sheet-subsection">Ranged Weapons</h2>
  696. <table width="100%">
  697. </table>
  698. <fieldset class="repeating_rangedweapons">
  699. <table width="100%">
  700. <tbody>
  701. <tr>
  702. <th width="25%">Weapon</th>
  703. <th width="13%">Rating</th>
  704. <th width="7%">Ammo</th>
  705. <th width="7%">RoF</th>
  706. <th width="7%">Conceal</th>
  707. <th style="text-align:center" colspan="8">Damage</th>
  708. </tr>
  709. <tr>
  710. <td width="25%">
  711. <select name="attr_RangedWeaponType">
  712. <option selected></option>
  713. <option >Derringer</option>
  714. <option >Revolver</option>
  715. <option >Semi_Auto</option>
  716. <option >Heavy_Pistol</option>
  717. <option >Hungting_Rifle</option>
  718. <option >Shotgun</option>
  719. <option >Shotgun_solid_slugs</option>
  720. <option >Assult_Rifle</option>
  721. <option >SMG</option>
  722. <option >LMG</option>
  723. <option >HMG</option>
  724. <option >Taser</option>
  725. <option >Crossbow</option>
  726. </select>
  727. </td>
  728. <td width="13%">
  729. <input type="number" name="attr_RangedWeaponRating">
  730. <button type="roll" title="Roll to hit" value="!continuum @{RangedWeaponType}|@{RangedWeaponRating}|[[ ?{Modifiers not including IP|0} - @{IPTOTal}]]||combat"></button>
  731. </td>
  732. <td width="7%"><input type="number" name="attr_RangedAmmo" min="0"></td>
  733. <td width="7%"><input type="number" name="attr_RangedRoF" min="0" readonly></td>
  734. <td width="7%"><input type="number" name="attr_RangedConceal" readonly></td>
  735. <td style="text-align:right" width="2%" readonly>D</td>
  736. <td width="5%"><input type="text" name="attr_RangedDamageD" readonly></td>
  737. <td style="text-align:right" width="2%" readonly>C</td>
  738. <td width="5%"><input type="text" name="attr_RangedDamageC" readonly></td>
  739. <td style="text-align:right" width="2%" readonly>B</td>
  740. <td width="5%"><input type="text" name="attr_RangedDamageB" readonly></td>
  741. <td style="text-align:right" width="2%" readonly>A</td>
  742. <td width="5%"><input type="text" name="attr_RangedDamageA" readonly></td>
  743. </tr>
  744. </tbody>
  745. </table>
  746. </fieldset>
  747.  
  748. <h2 class="sheet-subsection">Melee Weapons</h2>
  749. <fieldset class="repeating_meleeweapons">
  750. <table width="100%">
  751. <tbody>
  752. <tr>
  753. <th width="35%">Weapon</th>
  754. <th width="13%">Rating</th>
  755. <th width="8%">Conceal</th>
  756. <th width="20%" colspan="8">Damage</th>
  757. </tr>
  758. <tr>
  759. <td width="35%">
  760. <select name="attr_MeleeWeaponType">
  761. <option selected></option>
  762. <option >Knife</option>
  763. <option >Sword_small</option>
  764. <option >Sword_medium</option>
  765. <option >Sword_large</option>
  766. <option >Club</option>
  767. <option >Staff</option>
  768. <option >Spear</option>
  769. <option >Polearm</option>
  770. </select>
  771. </td>
  772. <td width="13%">
  773. <input type="number" name="attr_MeleeWeaponRating">
  774. <button type="roll" title="Roll to hit" value="!continuum @{MeleeWeaponType}|@{MeleeWeaponRating}|[[ ?{Modifiers not including IP|0} - @{IPTOTal}]]||combat"></button>
  775. </td>
  776. <td width="8%"><input type="number" name="attr_MeleeConceal" readonly></td>
  777. <td style="text-align:right" width="2%" readonly>D</td>
  778. <td width="5%"><input type="text" name="attr_MeleeDamageD" readonly></td>
  779. <td style="text-align:right" width="2%" readonly>C</td>
  780. <td width="5%"><input type="text" name="attr_MeleeDamageC" readonly></td>
  781. <td style="text-align:right" width="2%" readonly>B</td>
  782. <td width="5%"><input type="text" name="attr_MeleeDamageB" readonly></td>
  783. <td style="text-align:right" width="2%" readonly>A</td>
  784. <td width="5%"><input type="text" name="attr_MeleeDamageA" readonly></td>
  785. </tr>
  786. </tbody>
  787. </table>
  788. </fieldset>
  789.  
  790. <h2 class="sheet-subsection">Armor</h2>
  791. <table width="100%">
  792. <thead>
  793. <th width="48%">Description</th>
  794. <th width="15%">Armor Rating</th>
  795. <th width="15%">Armor Body</th>
  796. <th width="24%">Locations</th>
  797. </thead>
  798. </table>
  799. <fieldset class="repeating_armor">
  800. <table width="100%">
  801. <td width="48%"><input type="text" name="attr_Armor"></td>
  802. <td width="15%"><input type="number" name="attr_ArmorRating"></td>
  803. <td width="15%"><input type="number" name="attr_ArmorBody"></td>
  804. <td width="2%">D</td>
  805. <td width="4%"><input type="checkbox"</td>
  806. <td width="2%">C</td>
  807. <td width="4%"><input type="checkbox"</td>
  808. <td width="2%">B</td>
  809. <td width="4%"><input type="checkbox"</td>
  810. <td width="2%">A</td>
  811. <td width="4%"><input type="checkbox"</td>
  812. </table>
  813. </fieldset>
  814.  
  815. <div class="sheet-2colrow">
  816. <div class="sheet-col">
  817. <h2 class="sheet-subsection">Wounds</h2>
  818. <table width="100%">
  819. <thead>
  820. <tr>
  821. <th>IP</th>
  822. <th>Bruise/Lethal</th>
  823. <th>Bleeding?</th>
  824. </tr>
  825. </thead>
  826. <tbody>
  827. <tr>
  828. <td><input type="number" name="attr_IP1" value="0" min="0"></td>
  829. <td>
  830. <select name="attr_DamageType1">
  831. <option selected></option>
  832. <option>Bruise</option>
  833. <option>Lethal</option>
  834. </select>
  835. </td>
  836. <td>
  837. <select name="attr_Bleeding1">
  838. <option selected></option>
  839. <option>Yes</option>
  840. <option>No</option>
  841. </select>
  842. </td>
  843. </tr>
  844. <tr>
  845. <td><input type="number" name="attr_IP2" value="0" min="0"></td>
  846. <td>
  847. <select name="attr_DamageType2">
  848. <option selected></option>
  849. <option>Bruise</option>
  850. <option>Lethal</option>
  851. </select>
  852. </td>
  853. <td>
  854. <select name="attr_Bleeding2">
  855. <option selected></option>
  856. <option>Yes</option>
  857. <option>No</option>
  858. </select>
  859. </td>
  860. </tr>
  861. <tr>
  862. <td><input type="number" name="attr_IP3" value="0" min="0"></td>
  863. <td><select name="attr_DamageType3">
  864. <option selected></option>
  865. <option>Bruise</option>
  866. <option>Lethal</option>
  867. </select></td>
  868. <td><select name="attr_Bleeding3">
  869. <option selected></option>
  870. <option>Yes</option>
  871. <option>No</option>
  872. </select></td>
  873. </tr>
  874. <tr>
  875. <td><input type="number" name="attr_IP4" value="0" min="0"></td>
  876. <td>
  877. <select name="attr_DamageType4">
  878. <option selected></option>
  879. <option>Bruise</option>
  880. <option>Lethal</option>
  881. </select>
  882. </td>
  883. <td>
  884. <select name="attr_Bleeding4">
  885. <option selected></option>
  886. <option>Yes</option>
  887. <option>No</option>
  888. </select>
  889. </td>
  890. </tr>
  891. <tr>
  892. <td><input type="number" name="attr_IP5" value="0" min="0"></td>
  893. <td>
  894. <select name="attr_DamageType5">
  895. <option selected></option>
  896. <option>Bruise</option>
  897. <option>Lethal</option>
  898. </select>
  899. </td>
  900. <td>
  901. <select name="attr_Bleeding5">
  902. <option selected></option>
  903. <option>Yes</option>
  904. <option>No</option>
  905. </select>
  906. </td>
  907. </tr>
  908. </tbody>
  909. </table>
  910. <label>
  911. IP Total: <input type="number" name="attr_IPTotal" value="(@{IP1} + @{IP2} + @{IP3} + @{IP4} + @{IP5})" disabled>
  912. <input type="hidden" name="attr_IPTotal_max" value="@{Body}">
  913. </label>
  914. </div>
  915. <div class="sheet-col">
  916. <h1 class="sheet-section">Stuff</h1>
  917. <textarea name="attr_Stuff"></textarea>
  918. <label>Assets: $<input type="text" name="attr_Assets" size="10" class="sheet-assets"></label>
  919. </div>
  920. </div>
  921. </div>
  922. </div>
  923.  
  924. <div class="sheet-Continuum">
  925.  
  926. <div class="sheet-spanning">
  927. <h1 class="sheet-section">Spanning</h1>
  928. <table width="100%">
  929. <tbody>
  930. <tr>
  931. <th>Span:</th>
  932. <td>
  933. <input type="number" name="attr_Span" min="0">
  934. <!--<button type="roll" title="Roll against Span" value="&{template:continuum} {{name=@{Name}}} {{ability=Span}} {{rating=[[@{Span}]]}} {{modifiers=[[?{Modifiers|0}]]}} {{IP=[[([[-1 * @{IPTotal}]])]]}} {{check=[[1d10cs11cf0]]}} {{result=[[@{Span} + (?{Modifiers}) + ([[-1 * @{IPTotal}]]) - 1d10cs1cs[[@{Span}]]cf10]]}}"></button>-->
  935. <button type="roll" title="Roll against Span" value="!continuum Span|@{Span}|[[ ?{Modifiers not including IP|0} - @{IPTotal}]]"></button>
  936. </td>
  937. <th></th>
  938. <td>
  939. <input type="number" name="attr_TrueSpan" min="0">
  940. <!--<button type="roll" title="Roll against True Span" value="&{template:continuum} {{name=@{Name}}} {{ability=TrueSpan}} {{rating=[[@{TrueSpan}]]}} {{modifiers=[[?{Modifiers|0}]]}} {{IP=[[([[-1 * @{IPTotal}]])]]}} {{check=[[1d10cs11cf0]]}} {{result=[[@{TrueSpan} + (?{Modifiers}) + ([[-1 * @{IPTotal}]]) - 1d10cs1cs[[@{TrueSpan}]]cf10]]}}"></button>-->
  941. <button type="roll" title="Roll against True Span" value="!continuum TrueSpan|@{TrueSpan}|[[ ?{Modifiers not including IP|0} - @{IPTotal}]]"></button>
  942. </td>
  943. <th></th>
  944. <td>
  945. <!--input type="number" name="attr_TrueSpanProgress" value="0" min="0" max="100"> /100</td-->
  946. <th>Frag:</th>
  947. <td>
  948. <input type="number" name="attr_Frag" disabled value="@{DeliberateFrag} + @{NaturalFrag}">
  949. <input type="hidden" name="attr_Frag_max" value="8">
  950. </td>
  951. <td>Deliberate:</td>
  952. <td>
  953. <input type="number" name="attr_DeliberateFrag" value="0" min="0">
  954. </td>
  955. <td>Natural:</td>
  956. <td>
  957. <input type="number" name="attr_NaturalFrag" value="0" min="0">
  958. </td>
  959. </tr>
  960. </tbody>
  961. </table>
  962. <fieldset class="repeating_spanskills">
  963. <table width="100%">
  964. <tbody>
  965. <tr>
  966. <td width="50%"><input type="text" name="attr_SpanSkill"></td>
  967. <td width="20%">
  968. <select name="attr_SpanSkillTitle">
  969. <option selected disabled></option>
  970. <option value="-2">Untrained</option>
  971. <option value="0">Novice</option>
  972. <option value="1">Apprentice</option>
  973. <option value="2">Journeyman</option>
  974. <option value="3">Master</option>
  975. <option value="4">Grandmaster</option>
  976. <option value="5">Grandmaster + 1</option>
  977. <option value="6">Grandmaster + 2</option>
  978. <option value="7">Grandmaster + 3</option>
  979. <option value="8">Grandmaster + 4</option>
  980. </select>
  981. </td>
  982. <td width="10%">
  983. <input type="number" name="attr_SpanSkillRating" value="@{Quick} + @{SpanSkillTitle}" disabled>
  984. <!--<button type="roll" title="Roll against skill" name="attr_SkillRoll" value="&{template:continuum} {{name=@{Name}}} {{ability=@{Skill}}} {{rating=[[@{SkillRating}]]}} {{modifiers=[[?{Modifiers|0}]]}} {{IP=[[([[-1 * @{IPTotal}]])]]}} {{check=[[1d10cs11cf0]]}} {{result=[[@{SkillRating} + (?{Modifiers}) + ([[-1 * @{IPTotal}]]) - 1d10cs1cs[[@{SkillRating}]]cf10]]}}}"></button>-->
  985. <button type="roll" title="Roll against Span" value="!continuum @{SpanSkill}|@{SpanSkillRating}|[[ ?{Modifiers not including IP|0} - @{IPTOTal}]]"></button>
  986. </td>
  987. <td width="20%">
  988. <input type="number" name="attr_SpanSkillProgress" value="0" min="0"> /
  989. <input type="number" name="attr_SpanSkillProgressMax" value="(@{SpanSkillTitle} + 1) * 10" disabled>
  990. </td>
  991. </tr>
  992. </tbody>
  993. </table>
  994. </fieldset>
  995. </div>
  996.  
  997. <div class="sheet-yet">
  998. <h1 class="sheet-section">The Yet</h1>
  999. <table width="100%">
  1000. <thead>
  1001. <th width="50%">In the Yet</th>
  1002. <th width="5%" style="text-align:center">Done</th></th>
  1003. <th width="5%" style="text-align:center">Frag</th>
  1004. <th width="40%">When (+/-)</th>
  1005. </thead>
  1006. </table>
  1007. <fieldset class="repeating_Yet">
  1008. <table width="100%">
  1009. <tbody>
  1010. <td width="50%"><input type="text" name="attr_InTheYet"></td>
  1011. <td width="5%"><input type="checkbox" name="attr_Done"></td>
  1012. <td width="5%"><input type="number" name="attr_YetFrag" min="0"></td>
  1013. <td width="40%"><input type="text" name="attr_YetWhen"></td>
  1014. </tbody>
  1015. </table>
  1016. </fieldset>
  1017. </div>
  1018.  
  1019. </div>
  1020.  
  1021. <script type="text/worker">
  1022. const buttonlist = ["PersonalData","Social","Combat","Continuum"];
  1023. buttonlist.forEach(button => {
  1024. on(`clicked:${button}`, function() {
  1025. setAttrs({
  1026. sheetTab: button
  1027. });
  1028. });
  1029. });
  1030. </script>
  1031.  
  1032. <script type="text/worker">
  1033.  
  1034. on("change:repeating_landvehicles:landvehicletype", function() { //when the VehicleType dropdown changes
  1035. getAttrs(["repeating_landvehicles_LandVehicleType"], function(values) { //read the value of the selected entry in the VehicleType dropdown
  1036.  
  1037. const landvehicles = {
  1038. none: {quick: 4, safe: 0, risky: 0, dangerous: 0, lifethreatening: 0, crazy: 0, plaid: 0, tons: 0, SPD: 0, IPD: 0, SPC: 0, IPC: 0, SPB: 0, IPB: 0, SPA: 0, IPA: 0},
  1039. Skateboard: {quick: 7, safe: 5, risky: 10, dangerous: 20, lifethreatening: 30, crazy: 40, plaid: 50, tons: 0.0001, SPD: 1, IPD: 0, SPC: 0, IPC: 0, SPB: 0, IPB: 0, SPA: 0, IPA: 0},
  1040. Bicycle: {quick: 6, safe: 15, risky: 25, dangerous: 40, lifethreatening: 50, crazy: 70, plaid: 80, tons: 0.001, SPD: 0, IPD: 0, SPC: 0, IPC: 0, SPB: 0, IPB: 0, SPA: 0, IPA: 0},
  1041. Moped: {quick: 4, safe: 20, risky: 40, dangerous: 50, lifethreatening: 70, crazy: 100, plaid: 120, tons: 0.03, SPD: 0, IPD: 0, SPC: 0, IPC: 0, SPB: 0, IPB: 0, SPA: 0, IPA: 0},
  1042. Motorcycle: {quick: 10, safe: 30, risky: 50, dangerous: 75, lifethreatening: 100, crazy: 130, plaid: 50, tons: 0.5, SPD: 0, IPD: 0, SPC: 0, IPC: 0, SPB: 0, IPB: 0, SPA: 0, IPA: 0},
  1043. Hog: {quick: 7, safe: 30, risky: 60, dangerous: 80, lifethreatening: 110, crazy: 150, plaid: 180, tons: 0.7, SPD: 0, IPD: 0, SPC: 0, IPC: 0, SPB: 0, IPB: 0, SPA: 0, IPA: 0},
  1044. CompactCar: {quick: 4, safe: 30, risky: 50, dangerous: 70, lifethreatening: 90, crazy: 120, plaid: 140, tons: 1.3, SPD: 0, IPD: 0, SPC: 0, IPC: 0, SPB: 0, IPB: 0, SPA: 0, IPA: 0},
  1045. MediumCar: {quick: 6, safe: 30, risky: 50, dangerous: 80, lifethreatening: 100, crazy: 130, plaid: 150, tons: 1.5, SPD: 0, IPD: 0, SPC: 0, IPC: 0, SPB: 0, IPB: 0, SPA: 0, IPA: 0},
  1046. SUV: {quick: 6, safe: 20, risky: 50, dangerous: 70, lifethreatening: 90, crazy: 120, plaid: 150, tons: 2.4, SPD: 0, IPD: 0, SPC: 0, IPC: 0, SPB: 0, IPB: 0, SPA: 0, IPA: 0},
  1047. Van: {quick: 5, safe: 30, risky: 50, dangerous: 70, lifethreatening: 100, crazy: 120, plaid: 140, tons: 6, SPD: 0, IPD: 0, SPC: 0, IPC: 0, SPB: 0, IPB: 0, SPA: 0, IPA: 0},
  1048. SmallTruck: {quick: 4, safe: 30, risky: 50, dangerous: 80, lifethreatening: 100, crazy: 110, plaid: 120, tons: 12, SPD: 0, IPD: 0, SPC: 0, IPC: 0, SPB: 0, IPB: 0, SPA: 0, IPA: 0},
  1049. Truck: {quick: 3, safe: 30, risky: 50, dangerous: 80, lifethreatening: 100, crazy: 110, plaid: 120, tons: 25, SPD: 0, IPD: 0, SPC: 0, IPC: 0, SPB: 0, IPB: 0, SPA: 0, IPA: 0},
  1050. Bus: {quick: 3, safe: 30, risky: 50, dangerous: 80, lifethreatening: 100, crazy: 110, plaid: 120, tons: 17, SPD: 0, IPD: 0, SPC: 0, IPC: 0, SPB: 0, IPB: 0, SPA: 0, IPA: 0}
  1051. };
  1052. const LandVehicleType = values.LandVehicleType; //make a temp variable called "VehicleTypeValue" and store the value of VehicleType in it. If not selected, 0
  1053. const thisLandVehicle = landvehicles[values.repeating_landvehicles_LandVehicleType] || landvehicles['none'];
  1054.  
  1055. setAttrs({
  1056. "repeating_landvehicles_LandVehicleQuick": thisLandVehicle.quick, //pass VehicleTypeValue into VehicleSpeedSafe
  1057. "repeating_landvehicles_LandVehicleSpeedSafe": thisLandVehicle.safe,
  1058. "repeating_landvehicles_LandVehicleSpeedRisky": thisLandVehicle.risky,
  1059. "repeating_landvehicles_LandVehicleSpeedDangerous": thisLandVehicle.dangerous,
  1060. "repeating_landvehicles_LandVehicleSpeedLifeThreatening": thisLandVehicle.lifethreatening,
  1061. "repeating_landvehicles_LandVehicleSpeedCrazy": thisLandVehicle.crazy,
  1062. "repeating_landvehicles_LandVehicleSpeedPlaid": thisLandVehicle.plaid,
  1063. "repeating_landvehicles_LandVehicleWeight": thisLandVehicle.tons,
  1064. "repeating_landvehicles_LandVehicleSPD": thisLandVehicle.SPD,
  1065. "repeating_landvehicles_LandVehicleIPD": thisLandVehicle.IPD,
  1066. "repeating_landvehicles_LandVehicleSPC": thisLandVehicle.SPC,
  1067. "repeating_landvehicles_LandVehicleIPC": thisLandVehicle.IPC,
  1068. "repeating_landvehicles_LandVehicleSPB": thisLandVehicle.SPB,
  1069. "repeating_landvehicles_LandVehicleIPB": thisLandVehicle.IPB,
  1070. "repeating_landvehicles_LandVehicleSPA": thisLandVehicle.SPA,
  1071. "repeating_landvehicles_LandVehicleIPA": thisLandVehicle.IPA
  1072. });
  1073. });
  1074. });
  1075.  
  1076. on("change:repeating_airvehicles:airvehicletype", function() { //when the VehicleType dropdown changes
  1077. getAttrs(["repeating_airvehicles_AirVehicleType"], function(values) { //read the value of the selected entry in the VehicleType dropdown
  1078.  
  1079. const airvehicles = {
  1080. none: {quick: 4, safe: 0, risky: 0, dangerous: 0, lifethreatening: 0, crazy: 0, plaid: 0, tons: 0, SP: 0, armor: 0},
  1081. Jumbo_Passenger_Jet: {quick: 1, safe: 5, risky: 10, dangerous: 20, lifethreatening: 30, crazy: 40, plaid: 50, tons: 0.0001, SP: 1, armor: 0},
  1082. MidSize_Passenger_Jet: {quick: 1, safe: 15, risky: 25, dangerous: 40, lifethreatening: 50, crazy: 70, plaid: 80, tons: 0.001, SP: 2, armor: 0},
  1083. Light_Passenger_Jet: {quick: 2, safe: 20, risky: 40, dangerous: 50, lifethreatening: 70, crazy: 100, plaid: 120, tons: 0.03, SP: 5, armor: 1},
  1084. Passenger_Turboprop: {quick: 2, safe: 30, risky: 50, dangerous: 75, lifethreatening: 100, crazy: 130, plaid: 50, tons: 0.5, SP: 0, armor: 1},
  1085. Cargo: {quick: 1, safe: 30, risky: 60, dangerous: 80, lifethreatening: 110, crazy: 150, plaid: 180, tons: 0.7, SP: 8, armor: 1},
  1086. Very_Light_Jet: {quick: 6, safe: 30, risky: 50, dangerous: 70, lifethreatening: 90, crazy: 120, plaid: 140, tons: 1.3, SP: 13, armor: 3},
  1087. Light_Business_Jet: {quick: 3, safe: 30, risky: 50, dangerous: 80, lifethreatening: 100, crazy: 130, plaid: 150, tons: 1.5, SP: 15, armor: 3},
  1088. MidSize_Business_Jet: {quick: 2, safe: 20, risky: 50, dangerous: 70, lifethreatening: 90, crazy: 120, plaid: 150, tons: 2.4, SP: 24, armor: 4},
  1089. Heavy_Business_Jet: {quick: 1, safe: 30, risky: 50, dangerous: 70, lifethreatening: 100, crazy: 120, plaid: 140, tons: 6, SP: 30, armor: 3},
  1090. Military_Jet: {quick: 7, safe: 30, risky: 50, dangerous: 80, lifethreatening: 100, crazy: 110, plaid: 120, tons: 12, SP: 40, armor: 2},
  1091. Private_Single_Engine: {quick: 6, safe: 30, risky: 50, dangerous: 80, lifethreatening: 100, crazy: 110, plaid: 120, tons: 25, SP: 60, armor: 4},
  1092. Twin_Turboprop: {quick: 5, safe: 30, risky: 50, dangerous: 80, lifethreatening: 100, crazy: 110, plaid: 120, tons: 25, SP: 60, armor: 4},
  1093. Aerobatic: {quick: 8, safe: 30, risky: 50, dangerous: 80, lifethreatening: 100, crazy: 110, plaid: 120, tons: 25, SP: 60, armor: 4},
  1094. Amphibious: {quick: 3, safe: 30, risky: 50, dangerous: 80, lifethreatening: 100, crazy: 110, plaid: 120, tons: 25, SP: 60, armor: 4},
  1095. Military_Turboprop: {quick: 8, safe: 30, risky: 50, dangerous: 80, lifethreatening: 100, crazy: 110, plaid: 120, tons: 17, SP: 50, armor: 4}
  1096. };
  1097. const AirVehicleType = values.AirVehicleType; //make a temp variable called "VehicleTypeValue" and store the value of VehicleType in it. If not selected, 0
  1098. const thisAirVehicle = airvehicles[values.repeating_airvehicles_AirVehicleType] || airvehicles['none'];
  1099.  
  1100. setAttrs({
  1101. "repeating_airvehicles_AirVehicleQuick": thisAirVehicle.quick, //pass VehicleTypeValue into VehicleSpeedSafe
  1102. "repeating_airvehicles_AirVehicleSpeedSafe": thisAirVehicle.safe,
  1103. "repeating_airvehicles_AirVehicleSpeedRisky": thisAirVehicle.risky,
  1104. "repeating_airvehicles_AirVehicleSpeedDangerous": thisAirVehicle.dangerous,
  1105. "repeating_airvehicles_AirVehicleSpeedLifeThreatening": thisAirVehicle.lifethreatening,
  1106. "repeating_airvehicles_AirVehicleSpeedCrazy": thisAirVehicle.crazy,
  1107. "repeating_airvehicles_AirVehicleSpeedPlaid": thisAirVehicle.plaid,
  1108. "repeating_airvehicles_AirVehicleWeight": thisAirVehicle.tons,
  1109. "repeating_airvehicles_AirVehicleSp": thisAirVehicle.SP,
  1110. "repeating_airvehicles_AirVehicleArmor": thisAirVehicle.armor
  1111. });
  1112. });
  1113. });
  1114.  
  1115. on("change:repeating_watervehicles:watervehicletype", function() { //when the VehicleType dropdown changes
  1116. getAttrs(["repeating_watervehicles_WaterVehicleType"], function(values) { //read the value of the selected entry in the VehicleType dropdown
  1117.  
  1118. const watervehicles = {
  1119. none: {quick: 4, safe: 0, risky: 0, dangerous: 0, lifethreatening: 0, crazy: 0, plaid: 0, tons: 0, SP: 0, armor: 0},
  1120. Class_A_up_to_5m: {quick: 7, safe: 5, risky: 10, dangerous: 20, lifethreatening: 30, crazy: 40, plaid: 50, tons: 0.0001, SP: 1, armor: 0},
  1121. Class_1_5m_to_8m: {quick: 6, safe: 15, risky: 25, dangerous: 40, lifethreatening: 50, crazy: 70, plaid: 80, tons: 0.001, SP: 2, armor: 0},
  1122. Class_2_8m_to_12m: {quick: 4, safe: 20, risky: 40, dangerous: 50, lifethreatening: 70, crazy: 100, plaid: 120, tons: 0.03, SP: 5, armor: 1},
  1123. Class_3_12m_to_20m: {quick: 10, safe: 30, risky: 50, dangerous: 75, lifethreatening: 100, crazy: 130, plaid: 50, tons: 0.5, SP: 0, armor: 1},
  1124. Class_4_20m_to_40m: {quick: 7, safe: 30, risky: 60, dangerous: 80, lifethreatening: 110, crazy: 150, plaid: 180, tons: 0.7, SP: 8, armor: 1},
  1125. Class_5_40m_to_80m: {quick: 4, safe: 30, risky: 50, dangerous: 70, lifethreatening: 90, crazy: 120, plaid: 140, tons: 1.3, SP: 13, armor: 3},
  1126. Class_6_80m_to_140m: {quick: 6, safe: 30, risky: 50, dangerous: 80, lifethreatening: 100, crazy: 130, plaid: 150, tons: 1.5, SP: 15, armor: 3},
  1127. Class_7_140m_to_200m: {quick: 6, safe: 20, risky: 50, dangerous: 70, lifethreatening: 90, crazy: 120, plaid: 150, tons: 2.4, SP: 24, armor: 4},
  1128. Class_8_200m_to_260m: {quick: 5, safe: 30, risky: 50, dangerous: 70, lifethreatening: 100, crazy: 120, plaid: 140, tons: 6, SP: 30, armor: 3},
  1129. Class_9_260m_to_340m: {quick: 4, safe: 30, risky: 50, dangerous: 80, lifethreatening: 100, crazy: 110, plaid: 120, tons: 12, SP: 40, armor: 2},
  1130. Class_10_340m_to_420m: {quick: 3, safe: 30, risky: 50, dangerous: 80, lifethreatening: 100, crazy: 110, plaid: 120, tons: 25, SP: 60, armor: 4},
  1131. Class_11_420m_to_500m: {quick: 3, safe: 30, risky: 50, dangerous: 80, lifethreatening: 100, crazy: 110, plaid: 120, tons: 17, SP: 50, armor: 4}
  1132. };
  1133. const WaterVehicleType = values.WaterVehicleType; //make a temp variable called "VehicleTypeValue" and store the value of VehicleType in it. If not selected, 0
  1134. const thisWaterVehicle = watervehicles[values.repeating_watervehicles_WaterVehicleType] || watervehicles['none'];
  1135.  
  1136. setAttrs({
  1137. "repeating_watervehicles_WaterVehicleQuick": thisWaterVehicle.quick, //pass VehicleTypeValue into VehicleSpeedSafe
  1138. "repeating_watervehicles_WaterVehicleSpeedSafe": thisWaterVehicle.safe,
  1139. "repeating_watervehicles_WaterVehicleSpeedRisky": thisWaterVehicle.risky,
  1140. "repeating_watervehicles_WaterVehicleSpeedDangerous": thisWaterVehicle.dangerous,
  1141. "repeating_watervehicles_WaterVehicleSpeedLifeThreatening": thisWaterVehicle.lifethreatening,
  1142. "repeating_watervehicles_WaterVehicleSpeedCrazy": thisWaterVehicle.crazy,
  1143. "repeating_watervehicles_WaterVehicleSpeedPlaid": thisWaterVehicle.plaid,
  1144. "repeating_watervehicles_WaterVehicleWeight": thisWaterVehicle.tons,
  1145. "repeating_watervehicles_WaterVehicleSp": thisWaterVehicle.SP,
  1146. "repeating_watervehicles_WaterVehicleArmor": thisWaterVehicle.armor
  1147. });
  1148. });
  1149. });
  1150.  
  1151. on("change:repeating_rangedWeapons:rangedweapontype", function() { //when the WeaponType dropdown changes
  1152. getAttrs(["repeating_rangedweapons_RangedWeaponType"], function(values) { //read the value of the selected entry in the WeaponType dropdown
  1153.  
  1154. const rangedWeapons = {
  1155. none: {rangedammo: 0, rangedrof: 0, rangedconceal: 0, rangeddamaged: 0, rangeddamagec: 0, rangeddamageb: 0, rangeddamagea: 0},
  1156. Derringer: {rangedammo: 2, rangedrof: 1, rangedconceal: -4, rangeddamaged: 1, rangeddamagec: 1, rangeddamageb: 2, rangeddamagea: 3},
  1157. Revolver: {rangedammo: 6, rangedrof: 1, rangedconceal: -2, rangeddamaged: 1, rangeddamagec: 2, rangeddamageb: 3, rangeddamagea: 4},
  1158. Semi_Auto: {rangedammo: 15, rangedrof: 2, rangedconceal: -2, rangeddamaged: 1, rangeddamagec: 2, rangeddamageb: 3, rangeddamagea: 4},
  1159. Heavy_Pistol: {rangedammo: 12, rangedrof: 1, rangedconceal: 0, rangeddamaged: 2, rangeddamagec: 4, rangeddamageb: 6, rangeddamagea: 8},
  1160. Hungting_Rifle: {rangedammo: 8, rangedrof: 1, rangedconceal: 6, rangeddamaged: 2, rangeddamagec: 4, rangeddamageb: 6, rangeddamagea: 9},
  1161. Shotgun: {rangedammo: 8, rangedrof: 1, rangedconceal: 4, rangeddamaged: 1, rangeddamagec: 3, rangeddamageb: 5, rangeddamagea: 7},
  1162. Shotgun_solid_slugs: {rangedammo: 8, rangedrof: 1, rangedconceal: 4, rangeddamaged: 2, rangeddamagec: 5, rangeddamageb: 7, rangeddamagea: 10},
  1163. Assult_Rifle: {rangedammo: 40, rangedrof: 5, rangedconceal: 0, rangeddamaged: 2, rangeddamagec: 3, rangeddamageb: 5, rangeddamagea: 7},
  1164. SMG: {rangedammo: 30, rangedrof: 3, rangedconceal: 0, rangeddamaged: 1, rangeddamagec: 3, rangeddamageb: 4, rangeddamagea: 6},
  1165. LMG: {rangedammo: 100, rangedrof: 10, rangedconceal: 4, rangeddamaged: 2, rangeddamagec: 4, rangeddamageb: 6, rangeddamagea: 8},
  1166. HMG: {rangedammo: 100, rangedrof: 10, rangedconceal: 6, rangeddamaged: 3, rangeddamagec: 5, rangeddamageb: 7, rangeddamagea: 10},
  1167. Taser: {rangedammo: 2, rangedrof: 1, rangedconceal: -1, rangeddamaged: 1, rangeddamagec: 1, rangeddamageb: 2, rangeddamagea: 4},
  1168. Crossbow: {rangedammo: 1, rangedrof: 1, rangedconceal: 6, rangeddamaged: 1, rangeddamagec: 2, rangeddamageb: 5, rangeddamagea: 7}
  1169. };
  1170. const RangedWeaponType = values.RangedWeaponType; //make a temp variable called "RangedWeaponTypeValue" and store the value of RangedWeaponType in it. If not selected, 0
  1171. const thisRangedWeapon = rangedWeapons[values.repeating_rangedweapons_RangedWeaponType] || rangedweapons['none'];
  1172.  
  1173. setAttrs({
  1174. "repeating_rangedWeapons_RangedAmmo": thisRangedWeapon.rangedammo, //pass VehicleTypeValue into VehicleSpeedSafe
  1175. "repeating_rangedWeapons_RangedRoF": thisRangedWeapon.rangedrof,
  1176. "repeating_rangedWeapons_RangedConceal": thisRangedWeapon.rangedconceal,
  1177. "repeating_rangedWeapons_RangedDamageD": thisRangedWeapon.rangeddamaged,
  1178. "repeating_rangedWeapons_RangedDamageC": thisRangedWeapon.rangeddamagec,
  1179. "repeating_rangedWeapons_RangedDamageB": thisRangedWeapon.rangeddamageb,
  1180. "repeating_rangedWeapons_RangedDamageA": thisRangedWeapon.rangeddamagea
  1181. });
  1182. });
  1183. });
  1184.  
  1185. on("change:repeating_meleeWeapons:meleeweapontype", function() { //when the WeaponType dropdown changes
  1186. getAttrs(["repeating_meleeweapons_MeleeWeaponType"], function(values) { //read the value of the selected entry in the WeaponType dropdown
  1187.  
  1188. const meleeWeapons = {
  1189. none: {meleeconceal: 0},
  1190. Knife: {meleeconceal: -4},
  1191. Sword_small: {meleeconceal: -1},
  1192. Sword_medium: {meleeconceal: 1},
  1193. Sword_large: {meleeconceal: 3},
  1194. Club: {meleeconceal: 1},
  1195. Staff: {meleeconceal: 5},
  1196. Spear: {meleeconceal: 6},
  1197. Polearm: {meleeconceal: 5}
  1198. };
  1199. const MeleeWeaponType = values.MeleeWeaponType; //make a temp variable called "RangedWeaponTypeValue" and store the value of RangedWeaponType in it. If not selected, 0
  1200. const thisMeleeWeapon = meleeWeapons[values.repeating_meleeweapons_MeleeWeaponType] || meleeweapons['none'];
  1201.  
  1202. setAttrs({
  1203. "repeating_meleeWeapons_MeleeConceal": thisMeleeWeapon.meleeconceal
  1204. });
  1205. });
  1206. });
  1207.  
  1208. //on("change:repeating_meleeWeapons:meleeweaponrating", function() { //when the weapon rating changes
  1209. //getAttrs(["repeating_meleeweapons_MeleeWeaponType"], function(values) { //read the value of the selected entry in the WeaponType dropdown
  1210.  
  1211.  
  1212. on("change:repeating_meleeWeapons:meleeweaponrating change:repeating_meleeWeapons:meleeweapontype", function() {
  1213. getAttrs(["repeating_meleeweapons_MeleeWeaponRating", "repeating_meleeweapons_MeleeWeaponType"], function(values) {
  1214. let rating = parseInt(values.repeating_meleeweapons_MeleeWeaponRating) ||0;
  1215. let damaged = Math.round(rating * 0.25);
  1216. let damagec = Math.round(rating * 0.5);
  1217. let damageb = Math.round(rating * 0.75);
  1218. let damagea = Math.round(rating);
  1219. const meleeWeapons = {
  1220. none: {meleedamaged: 0, meleedamagec: 0, meleedamageb: 0, meleedamagea: 0},
  1221. Knife: {meleedamaged: (damaged), meleedamagec: (damagec), meleedamageb: (damageb), meleedamagea: (damagea)},
  1222. Sword_small: {meleedamaged: (damaged), meleedamagec: (damagec), meleedamageb: (damageb), meleedamagea: (damagea)},
  1223. Sword_medium: {meleedamaged: (damaged), meleedamagec: (damagec), meleedamageb: (damageb), meleedamagea: (damagea)},
  1224. Sword_large: {meleedamaged: (damaged), meleedamagec: (damagec), meleedamageb: (damageb), meleedamagea: (damagea)},
  1225. Club: {meleedamaged: (damaged), meleedamagec: (damagec), meleedamageb: (damageb), meleedamagea: (damagea)},
  1226. Staff: {meleedamaged: (damaged), meleedamagec: (damagec), meleedamageb: (damageb), meleedamagea: (damagea)},
  1227. Spear: {meleedamaged: (damaged), meleedamagec: (damagec), meleedamageb: (damageb), meleedamagea: (damagea)},
  1228. Polearm: {meleedamaged: (damaged), meleedamagec: (damagec), meleedamageb: (damageb), meleedamagea: (damagea)}
  1229. };
  1230. const MeleeWeaponType = values.MeleeWeaponType; //make a temp variable called "RangedWeaponTypeValue" and store the value of RangedWeaponType in it. If not selected, 0
  1231. const thisMeleeWeapon = meleeWeapons[values.repeating_meleeweapons_MeleeWeaponType] || meleeweapons['none'];
  1232.  
  1233. setAttrs({
  1234. "repeating_meleeWeapons_MeleeDamageD": thisMeleeWeapon.meleedamaged,
  1235. "repeating_meleeWeapons_MeleeDamageC": thisMeleeWeapon.meleedamagec,
  1236. "repeating_meleeWeapons_MeleeDamageB": thisMeleeWeapon.meleedamageb,
  1237. "repeating_meleeWeapons_MeleeDamageA": thisMeleeWeapon.meleedamagea
  1238. });
  1239. });
  1240. });
  1241.  
  1242. // a function to construct a string on the on(change) line
  1243. const buildChanges = (list, prefix = '', section = '') => list.map(item => `change:${(section ? `repeating_${section.toLowerCase()}:`: '')}${prefix.toLowerCase()}${item.toLowerCase()}`).join(' ');
  1244. const clog = (message) => console.log(`%c ${message}`, `color:green; font-weight:bold`);
  1245.  
  1246. const stats = ['Farsense', 'Creativity', 'Redaction', 'PK', 'Coercion', 'Dream'];
  1247. on(`${buildChanges(stats)} ${buildChanges(stats, 'OperantSkillUses', 'operantskills')} change:repeating_operantskills:operantskilltitle change:repeating_operantskills:operantskillname`, (event) => {
  1248. // event tells us which attribute changed, and that tells us what we need to do in the worker.
  1249. getSectionIDs("repeating_operantskills", idarray => {
  1250. // loop through the repeating section to get the row ides and full names of the relevant repeating attributes
  1251. const fieldnames = [];
  1252. idarray.forEach(id => {
  1253. fieldnames.push(`repeating_operantskills_${id}_OperantSkillTitle`);
  1254. fieldnames.push(`repeating_operantskills_${id}_OperantSkillRating`);
  1255. stats.forEach(stat => fieldnames.push(
  1256. `repeating_operantskills_${id}_OperantSkillUses${stat}`,
  1257. `repeating_operantskills_${id}_Skill${stat}`
  1258. ));
  1259.  
  1260. });
  1261. getAttrs([...stats, ...fieldnames], v => {
  1262. const output = {};
  1263. // get the values of the six core stats.
  1264. const statValues = {};
  1265. stats.forEach(stat => {
  1266. statValues[stat] = parseInt(v[stat]) || 0;
  1267. });
  1268.  
  1269. // check the stat values in the section are correct
  1270. idarray.forEach(id => {
  1271. stats.forEach(stat => {
  1272. const statvalue = parseInt(v[`repeating_operantskills_${id}_Skill${stat}`]) || 0;
  1273. if(statvalue !== statValues[stat]) output[`repeating_operantskills_${id}_Skill${stat}`] = statValues[stat];
  1274. });
  1275. });
  1276.  
  1277. // now calculate the OperantSkillRating for each row
  1278. idarray.forEach(id => {
  1279. const oldvalue = parseInt(v[`repeating_operantskills_${id}_OperantSkillRating`]) || 0;
  1280. const title = parseInt(v[`repeating_operantskills_${id}_OperantSkillTitle`]) || 0;
  1281. let maxValue = 0;
  1282.  
  1283. // loop through stats, see if they are checked, and if so add their value to statValues
  1284. stats.forEach(stat => {
  1285. if(parseInt(v[`repeating_operantskills_${id}_OperantSkillUses${stat}`]) && statValues[stat] > maxValue) maxValue = statValues[stat];
  1286. });
  1287.  
  1288. // now add the highest stat to the title/level
  1289. const newvalue = maxValue + title;
  1290. if (newvalue != oldvalue) output[`repeating_operantskills_${id}_OperantSkillRating`] = newvalue;
  1291. });
  1292.  
  1293. setAttrs(output);
  1294. });
  1295. });
  1296. });
  1297.  
  1298. </script>
  1299.  
  1300.  
Advertisement
Add Comment
Please, Sign In to add comment