Guest User

Untitled

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