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.

243 lines
13 KiB

1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
  1. <form class="{{cssClass}}" autocomplete="off" spellcheck="false">
  2. <!-- HEADER -->
  3. <header class="familiar-sheet-header">
  4. <div class="image-container">
  5. <img class="actor-image" src="{{actor.img}}" data-edit="img" title="{{actor.name}}" />
  6. <a class="hover-icon" data-action="show-image"><i class="fa-solid fa-image fa-fw"></i></a>
  7. </div>
  8. <div class="header-content">
  9. <div class="charname">
  10. <input class=" charname-value" name="name" type="text" value="{{actor.name}}"
  11. placeholder="{{localize "PF2E.NPC.Familiar"}}" spellcheck="false" />
  12. <label class="familiar-title">{{localize "TYPES.Actor.familiar"}}</label>
  13. {{#if data.master.id}}
  14. <label class="familiar-title"> {{data.details.level.value}}</label>
  15. {{/if}}
  16. </div>
  17. <div class="sub-header">
  18. <div class="traits">
  19. {{#each traits as |trait|}}
  20. <span data-trait="{{trait.value}}" title="{{trait.description}}">{{localize trait.label}}</span>
  21. {{/each}}
  22. <span title="{{localize "PF2E.Size"}}">{{localize size}}</span>
  23. </div>
  24. <div>
  25. <label for="{{actor._id}}-master"><strong>{{localize "PF2E.Familiar.Master"}}</strong></label>
  26. <select id="{{actor._id}}-master" name="system.master.id">
  27. {{#select master.id}}
  28. <option value="">{{localize "PF2E.Familiar.SelectMaster"}}</option>
  29. {{#each masters as |eligible idx|}}
  30. <option value="{{eligible.id}}">{{eligible.name}}</option>
  31. {{/each}}
  32. {{/select}}
  33. </select>
  34. </div>
  35. </div>
  36. <section class="details-section">
  37. <div class="hp-section">
  38. <div class="label">
  39. <i class="fa-solid fa-heart"></i>
  40. <h4>{{localize "PF2E.HitPointsHeader"}}</h4>
  41. </div>
  42. <div class="value">
  43. <input class="current-hp" id="{{actor._id}}-hit-points" type="number"
  44. name="system.attributes.hp.value" value="{{data.attributes.hp.value}}" class="current-hp"
  45. data-dtype="Number" />
  46. <div>/ </div>
  47. <div class="total-hp" title="{{data.attributes.hp.breakdown}}">{{data.attributes.hp.max}}</div>
  48. <div class="temp-hp">
  49. (+<input name="system.attributes.hp.temp" type="number" value="{{data.attributes.hp.temp}}" placeholder="0" />)
  50. </div>
  51. </div>
  52. <div class="label">
  53. <i class="fa-solid fa-heart-broken"></i>
  54. <h4>{{localize "PF2E.condition.dying.name"}}</h4>
  55. </div>
  56. <div class="value dying-section">
  57. {{#if data.attributes.dying.value}}
  58. <a class="rollable roll-icon" data-action="recovery-check" title="{{localize "PF2E.Check.Specific.Recovery"}}">
  59. <i class="fa-solid fa-dice-d20"></i>
  60. </a>
  61. {{/if}}
  62. <a class="dots dying" title="{{localize "PF2E.condition.dying.summary"}}">
  63. <span class="pips">{{> "systems/pf2e/templates/actors/partials/dying-pips.hbs"}}</span>
  64. </a>
  65. </div>
  66. </div>
  67. <div class="defenses-section">
  68. {{#if data.master.id}}
  69. <div class="defenses-list">
  70. <div class="ac" title="{{data.attributes.ac.breakdown}}">
  71. <div class="name">{{localize "PF2E.ArmorClassShortLabel"}}</div>
  72. <div class="value"><i class="fa-solid fa-shield-alt"></i>{{numberFormat data.attributes.ac.value decimals=0 sign=false}}</div>
  73. </div>
  74. {{#each data.saves as |save|}}
  75. <a class="saves save-name rollable" title="{{save.breakdown}}" data-save="{{save.slug}}">
  76. <div class="name">{{localize save.label}}</div>
  77. <div class="value">{{numberFormat save.value decimals=0 sign=true}}</div>
  78. </a>
  79. {{/each}}
  80. </div>
  81. {{/if}}
  82. </div>
  83. </section>
  84. </div>
  85. </header>
  86. <hr>
  87. <div class="main-section">
  88. <div class="skill-sidebar">
  89. <!-- SKILLS -->
  90. <div class="section-container">
  91. <div class="section-header">
  92. <h4>{{localize "PF2E.Familiar.Skills"}}</h4>
  93. </div>
  94. <div class="section-body">
  95. <div class="skills-content">
  96. {{#if data.master.id}}
  97. <div class="skills-list">
  98. <div class="skill-name rollable perception" title="{{data.attributes.perception.breakdown}}" data-action="perception-check">
  99. <div class="score">{{numberFormat data.attributes.perception.value decimals=0 sign=true}}</div>
  100. <div class="name">{{localize "PF2E.Familiar.Perception"}}</div>
  101. </div>
  102. </div>
  103. <div class="skills-list">
  104. {{#each skills as |skill|}}
  105. <div class="skill-name rollable" title="{{skill.breakdown}}" data-skill="{{skill.slug}}">
  106. <div class="score">{{numberFormat skill.value decimals=0 sign=true}}</div>
  107. <div class="name">{{skill.label}}</div>
  108. </div>
  109. {{/each}}
  110. </div>
  111. <div class="rollable skills-attack" title="{{data.attack.breakdown}}" data-attack-roll="">
  112. <strong>{{localize "PF2E.Familiar.AttackRoll"}}</strong>
  113. <span>{{numberFormat data.attack.value decimals=0 sign=true}}</span>
  114. </div>
  115. {{/if}}
  116. </div>
  117. </div>
  118. </div>
  119. </div>
  120. <div class="main-container">
  121. <!-- FAMILIAR -->
  122. <div class="familiar-section section-container">
  123. <div class="section-header">
  124. <h4>{{localize "PF2E.Familiar.Familiar"}}</h4>
  125. </div>
  126. <div class="section-body">
  127. <div class="familiar-content">
  128. <!-- Species Name -->
  129. <div class="familiar-species">
  130. <div class="detail">
  131. <div class="detail-label" for="{{actor._id}}-species">{{localize "PF2E.Familiar.CreatureType"}}</div>
  132. <input id="{{actor._id}}-species" type="text" name="system.details.creature.value"
  133. value="{{data.details.creature.value}}" placeholder="Rat, imp, leshy, etc." />
  134. </div>
  135. </div>
  136. <!-- Master Ability Modifier -->
  137. {{#if data.master.id}}
  138. <div class="familiar-modifier">
  139. <div class="detail">
  140. <div class="detail-label">{{localize "PF2E.Familiar.MasterSpellcastingAbility"}}</div>
  141. <select id="{{actor._id}}-spellcasting-ability" name="system.master.ability">
  142. {{#select data.master.ability}}
  143. {{#each abilities as |ability abbr|}}
  144. <option value="{{abbr}}">{{localize ability}}</option>
  145. {{/each}}
  146. {{/select}}
  147. </select>
  148. </div>
  149. </div>
  150. {{/if}}
  151. </div>
  152. {{#if data.master.id}}
  153. <div class="familiar-content">
  154. <div class="detail">
  155. <div class="detail-label">{{localize "PF2E.Familiar.TotalNumberFamiliarAbilities"}}</div>
  156. <div>
  157. <h4>{{numberFormat familiarAbilities.value decimals=0}}</h4>
  158. </div>
  159. </div>
  160. </div>
  161. <div class="familiar-content">
  162. <!-- Speed -->
  163. <div class="familiar-senses">
  164. <div class="detail">
  165. <div class="detail-label">{{localize "PF2E.Speed"}}</div>
  166. <ol class="tags speeds">
  167. {{#with data.attributes.speed as |landSpeed|}}
  168. <li class="tag tag_alt" title="{{landSpeed.breakdown}}">{{localize landSpeed.label}}
  169. ({{landSpeed.total}})</li>
  170. {{/with}}
  171. {{#each data.attributes.speed.otherSpeeds as |speed k|}}
  172. <li class="tag tag_alt {{k}}" title="{{speed.breakdown}}">
  173. {{localize speed.label}} ({{speed.total}})
  174. </li>
  175. {{/each}}
  176. </ol>
  177. </div>
  178. </div>
  179. <!-- Senses -->
  180. <div class="familiar-senses">
  181. <div class="detail">
  182. <div class="detail-label">{{localize "PF2E.Senses"}}</div>
  183. <ol class="tags senses">
  184. {{#each data.traits.senses as |sense k|}}
  185. <li class="tag tag_alt {{k}}">
  186. {{localize sense.label}}
  187. </li>
  188. {{/each}}
  189. </ol>
  190. </div>
  191. </div>
  192. </div>
  193. {{/if}}
  194. </div>
  195. </div>
  196. <!-- ABILITIES -->
  197. <div class="section-container">
  198. <div class="section-header">
  199. <h4>{{localize "PF2E.Familiar.AbilitiesLabel"}}</h4>
  200. <div class="controls">
  201. <a class="action-browse" data-action-category="familiar"><i class="fa-solid fa-search"></i> {{localize "PF2E.BrowseLabel"}}</a>
  202. </div>
  203. </div>
  204. <div class="section-body">
  205. <ol class="actions-list item-list">
  206. {{#each familiarAbilities.items as |action|}}
  207. {{> "systems/pf2e/templates/actors/npc/partials/action.hbs" action=action isEditable=../options.editable}}
  208. {{/each}}
  209. </ol>
  210. </div>
  211. </div>
  212. <!-- CONDITIONS -->
  213. {{#if document.itemTypes.condition}}
  214. <div class="section-container">
  215. <div class="section-header">
  216. <h4>{{localize "PF2E.ConditionsLabel"}}</h4>
  217. </div>
  218. <div class="section-body">
  219. <ol class="effects-list item-list">
  220. {{> "systems/pf2e/templates/actors/partials/effects.hbs" effects=document.conditions.active}}
  221. </ol>
  222. </div>
  223. </div>
  224. {{/if}}
  225. <!-- EFFECTS -->
  226. {{#if document.itemTypes.effect}}
  227. <div class="section-container">
  228. <div class="section-header">
  229. <h4>{{localize "PF2E.EffectsLabel"}}</h4>
  230. </div>
  231. <div class="section-body">
  232. <ol class="effects-list item-list">
  233. {{> "systems/pf2e/templates/actors/partials/effects.hbs" effects=document.itemTypes.effect}}
  234. </ol>
  235. </div>
  236. </div>
  237. {{/if}}
  238. </div>
  239. </div>
  240. </form>