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.

303 lines
15 KiB

1 year ago
  1. const AECONSTS = {
  2. MN: "automated-evocations",
  3. animations: {},
  4. animationFunctions: {
  5. "fire": {
  6. fn: async (template,tokenData) => {
  7. await new Sequence()
  8. .effect()
  9. .file("modules/automated-evocations/assets/animations/fire_spiral_CIRCLE_01.webm")
  10. .belowTokens()
  11. .randomRotation()
  12. .atLocation(template)
  13. .scale(Math.max(tokenData.width,tokenData.height)*(tokenData.texture.scaleX + tokenData.texture.scaleY)/2*0.35)
  14. .wait(750)
  15. .effect()
  16. .file("modules/automated-evocations/assets/animations/fire_earth_explosion_CIRCLE_01.webm")
  17. .belowTokens()
  18. .randomRotation()
  19. .atLocation(template)
  20. .scale(Math.max(tokenData.width,tokenData.height)*(tokenData.texture.scaleX + tokenData.texture.scaleY)/2*0.35)
  21. .play()
  22. },
  23. time: 1000,
  24. group: "elemental"
  25. },
  26. "air": {
  27. fn: async (template,tokenData) => {
  28. await new Sequence()
  29. .effect()
  30. .file("modules/automated-evocations/assets/animations/air_infinity_RECTANGLE_01.webm")
  31. .belowTokens()
  32. .atLocation(template)
  33. .scale(Math.max(tokenData.width,tokenData.height)*(tokenData.texture.scaleX + tokenData.texture.scaleY)/2*0.35)
  34. .wait(750)
  35. .effect()
  36. .file("modules/automated-evocations/assets/animations/air_portal_CIRCLE_01.webm")
  37. .belowTokens()
  38. .randomRotation()
  39. .atLocation(template)
  40. .scale(Math.max(tokenData.width,tokenData.height)*(tokenData.texture.scaleX + tokenData.texture.scaleY)/2*0.35)
  41. .wait(750)
  42. .effect()
  43. .file("modules/automated-evocations/assets/animations/air_puff_CIRCLE_01.webm")
  44. .belowTokens()
  45. .randomRotation()
  46. .atLocation(template)
  47. .scale(Math.max(tokenData.width,tokenData.height)*(tokenData.texture.scaleX + tokenData.texture.scaleY)/2*0.35)
  48. .play()
  49. },
  50. time: 1650,
  51. group: "elemental"
  52. },
  53. "lightning": {
  54. fn: async (template,tokenData) => {
  55. await new Sequence()
  56. .effect()
  57. .file("modules/automated-evocations/assets/animations/ring_CIRCLE_01.webm")
  58. .belowTokens()
  59. .randomRotation()
  60. .atLocation(template)
  61. .scale(Math.max(tokenData.width,tokenData.height)*(tokenData.texture.scaleX + tokenData.texture.scaleY)/2*0.55)
  62. .wait(750)
  63. .effect()
  64. .file("modules/automated-evocations/assets/animations/electric_blast_01.webm")
  65. .belowTokens()
  66. .randomRotation()
  67. .atLocation(template)
  68. .scale(Math.max(tokenData.width,tokenData.height)*(tokenData.texture.scaleX + tokenData.texture.scaleY)/2*0.35)
  69. .repeats(6, 100, 170, 250, 320, 400)
  70. .play()
  71. },
  72. time: 1650,
  73. group: "elemental"
  74. },
  75. "lightning2": {
  76. fn: async (template,tokenData) => {
  77. await new Sequence()
  78. .effect()
  79. .file("modules/automated-evocations/assets/animations/JB2A/LightningBall_01_Regular_Blue_400x400.webm")
  80. .belowTokens()
  81. .randomRotation()
  82. .atLocation(template)
  83. .scale(Math.max(tokenData.width,tokenData.height)*(tokenData.texture.scaleX + tokenData.texture.scaleY)/2*0.55)
  84. .wait(750)
  85. .effect()
  86. .file("modules/automated-evocations/assets/animations/JB2A/LightningStrike_01a_800x800.webm")
  87. .atLocation(template)
  88. .repeats(3, 100, 400, 600)
  89. .randomizeMirrorX()
  90. .scale(Math.max(tokenData.width,tokenData.height)*(tokenData.texture.scaleX + tokenData.texture.scaleY)/2*0.55*2)
  91. .wait(750)
  92. .effect()
  93. .file("modules/automated-evocations/assets/animations/JB2A/Impact_12_Regular_Blue_400x400.webm")
  94. .belowTokens()
  95. .randomRotation()
  96. .atLocation(template)
  97. .scale(Math.max(tokenData.width,tokenData.height)*(tokenData.texture.scaleX + tokenData.texture.scaleY)/2*0.55)
  98. .play()
  99. },
  100. time: 1650,
  101. group: "elemental"
  102. },
  103. "water": {
  104. fn: async (template,tokenData) => {
  105. await new Sequence()
  106. .effect()
  107. .file("modules/automated-evocations/assets/animations/water_blast_RAY_01.webm")
  108. .belowTokens()
  109. .randomRotation()
  110. .atLocation(template)
  111. .repeats(6, 50, 25, 75, 60, 20)
  112. .scale(Math.max(tokenData.width,tokenData.height)*(tokenData.texture.scaleX + tokenData.texture.scaleY)/2*0.55)
  113. .wait(500)
  114. .effect()
  115. .file("modules/automated-evocations/assets/animations/create_water_CIRCLE_01.webm")
  116. .belowTokens()
  117. .randomRotation()
  118. .atLocation(template)
  119. .scale(Math.max(tokenData.width,tokenData.height)*(tokenData.texture.scaleX + tokenData.texture.scaleY)/2*0.35)
  120. .play()
  121. },
  122. time: 1000,
  123. group: "elemental"
  124. },
  125. "ice1": {
  126. fn: async (template,tokenData) => {
  127. await new Sequence()
  128. .effect()
  129. .file("modules/automated-evocations/assets/animations/JB2A/SnowflakeBurst_01_Regular_BlueWhite_Burst_600x600.webm")
  130. .belowTokens()
  131. .fadeIn(500, {ease: "easeOutCubic", delay: 500})
  132. .fadeOut(1500)
  133. .rotateIn(90, 2500, {ease: "easeInOutCubic"})
  134. .rotateOut(350, 1500, {ease: "easeInCubic"})
  135. .scaleIn(1, 1200, {ease: "easeInOutCubic"})
  136. .scaleOut(0, 1500, {ease: "easeInCubic"})
  137. .atLocation(template)
  138. .scale(Math.max(tokenData.width,tokenData.height)*(tokenData.texture.scaleX + tokenData.texture.scaleY)/2*0.35)
  139. .wait(650)
  140. .effect()
  141. .file("modules/automated-evocations/assets/animations/JB2A/IceSpikesRadialBurst_01_Regular_White_1000x1000.webm")
  142. .randomRotation()
  143. .atLocation(template)
  144. .scale(Math.max(tokenData.width,tokenData.height)*(tokenData.texture.scaleX + tokenData.texture.scaleY)/2*0.55)
  145. .play()
  146. },
  147. time: 1500,
  148. group: "elemental"
  149. },
  150. "darkness": {
  151. fn: async (template,tokenData) => {
  152. await new Sequence()
  153. .effect()
  154. .file("modules/automated-evocations/assets/animations/JB2A/Whirlwind_01_BlueGrey_01_400x400.webm")
  155. .belowTokens()
  156. .fadeIn(500, {ease: "easeOutCubic", delay: 500})
  157. .fadeOut(1500)
  158. .rotateIn(90, 2500, {ease: "easeInOutCubic"})
  159. .rotateOut(350, 1500, {ease: "easeInCubic"})
  160. .scaleIn(1, 1200, {ease: "easeInOutCubic"})
  161. .scaleOut(0, 1500, {ease: "easeInCubic"})
  162. .atLocation(template)
  163. .scale(Math.max(tokenData.width,tokenData.height)*(tokenData.texture.scaleX + tokenData.texture.scaleY)/2*0.35)
  164. .wait(950)
  165. .effect()
  166. .file("modules/automated-evocations/assets/animations/JB2A/Darkness_01_Black_600x600.webm")
  167. .randomRotation()
  168. .fadeIn(500, {ease: "easeOutCubic", delay: 500})
  169. .fadeOut(1500)
  170. .rotateIn(90, 2500, {ease: "easeInOutCubic"})
  171. .rotateOut(350, 1500, {ease: "easeInCubic"})
  172. .scaleIn(0, 1200, {ease: "easeInOutCubic"})
  173. .scaleOut(1, 1500, {ease: "easeInCubic"})
  174. .atLocation(template)
  175. .scale(Math.max(tokenData.width,tokenData.height)*(tokenData.texture.scaleX + tokenData.texture.scaleY)/2*0.45)
  176. .play()
  177. },
  178. time: 1500,
  179. group: "magical"
  180. },
  181. "energy1": {
  182. fn: async (template,tokenData) => {
  183. await new Sequence()
  184. .effect()
  185. .file("modules/automated-evocations/assets/animations/energy_spark_CIRCLE_01.webm")
  186. .belowTokens()
  187. .randomRotation()
  188. .atLocation(template, {randomOffset: true})
  189. .repeats(6, 50, 25, 75, 60, 20)
  190. .scale(Math.max(tokenData.width,tokenData.height)*(tokenData.texture.scaleX + tokenData.texture.scaleY)/2*0.15)
  191. .wait(500)
  192. .effect()
  193. .file("modules/automated-evocations/assets/animations/energy_pulse_yellow_CIRCLE.webm")
  194. .belowTokens()
  195. .atLocation(template)
  196. .scale(Math.max(tokenData.width,tokenData.height)*(tokenData.texture.scaleX + tokenData.texture.scaleY)/2*0.35)
  197. .play()
  198. },
  199. time: 650,
  200. group: "magical"
  201. },
  202. "magic1": {
  203. fn: async (template,tokenData) => {
  204. await new Sequence()
  205. .effect()
  206. .file("modules/automated-evocations/assets/animations/magic_explosion_symbol_CIRCLE.webm")
  207. .belowTokens()
  208. .atLocation(template)
  209. .scale(Math.max(tokenData.width,tokenData.height)*(tokenData.texture.scaleX + tokenData.texture.scaleY)/2*0.35)
  210. .play()
  211. },
  212. time: 1150,
  213. group: "magical"
  214. },
  215. "magic2": {
  216. fn: async (template,tokenData) => {
  217. await new Sequence()
  218. .effect()
  219. .file("modules/automated-evocations/assets/animations/JB2A/Conjuration_01_Yellow_Circle_800x800.webm")
  220. .belowTokens()
  221. .fadeIn(500, {ease: "easeOutCubic", delay: 500})
  222. .fadeOut(1500)
  223. .rotateIn(90, 2500, {ease: "easeInOutCubic"})
  224. .rotateOut(350, 1500, {ease: "easeInCubic"})
  225. .scaleIn(1, 1200, {ease: "easeInOutCubic"})
  226. .scaleOut(0, 1500, {ease: "easeInCubic"})
  227. .atLocation(template)
  228. .scale(Math.max(tokenData.width,tokenData.height)*(tokenData.texture.scaleX + tokenData.texture.scaleY)/2*0.35)
  229. .wait(650)
  230. .effect()
  231. .file("modules/automated-evocations/assets/animations/JB2A/Explosion_02_Blue_400x400.webm")
  232. .randomRotation()
  233. .atLocation(template)
  234. .scale(Math.max(tokenData.width,tokenData.height)*(tokenData.texture.scaleX + tokenData.texture.scaleY)/2*0.55)
  235. .play()
  236. },
  237. time: 820,
  238. group: "magical"
  239. },
  240. "heart": {
  241. fn: async (template,tokenData) => {
  242. await new Sequence()
  243. .effect()
  244. .file("modules/automated-evocations/assets/animations/heart_red_SQUARE.webm")
  245. .atLocation(template)
  246. .scale(Math.max(tokenData.width,tokenData.height)*(tokenData.texture.scaleX + tokenData.texture.scaleY)/2*0.35)
  247. .play()
  248. },
  249. time: 400
  250. },
  251. "music": {
  252. fn: async (template,tokenData) => {
  253. await new Sequence()
  254. .effect()
  255. .file("modules/automated-evocations/assets/animations/music_RECTANGLE.webm")
  256. .belowTokens()
  257. .randomRotation()
  258. .atLocation(template, { randomOffset: true })
  259. .repeats(6, 150, 225, 375, 460, 520)
  260. .scale(((Math.max(tokenData.width, tokenData.height) * (tokenData.texture.scaleX + tokenData.texture.scaleY)) / 2) * 0.65)
  261. .wait(900)
  262. .effect()
  263. .file("modules/automated-evocations/assets/animations/magic_symbol_SQUARE_05.webm")
  264. .belowTokens()
  265. .atLocation(template)
  266. .scale(((Math.max(tokenData.width, tokenData.height) * (tokenData.texture.scaleX + tokenData.texture.scaleY)) / 2) * 0.35)
  267. .play();
  268. },
  269. time: 1350
  270. },
  271. "music2": {
  272. fn: async (template,tokenData) => {
  273. await new Sequence()
  274. .effect()
  275. .file("modules/automated-evocations/assets/animations/JB2A/OutPulse_01_Regular_BlueWhite_Burst_600x600.webm")
  276. .belowTokens()
  277. .atLocation(template)
  278. .randomRotation()
  279. .scale(Math.max(tokenData.width,tokenData.height)*(tokenData.texture.scaleX + tokenData.texture.scaleY)/2*0.35)
  280. .wait(100)
  281. .effect()
  282. .file("modules/automated-evocations/assets/animations/JB2A/BardicInspiration_01_Regular_GreenOrange_400x400.webm")
  283. .atLocation(template)
  284. .scale(Math.max(tokenData.width,tokenData.height)*(tokenData.texture.scaleX + tokenData.texture.scaleY)/2*0.45)
  285. .play()
  286. },
  287. time: 600
  288. },
  289. "fourelements": {
  290. fn: async (template,tokenData) => {
  291. await new Sequence()
  292. .effect()
  293. .file("modules/automated-evocations/assets/animations/four_element_strike_SQUARE_01.webm")
  294. .atLocation(template)
  295. .belowTokens()
  296. .scale(Math.max(tokenData.width,tokenData.height)*(tokenData.texture.scaleX + tokenData.texture.scaleY)/2*0.35)
  297. .play()
  298. },
  299. time: 700,
  300. group: "elemental"
  301. },
  302. }
  303. }