All user data for FoundryVTT. Includes worlds, systems, modules, and any asset in the "foundryuserdata" directory. Does NOT include the FoundryVTT installation itself.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

363 lines
16 KiB

  1. <!-- HEALTH -->
  2. <div class="sidebar_title">
  3. <h2>{{localize "PF2E.HitPointsHeader"}}</h2>
  4. <button type="button" class="modifiers_button hover" data-tooltip-content="#{{options.id}}-hp-modifiers">
  5. <i class="fa-solid fa-eye"></i> {{localize "PF2E.ModifiersTitle"}}
  6. </button>
  7. </div>
  8. <div class="hitpoints">
  9. <div class="hp-big">
  10. <div class="container temp-hp">
  11. <label for="{{options.id}}-pc-hp-temp" class="sidebar_label">{{localize "PF2E.TempHitPointsShortLabel"}}</label>
  12. <div class="data-value">
  13. <input name="system.attributes.hp.temp" id="{{options.id}}-pc-hp-temp" type="number" value="{{data.attributes.hp.temp}}" placeholder="0" />
  14. </div>
  15. </div>
  16. <div class="container current-hp">
  17. <label for="{{options.id}}-pc-hp" class="sidebar_label">{{localize "PF2E.CurrentHitPointsShortLabel"}}</label>
  18. <div class="data-value">
  19. <input name="system.attributes.hp.value" id="{{options.id}}-pc-hp" type="number" value="{{data.attributes.hp.value}}" placeholder="10" />
  20. </div>
  21. </div>
  22. <div class="container max-hp">
  23. <span class="sidebar_label">{{localize "PF2E.MaxHitPointsShortLabel"}}</span>
  24. <div class="data-value">
  25. <h2>
  26. {{~data.attributes.hp.max~}}
  27. {{~#if data.attributes.hp.unrecoverable~}}
  28. <span class="unrecoverable" data-tooltip="{{localize "PF2E.Actor.HitPoints.Unrecoverable" value=data.attributes.hp.unrecoverable}}">*</span>
  29. {{~/if~}}
  30. </h2>
  31. </div>
  32. </div>
  33. </div>
  34. <div class="hp-small">
  35. <a
  36. class="rollable roll-icon{{#if (not data.attributes.dying.value)}} disabled{{/if}}"
  37. data-action="recovery-check"
  38. data-tooltip="{{localize "PF2E.Check.Specific.Recovery"}}"
  39. >
  40. {{> "systems/pf2e/templates/actors/character/icons/d20.hbs"}}
  41. </a>
  42. <a class="dots dying">
  43. <span class="sidebar_label">{{localize "PF2E.condition.dying.name"}}</span>
  44. {{> "systems/pf2e/templates/actors/partials/dying-pips.hbs"}}
  45. </a>
  46. <a class="dots wounded">
  47. <span class="sidebar_label">{{localize "PF2E.condition.wounded.name"}}</span>
  48. <span class="pips">
  49. {{#times data.attributes.wounded.value}}<i class="fa-solid fa-dot-circle"></i>{{/times}}
  50. {{#times dying.remainingWounded}}<i class="fa-regular fa-circle"></i>{{/times}}
  51. </span>
  52. </a>
  53. <a class="roll-icon rest" data-action="rest" data-tooltip="PF2E.Actor.Character.Rest.Label">
  54. <i class="fa-solid fa-bed"></i>
  55. </a>
  56. </div>
  57. </div>
  58. {{#with data.attributes.hp}}
  59. {{> "systems/pf2e/templates/actors/partials/modifiers-tooltip.hbs" title="PF2E.HitPointsHeader"}}
  60. {{/with}}
  61. <!-- STAMINA (if enabled) -->
  62. {{#if hasStamina}}
  63. <div class="sidebar_title">
  64. <h2>{{localize "PF2E.StaminaPointsHeader"}}</h2>
  65. </div>
  66. <ol class="stamina">
  67. <li class="sp">
  68. <label for="{{options.id}}-pc-stamina" class="sidebar_label">{{localize "PF2E.StaminaPointsShortLabel"}}</label>
  69. <span class="hp-current stamina-group">
  70. <input
  71. id="{{options.id}}-pc-stamina"
  72. class="left"
  73. type="number"
  74. min="0"
  75. max="{{data.attributes.hp.sp.max}}"
  76. name="system.attributes.hp.sp.value"
  77. value="{{data.attributes.hp.sp.value}}"
  78. />
  79. <span class="divider">&sol;</span>
  80. <input class="right" type="number" value="{{data.attributes.hp.sp.max}}" disabled="disabled" />
  81. </span>
  82. </li>
  83. <li class="resolve">
  84. <label for="{{options.id}}-pc-resolve" class="sidebar_label">{{localize "PF2E.ResolvePointsShortLabel"}}</label>
  85. <span class="hp-max stamina-group">
  86. <input
  87. id="{{options.id}}-pc-resolve"
  88. class="left"
  89. type="number"
  90. min="0"
  91. max="{{data.resources.resolve.max}}"
  92. name="system.resources.resolve.value"
  93. value="{{data.resources.resolve.value}}"
  94. />
  95. <span class="divider">&sol;</span>
  96. <input class="right" type="number" value="{{data.resources.resolve.max}}" disabled="disabled" />
  97. </span>
  98. </li>
  99. </ol>
  100. {{/if}}
  101. <!-- ARMOR CLASS -->
  102. <div class="sidebar_title">
  103. <h2>{{localize "PF2E.ArmorClassLabel"}}</h2>
  104. <button type="button" class="modifiers_button hover" data-tooltip-content="#{{options.id}}-armor-modifiers">
  105. <i class="fa-solid fa-eye"></i> {{localize "PF2E.ModifiersTitle"}}
  106. </button>
  107. </div>
  108. <div class="armor-class">
  109. <div class="shield ac">
  110. <div class="data-value">
  111. <h2>{{data.attributes.ac.value}}</h2>
  112. </div>
  113. <span class="sidebar_label">{{localize "PF2E.ArmorClassShortLabel"}}</span>
  114. </div>
  115. <div class="shield hp">
  116. <div class="data-value">
  117. <input id="{{@root.options.id}}-shield-hp" type="number" placeholder="0" name="system.attributes.shield.hp.value" value="{{data.attributes.shield.hp.value}}" />
  118. </div>
  119. <label for="{{@root.options.id}}-shield-hp" class="sidebar_label">{{localize "PF2E.Actor.Creature.Shield.HitPoints.Value"}}</label>
  120. </div>
  121. <div class="shield-stats">
  122. <ol>
  123. <li data-tooltip="PF2E.Actor.Creature.Shield.ACBonus">
  124. <div class="shield-label">
  125. <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 11.9 14">
  126. <path
  127. d="M5.9 13.5c-.9-.4-1.9-1-2.7-1.6-.7-.5-1.3-1.1-1.9-1.7C.8 9.6.5 8.9.5 8.1v-6L6 .5l5.4 1.6v6c0 .7-.3 1.5-.8 2.1-.6.7-1.2 1.3-1.9 1.7-.9.6-1.8 1.2-2.8 1.6z"
  128. fill="#fff"
  129. />
  130. <text x="6" y="8.5" font-family="Verdana" text-anchor="middle" font-size="5" fill="black">{{localize "PF2E.ArmorClassShortLabel"}}</text>
  131. </svg>
  132. </div>
  133. <span class="data-value">
  134. <input type="number" placeholder="0" value="{{data.attributes.shield.ac}}" readonly="readonly" />
  135. </span>
  136. </li>
  137. <li data-tooltip="PF2E.Actor.Creature.Shield.Hardness.Hint">
  138. <div class="shield-label">
  139. <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 11.9 14">
  140. <path
  141. d="M5.9 13.5c-.9-.4-1.9-1-2.7-1.6-.7-.5-1.3-1.1-1.9-1.7C.8 9.6.5 8.9.5 8.1v-6L6 .5l5.4 1.6v6c0 .7-.3 1.5-.8 2.1-.6.7-1.2 1.3-1.9 1.7-.9.6-1.8 1.2-2.8 1.6z"
  142. fill="#fff"
  143. />
  144. <text x="6" y="8.5" font-family="Verdana" text-anchor="middle" font-size="5" fill="black">{{localize "PF2E.Actor.Creature.Shield.Hardness.Label"}}</text>
  145. </svg>
  146. </div>
  147. <span class="data-value">
  148. <input type="number" placeholder="0" value="{{data.attributes.shield.hardness}}" readonly="readonly" />
  149. </span>
  150. </li>
  151. <li data-tooltip="PF2E.Actor.Creature.Shield.BrokenThreshold">
  152. <div class="shield-label">
  153. <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 11.9 14">
  154. <path
  155. d="M5.9 13.5c-.9-.4-1.9-1-2.7-1.6-.7-.5-1.3-1.1-1.9-1.7C.8 9.6.5 8.9.5 8.1v-6L6 .5l5.4 1.6v6c0 .7-.3 1.5-.8 2.1-.6.7-1.2 1.3-1.9 1.7-.9.6-1.8 1.2-2.8 1.6z"
  156. fill="#fff"
  157. />
  158. <text x="6" y="8.5" font-family="Verdana" text-anchor="middle" font-size="5" fill="black">{{localize "PF2E.Item.Physical.BrokenThreshold.ShortLabel"}}</text>
  159. </svg>
  160. </div>
  161. <span class="data-value">
  162. <input type="number" value="{{data.attributes.shield.brokenThreshold}}" readonly="readonly" />
  163. </span>
  164. </li>
  165. </ol>
  166. </div>
  167. <div class="armor_footer">
  168. <div class="shield-max">
  169. <label for="{{@root.options.id}}-shield-max" class="sidebar_label">
  170. {{localize "PF2E.Actor.Creature.Shield.HitPoints.Max"}}
  171. </label>
  172. <span class="data-value">
  173. <input id="{{@root.options.id}}-shield-max" type="number" placeholder="0" value="{{data.attributes.shield.hp.max}}" readonly="readonly" />
  174. </span>
  175. </div>
  176. <div class="shield-status">
  177. {{#if data.attributes.shield.destroyed}}
  178. <span class="sidebar_label">{{localize "PF2E.Item.Physical.Destroyed"}}</span>
  179. <i class="fa-regular fa-times-circle"></i>
  180. {{else}}
  181. <span class="sidebar_label">{{localize "PF2E.Item.Physical.Broken"}}</span>
  182. {{#if data.attributes.shield.broken}}<i class="fa-regular fa-times-circle"></i>{{else}}<i class="fa-regular fa-circle"></i>{{/if}}
  183. {{/if}}
  184. </div>
  185. </div>
  186. </div>
  187. {{#with data.attributes.ac}}
  188. {{> "systems/pf2e/templates/actors/partials/modifiers-tooltip.hbs" title="PF2E.ArmorClassLabel"}}
  189. {{/with}}
  190. <!-- Perception -->
  191. <div class="sidebar_title">
  192. <h2>{{localize "PF2E.PerceptionHeader"}}</h2>
  193. <button type="button" class="modifiers_button hover" data-tooltip-content="#{{options.id}}-perception-modifiers">
  194. <i class="fa-solid fa-eye"></i> {{localize "PF2E.ModifiersTitle"}}
  195. </button>
  196. </div>
  197. <div class="roll-data perception-sidebar">
  198. <a class="roll-icon" data-action="roll-check" data-statistic="perception" data-tooltip="PF2E.Check.Specific.Perception.Label">
  199. {{> "systems/pf2e/templates/actors/character/icons/d20.hbs"}}
  200. </a>
  201. <a
  202. class="roll-icon"
  203. data-action="roll-check"
  204. data-statistic="perception"
  205. data-secret
  206. data-tooltip="PF2E.Check.Specific.Perception.Secret"
  207. ><i class="fa-solid fa-eye-slash"></i></a>
  208. <h3>{{numberFormat data.attributes.perception.value decimals=0 sign=true}}</h3>
  209. <div class="perception-prof button-group skill-container">
  210. <select
  211. class="perception-proficiency pf-rank{{#if rank.immutable}} readonly{{/if}}"
  212. data-property="system.attributes.perception.rank"
  213. data-rank="{{data.attributes.perception.rank}}"
  214. data-dtype="Number"
  215. >
  216. {{> "systems/pf2e/templates/actors/character/partials/proficiencylevels-dropdown.hbs" proflevel=data.attributes.perception.rank}}
  217. </select>
  218. </div>
  219. </div>
  220. {{#with data.attributes.perception}}
  221. {{> "systems/pf2e/templates/actors/partials/modifiers-tooltip.hbs" title="PF2E.PerceptionHeader"}}
  222. {{/with}}
  223. <!-- Initiative -->
  224. <div class="sidebar_title">
  225. <h2>{{localize "PF2E.InitiativeLabel"}}</h2>
  226. <button type="button" class="modifiers_button hover" data-tooltip-content="#{{options.id}}-initiative-modifiers">
  227. <i class="fa-solid fa-eye"></i> {{localize "PF2E.ModifiersTitle"}}
  228. </button>
  229. </div>
  230. <div class="roll-data initiative-sidebar">
  231. <a class="roll-icon" data-action="roll-initiative" data-tooltip="COMBAT.InitiativeRoll">
  232. {{> "systems/pf2e/templates/actors/character/icons/d20.hbs"}}
  233. </a>
  234. <h3>{{numberFormat data.attributes.initiative.totalModifier decimals=0 sign=true}}</h3>
  235. <h4 class="initiative-select">
  236. <select name="system.attributes.initiative.statistic">
  237. {{#select data.attributes.initiative.statistic}}
  238. <option value="perception">{{localize "PF2E.PerceptionLabel"}}</option>
  239. {{#each data.skills as |skill|}}
  240. <option value="{{skill.slug}}">{{localize skill.label}}</option>
  241. {{/each}}
  242. {{/select}}
  243. </select>
  244. </h4>
  245. </div>
  246. {{#with data.attributes.initiative}}
  247. {{> "systems/pf2e/templates/actors/partials/modifiers-tooltip.hbs" title=label}}
  248. {{/with}}
  249. <!-- Saves -->
  250. <div class="sidebar_title">
  251. <h2>{{localize "PF2E.SavesHeader"}}</h2>
  252. </div>
  253. <ul class="sidebar-saves">
  254. {{#each data.saves as |save slug|}}
  255. <li class="roll-data" data-save="{{slug}}">
  256. <h2 class="sidebar_label">{{localize save.label}}</h2>
  257. <div class="save-prof button-group skill-container">
  258. <select
  259. class="save-proficiency pf-rank{{#if rank.immutable}} readonly{{/if}}"
  260. data-property="system.saves.{{slug}}.rank"
  261. data-rank="{{save.rank}}"
  262. data-dtype="Number"
  263. >
  264. {{> "systems/pf2e/templates/actors/character/partials/proficiencylevels-dropdown.hbs" proflevel=save.rank}}
  265. </select>
  266. </div>
  267. <div class="save-roll">
  268. <a class="roll-icon" data-action="roll-check" data-statistic="{{save.slug}}">
  269. {{> "systems/pf2e/templates/actors/character/icons/d20.hbs"}}
  270. </a>
  271. <h3>{{numberFormat save.totalModifier decimals=0 sign=true}}</h3>
  272. </div>
  273. <button type="button" class="modifiers_button hover" data-tooltip-content="#{{@root.options.id}}-{{save.slug}}-modifiers">
  274. {{localize "PF2E.ModifiersTitle"}}
  275. </button>
  276. {{#with save}}
  277. {{> "systems/pf2e/templates/actors/partials/modifiers-tooltip.hbs" title=label}}
  278. {{/with}}
  279. </li>
  280. {{/each}}
  281. </ul>
  282. <!-- Class DC -->
  283. {{#if classDCs.dcs}}
  284. <div class="sidebar_title">
  285. <h2>{{#if (gt classDCs.dcs.length 1)}}{{localize "PF2E.Actor.Character.ClassDC.Plural"}}{{else}}{{localize "PF2E.Actor.Character.ClassDC.Label"}}{{/if}}</h2>
  286. {{#unless classDCs.perDCDetails}}
  287. <button type="button" class="modifiers_button hover" data-tooltip-content="#{{options.id}}-{{classDCs.primary}}-modifiers"><i class="fa-solid fa-eye"></i> {{localize "PF2E.ModifiersTitle"}}</button>
  288. {{/unless}}
  289. </div>
  290. {{#each classDCs.dcs as |classDC|}}
  291. <div class="roll-data difficulty-checks class-dc{{#unless classDC.primary}} secondary{{/unless}}">
  292. <h3>
  293. {{classDC.dc}}
  294. {{#if ../classDCs.perDCDetails}}<span class="sidebar_label">{{classDC.label}}</span>{{/if}}
  295. </h3>
  296. <div class="classdc-rank">
  297. <span class="pf-rank" data-rank="{{classDC.rank}}">{{lookup @root.numberToRank classDC.rank}}</span>
  298. {{#if ../classDCs.perDCDetails}}
  299. <button type="button" class="modifiers_button hover" data-tooltip-content="#{{../options.id}}-{{classDC.slug}}-modifiers"><i class="fa-solid fa-eye"></i></button>
  300. {{/if}}
  301. </div>
  302. {{#with classDC}}
  303. {{> "systems/pf2e/templates/actors/partials/modifiers-tooltip.hbs" title="PF2E.Actor.Character.ClassDC.Label"}}
  304. {{/with}}
  305. </div>
  306. {{/each}}
  307. {{/if}}
  308. <!-- Immunities -->
  309. <div class="sidebar_title">
  310. <h2>{{localize "PF2E.ImmunitiesLabel"}}</h2>
  311. </div>
  312. <ol class="immunities tags">
  313. {{#each data.attributes.immunities as |immunity|}}
  314. <li class="tag tag_secondary" data-immunity="{{immunity.type}}">{{immunity.label}}</li>
  315. {{/each}}
  316. {{#if editable}}
  317. <li class="tag edit-btn">
  318. <a data-action="edit-immunities" data-tooltip="PF2E.NPC.EditImmunities"><i class="fa-solid fa-edit"></i></a>
  319. </li>
  320. {{/if}}
  321. </ol>
  322. <!-- Weaknesses -->
  323. <div class="sidebar_title">
  324. <h2>{{localize "PF2E.WeaknessesLabel"}}</h2>
  325. </div>
  326. <ol class="weaknesses tags">
  327. {{#each data.attributes.weaknesses as |weakness|}}
  328. <li class="tag tag_secondary" data-weakness="{{weakness.type}}">{{weakness.label}}</li>
  329. {{/each}}
  330. {{#if editable}}
  331. <li class="tag edit-btn">
  332. <a data-action="edit-weaknesses" data-tooltip="PF2E.NPC.EditWeaknesses"><i class="fa-solid fa-edit"></i></a>
  333. </li>
  334. {{/if}}
  335. </ol>
  336. <!-- Resistances -->
  337. <div class="sidebar_title">
  338. <h2>{{localize "PF2E.ResistancesLabel"}}</h2>
  339. </div>
  340. <ol class="resistances tags">
  341. {{#each data.attributes.resistances as |resistance|}}
  342. <li class="tag tag_secondary" data-resistance="{{resistance.type}}">{{resistance.label}}</li>
  343. {{/each}}
  344. {{#if editable}}
  345. <li class="tag edit-btn">
  346. <a data-action="edit-resistances" data-tooltip="PF2E.NPC.EditResistances"><i class="fa-solid fa-edit"></i></a>
  347. </li>
  348. {{/if}}
  349. </ol>