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.

289 lines
12 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 year ago
1 year ago
  1. <ol class="form-list">
  2. <li class="form-group">
  3. <label class="short">{{localize "PF2E.SpellCategoryLabel"}}</label>
  4. <select name="system.category.value">
  5. {{#select data.category.value}}
  6. {{#each spellCategories as |label key|}}
  7. <option value="{{key}}">{{localize label}}</option>
  8. {{/each}}
  9. {{/select}}
  10. </select>
  11. </li>
  12. <li class="form-group">
  13. <label class="short">{{localize "PF2E.SpellTraditionsLabel"}}</label>
  14. <input class="tags paizo-style" name="system.traditions.value" value="{{json data.traditions.value}}" data-dtype="JSON" />
  15. </li>
  16. {{#unless isRitual}}
  17. <li class="form-group">
  18. <label>{{localize "PF2E.TraitCantrip"}}</label>
  19. <input class="toggle-trait" type="checkbox" {{checked isCantrip}} data-trait="cantrip" />
  20. </li>
  21. {{/unless}}
  22. </ol>
  23. <ol class="form-list">
  24. <h3>{{localize "PF2E.CastLabel"}}</h3>
  25. <div class="form-group">
  26. <label class="short">{{localize "PF2E.SpellTimeLabel"}}</label>
  27. <input type="text" name="system.time.value" value="{{data.time.value}}" />
  28. </div>
  29. <div class="form-group">
  30. <label class="short">{{localize "PF2E.SpellComponentsLabel"}}</label>
  31. <div class="form-fields spell-components">
  32. <label>
  33. <input type="checkbox" name="system.components.focus" {{checked data.components.focus}} />
  34. <span>{{localize "PF2E.SpellComponentShortF"}}</span>
  35. </label>
  36. <label>
  37. <input type="checkbox" name="system.components.material" {{checked data.components.material}} />
  38. <span>{{localize "PF2E.SpellComponentShortM"}}</span>
  39. </label>
  40. <label>
  41. <input type="checkbox" name="system.components.somatic" {{checked data.components.somatic}} />
  42. <span>{{localize "PF2E.SpellComponentShortS"}}</span>
  43. </label>
  44. <label>
  45. <input type="checkbox" name="system.components.verbal" {{checked data.components.verbal}} />
  46. <span>{{localize "PF2E.SpellComponentShortV"}}</span>
  47. </label>
  48. </div>
  49. </div>
  50. <div class="form-group">
  51. <label class="short">{{localize "PF2E.SpellRequirementsLabel"}}</label>
  52. <input type="text" name="system.materials.value" value="{{data.materials.value}}" />
  53. </div>
  54. <div class="form-group">
  55. <label class="short">{{localize "PF2E.SpellCostLabel"}}</label>
  56. <input type="text" name="system.cost.value" value="{{data.cost.value}}" />
  57. </div>
  58. </ol>
  59. {{#if isRitual}}
  60. <ol class="form-list">
  61. <h3>{{localize "PF2E.SpellRitualLabel"}}</h3>
  62. <div class="form-group">
  63. <label class="short">{{localize "PF2E.SpellPrimaryCheckLabel"}}</label>
  64. <input type="text" name="system.primarycheck.value" value="{{data.primarycheck.value}}" />
  65. </div>
  66. <div class="form-group">
  67. <label class="short">{{localize "PF2E.SpellSecondaryChecksLabel"}}</label>
  68. <input type="text" name="system.secondarycheck.value" value="{{data.secondarycheck.value}}" />
  69. </div>
  70. <div class="form-group">
  71. <label class="short">{{localize "PF2E.SpellSecondaryCasters"}}</label>
  72. <input type="text" name="system.secondarycasters.value" value="{{data.secondarycasters.value}}" />
  73. </div>
  74. </ol>
  75. {{/if}}
  76. <ol class="form-list">
  77. <h3>{{localize "PF2E.Usage"}}</h3>
  78. <div class="form-group">
  79. <label class="short">{{localize "PF2E.SpellRangeLabel"}}</label>
  80. <input type="text" name="system.range.value" value="{{data.range.value}}" />
  81. </div>
  82. <div class="form-group">
  83. <label class="short">{{localize "PF2E.SpellTargetLabel"}}</label>
  84. <input type="text" name="system.target.value" value="{{data.target.value}}" />
  85. </div>
  86. <div class="form-group">
  87. <label class="short">{{localize "PF2E.AreaLabel"}}</label>
  88. <div class="details-container-two-columns">
  89. <select name="system.area.value" data-dtype="Number">
  90. <option value="0"></option>
  91. {{#select data.area.value}}
  92. {{#each areaSizes as |label key|}}
  93. <option value="{{key}}">{{localize label}}</option>
  94. {{/each}}
  95. {{/select}}
  96. </select>
  97. <select name="system.area.type">
  98. <option value=""></option>
  99. {{#select data.area.type}}
  100. {{#each areaTypes as |label type|}}
  101. <option value="{{type}}">{{localize label}}</option>
  102. {{/each}}
  103. {{/select}}
  104. </select>
  105. </div>
  106. </div>
  107. <div class="form-group">
  108. <label class="short">{{localize "PF2E.SpellDurationLabel"}}</label>
  109. <input type="text" name="system.duration.value" value="{{data.duration.value}}" />
  110. </div>
  111. </ol>
  112. <ol class="form-list">
  113. <h3>{{localize "PF2E.DamageLabel"}}</h3>
  114. <div class="form-group">
  115. <label class="short">{{localize "PF2E.SpellTypeLabel"}}</label>
  116. <select name="system.spellType.value">
  117. {{#select data.spellType.value}}
  118. {{#each spellTypes as |name type|}}
  119. <option value="{{type}}">{{localize name}}</option>
  120. {{/each}}
  121. {{/select}}
  122. </select>
  123. </div>
  124. <div class="form-group">
  125. <label class="short">{{localize "PF2E.SpellSaveLabel"}}</label>
  126. <div class="details-container-two-columns">
  127. <select name="system.save.basic">
  128. {{#select data.save.basic}}
  129. <option value=""></option>
  130. <option value="basic">{{localize "PF2E.SpellBasicSaveOption"}}</option>
  131. {{/select}}
  132. </select>
  133. <select name="system.save.value">
  134. {{#select data.save.value}}
  135. <option value=""></option>
  136. {{#each saves as |ability a|}}
  137. <option value="{{a}}">{{localize ability}}</option>
  138. {{/each}}
  139. {{/select}}
  140. </select>
  141. </div>
  142. </div>
  143. <div class="damage-formulas">
  144. <h3>
  145. {{localize "PF2E.FormulaPlaceholder"}}
  146. <div class="item-controls">
  147. <i class="fa-solid fa-fw fa-plus" data-action="damage-create"></i>
  148. </div>
  149. </h3>
  150. {{#each data.damage.value as |damage id|}}
  151. <div class="form-group">
  152. <div class="form-fields">
  153. <input type="text" name="system.damage.value.{{id}}.value" value="{{damage.value}}" placeholder="{{localize "PF2E.FormulaPlaceholder"}}" />
  154. <label>
  155. <span>&nbsp;{{localize "PF2E.SpellAbilityModLabel"}}</span>
  156. <input type="checkbox" name="system.damage.value.{{id}}.applyMod" {{checked damage.applyMod}} />
  157. </label>
  158. <select name="system.damage.value.{{id}}.type.subtype">
  159. {{#select damage.type.subtype}}
  160. <option></option>
  161. {{#each @root.damageSubtypes as |name type|}}
  162. <option value="{{type}}">{{localize name}}</option>
  163. {{/each}}
  164. {{/select}}
  165. </select>
  166. <select name="system.damage.value.{{id}}.type.value">
  167. {{#select damage.type.value}}
  168. <option value=""></option>
  169. {{#each @root.damageTypes as |name type|}}
  170. <option value="{{type}}">{{localize name}}</option>
  171. {{/each}}
  172. {{/select}}
  173. </select>
  174. <div class="item-controls">
  175. <a
  176. class="tag-selector"
  177. data-tag-selector="basic"
  178. data-title="PF2E.DamageCategoriesLabel"
  179. data-config-types="materialDamageEffects"
  180. data-property="system.damage.value.{{id}}.type.categories"
  181. ><i class="fa-solid fa-fw fa-edit"></i></a>
  182. <a data-action="damage-delete" data-id="{{id}}"><i class="fa-solid fa-fw fa-trash"></i></a>
  183. </div>
  184. </div>
  185. {{#if damage.type.categories}}
  186. <div class="traits-list">
  187. {{#each damage.type.categories}}
  188. <div class="tag-legacy">{{localize (lookup @root.damageCategories this)}}</div>
  189. {{/each}}
  190. </div>
  191. {{/if}}
  192. </div>
  193. {{/each}}
  194. </div>
  195. </ol>
  196. {{#unless data.heightening.type}}
  197. {{#if canHeighten}}
  198. <button type="button" data-action="heightening-interval-create"><i class="fa-solid fa-fw fa-plus"></i> {{localize "PF2E.SpellScalingInterval.Add"}}</button>
  199. {{/if}}
  200. {{/unless}}
  201. {{#if (eq data.heightening.type "interval")}}
  202. <div class="form-list">
  203. <div class="form-group">
  204. <h3>{{localize "PF2E.SpellScalingInterval.Header"}}</h3>
  205. <div class="item-controls">
  206. <i class="fa-solid fa-fw fa-trash" data-action="heightening-delete" data-idx="{{idx}}"></i>
  207. </div>
  208. </div>
  209. <div class="form-group">
  210. <label class="short">{{localize "PF2E.SpellScalingInterval.Label"}}</label>
  211. <select name="system.heightening.interval" data-dtype="Number">
  212. {{#select data.heightening.interval}}
  213. {{#each @root.heightenIntervals as |key|}}
  214. <option value="{{key}}">{{localize "PF2E.SpellScalingInterval.Selection" interval=key}}</option>
  215. {{/each}}
  216. {{/select}}
  217. </select>
  218. </div>
  219. {{#each data.damage.value as |damage idx|}}
  220. <div class="form-group">
  221. <label class="short">{{localize (lookup @root.damageTypes damage.type.value)}}</label>
  222. <input type="text" name="system.heightening.damage.{{idx}}" value="{{lookup ../data.heightening.damage idx}}" />
  223. </div>
  224. {{/each}}
  225. </div>
  226. {{/if}}
  227. {{! Spell heightening for fixed levels}}
  228. {{#unless (eq data.heightening.type "interval")}}
  229. {{#each heightenOverlays}}
  230. {{> systems/pf2e/templates/items/spell-overlay.hbs this=this}}
  231. {{/each}}
  232. {{#if canHeighten}}
  233. <button type="button" data-action="heightening-fixed-create" data-overlay-type="heightening">
  234. <i class="fa-solid fa-fw fa-plus"></i> {{localize "PF2E.SpellScalingOverlay.Add"}}
  235. </button>
  236. {{/if}}
  237. {{/unless}}
  238. <div class="form-group">
  239. <label>{{localize "PF2E.Item.Spell.Counteract.Label"}}</label>
  240. <input type="checkbox" name="system.hasCounteractCheck.value" {{checked data.hasCounteractCheck.value}} />
  241. </div>
  242. {{#if (not isVariant)}}
  243. <div class="form-list variants" data-can-drop="true">
  244. <div class="form-group">
  245. <h3>{{localize "PF2E.Item.Spell.Variants.LabelPlural"}}</h3>
  246. <div class="item-controls">
  247. <i class="fa-solid fa-fw fa-plus" data-action="variant-create"></i>
  248. </div>
  249. </div>
  250. {{#each variants as |variant|}}
  251. <div class="variant" data-variant-id="{{variant.id}}">
  252. <label>{{variant.name}}</label>
  253. <span class="action-glyph">{{variant.actions}}</span>
  254. <div class="item-controls">
  255. <a data-action="variant-edit" data-id="{{variant.id}}"><i class="fa-solid fa-fw fa-edit"></i></a>
  256. <a data-action="variant-delete" data-id="{{variant.id}}"><i class="fa-solid fa-fw fa-trash"></i></a>
  257. </div>
  258. </div>
  259. {{/each}}
  260. </div>
  261. {{/if}}