text:
#> asset:mob/0055.hetukedah/tick/5.1.particle
#
# 魔法陣
#
# @within function asset:mob/0055.hetukedah/tick/5.magicattack

# パーティクル
    particle flame ^0 ^ ^-3 0 0 0 0 1
    particle flame ^0.11756 ^ ^-2.6382 0 0 0 0 1
    particle flame ^0.23511 ^ ^-2.27639 0 0 0 0 1
    particle flame ^0.35267 ^ ^-1.91459 0 0 0 0 1
    particle flame ^0.47023 ^ ^-1.55279 0 0 0 0 1
    particle flame ^0.58779 ^ ^-1.19098 0 0 0 0 1
    particle flame ^0.70534 ^ ^-0.82918 0 0 0 0 1
    particle flame ^0.8229 ^ ^-0.46738 0 0 0 0 1
    particle flame ^0.94046 ^ ^-0.10557 0 0 0 0 1
    particle flame ^1.05801 ^ ^0.25623 0 0 0 0 1
    particle flame ^1.17557 ^ ^0.61803 0 0 0 0 1
    particle flame ^1.29313 ^ ^0.97984 0 0 0 0 1
    particle flame ^1.41068 ^ ^1.34164 0 0 0 0 1
    particle flame ^1.52824 ^ ^1.70344 0 0 0 0 1
    particle flame ^1.6458 ^ ^2.06525 0 0 0 0 1
    particle flame ^2.85317 ^ ^-0.92705 0 0 0 0 1
    particle flame ^2.5454 ^ ^-0.70344 0 0 0 0 1
    particle flame ^2.23763 ^ ^-0.47984 0 0 0 0 1
    particle flame ^1.92986 ^ ^-0.25623 0 0 0 0 1
    particle flame ^1.6221 ^ ^-0.03262 0 0 0 0 1
    particle flame ^1.31433 ^ ^0.19098 0 0 0 0 1
    particle flame ^1.00656 ^ ^0.41459 0 0 0 0 1
    particle flame ^0.69879 ^ ^0.6382 0 0 0 0 1
    particle flame ^0.39102 ^ ^0.8618 0 0 0 0 1
    particle flame ^0.08325 ^ ^1.08541 0 0 0 0 1
    particle flame ^-0.22451 ^ ^1.30902 0 0 0 0 1
    particle flame ^-0.53228 ^ ^1.53262 0 0 0 0 1
    particle flame ^-0.84005 ^ ^1.75623 0 0 0 0 1
    particle flame ^-1.14782 ^ ^1.97984 0 0 0 0 1
    particle flame ^-1.45559 ^ ^2.20344 0 0 0 0 1
    particle flame ^1.76336 ^ ^2.42705 0 0 0 0 1
    particle flame ^1.45559 ^ ^2.20344 0 0 0 0 1
    particle flame ^1.14782 ^ ^1.97984 0 0 0 0 1
    particle flame ^0.84005 ^ ^1.75623 0 0 0 0 1
    particle flame ^0.53228 ^ ^1.53262 0 0 0 0 1
    particle flame ^0.22451 ^ ^1.30902 0 0 0 0 1
    particle flame ^-0.08325 ^ ^1.08541 0 0 0 0 1
    particle flame ^-0.39102 ^ ^0.8618 0 0 0 0 1
    particle flame ^-0.69879 ^ ^0.6382 0 0 0 0 1
    particle flame ^-1.00656 ^ ^0.41459 0 0 0 0 1
    particle flame ^-1.31433 ^ ^0.19098 0 0 0 0 1
    particle flame ^-1.6221 ^ ^-0.03262 0 0 0 0 1
    particle flame ^-1.92986 ^ ^-0.25623 0 0 0 0 1
    particle flame ^-2.23763 ^ ^-0.47984 0 0 0 0 1
    particle flame ^-2.5454 ^ ^-0.70344 0 0 0 0 1
    particle flame ^-1.76336 ^ ^2.42705 0 0 0 0 1
    particle flame ^-1.6458 ^ ^2.06525 0 0 0 0 1
    particle flame ^-1.52824 ^ ^1.70344 0 0 0 0 1
    particle flame ^-1.41068 ^ ^1.34164 0 0 0 0 1
    particle flame ^-1.29313 ^ ^0.97984 0 0 0 0 1
    particle flame ^-1.17557 ^ ^0.61803 0 0 0 0 1
    particle flame ^-1.05801 ^ ^0.25623 0 0 0 0 1
    particle flame ^-0.94046 ^ ^-0.10557 0 0 0 0 1
    particle flame ^-0.8229 ^ ^-0.46738 0 0 0 0 1
    particle flame ^-0.70534 ^ ^-0.82918 0 0 0 0 1
    particle flame ^-0.58779 ^ ^-1.19098 0 0 0 0 1
    particle flame ^-0.47023 ^ ^-1.55279 0 0 0 0 1
    particle flame ^-0.35267 ^ ^-1.91459 0 0 0 0 1
    particle flame ^-0.23511 ^ ^-2.27639 0 0 0 0 1
    particle flame ^-0.11756 ^ ^-2.6382 0 0 0 0 1
    particle flame ^-2.85317 ^ ^-0.92705 0 0 0 0 1
    particle flame ^-2.47275 ^ ^-0.92705 0 0 0 0 1
    particle flame ^-2.09232 ^ ^-0.92705 0 0 0 0 1
    particle flame ^-1.7119 ^ ^-0.92705 0 0 0 0 1
    particle flame ^-1.33148 ^ ^-0.92705 0 0 0 0 1
    particle flame ^-0.95106 ^ ^-0.92705 0 0 0 0 1
    particle flame ^-0.57063 ^ ^-0.92705 0 0 0 0 1
    particle flame ^-0.19021 ^ ^-0.92705 0 0 0 0 1
    particle flame ^0.19021 ^ ^-0.92705 0 0 0 0 1
    particle flame ^0.57063 ^ ^-0.92705 0 0 0 0 1
    particle flame ^0.95106 ^ ^-0.92705 0 0 0 0 1
    particle flame ^1.33148 ^ ^-0.92705 0 0 0 0 1
    particle flame ^1.7119 ^ ^-0.92705 0 0 0 0 1
    particle flame ^2.09232 ^ ^-0.92705 0 0 0 0 1
    particle flame ^2.47275 ^ ^-0.92705 0 0 0 0 1
    particle flame ^0 ^ ^-4.3 0 0 0 0 1
    particle flame ^0.215 ^ ^-4.085 0 0 0 0 1
    particle flame ^0.43 ^ ^-3.87 0 0 0 0 1
    particle flame ^0.645 ^ ^-3.655 0 0 0 0 1
    particle flame ^0.86 ^ ^-3.44 0 0 0 0 1
    particle flame ^1.075 ^ ^-3.225 0 0 0 0 1
    particle flame ^1.29 ^ ^-3.01 0 0 0 0 1
    particle flame ^1.505 ^ ^-2.795 0 0 0 0 1
    particle flame ^1.72 ^ ^-2.58 0 0 0 0 1
    particle flame ^1.935 ^ ^-2.365 0 0 0 0 1
    particle flame ^2.15 ^ ^-2.15 0 0 0 0 1
    particle flame ^2.365 ^ ^-1.935 0 0 0 0 1
    particle flame ^2.58 ^ ^-1.72 0 0 0 0 1
    particle flame ^2.795 ^ ^-1.505 0 0 0 0 1
    particle flame ^3.01 ^ ^-1.29 0 0 0 0 1
    particle flame ^3.225 ^ ^-1.075 0 0 0 0 1
    particle flame ^3.44 ^ ^-0.86 0 0 0 0 1
    particle flame ^3.655 ^ ^-0.645 0 0 0 0 1
    particle flame ^3.87 ^ ^-0.43 0 0 0 0 1
    particle flame ^4.085 ^ ^-0.215 0 0 0 0 1
    particle flame ^3.04056 ^ ^-3.04056 0 0 0 0 1
    particle flame ^3.04056 ^ ^-2.7365 0 0 0 0 1
    particle flame ^3.04056 ^ ^-2.43245 0 0 0 0 1
    particle flame ^3.04056 ^ ^-2.12839 0 0 0 0 1
    particle flame ^3.04056 ^ ^-1.82434 0 0 0 0 1
    particle flame ^3.04056 ^ ^-1.52028 0 0 0 0 1
    particle flame ^3.04056 ^ ^-1.21622 0 0 0 0 1
    particle flame ^3.04056 ^ ^-0.91217 0 0 0 0 1
    particle flame ^3.04056 ^ ^-0.60811 0 0 0 0 1
    particle flame ^3.04056 ^ ^-0.30406 0 0 0 0 1
    particle flame ^3.04056 ^ ^0 0 0 0 0 1
    particle flame ^3.04056 ^ ^0.30406 0 0 0 0 1
    particle flame ^3.04056 ^ ^0.60811 0 0 0 0 1
    particle flame ^3.04056 ^ ^0.91217 0 0 0 0 1
    particle flame ^3.04056 ^ ^1.21622 0 0 0 0 1
    particle flame ^3.04056 ^ ^1.52028 0 0 0 0 1
    particle flame ^3.04056 ^ ^1.82434 0 0 0 0 1
    particle flame ^3.04056 ^ ^2.12839 0 0 0 0 1
    particle flame ^3.04056 ^ ^2.43245 0 0 0 0 1
    particle flame ^3.04056 ^ ^2.7365 0 0 0 0 1
    particle flame ^4.3 ^ ^0 0 0 0 0 1
    particle flame ^4.085 ^ ^0.215 0 0 0 0 1
    particle flame ^3.87 ^ ^0.43 0 0 0 0 1
    particle flame ^3.655 ^ ^0.645 0 0 0 0 1
    particle flame ^3.44 ^ ^0.86 0 0 0 0 1
    particle flame ^3.225 ^ ^1.075 0 0 0 0 1
    particle flame ^3.01 ^ ^1.29 0 0 0 0 1
    particle flame ^2.795 ^ ^1.505 0 0 0 0 1
    particle flame ^2.58 ^ ^1.72 0 0 0 0 1
    particle flame ^2.365 ^ ^1.935 0 0 0 0 1
    particle flame ^2.15 ^ ^2.15 0 0 0 0 1
    particle flame ^1.935 ^ ^2.365 0 0 0 0 1
    particle flame ^1.72 ^ ^2.58 0 0 0 0 1
    particle flame ^1.505 ^ ^2.795 0 0 0 0 1
    particle flame ^1.29 ^ ^3.01 0 0 0 0 1
    particle flame ^1.075 ^ ^3.225 0 0 0 0 1
    particle flame ^0.86 ^ ^3.44 0 0 0 0 1
    particle flame ^0.645 ^ ^3.655 0 0 0 0 1
    particle flame ^0.43 ^ ^3.87 0 0 0 0 1
    particle flame ^0.215 ^ ^4.085 0 0 0 0 1
    particle flame ^3.04056 ^ ^3.04056 0 0 0 0 1
    particle flame ^2.7365 ^ ^3.04056 0 0 0 0 1
    particle flame ^2.43245 ^ ^3.04056 0 0 0 0 1
    particle flame ^2.12839 ^ ^3.04056 0 0 0 0 1
    particle flame ^1.82434 ^ ^3.04056 0 0 0 0 1
    particle flame ^1.52028 ^ ^3.04056 0 0 0 0 1
    particle flame ^1.21622 ^ ^3.04056 0 0 0 0 1
    particle flame ^0.91217 ^ ^3.04056 0 0 0 0 1
    particle flame ^0.60811 ^ ^3.04056 0 0 0 0 1
    particle flame ^0.30406 ^ ^3.04056 0 0 0 0 1
    particle flame ^0 ^ ^3.04056 0 0 0 0 1
    particle flame ^-0.30406 ^ ^3.04056 0 0 0 0 1
    particle flame ^-0.60811 ^ ^3.04056 0 0 0 0 1
    particle flame ^-0.91217 ^ ^3.04056 0 0 0 0 1
    particle flame ^-1.21622 ^ ^3.04056 0 0 0 0 1
    particle flame ^-1.52028 ^ ^3.04056 0 0 0 0 1
    particle flame ^-1.82434 ^ ^3.04056 0 0 0 0 1
    particle flame ^-2.12839 ^ ^3.04056 0 0 0 0 1
    particle flame ^-2.43245 ^ ^3.04056 0 0 0 0 1
    particle flame ^-2.7365 ^ ^3.04056 0 0 0 0 1
    particle flame ^0 ^ ^4.3 0 0 0 0 1
    particle flame ^-0.215 ^ ^4.085 0 0 0 0 1
    particle flame ^-0.43 ^ ^3.87 0 0 0 0 1
    particle flame ^-0.645 ^ ^3.655 0 0 0 0 1
    particle flame ^-0.86 ^ ^3.44 0 0 0 0 1
    particle flame ^-1.075 ^ ^3.225 0 0 0 0 1
    particle flame ^-1.29 ^ ^3.01 0 0 0 0 1
    particle flame ^-1.505 ^ ^2.795 0 0 0 0 1
    particle flame ^-1.72 ^ ^2.58 0 0 0 0 1
    particle flame ^-1.935 ^ ^2.365 0 0 0 0 1
    particle flame ^-2.15 ^ ^2.15 0 0 0 0 1
    particle flame ^-2.365 ^ ^1.935 0 0 0 0 1
    particle flame ^-2.58 ^ ^1.72 0 0 0 0 1
    particle flame ^-2.795 ^ ^1.505 0 0 0 0 1
    particle flame ^-3.01 ^ ^1.29 0 0 0 0 1
    particle flame ^-3.225 ^ ^1.075 0 0 0 0 1
    particle flame ^-3.44 ^ ^0.86 0 0 0 0 1
    particle flame ^-3.655 ^ ^0.645 0 0 0 0 1
    particle flame ^-3.87 ^ ^0.43 0 0 0 0 1
    particle flame ^-4.085 ^ ^0.215 0 0 0 0 1
    particle flame ^-3.04056 ^ ^3.04056 0 0 0 0 1
    particle flame ^-3.04056 ^ ^2.7365 0 0 0 0 1
    particle flame ^-3.04056 ^ ^2.43245 0 0 0 0 1
    particle flame ^-3.04056 ^ ^2.12839 0 0 0 0 1
    particle flame ^-3.04056 ^ ^1.82434 0 0 0 0 1
    particle flame ^-3.04056 ^ ^1.52028 0 0 0 0 1
    particle flame ^-3.04056 ^ ^1.21622 0 0 0 0 1
    particle flame ^-3.04056 ^ ^0.91217 0 0 0 0 1
    particle flame ^-3.04056 ^ ^0.60811 0 0 0 0 1
    particle flame ^-3.04056 ^ ^0.30406 0 0 0 0 1
    particle flame ^-3.04056 ^ ^0 0 0 0 0 1
    particle flame ^-3.04056 ^ ^-0.30406 0 0 0 0 1
    particle flame ^-3.04056 ^ ^-0.60811 0 0 0 0 1
    particle flame ^-3.04056 ^ ^-0.91217 0 0 0 0 1
    particle flame ^-3.04056 ^ ^-1.21622 0 0 0 0 1
    particle flame ^-3.04056 ^ ^-1.52028 0 0 0 0 1
    particle flame ^-3.04056 ^ ^-1.82434 0 0 0 0 1
    particle flame ^-3.04056 ^ ^-2.12839 0 0 0 0 1
    particle flame ^-3.04056 ^ ^-2.43245 0 0 0 0 1
    particle flame ^-3.04056 ^ ^-2.7365 0 0 0 0 1
    particle flame ^-4.3 ^ ^0 0 0 0 0 1
    particle flame ^-4.085 ^ ^-0.215 0 0 0 0 1
    particle flame ^-3.87 ^ ^-0.43 0 0 0 0 1
    particle flame ^-3.655 ^ ^-0.645 0 0 0 0 1
    particle flame ^-3.44 ^ ^-0.86 0 0 0 0 1
    particle flame ^-3.225 ^ ^-1.075 0 0 0 0 1
    particle flame ^-3.01 ^ ^-1.29 0 0 0 0 1
    particle flame ^-2.795 ^ ^-1.505 0 0 0 0 1
    particle flame ^-2.58 ^ ^-1.72 0 0 0 0 1
    particle flame ^-2.365 ^ ^-1.935 0 0 0 0 1
    particle flame ^-2.15 ^ ^-2.15 0 0 0 0 1
    particle flame ^-1.935 ^ ^-2.365 0 0 0 0 1
    particle flame ^-1.72 ^ ^-2.58 0 0 0 0 1
    particle flame ^-1.505 ^ ^-2.795 0 0 0 0 1
    particle flame ^-1.29 ^ ^-3.01 0 0 0 0 1
    particle flame ^-1.075 ^ ^-3.225 0 0 0 0 1
    particle flame ^-0.86 ^ ^-3.44 0 0 0 0 1
    particle flame ^-0.645 ^ ^-3.655 0 0 0 0 1
    particle flame ^-0.43 ^ ^-3.87 0 0 0 0 1
    particle flame ^-0.215 ^ ^-4.085 0 0 0 0 1
    particle flame ^-3.04056 ^ ^-3.04056 0 0 0 0 1
    particle flame ^-2.7365 ^ ^-3.04056 0 0 0 0 1
    particle flame ^-2.43245 ^ ^-3.04056 0 0 0 0 1
    particle flame ^-2.12839 ^ ^-3.04056 0 0 0 0 1
    particle flame ^-1.82434 ^ ^-3.04056 0 0 0 0 1
    particle flame ^-1.52028 ^ ^-3.04056 0 0 0 0 1
    particle flame ^-1.21622 ^ ^-3.04056 0 0 0 0 1
    particle flame ^-0.91217 ^ ^-3.04056 0 0 0 0 1
    particle flame ^-0.60811 ^ ^-3.04056 0 0 0 0 1
    particle flame ^-0.30406 ^ ^-3.04056 0 0 0 0 1
    particle flame ^0 ^ ^-3.04056 0 0 0 0 1
    particle flame ^0.30406 ^ ^-3.04056 0 0 0 0 1
    particle flame ^0.60811 ^ ^-3.04056 0 0 0 0 1
    particle flame ^0.91217 ^ ^-3.04056 0 0 0 0 1
    particle flame ^1.21622 ^ ^-3.04056 0 0 0 0 1
    particle flame ^1.52028 ^ ^-3.04056 0 0 0 0 1
    particle flame ^1.82434 ^ ^-3.04056 0 0 0 0 1
    particle flame ^2.12839 ^ ^-3.04056 0 0 0 0 1
    particle flame ^2.43245 ^ ^-3.04056 0 0 0 0 1
    particle flame ^2.7365 ^ ^-3.04056 0 0 0 0 1

# lava
    particle lava ^0 ^ ^-4 0 0 0 0 1
    particle lava ^0.11756 ^ ^-3.6382 0 0 0 0 1
    particle lava ^0.23511 ^ ^-3.27639 0 0 0 0 1
    particle lava ^0.35267 ^ ^-2.91459 0 0 0 0 1
    particle lava ^0.47023 ^ ^-2.55279 0 0 0 0 1
    particle lava ^0.58779 ^ ^-2.19098 0 0 0 0 1
    particle lava ^0.70534 ^ ^-1.82918 0 0 0 0 1
    particle lava ^0.8229 ^ ^-1.46738 0 0 0 0 1
    particle lava ^0.94046 ^ ^-1.10557 0 0 0 0 1
    particle lava ^1.05801 ^ ^-0.74377 0 0 0 0 1
    particle lava ^1.17557 ^ ^-0.38197 0 0 0 0 1
    particle lava ^1.29313 ^ ^-0.02016 0 0 0 0 1
    particle lava ^1.41068 ^ ^0.34164 0 0 0 0 1
    particle lava ^1.52824 ^ ^0.70344 0 0 0 0 1
    particle lava ^1.6458 ^ ^1.06525 0 0 0 0 1
    particle lava ^1.76336 ^ ^1.42705 0 0 0 0 1
    particle lava ^1.88091 ^ ^1.78885 0 0 0 0 1
    particle lava ^1.99847 ^ ^2.15066 0 0 0 0 1
    particle lava ^2.11603 ^ ^2.51246 0 0 0 0 1
    particle lava ^2.23358 ^ ^2.87426 0 0 0 0 1
    particle lava ^3.80423 ^ ^-1.23607 0 0 0 0 1
    particle lava ^3.49646 ^ ^-1.01246 0 0 0 0 1
    particle lava ^3.18869 ^ ^-0.78885 0 0 0 0 1
    particle lava ^2.88092 ^ ^-0.56525 0 0 0 0 1
    particle lava ^2.57315 ^ ^-0.34164 0 0 0 0 1
    particle lava ^2.26538 ^ ^-0.11803 0 0 0 0 1
    particle lava ^1.95762 ^ ^0.10557 0 0 0 0 1
    particle lava ^1.64985 ^ ^0.32918 0 0 0 0 1
    particle lava ^1.34208 ^ ^0.55279 0 0 0 0 1
    particle lava ^1.03431 ^ ^0.77639 0 0 0 0 1
    particle lava ^0.72654 ^ ^1 0 0 0 0 1
    particle lava ^0.41877 ^ ^1.22361 0 0 0 0 1
    particle lava ^0.11101 ^ ^1.44721 0 0 0 0 1
    particle lava ^-0.19676 ^ ^1.67082 0 0 0 0 1
    particle lava ^-0.50453 ^ ^1.89443 0 0 0 0 1
    particle lava ^-0.8123 ^ ^2.11803 0 0 0 0 1
    particle lava ^-1.12007 ^ ^2.34164 0 0 0 0 1
    particle lava ^-1.42784 ^ ^2.56525 0 0 0 0 1
    particle lava ^-1.7356 ^ ^2.78885 0 0 0 0 1
    particle lava ^-2.04337 ^ ^3.01246 0 0 0 0 1
    particle lava ^2.35114 ^ ^3.23607 0 0 0 0 1
    particle lava ^2.04337 ^ ^3.01246 0 0 0 0 1
    particle lava ^1.7356 ^ ^2.78885 0 0 0 0 1
    particle lava ^1.42784 ^ ^2.56525 0 0 0 0 1
    particle lava ^1.12007 ^ ^2.34164 0 0 0 0 1
    particle lava ^0.8123 ^ ^2.11803 0 0 0 0 1
    particle lava ^0.50453 ^ ^1.89443 0 0 0 0 1
    particle lava ^0.19676 ^ ^1.67082 0 0 0 0 1
    particle lava ^-0.11101 ^ ^1.44721 0 0 0 0 1
    particle lava ^-0.41877 ^ ^1.22361 0 0 0 0 1
    particle lava ^-0.72654 ^ ^1 0 0 0 0 1
    particle lava ^-1.03431 ^ ^0.77639 0 0 0 0 1
    particle lava ^-1.34208 ^ ^0.55279 0 0 0 0 1
    particle lava ^-1.64985 ^ ^0.32918 0 0 0 0 1
    particle lava ^-1.95762 ^ ^0.10557 0 0 0 0 1
    particle lava ^-2.26538 ^ ^-0.11803 0 0 0 0 1
    particle lava ^-2.57315 ^ ^-0.34164 0 0 0 0 1
    particle lava ^-2.88092 ^ ^-0.56525 0 0 0 0 1
    particle lava ^-3.18869 ^ ^-0.78885 0 0 0 0 1
    particle lava ^-3.49646 ^ ^-1.01246 0 0 0 0 1
    particle lava ^-2.35114 ^ ^3.23607 0 0 0 0 1
    particle lava ^-2.23358 ^ ^2.87426 0 0 0 0 1
    particle lava ^-2.11603 ^ ^2.51246 0 0 0 0 1
    particle lava ^-1.99847 ^ ^2.15066 0 0 0 0 1
    particle lava ^-1.88091 ^ ^1.78885 0 0 0 0 1
    particle lava ^-1.76336 ^ ^1.42705 0 0 0 0 1
    particle lava ^-1.6458 ^ ^1.06525 0 0 0 0 1
    particle lava ^-1.52824 ^ ^0.70344 0 0 0 0 1
    particle lava ^-1.41068 ^ ^0.34164 0 0 0 0 1
    particle lava ^-1.29313 ^ ^-0.02016 0 0 0 0 1
    particle lava ^-1.17557 ^ ^-0.38197 0 0 0 0 1
    particle lava ^-1.05801 ^ ^-0.74377 0 0 0 0 1
    particle lava ^-0.94046 ^ ^-1.10557 0 0 0 0 1
    particle lava ^-0.8229 ^ ^-1.46738 0 0 0 0 1
    particle lava ^-0.70534 ^ ^-1.82918 0 0 0 0 1
    particle lava ^-0.58779 ^ ^-2.19098 0 0 0 0 1
    particle lava ^-0.47023 ^ ^-2.55279 0 0 0 0 1
    particle lava ^-0.35267 ^ ^-2.91459 0 0 0 0 1
    particle lava ^-0.23511 ^ ^-3.27639 0 0 0 0 1
    particle lava ^-0.11756 ^ ^-3.6382 0 0 0 0 1
    particle lava ^-3.80423 ^ ^-1.23607 0 0 0 0 1
    particle lava ^-3.4238 ^ ^-1.23607 0 0 0 0 1
    particle lava ^-3.04338 ^ ^-1.23607 0 0 0 0 1
    particle lava ^-2.66296 ^ ^-1.23607 0 0 0 0 1
    particle lava ^-2.28254 ^ ^-1.23607 0 0 0 0 1
    particle lava ^-1.90211 ^ ^-1.23607 0 0 0 0 1
    particle lava ^-1.52169 ^ ^-1.23607 0 0 0 0 1
    particle lava ^-1.14127 ^ ^-1.23607 0 0 0 0 1
    particle lava ^-0.76085 ^ ^-1.23607 0 0 0 0 1
    particle lava ^-0.38042 ^ ^-1.23607 0 0 0 0 1
    particle lava ^0 ^ ^-1.23607 0 0 0 0 1
    particle lava ^0.38042 ^ ^-1.23607 0 0 0 0 1
    particle lava ^0.76085 ^ ^-1.23607 0 0 0 0 1
    particle lava ^1.14127 ^ ^-1.23607 0 0 0 0 1
    particle lava ^1.52169 ^ ^-1.23607 0 0 0 0 1
    particle lava ^1.90211 ^ ^-1.23607 0 0 0 0 1
    particle lava ^2.28254 ^ ^-1.23607 0 0 0 0 1
    particle lava ^2.66296 ^ ^-1.23607 0 0 0 0 1
    particle lava ^3.04338 ^ ^-1.23607 0 0 0 0 1
    particle lava ^3.4238 ^ ^-1.23607 0 0 0 0 1


text:
#> asset:mob/0055.hetukedah/tick/5.magicattack
#
# 周囲に魔法ダメージを当てる
#
# @within function asset:mob/0055.hetukedah/tick/3.skill

# 演出
    playsound entity.wither.death hostile @a ~ ~ ~ 1 1
    execute positioned ~ ~0.5 ~ rotated ~ 0 run function asset:mob/0055.hetukedah/tick/5.1.particle

# ダメージ設定
    # 与えるダメージ
        data modify storage lib: Argument.Damage set value 12.0f
    # 魔法属性
        data modify storage lib: Argument.AttackType set value "Magic"
    # 火属性
        data modify storage lib: Argument.ElementType set value "Fire"
    # ダメージ
        function lib:damage/modifier
        execute as @a[tag=!PlayerShouldInvulnerable,distance=..4] run function lib:damage/
# リセット
    function lib:damage/reset

repo_name: ProjectTSB/TheSkyBlessing

repo_language: mcfunction

mime_type: text/plain


text:
#> asset:mob/0055.hetukedah/tick/otetebeam/4.2.damage
#
# 神器のメイン処理部
#
# @within function
#   asset:mob/0055.hetukedah/**

# ここから先は神器側の効果の処理を書く

# 演出
    particle minecraft:explosion ~ ~ ~ 0.3 0 0.3 0 10
    particle minecraft:large_smoke ~ ~ ~ 0 0 0 0.4 100

    playsound entity.lightning_bolt.impact hostile @a ~ ~ ~ 1 0

# ダメージ設定
    # 与えるダメージ
        data modify storage lib: Argument.Damage set value 8.0f
    # 魔法属性
        data modify storage lib: Argument.AttackType set value "Magic"
    # 雷属性
        data modify storage lib: Argument.ElementType set value "Thunder"
    # ダメージ
        function lib:damage/modifier
        execute as @p[tag=LandingTarget,tag=!PlayerShouldInvulnerable,distance=..50] at @s run function lib:damage/
# リセット
    function lib:damage/reset

# 着弾タグを消す
    tag @p[tag=LandingTarget,distance=..50,limit=1] remove LandingTarget


text:
#> asset:mob/0055.hetukedah/tick/otetebeam/4.1.shoot
#
# ビーム処理再帰
#
# @within function
#   asset:mob/0055.hetukedah/**

# ここから先は神器側の効果の処理を書く
# 着弾検知
    execute if entity @a[gamemode=!spectator,distance=..3] run tag @s add Landing
    execute unless block ^ ^ ^0.5 #lib:no_collision run tag @s add Landing

# ターゲットにタグ付与
    execute if entity @a[gamemode=!spectator,distance=..3] run tag @a[gamemode=!spectator,distance=..3,limit=1] add LandingTarget

# 演出
    particle dust 1 1 0 1 ~ ~ ~ 1 1 1 0 6

# 着弾
    execute if entity @s[tag=Landing] run function asset:mob/0055.hetukedah/tick/otetebeam/4.2.damage

# 再起
    execute positioned ^ ^ ^0.5 if entity @s[tag=!Landing,distance=..30] run function asset:mob/0055.hetukedah/tick/otetebeam/4.1.shoot


text:
#> asset:mob/0169.blaze/summon/2.summon
#
# Mobの召喚時の処理
#
# @within function asset:mob/0169.blaze/summon/1.trigger

# 元となるMobを召喚する
    summon blaze ~ ~ ~ {Tags:["MobInit"],DeathLootTable:"asset:mob/death/0169.blaze"}
# ID (int)
    data modify storage asset:mob ID set value 169
# Type (string) Wikiを参照
    data modify storage asset:mob Type set value "Enemy"
# 干渉可能か否か (boolean)
    data modify storage asset:mob Interferable set value true
# 名前 (TextComponentString) (オプション)
    data modify storage asset:mob Name set value '{"text":"ブレイズ","color":"red"}'
# 武器
    # メインハンド (Compound(Item)) (オプション)
        # data modify storage asset:mob Weapon.Mainhand set value
    # オフハンド (Compound(Item)) (オプション)
        # data modify storage asset:mob Weapon.Offhand set value
# 武器ドロップ率 ([float, float]) (オプション)
    # data modify storage asset:mob WeaponDropChances set value
# 防具
    # 頭 (Compound(Item)) (オプション)
        # data modify storage asset:mob Armor.Head set value
    # 胴 (Compound(Item)) (オプション)
        # data modify storage asset:mob Armor.Chest set value
    # 脚 (Compound(Item)) (オプション)
        # data modify storage asset:mob Armor.Legs set value
    # 足 (Compound(Item)) (オプション)
        # data modify storage asset:mob Armor.Feet set value
# 防具ドロップ率 ([float, float]) (オプション)
    # data modify storage asset:mob ArmorDropChances set value
# 体力 (double) (オプション)
    data modify storage asset:mob Health set value 200
# 攻撃力 (double) (オプション)
    data modify storage asset:mob AttackDamage set value 2
# 防御力 (double) (オプション) // 被ダメージがある程度大きい場合1ptにつき0.8%カット、小さい場合1ptにつき約4%カット 20pt以上は頭打ち
    data modify storage asset:mob Defense set value 0
# 特殊防御力 (double) (オプション) // 4pointにつきダメージを大きく減らす
    data modify storage asset:mob SpecialDefense set value 0
# 移動速度 (double) (オプション)
    data modify storage asset:mob Speed set value 0.25
# 索敵範囲 (double) (オプション)
    data modify storage asset:mob FollowRange set value 20
# ノックバック耐性 (double) (オプション)
    data modify storage asset:mob KnockBackResist set value 0
# 属性倍率 // 1.0fで100% 最低でも25%は軽減されずに入る
    # 物理倍率 (float) (オプション)
        data modify storage asset:mob Resist.Physical set value 0.8
    # 魔法倍率 (float) (オプション)
        data modify storage asset:mob Resist.Magic set value 1
    # 火倍率 (float) (オプション)
        data modify storage asset:mob Resist.Fire set value 0.5
    # 水倍率 (float) (オプション)
        data modify storage asset:mob Resist.Water set value 1
    # 雷倍率 (float) (オプション)
        data modify storage asset:mob Resist.Thunder set value 1

# MobInitタグ持ちを対象にして召喚関数呼び出し
    execute as @e[type=blaze,tag=MobInit,distance=..0.01] run function asset:mob/common/summon


text:
#> asset:mob/0169.blaze/summon/1.trigger
#
# Mob召喚処理の呼び出し時に実行されるfunction
#
# @within tag/function asset:mob/summon

execute if data storage asset:context {id:169} run function asset:mob/0169.blaze/summon/2.summon


text:
#> asset:mob/0169.blaze/attack/1.trigger
#
# Mobの攻撃時に実行されるfunction
#
# @within tag/function asset:mob/attack

execute if data storage asset:context {id:169} run function asset:mob/0169.blaze/attack/2.attack


text:
#> asset:mob/0169.blaze/attack/2.attack
#
# Mobの攻撃時の処理
#
# @within function asset:mob/0169.blaze/attack/1.trigger

# 演出
    execute at @p[gamemode=!spectator,tag=Victim,distance=..32] run particle lava ~ ~0.5 ~ 0.4 0.1 0.4 0 20 normal @a
    execute at @p[gamemode=!spectator,tag=Victim,distance=..32] run playsound entity.blaze.burn hostile @a ~ ~ ~ 0.7 1 0

# 与えるダメージ
    data modify storage lib: Argument.Damage set value 5f
# 属性
    data modify storage lib: Argument.AttackType set value "Physical"
    data modify storage lib: Argument.ElementType set value "Fire"
# 補正functionを実行
    function lib:damage/modifier
# 対象
    execute as @p[gamemode=!spectator,tag=Victim,distance=..32] run function lib:damage/
# リセット
    function lib:damage/reset


text:
#> asset:mob/0175.queen_bee/0.load
#
# MOBに利用するスコアボード等の初期化処理
#
# @within tag/function asset:mob/load

#> 定義類はここに
# @within function asset:mob/0175.queen_bee/**
    scoreboard objectives add 4V.Tick dummy


text:
#> asset:mob/0175.queen_bee/_index.d
# @private

#> tag
# @within function
#   asset:mob/0175.queen_bee/**
    #declare tag SpreadMarker
    #declare tag Landing
    #declare tag LandingTarget
    #declare tag 4V.ArmorStand
    #declare tag 4V.ArmorStandThis
    #declare tag 4V.Angel
    #declare tag 4V.SkillTackle
    #declare tag 4V.SkillTackleDamageHit
    #declare tag 4V.SkillSummon
    #declare tag 4V.SkillNeedle
    #declare score_holder $Count
    #declare score_holder $Random


text:
#> asset:mob/0175.queen_bee/death/2.death
#
# Mobの死亡時の処理
#
# @within function asset:mob/0175.queen_bee/death/1.trigger

# もともといるアマスタには死んでもらう(複数召喚されてる場合、もし巻き込まれても大丈夫)
    kill @e[type=armor_stand,tag=4V.ArmorStand]

# 演出
    playsound minecraft:entity.wither.death hostile @a ~ ~ ~ 1 2
    particle cloud ~ ~ ~ 1 1 1 0.1 100
    particle explosion_emitter ~ ~ ~ 1 1 1 0.1 10

# ボスドロ
    data modify storage api: Argument.ID set value 793
    data modify storage api: Argument.Important set value true
    function api:artifact/spawn/from_id


text:
#> asset:mob/0175.queen_bee/death/1.trigger
#
# Mobの死亡時に実行されるfunction
#
# @within tag/function asset:mob/death

execute if data storage asset:context {id:175} run function asset:mob/0175.queen_bee/death/2.death


text:
#> asset:mob/0175.queen_bee/summon/2.summon
#
# Mobの召喚時の処理
#
# @within function asset:mob/0175.queen_bee/summon/1.trigger

# 元となるMobを召喚する
    summon ravager ~ ~ ~ {Tags:["MobInit","AlwaysInvisible","4V.Angel"],NoAI:1b,Silent:1b,PersistenceRequired:1b,DeathLootTable:"asset:mob/death/0175.queen_bee"}
# ID (int)
    data modify storage asset:mob ID set value 175
# Type (string) Wikiを参照
    data modify storage asset:mob Type set value "Enemy.Boss"
# 干渉可能か否か (boolean)
    data modify storage asset:mob Interferable set value true
# 名前 (TextComponentString) (オプション)
    data modify storage asset:mob Name set value '{"text":"クイーンビー"}'
# 武器
    # メインハンド (Compound(Item)) (オプション)
        # data modify storage asset:mob Weapon.Mainhand set value
    # オフハンド (Compound(Item)) (オプション)
        # data modify storage asset:mob Weapon.Offhand set value
# 武器ドロップ率 ([float, float]) (オプション)
    # data modify storage asset:mob WeaponDropChances set value
# 防具
    # 頭 (Compound(Item)) (オプション)
        # data modify storage asset:mob Armor.Head set value
    # 胴 (Compound(Item)) (オプション)
        # data modify storage asset:mob Armor.Chest set value
    # 脚 (Compound(Item)) (オプション)
        # data modify storage asset:mob Armor.Legs set value
    # 足 (Compound(Item)) (オプション)
        # data modify storage asset:mob Armor.Feet set value
# 防具ドロップ率 ([float, float]) (オプション)
    # data modify storage asset:mob ArmorDropChances set value
# 体力 (double) (オプション)
    data modify storage asset:mob Health set value 73000
# 攻撃力 (double) (オプション)
    data modify storage asset:mob AttackDamage set value 0
# 防御力 (double) (オプション) // 被ダメージがある程度大きい場合1ptにつき0.8%カット、小さい場合1ptにつき約4%カット 20pt以上は頭打ち
    data modify storage asset:mob Defense set value 0
# 特殊防御力 (double) (オプション) // 4pointにつきダメージを大きく減らす
    data modify storage asset:mob SpecialDefense set value 0
# 移動速度 (double) (オプション)
    data modify storage asset:mob Speed set value 0
# 索敵範囲 (double) (オプション)
    data modify storage asset:mob FollowRange set value 0
# ノックバック耐性 (double) (オプション)
    data modify storage asset:mob KnockBackResist set value 1
# 属性倍率 // 1.0fで100% 最低でも25%は軽減されずに入る
    # 物理倍率 (float) (オプション)
        data modify storage asset:mob Resist.Physical set value 0.9
    # 魔法倍率 (float) (オプション)
        data modify storage asset:mob Resist.Magic set value 1
    # 火倍率 (float) (オプション)
        data modify storage asset:mob Resist.Fire set value 0.7
    # 水倍率 (float) (オプション)
        data modify storage asset:mob Resist.Water set value 0.7
    # 雷倍率 (float) (オプション)
        data modify storage asset:mob Resist.Thunder set value 0.7

# 見た目用のアマスタを召喚
    summon armor_stand ~ ~ ~ {Marker:1b,Invisible:1b,Tags:["4V.ArmorStand","4V.ArmorStandThis","Object","Uninterferable"],ArmorItems:[{},{},{},{id:"minecraft:stone",Count:1b,tag:{CustomModelData:20052}}]}
# 位置をあわせる
    execute as @e[type=ravager,tag=MobInit,distance=..0.01] at @s run tp @e[type=armor_stand,tag=4V.ArmorStandThis,distance=..0.01] @s
# タグを消す
    tag @e[type=armor_stand,tag=4V.ArmorStandThis,distance=..0.01] remove 4V.ArmorStandThis
# スコアを設定する
    scoreboard players set @e[type=ravager,tag=MobInit,distance=..0.01] 4V.Tick -15

# MobInitタグ持ちを対象にして召喚関数呼び出し
    execute as @e[type=ravager,tag=MobInit,distance=..0.01] run function asset:mob/common/summon


text:
#> asset:mob/0175.queen_bee/summon/1.trigger
#
# Mob召喚処理の呼び出し時に実行されるfunction
#
# @within tag/function asset:mob/summon

execute if data storage asset:context {id:175} run function asset:mob/0175.queen_bee/summon/2.summon


text:
#> asset:mob/0175.queen_bee/hurt/2.hurt
#
# Mobの被ダメージ時の処理
#
# @within function asset:mob/0175.queen_bee/hurt/1.trigger

# 演出
    playsound entity.bee.hurt hostile @a ~ ~ ~ 1 1


text:
#> asset:mob/0175.queen_bee/hurt/1.trigger
#
# Mobの被ダメージに実行されるfunction
#
# @within tag/function asset:mob/hurt

execute if data storage asset:context {id:175} run function asset:mob/0175.queen_bee/hurt/2.hurt


text:
#> asset:mob/0175.queen_bee/remove/2.remove
#
#
#
# @within function asset:mob/0175.queen_bee/remove/1.trigger

# アマスタ削除
    kill @e[type=armor_stand,tag=4V.ArmorStand]


text:
#> asset:mob/0175.queen_bee/remove/1.trigger
#
#
#
# @within tag/function asset:mob/remove

execute if data storage asset:context {id:175} run function asset:mob/0175.queen_bee/remove/2.remove


text:
#> asset:mob/0175.queen_bee/tick/armorstand_respawn
#
#
#
# @within function asset:mob/0175.queen_bee/tick/2.tick

# どっかいったアマスタを殺す
    execute as @e[type=armor_stand,tag=4V.ArmorStand] at @s unless entity @e[type=ravager,tag=4V.Angel,distance=..0.1] run kill @s
# 見た目用のアマスタを召喚
    summon armor_stand ~ ~ ~ {Marker:1b,Invisible:1b,Tags:["4V.ArmorStand","4V.ArmorStandThis","Object","Uninterferable"],ArmorItems:[{},{},{},{id:"minecraft:stone",Count:1b,tag:{CustomModelData:20052}}]}
# 位置をあわせる
    tp @e[type=armor_stand,tag=4V.ArmorStandThis,distance=..0.01] @s
# タグを消す
    tag @e[type=armor_stand,tag=4V.ArmorStandThis,distance=..0.01] remove 4V.ArmorStandThis
# スコアも一応戻す
    scoreboard players set @s 4V.Tick -30

# スキル発動中に移動した場合困るので消す
    tag @s remove 4V.SkillTackle
    tag @s remove 4V.SkillSummon
    tag @s remove 4V.SkillNeedle

# 強制的にテレポする
    function asset:mob/0175.queen_bee/tick/teleport


text:
#> asset:mob/0175.queen_bee/tick/2.tick
#
# Mobのtick時の処理
#
# @within function asset:mob/0175.queen_bee/tick/1.trigger

# スコアを増やす
    scoreboard players add @s 4V.Tick 1

# teleportするやつ
    execute if score @s 4V.Tick matches -59 if entity @p[gamemode=!spectator,distance=..100] run function asset:mob/0175.queen_bee/tick/teleport

# その後発動するスキル
# プレイヤーが周囲にいたらスキル選択
    execute if score @s 4V.Tick matches 0 if entity @p[gamemode=!spectator,distance=..100] run function asset:mob/0175.queen_bee/tick/3.skill_select

# プレイヤーが周囲にいないのに時間が着てしまった場合。スコアを戻す
    execute if score @s 4V.Tick matches 0 unless entity @p[gamemode=!spectator,distance=..100] run scoreboard players set @s 4V.Tick -60

# 選択したスキル発動
    execute if score @s 4V.Tick matches 0.. run function asset:mob/0175.queen_bee/tick/4.skill_active

# 以下エラー時の処理
# もし同一座標に2体存在した場合瞬時にteleportする
    # 数のカウント
        execute store result score $Count Temporary if entity @e[type=armor_stand,tag=4V.ArmorStand,distance=..0.01]
    # もしいたらテレポ
        execute if score $Count Temporary matches 2.. run function asset:mob/0175.queen_bee/tick/teleport
    # スコアも一応戻す
        execute if score $Count Temporary matches 2.. run scoreboard players reset @s 4V.Tick
    # リセット
        scoreboard players reset $Count

# もしアマスタがどっかいってしまったら(tpの関係でatが無いと死ぬ)
    execute at @s unless entity @e[type=armor_stand,tag=4V.ArmorStand,distance=..0.01] run function asset:mob/0175.queen_bee/tick/armorstand_respawn


text:
#> asset:mob/0175.queen_bee/tick/rotated
#
# 注視
#
# @within function asset:mob/0175.queen_bee/tick/**

# タグをつける
    tag @e[type=armor_stand,tag=4V.ArmorStand,distance=..0.01,sort=nearest,limit=1] add 4V.ArmorStandThis
# 向きを変える
    tp @s ~ ~ ~ ~ ~
# 位置をあわせる
    tp @e[type=armor_stand,tag=4V.ArmorStandThis,distance=..0.01] @s
# タグを消す
    tag @e[type=armor_stand,tag=4V.ArmorStandThis,distance=..0.01] remove 4V.ArmorStandThis


text:
#> asset:mob/0175.queen_bee/tick/1.trigger
#
# Mobが生きている間毎tick実行されるfunction
#
# @within tag/function asset:mob/tick

execute if data storage asset:context {id:175} run function asset:mob/0175.queen_bee/tick/2.tick


text:
#> asset:mob/0175.queen_bee/tick/4.skill_active
#
#
#
# @within function asset:mob/0175.queen_bee/tick/2.tick

# 突進
    execute if entity @s[tag=4V.SkillTackle] run function asset:mob/0175.queen_bee/tick/skill_tackle/1.skill_tackle
# 召喚
    execute if entity @s[tag=4V.SkillSummon] run function asset:mob/0175.queen_bee/tick/skill_summon/1.skill_summon
# 針
    execute if entity @s[tag=4V.SkillNeedle] run function asset:mob/0175.queen_bee/tick/skill_needle/1.skill_needle


text:
#> asset:mob/0175.queen_bee/tick/3.skill_select
#
#
#
# @within function asset:mob/0175.queen_bee/tick/2.tick

# 疑似乱数取得
    execute store result score $Random Temporary run function lib:random/
# ほしい範囲に剰余算
    scoreboard players operation $Random Temporary %= $3 Const
# デバッグのコマンド
    #scoreboard players set $Random Temporary 2
# スキル選択
    execute if score $Random Temporary matches 0 run tag @s add 4V.SkillTackle
    execute if score $Random Temporary matches 1 run tag @s add 4V.SkillSummon
    execute if score $Random Temporary matches 2 run tag @s add 4V.SkillNeedle
# リセット
    scoreboard players reset $Random Temporary


text:
#> asset:mob/0175.queen_bee/tick/teleport
#
#
#
# @within function asset:mob/0175.queen_bee/tick/**

# 演出
   particle dragon_breath ~ ~1 ~ 0.5 0.5 0.5 0 10 normal @a
   playsound minecraft:entity.enderman.teleport hostile @a ~ ~ ~ 0.7 0.9 0

# ワープ準備
    execute at @p run summon marker ~ ~40 ~ {Tags:["SpreadMarker"]}
    data modify storage lib: Argument.Distance set value 4
    data modify storage lib: Argument.Spread set value 2d
    execute as @e[type=marker,tag=SpreadMarker,limit=1] at @p positioned ~ ~40 ~ rotated ~ 90 run function lib:forward_spreader/circle

# アマスタにタグを付与
    tag @e[type=armor_stand,tag=4V.ArmorStand,distance=..0.01,sort=nearest,limit=1] add 4V.ArmorStandThis

# ワープ
    execute at @p positioned ~ ~40 ~ facing entity @e[type=marker,tag=SpreadMarker,limit=1] feet positioned ^ ^ ^40 if block ~ ~ ~ #lib:no_collision_without_fluid run tp @s ~ ~2 ~ facing entity @p

# アマスタを持ってきてタグを消す
    tp @e[type=armor_stand,tag=4V.ArmorStandThis,sort=nearest,limit=1] @s
    tag @e[type=armor_stand,tag=4V.ArmorStandThis,sort=nearest,limit=1] remove 4V.ArmorStandThis

# リセット
    kill @e[type=marker,tag=SpreadMarker]


text:
#> asset:mob/0175.queen_bee/tick/skill_summon/1.skill_summon
#
#
#
# @within function asset:mob/0175.queen_bee/tick/4.skill_active

# 突進前の挙動
# プレイヤーをみる
    execute if score @s 4V.Tick matches 10 facing entity @p[gamemode=!spectator] eyes run function asset:mob/0175.queen_bee/tick/rotated

# 召喚する
    execute if score @s 4V.Tick matches 15 run function asset:mob/0175.queen_bee/tick/skill_summon/2.skill_summon_bee

# 召喚する
    execute if score @s 4V.Tick matches 20 run function asset:mob/0175.queen_bee/tick/skill_summon/2.skill_summon_bee

# 召喚する
    execute if score @s 4V.Tick matches 25 run function asset:mob/0175.queen_bee/tick/skill_summon/2.skill_summon_bee

# 終了処理
    execute if score @s 4V.Tick matches 30.. run tag @s remove 4V.SkillSummon
    execute if score @s 4V.Tick matches 30.. run scoreboard players set @s 4V.Tick -50


text:
#> asset:mob/0175.queen_bee/tick/skill_summon/2.skill_summon_bee
#
#
#
# @within function asset:mob/0175.queen_bee/tick/skill_summon/1.skill_summon

# 演出
    playsound entity.bee.death hostile @a ~ ~ ~ 1 1
    execute rotated ~ 0 positioned ^ ^ ^1.4 run particle minecraft:poof ~ ~-0.3 ~ 0.3 0.3 0.3 0.05 30

# モブを出す
    data modify storage api: Argument.ID set value 176
    function api:mob/summon


text:
#> asset:mob/0175.queen_bee/tick/skill_tackle/4.skill_tackle_tp_back
#
#
#
# @within function asset:mob/0175.queen_bee/tick/skill_tackle/1.skill_tackle

# タグをつける
    tag @e[type=armor_stand,tag=4V.ArmorStand,distance=..0.01,sort=nearest,limit=1] add 4V.ArmorStandThis
# 全身
    tp @s ^ ^ ^0.4
# 位置をあわせる
    tp @e[type=armor_stand,tag=4V.ArmorStandThis,distance=..0.01] @s
# タグを消す
    tag @e[type=armor_stand,tag=4V.ArmorStandThis,distance=..0.01] remove 4V.ArmorStandThis


text:
#> asset:mob/0175.queen_bee/tick/skill_tackle/2.skill_tackle_tp
#
# tpさせる
#
# @within function asset:mob/0175.queen_bee/tick/skill_tackle/1.skill_tackle

# 演出
    playsound minecraft:entity.bee.hurt hostile @a ~ ~ ~ 1 1.4
    execute positioned ^ ^ ^-1.5 run particle minecraft:poof ~ ~1.5 ~ 0.3 0.3 0.3 0 10 force

# タグをつける
    tag @e[type=armor_stand,tag=4V.ArmorStand,distance=..0.01,sort=nearest,limit=1] add 4V.ArmorStandThis
# 前進
    tp @s ^ ^ ^1.5
# 位置をあわせる
    tp @e[type=armor_stand,tag=4V.ArmorStandThis,distance=..0.01] @s
# タグを消す
    tag @e[type=armor_stand,tag=4V.ArmorStandThis,distance=..0.01] remove 4V.ArmorStandThis


text:
#> asset:mob/0175.queen_bee/tick/skill_tackle/3.skill_tackle_damage
#
#
#
# @within function asset:mob/0175.queen_bee/tick/skill_tackle/1.skill_tackle

# ダメージ判定
# 与えるダメージ
    data modify storage lib: Argument.Damage set value 50.0f
# 属性
    data modify storage lib: Argument.AttackType set value "Physical"
    data modify storage lib: Argument.ElementType set value "None"
# 補正functionを実行
    function lib:damage/modifier
# 対象
    execute as @p[tag=!PlayerShouldInvulnerable,distance=..2] run function lib:damage/
# リセット
    function lib:damage/reset

# プレイヤーにダメージを与えたらタグを付与
    execute if entity @p[tag=!PlayerShouldInvulnerable,distance=..2] run tag @s add 4V.SkillTackleDamageHit


text:
#> asset:mob/0175.queen_bee/tick/skill_tackle/1.skill_tackle
#
#
#
# @within function asset:mob/0175.queen_bee/tick/4.skill_active

# 突進前の挙動
# プレイヤーをみる
    execute if score @s 4V.Tick matches 10 facing entity @p[gamemode=!spectator] eyes run function asset:mob/0175.queen_bee/tick/rotated
# 突進用モデルに変える
    execute if score @s 4V.Tick matches 10 run item replace entity @e[type=armor_stand,tag=4V.ArmorStand,distance=..0.01,sort=nearest,limit=1] armor.head with stone{CustomModelData:20053}
# 一定時間後ずさり
    execute if score @s 4V.Tick matches 10..24 at @s rotated ~180 0 run function asset:mob/0175.queen_bee/tick/skill_tackle/4.skill_tackle_tp_back

# 突進1回目
# プレイヤーを見る
    execute if score @s 4V.Tick matches 25 facing entity @p[gamemode=!spectator] eyes run function asset:mob/0175.queen_bee/tick/rotated
# 一定時間突進し続ける.
    execute if score @s 4V.Tick matches 25..40 at @s run function asset:mob/0175.queen_bee/tick/skill_tackle/2.skill_tackle_tp
    execute if entity @s[tag=!4V.SkillTackleDamageHit] if score @s 4V.Tick matches 25..40 at @s run function asset:mob/0175.queen_bee/tick/skill_tackle/3.skill_tackle_damage
    execute if score @s 4V.Tick matches 25..40 at @s run function asset:mob/0175.queen_bee/tick/skill_tackle/2.skill_tackle_tp
    execute if entity @s[tag=!4V.SkillTackleDamageHit] if score @s 4V.Tick matches 25..40 at @s run function asset:mob/0175.queen_bee/tick/skill_tackle/3.skill_tackle_damage
# 攻撃判定のタグを消す
    execute if score @s 4V.Tick matches 41 run tag @s remove 4V.SkillTackleDamageHit

# 突進2回目
# プレイヤーを見る
    execute if score @s 4V.Tick matches 41 at @s facing entity @p[gamemode=!spectator] eyes rotated ~180 ~ run function asset:mob/0175.queen_bee/tick/rotated
    execute if score @s 4V.Tick matches 41..58 at @s rotated ~10 ~ run function asset:mob/0175.queen_bee/tick/rotated
    execute if score @s 4V.Tick matches 58 at @s facing entity @p[gamemode=!spectator] eyes run function asset:mob/0175.queen_bee/tick/rotated
# 突進
    execute if score @s 4V.Tick matches 41..73 at @s run function asset:mob/0175.queen_bee/tick/skill_tackle/2.skill_tackle_tp
    execute if entity @s[tag=!4V.SkillTackleDamageHit] if score @s 4V.Tick matches 41..73 at @s run function asset:mob/0175.queen_bee/tick/skill_tackle/3.skill_tackle_damage
# 突進の加速
    execute if score @s 4V.Tick matches 58..73 at @s run function asset:mob/0175.queen_bee/tick/skill_tackle/2.skill_tackle_tp
    execute if entity @s[tag=!4V.SkillTackleDamageHit] if score @s 4V.Tick matches 58..73 at @s run function asset:mob/0175.queen_bee/tick/skill_tackle/3.skill_tackle_damage
# 攻撃判定のタグを消す
    execute if score @s 4V.Tick matches 73 run tag @s remove 4V.SkillTackleDamageHit

# 確率で突進二回目に戻す
    execute if score @s 4V.Tick matches 73 if predicate lib:random_pass_per/30 run scoreboard players set @s 4V.Tick 40

# 終了処理
# モデル戻す
    execute if score @s 4V.Tick matches 80.. run item replace entity @e[type=armor_stand,tag=4V.ArmorStand,distance=..0.01,sort=nearest,limit=1] armor.head with stone{CustomModelData:20052}
# リセット処理
    execute if score @s 4V.Tick matches 80.. run tag @s remove 4V.SkillTackle
    execute if score @s 4V.Tick matches 80.. run scoreboard players set @s 4V.Tick -60


text:
#> asset:mob/0175.queen_bee/tick/skill_needle/4.skill_needle_landing
#
#
#
# @within function asset:mob/0175.queen_bee/tick/skill_needle/3.skill_needle_shot
# 演出
    particle minecraft:large_smoke ~ ~ ~ 0 0 0 0.4 10

# ダメージ設定
    # 与えるダメージ
        data modify storage lib: Argument.Damage set value 35.0f
    # 魔法属性
        data modify storage lib: Argument.AttackType set value "Magic"
    # 雷属性
        data modify storage lib: Argument.ElementType set value "None"
    # ダメージ
        function lib:damage/modifier
        execute as @a[tag=LandingTarget,tag=!PlayerShouldInvulnerable,distance=..50,limit=1] at @s run function lib:damage/
# リセット
    function lib:damage/reset

# 毒を付与する
    effect give @a[gamemode=!spectator,tag=LandingTarget,distance=..50,limit=1] poison 6 2

# 着弾タグを消す
    tag @a[gamemode=!spectator,tag=LandingTarget,distance=..50,limit=1] remove LandingTarget


text:
#> asset:mob/0175.queen_bee/tick/skill_needle/1.skill_needle
#
#
#
# @within function asset:mob/0175.queen_bee/tick/4.skill_active

# プレイヤーをみる
    execute if score @s 4V.Tick matches 15 facing entity @p[gamemode=!spectator] eyes run function asset:mob/0175.queen_bee/tick/rotated

# 発砲
    execute if score @s 4V.Tick matches 25..30 positioned ~ ~-1.5 ~ positioned ^ ^ ^1 run function asset:mob/0175.queen_bee/tick/skill_needle/2.skill_needle_ready

# 確率で繰り返す
    execute if score @s 4V.Tick matches 30 if predicate lib:random_pass_per/30 run scoreboard players set @s 4V.Tick 14

# 終了処理
    execute if score @s 4V.Tick matches 30.. run tag @s remove 4V.SkillNeedle
    execute if score @s 4V.Tick matches 30.. run scoreboard players set @s 4V.Tick -50


text:
#> asset:mob/0175.queen_bee/tick/skill_needle/3.skill_needle_shot
#
#
#
# @within function
#   asset:mob/0175.queen_bee/tick/skill_needle/2.skill_needle_ready
#   asset:mob/0175.queen_bee/tick/skill_needle/3.skill_needle_shot

# 着弾検知
    execute if entity @a[gamemode=!spectator,distance=..2] run tag @s add Landing
    execute unless block ^ ^ ^0.5 #lib:no_collision run tag @s add Landing

# ターゲットにタグ付与
    execute if entity @a[gamemode=!spectator,distance=..2] run tag @a[gamemode=!spectator,distance=..2,limit=1] add LandingTarget

# 演出
    execute if predicate lib:random_pass_per/40 run particle dust 0.086 0.282 0.102 1 ~ ~ ~ 0 0 0 0 6

# 着弾
    execute if entity @s[tag=Landing] run function asset:mob/0175.queen_bee/tick/skill_needle/4.skill_needle_landing

# 再起
    execute positioned ^ ^ ^0.5 if entity @s[tag=!Landing,distance=..30] run function asset:mob/0175.queen_bee/tick/skill_needle/3.skill_needle_shot


text:
#> asset:mob/0175.queen_bee/tick/skill_needle/2.skill_needle_ready
#
# 発砲準備
#
# @within function asset:mob/0175.queen_bee/tick/skill_needle/1.skill_needle

# 前方拡散設定
    summon marker ~ ~ ~ {Tags:["SpreadMarker"]}
    data modify storage lib: Argument.Distance set value 4.0
    data modify storage lib: Argument.Spread set value 1

# 前方拡散を実行する
    execute as @e[type=marker,tag=SpreadMarker,limit=1] run function lib:forward_spreader/circle

# 発砲
    execute facing entity @e[type=marker,tag=SpreadMarker,limit=1] feet anchored eyes positioned ^ ^ ^ run function asset:mob/0175.queen_bee/tick/skill_needle/3.skill_needle_shot

# 演出
    playsound minecraft:entity.bee.sting hostile @a[distance=..30] ~ ~ ~ 1 1 1

# リセット
    kill @e[type=marker,tag=SpreadMarker,limit=1]
    tag @s remove Landing


text:
#> asset:mob/0237.lunatic_mage/0.load
#
# MOBに利用するスコアボード等の初期化処理
#
# @within tag/function asset:mob/load

#> 定義類はここに
# @within function asset:mob/0237.lunatic_mage/**
    scoreboard objectives add 6L.Tick dummy
    scoreboard objectives add 6L.Invisible dummy
    scoreboard objectives add 6L.TeleportCount dummy


text:
#> asset:mob/0237.lunatic_mage/_index.d
# @private

#> 技
# @within function asset:mob/0237.lunatic_mage/tick/**
    #declare tag 6L.Fire
    #declare tag 6L.Fire2
    #declare tag 6L.Water
    #declare tag 6L.Thunder
    #declare tag 6L.Magic
    #declare tag 6L.ElementalConfine

#> 再帰のヒットの処理用Tag
# @within function
#   asset:mob/0237.lunatic_mage/skill/elemental_confine/**
#   asset:mob/0237.lunatic_mage/skill/magic/**
    #declare tag LandingTarget

#> 体力40%以下のTag
# @within function
#   asset:mob/0237.lunatic_mage/hurt/**
#   asset:mob/0237.lunatic_mage/tick/**
    #declare tag 6L.HealthLess40Per

#> 炎1の回転の向き
# @within function
#   asset:mob/0237.lunatic_mage/skill/fire/**
#   asset:mob/0237.lunatic_mage/tick/5.reset
    #declare tag 6L.LeftRotation

#> 召喚地点の位置用Marker
# @within function
#   asset:mob/0237.lunatic_mage/death/2.death
#   asset:mob/0237.lunatic_mage/remove/2.remove
#   asset:mob/0237.lunatic_mage/skill/elemental_confine/**
#   asset:mob/0237.lunatic_mage/skill/teleport/main
#   asset:mob/0237.lunatic_mage/summon/2.summon
    #declare tag 6L.SpawnPoint

#> score_holder
# @within function asset:mob/0237.lunatic_mage/**
    #declare score_holder $Random
    #declare score_holder $Interval


text:
#> asset:mob/0237.lunatic_mage/magic_summon/fire
#
# 火魔法を召喚します
#
# @within function asset:mob/0237.lunatic_mage/skill/**

#> Private
# @private function asset:mob/0237.lunatic_mage/magic_summon/fire
    #declare tag 5L.Already

# 召喚
    data modify storage api: Argument.ID set value 188
    function api:mob/summon
    tp @e[type=marker,tag=!5L.Already,scores={MobID=188},distance=..0.01,sort=nearest,limit=1] ~ ~ ~ ~ ~
    tag @e[type=marker,tag=!5L.Already,scores={MobID=188},distance=..0.01,sort=nearest,limit=1] add 5L.Already


text:
#> asset:mob/0237.lunatic_mage/magic_summon/water
#
# 水魔法を召喚します
#
# @within function asset:mob/0237.lunatic_mage/skill/**

# 召喚
    data modify storage api: Argument.ID set value 214
    function api:mob/summon


text:
#> asset:mob/0237.lunatic_mage/magic_summon/thunder
#
# 雷魔法を召喚します
#
# @within function asset:mob/0237.lunatic_mage/skill/**

# 召喚
    data modify storage api: Argument.ID set value 191
    function api:mob/summon


text:
#> asset:mob/0237.lunatic_mage/death/2.death
#
# Mobの死亡時の処理
#
# @within function asset:mob/0237.lunatic_mage/death/1.trigger

# 演出
    playsound minecraft:entity.phantom.hurt hostile @a ~ ~ ~ 1 0.5
    playsound minecraft:entity.player.breath hostile @a ~ ~ ~ 1 0.5
    playsound item.trident.thunder hostile @a ~ ~ ~ 1 1.3 0.5
    particle end_rod ~ ~1.2 ~ 0.2 0.2 0.2 0.3 100 normal @a

# 初期地点markerをキル
    kill @e[type=marker,tag=6L.SpawnPoint,distance=..100,limit=1]

# ボスドロ
    data modify storage api: Argument.ID set value 952
    data modify storage api: Argument.Important set value true
    function api:artifact/spawn/from_id


text:
#> asset:mob/0237.lunatic_mage/death/1.trigger
#
# Mobの死亡時に実行されるfunction
#
# @within tag/function asset:mob/death

execute if data storage asset:context {id:237} run function asset:mob/0237.lunatic_mage/death/2.death


text:
#> asset:mob/0237.lunatic_mage/summon/2.summon
#
# Mobの召喚時の処理
#
# @within function asset:mob/0237.lunatic_mage/summon/1.trigger

# 元となるMobを召喚する
    summon husk ~ ~-100 ~ {DeathTime:19s,Silent:1b,Tags:["MobInit","AlwaysInvisible","AlwaysSlowFall","AntiVoid"],DeathLootTable:"asset:mob/death/0237.lunatic_mage"}
# ID (int)
    data modify storage asset:mob ID set value 237
# Type (string) Wikiを参照
    data modify storage asset:mob Type set value "Enemy.Boss"
# 干渉可能か否か (boolean)
    data modify storage asset:mob Interferable set value true
# 名前 (TextComponentString) (オプション)
    data modify storage asset:mob Name set value '{"text":"ルナティックメイジ","color":"white"}'
# 武器
    # メインハンド (Compound(Item)) (オプション)
        #data modify storage asset:mob Weapon.Mainhand set value {id:"minecraft:carrot_on_a_stick",Count:1b,tag:{CustomModelData:20187}}
# 防具
    # 頭 (Compound(Item)) (オプション)
        data modify storage asset:mob Armor.Head set value {id:"minecraft:stick",Count:1b,tag:{CustomModelData:20189}}
# 体力 (double) (オプション)
    data modify storage asset:mob Health set value 73000
# 攻撃力 (double) (オプション)
    data modify storage asset:mob AttackDamage set value 0
# 防御力 (double) (オプション) // 被ダメージがある程度大きい場合1ptにつき0.8%カット、小さい場合1ptにつき約4%カット 20pt以上は頭打ち
    data modify storage asset:mob Defense set value -3
# 特殊防御力 (double) (オプション) // 4pointにつきダメージを大きく減らす
    # data modify storage asset:mob SpecialDefense set value
# 移動速度 (double) (オプション)
    data modify storage asset:mob Speed set value 0.15
# 索敵範囲 (double) (オプション)
    data modify storage asset:mob FollowRange set value 32
# ノックバック耐性 (double) (オプション)
    # data modify storage asset:mob KnockBackResist set value
# 属性倍率 // 1.0fで100% 最低でも25%は軽減されずに入る
    # 物理倍率 (float) (オプション)
        data modify storage asset:mob Resist.Physical set value 1
    # 魔法倍率 (float) (オプション)
        data modify storage asset:mob Resist.Magic set value 0
    # 火倍率 (float) (オプション)
        data modify storage asset:mob Resist.Fire set value 1
    # 水倍率 (float) (オプション)
        data modify storage asset:mob Resist.Water set value 1
    # 雷倍率 (float) (オプション)
        data modify storage asset:mob Resist.Thunder set value 1

# 降ろす
    execute positioned ~ ~-100 ~ as @e[type=husk,tag=MobInit,distance=..0.01] run tp @s ~ ~100 ~

# スコアを与える
    execute as @e[type=husk,tag=MobInit,distance=..0.01] run scoreboard players set @s 6L.Tick -60

# 登場演出
    function asset:mob/0237.lunatic_mage/skill/teleport/vfx

# 召喚地点用Markerを召喚
    execute align xyz run summon marker ~0.5 ~0.5 ~0.5 {Tags:["Object","Uninterferable","6L.SpawnPoint"]}

# MobInitタグ持ちを対象にして召喚関数呼び出し
    execute as @e[type=husk,tag=MobInit,distance=..0.01] run function asset:mob/common/summon


text:
#> asset:mob/0237.lunatic_mage/summon/1.trigger
#
# Mob召喚処理の呼び出し時に実行されるfunction
#
# @within tag/function asset:mob/summon

execute if data storage asset:context {id:237} run function asset:mob/0237.lunatic_mage/summon/2.summon


text:
#> asset:mob/0237.lunatic_mage/hurt/3.check_health
#
# 体力の割合を検知する
#
# @within function asset:mob/0237.lunatic_mage/hurt/2.hurt

#> Priuvate
# @private
    #declare score_holder $HealthPer

# 現在体力を割合で出す
    function api:mob/get_health_percent
# 代入する
    execute store result score $HealthPer Temporary run data get storage api: Return.HealthPer 100

# 40%以下でTagを付与
    execute if score $HealthPer Temporary matches ..40 run tag @s add 6L.HealthLess40Per

# リセット
    scoreboard players reset $HealthPer Temporary


text:
#> asset:mob/0237.lunatic_mage/hurt/2.hurt
#
# Mobの被ダメージ時の処理
#
# @within function asset:mob/0237.lunatic_mage/hurt/1.trigger

# 演出
    playsound minecraft:entity.vex.hurt hostile @a ~ ~ ~ 1 0.5
    playsound minecraft:entity.vex.hurt hostile @a ~ ~ ~ 1 0.7
    playsound minecraft:entity.glow_squid.ambient hostile @a ~ ~ ~ 1 2

# 体力が40%であることを検知
    execute if entity @s[tag=!6L.HealthLess40Per] run function asset:mob/0237.lunatic_mage/hurt/3.check_health


text:
#> asset:mob/0237.lunatic_mage/hurt/1.trigger
#
# Mobの被ダメージに実行されるfunction
#
# @within tag/function asset:mob/hurt

execute if data storage asset:context {id:237} run function asset:mob/0237.lunatic_mage/hurt/2.hurt


text:
#> asset:mob/0237.lunatic_mage/skill/fire/1
#
# 火スキルのメイン処理
#
# @within function asset:mob/0237.lunatic_mage/tick/4.skill_branch

# 最初に左回転か右回転か決める
    execute if entity @s[scores={6L.Tick=1}] if predicate lib:random_pass_per/50 run tag @s add 6L.LeftRotation

# ポーズ変更
    execute if entity @s[scores={6L.Tick=2}] run item replace entity @s armor.head with stick{CustomModelData:20200}

# 予備動作的な
    execute if entity @s[scores={6L.Tick=2}] run playsound block.portal.trigger hostile @a[distance=..30] ~ ~ ~ 0.5 2 0
    execute if entity @s[scores={6L.Tick=..20}] run particle dust 1 0 0 1.5 ~ ~1 ~ 0.4 0.5 0.4 0.3 3 force @a[distance=..20]
    execute if entity @s[scores={6L.Tick=..20}] positioned ~ ~2.4 ~ positioned ^-0.6 ^ ^0.4 run particle flame ~ ~ ~ 0 0 0 0.02 1

# NoAIと向きをセット
    execute if entity @s[scores={6L.Tick=20}] run data modify entity @s NoAI set value 1b
    execute if entity @s[scores={6L.Tick=20}] facing entity @p[gamemode=!spectator,distance=..32] eyes run tp @s ~ ~ ~ ~ ~

# 空中なら降りる
    execute if entity @s[scores={6L.Tick=20..}] if block ~ ~-0.2 ~ #lib:no_collision_without_fluid run tp @s ~ ~-0.2 ~

# 実行時間を移す
    execute if entity @s[scores={6L.Tick=20..}] run scoreboard players operation $Interval Temporary = @s 6L.Tick
# 4tickおきに実行
    execute if entity @s[scores={6L.Tick=20..}] run scoreboard players operation $Interval Temporary %= $5 Const
    execute if entity @s[scores={6L.Tick=20..}] if score $Interval Temporary matches 0 run function asset:mob/0237.lunatic_mage/skill/fire/2.shoot

# リセット
    scoreboard players reset $Interval Temporary
# リセット
    execute if entity @s[scores={6L.Tick=80..}] run function asset:mob/0237.lunatic_mage/tick/5.reset


text:
#> asset:mob/0237.lunatic_mage/skill/fire/2.shoot
#
# 火の弾を発射する
#
# @within function asset:mob/0237.lunatic_mage/skill/fire/1

# 音
    playsound minecraft:entity.blaze.shoot hostile @a ~ ~ ~ 3 1.5
    playsound minecraft:block.fire.ambient hostile @a ~ ~ ~ 3 1.5
    playsound minecraft:entity.witch.throw hostile @a ~ ~ ~ 3 0.7

# 発射
    execute anchored eyes positioned ^-0.25 ^-0.25 ^ rotated ~ 0 run function asset:mob/0237.lunatic_mage/magic_summon/fire

# 発射(後ろ向き)
    execute anchored eyes positioned ^0.25 ^-0.25 ^ rotated ~180 0 run function asset:mob/0237.lunatic_mage/magic_summon/fire

# 回転
    execute if entity @s[tag=6L.LeftRotation] run tp @s ~ ~ ~ ~-15 ~
    execute if entity @s[tag=!6L.LeftRotation] run tp @s ~ ~ ~ ~15 ~


text:
#> asset:mob/0237.lunatic_mage/skill/fire2/1
#
# 火スキル2のメイン処理
#
# @within function asset:mob/0237.lunatic_mage/tick/4.skill_branch

# ポーズ変更
    execute if entity @s[scores={6L.Tick=2}] run item replace entity @s armor.head with stick{CustomModelData:20199}

# 予備動作的な
    execute if entity @s[scores={6L.Tick=2}] run playsound block.portal.trigger hostile @a[distance=..30] ~ ~ ~ 0.5 2 0
    execute if entity @s[scores={6L.Tick=..20}] run particle dust 1 0 0 1.5 ~ ~1 ~ 0.4 0.5 0.4 0.3 3 force @a[distance=..20]
    execute if entity @s[scores={6L.Tick=..20}] positioned ~ ~1.21 ~ positioned ^-0.5 ^ ^1.3 run particle flame ~ ~ ~ 0 0 0 0.02 1

# 軽く炎弾を連射
    execute if entity @s[scores={6L.Tick=25}] positioned ~ ~1.21 ~ positioned ^-0.5 ^ ^1.3 facing entity @p[gamemode=!spectator,distance=..40] eyes run function asset:mob/0237.lunatic_mage/skill/fire2/2.shoot
    execute if entity @s[scores={6L.Tick=35}] positioned ~ ~1.21 ~ positioned ^-0.5 ^ ^1.3 facing entity @p[gamemode=!spectator,distance=..40] eyes run function asset:mob/0237.lunatic_mage/skill/fire2/2.shoot
    execute if entity @s[scores={6L.Tick=45}] positioned ~ ~1.21 ~ positioned ^-0.5 ^ ^1.3 facing entity @p[gamemode=!spectator,distance=..40] eyes run function asset:mob/0237.lunatic_mage/skill/fire2/2.shoot

# リセット
    execute if entity @s[scores={6L.Tick=45..}] run function asset:mob/0237.lunatic_mage/tick/5.reset


text:
#> asset:mob/0237.lunatic_mage/skill/fire2/2.shoot
#
# 3wayの火の弾を発射する処理
#
# @within function asset:mob/0237.lunatic_mage/skill/fire2/1

# 演出
    playsound minecraft:entity.blaze.shoot hostile @a ~ ~ ~ 3 1.5
    playsound minecraft:block.fire.ambient hostile @a ~ ~ ~ 3 1.5
    playsound minecraft:entity.witch.throw hostile @a ~ ~ ~ 3 0.7
    playsound minecraft:item.trident.throw hostile @a ~ ~ ~ 3 0.7

# 発射
    execute positioned ^-0.25 ^-0.25 ^ run function asset:mob/0237.lunatic_mage/magic_summon/fire
    execute rotated ~20 ~ positioned ^-0.25 ^-0.25 ^ run function asset:mob/0237.lunatic_mage/magic_summon/fire
    execute rotated ~-20 ~ positioned ^-0.25 ^-0.25 ^ run function asset:mob/0237.lunatic_mage/magic_summon/fire


text:
#> asset:mob/0237.lunatic_mage/skill/magic/3.shoot_beam
#
# ビームの発射処理
#
# @within function asset:mob/0237.lunatic_mage/skill/magic/1

# 演出
    execute positioned ^ ^ ^5 run function asset:mob/0237.lunatic_mage/skill/magic/4.shapes
    execute positioned ^ ^ ^10 run function asset:mob/0237.lunatic_mage/skill/magic/4.shapes
    execute positioned ^ ^ ^15 run function asset:mob/0237.lunatic_mage/skill/magic/4.shapes
    execute positioned ^ ^ ^20 run function asset:mob/0237.lunatic_mage/skill/magic/4.shapes
    execute positioned ^ ^ ^25 run function asset:mob/0237.lunatic_mage/skill/magic/4.shapes
    execute positioned ^ ^ ^30 run function asset:mob/0237.lunatic_mage/skill/magic/4.shapes
    execute positioned ^ ^ ^35 run function asset:mob/0237.lunatic_mage/skill/magic/4.shapes
    execute positioned ^ ^ ^40 run function asset:mob/0237.lunatic_mage/skill/magic/4.shapes
    execute positioned ^ ^ ^45 run function asset:mob/0237.lunatic_mage/skill/magic/4.shapes

# 音で相手の位置がわかるように
    execute as @a[distance=..50] at @s facing entity @e[type=husk,tag=this,distance=..52] eyes positioned ^ ^ ^3 run function asset:mob/0237.lunatic_mage/skill/magic/sound

# 再帰
    function asset:mob/0237.lunatic_mage/skill/magic/5.beam_recursive

# ダメージ設定
    data modify storage lib: Argument.Damage set value 50f
    data modify storage lib: Argument.AttackType set value "Magic"
    function lib:damage/modifier
    execute as @a[tag=LandingTarget,distance=..60] run function lib:damage/
# リセット
    function lib:damage/reset

# Tag削除
    tag @a[tag=LandingTarget,distance=..60] remove LandingTarget


text:
#> asset:mob/0237.lunatic_mage/skill/magic/1
#
# 無属性魔法のメイン処理部
#
# @within function asset:mob/0237.lunatic_mage/tick/4.skill_branch

#>
# @private
#declare tag 6L.RotationMarker

# ポーズ変更
    execute if entity @s[scores={6L.Tick=2}] run item replace entity @s armor.head with stick{CustomModelData:20199}

# 予備動作的な
    execute if entity @s[scores={6L.Tick=2}] run playsound block.portal.trigger hostile @a[distance=..30] ~ ~ ~ 0.4 2 0.4
    execute if entity @s[scores={6L.Tick=..20}] run particle dust 1 1 1 1.5 ~ ~1 ~ 0.4 0.5 0.4 0.3 2 force @a[distance=..20]
    execute if entity @s[scores={6L.Tick=..20}] positioned ~ ~1.21 ~ positioned ^-0.5 ^ ^1.3 run particle minecraft:end_rod ~ ~ ~ 0 0 0 0.05 1

# NoAIになる
    execute if entity @s[scores={6L.Tick=2}] run data modify entity @s NoAI set value 1b

# 1回目のみ最も最寄りのプレイヤーをターゲットとして予告線を出す
    execute if entity @s[scores={6L.Tick=20..45}] positioned ~ ~1.21 ~ positioned ^-0.5 ^ ^1.3 facing entity @p[gamemode=!spectator,distance=..50] eyes run function asset:mob/0237.lunatic_mage/skill/magic/2.warning_line

# ターゲットとなったプレイヤーの方向を保存するためにAECを召喚して、せめてxのrotationだけでも対象の方向を見る
    execute if entity @s[scores={6L.Tick=45}] run item replace entity @s armor.head with stick{CustomModelData:20200}
    execute if entity @s[scores={6L.Tick=45}] anchored eyes facing entity @p[gamemode=!spectator,distance=..50] eyes run summon area_effect_cloud ^ ^ ^0.01 {Duration:7,Tags:["Object","Uninterferable","6L.RotationMarker"]}
    execute if entity @s[scores={6L.Tick=45}] anchored eyes facing entity @e[type=area_effect_cloud,tag=6L.RotationMarker,distance=..2,sort=nearest,limit=1] eyes positioned as @s run tp @s ~ ~ ~ ~ 0
# 発射
    execute if entity @s[scores={6L.Tick=51}] run item replace entity @s armor.head with stick{CustomModelData:20199}
    execute if entity @s[scores={6L.Tick=51}] anchored eyes facing entity @e[type=area_effect_cloud,tag=6L.RotationMarker,distance=..2,sort=nearest,limit=1] feet positioned ~ ~1.21 ~ run function asset:mob/0237.lunatic_mage/skill/magic/3.shoot_beam

# ランダムなプレイヤーを向くようにAECを設置
    execute if entity @s[scores={6L.Tick=71}] run item replace entity @s armor.head with stick{CustomModelData:20200}
    execute if entity @s[scores={6L.Tick=71}] anchored eyes facing entity @r[gamemode=!spectator,distance=..50] eyes run summon area_effect_cloud ^ ^ ^0.01 {Duration:7,Tags:["Object","Uninterferable","6L.RotationMarker"]}
    execute if entity @s[scores={6L.Tick=71}] anchored eyes facing entity @e[type=area_effect_cloud,tag=6L.RotationMarker,distance=..2,sort=nearest,limit=1] eyes positioned as @s run tp @s ~ ~ ~ ~ 0
# 発射
    execute if entity @s[scores={6L.Tick=77}] run item replace entity @s armor.head with stick{CustomModelData:20199}
    execute if entity @s[scores={6L.Tick=77}] anchored eyes facing entity @e[type=area_effect_cloud,tag=6L.RotationMarker,distance=..2,sort=nearest,limit=1] feet positioned ~ ~1.21 ~ run function asset:mob/0237.lunatic_mage/skill/magic/3.shoot_beam

# ランダムなプレイヤーを向くようにAECを設置
    execute if entity @s[scores={6L.Tick=97}] run item replace entity @s armor.head with stick{CustomModelData:20200}
    execute if entity @s[scores={6L.Tick=97}] anchored eyes facing entity @r[gamemode=!spectator,distance=..50] eyes run summon area_effect_cloud ^ ^ ^0.01 {Duration:7,Tags:["Object","Uninterferable","6L.RotationMarker"]}
    execute if entity @s[scores={6L.Tick=97}] anchored eyes facing entity @e[type=area_effect_cloud,tag=6L.RotationMarker,distance=..2,sort=nearest,limit=1] eyes positioned as @s run tp @s ~ ~ ~ ~ 0
# 発射
    execute if entity @s[scores={6L.Tick=103}] run item replace entity @s armor.head with stick{CustomModelData:20199}
    execute if entity @s[scores={6L.Tick=103}] anchored eyes facing entity @e[type=area_effect_cloud,tag=6L.RotationMarker,distance=..2,sort=nearest,limit=1] feet positioned ~ ~1.21 ~ run function asset:mob/0237.lunatic_mage/skill/magic/3.shoot_beam

# リセット
    execute if entity @s[scores={6L.Tick=150..}] run function asset:mob/0237.lunatic_mage/tick/5.reset


text:
#> asset:mob/0237.lunatic_mage/skill/magic/5.beam_recursive
#
# ビームの再帰処理部
#
# @within function
#   asset:mob/0237.lunatic_mage/skill/magic/3.shoot_beam
#   asset:mob/0237.lunatic_mage/skill/magic/5.beam_recursive

# 演出
    particle dust 1 1 1 1 ~ ~ ~ 0.2 0.2 0.2 0.01 5 normal @a
    particle end_rod ^ ^ ^1 0.2 0.2 0.2 0.01 8 normal @a

# ヒット
    tag @a[tag=!PlayerShouldInvulnerable,distance=..2] add LandingTarget

# 再帰
    execute if entity @s[distance=..50] positioned ^ ^ ^1 run function asset:mob/0237.lunatic_mage/skill/magic/5.beam_recursive


text:
#> asset:mob/0237.lunatic_mage/skill/magic/sound
#
# プレイヤーの位置から鳴らす
#
# @within function asset:mob/0237.lunatic_mage/skill/magic/3.shoot_beam

# 音
    playsound block.portal.travel hostile @s ~ ~ ~ 0.05 2
    playsound item.trident.return hostile @s ~ ~ ~ 0.6 0.8
    playsound item.trident.return hostile @s ~ ~ ~ 0.6 2
    playsound entity.blaze.shoot hostile @s ~ ~ ~ 0.5 2
    playsound minecraft:block.respawn_anchor.deplete hostile @s ~ ~ ~ 0.4 2
    playsound minecraft:block.respawn_anchor.set_spawn hostile @s ~ ~ ~ 1 1.4


text:
#> asset:mob/0237.lunatic_mage/skill/magic/4.shapes
#
# ビームの演出として使う円
#
# @within function asset:mob/0237.lunatic_mage/skill/magic/3.shoot_beam

# [ImportKey]: NobwRALgngDgpmAXGAxgSwE4oDYIDRgCuhaAJkmACwCsAnAEYAcjpATALSsDMXAjO5V6t67egDMAbI3YAGevS6UA7LRkqJ9MAQB2AQwC2CZIDDFAAS8tYGLowGAzknAoA9oW0QkrGQRRx3cDEcwADddbEIjcAAPJG8wKFiAX0SCW1I0QgdEXgI7CBsPRDi4bGw0GDsjXhk4jGd8iCM4tDsAUVLyytaAR0Iw7CgAZWtfckQxMMrkvHBoeAp0LFxLYjIKShQuehlqJWp2XSUtgUZ6fl1qai52CVoJJRRaOCUJFCUZSz1DCjNWS2tbPosk5XO4kNUfH5GoFEOBQuFImAYkUCAkitMwGkMlkZAA6ai5fIYQrFDoVKo1VL1XSNWIEFrtMrknp9UpDEZwMYTbBTRIAXSAA_3

# 円 2
    particle dust 1 1 1 1 ^0 ^-0.5 ^ 0 0 0 0 1
    particle dust 1 1 1 1 ^0.29389 ^-0.40451 ^ 0 0 0 0 1
    particle dust 1 1 1 1 ^0.47553 ^-0.15451 ^ 0 0 0 0 1
    particle dust 1 1 1 1 ^0.47553 ^0.15451 ^ 0 0 0 0 1
    particle dust 1 1 1 1 ^0.29389 ^0.40451 ^ 0 0 0 0 1
    particle dust 1 1 1 1 ^0 ^0.5 ^ 0 0 0 0 1
    particle dust 1 1 1 1 ^-0.29389 ^0.40451 ^ 0 0 0 0 1
    particle dust 1 1 1 1 ^-0.47553 ^0.15451 ^ 0 0 0 0 1
    particle dust 1 1 1 1 ^-0.47553 ^-0.15451 ^ 0 0 0 0 1
    particle dust 1 1 1 1 ^-0.29389 ^-0.40451 ^ 0 0 0 0 1

# 円 1
    particle end_rod ^0 ^-1 ^ 0 0 0 0 1
    particle end_rod ^0.30902 ^-0.95106 ^ 0 0 0 0 1
    particle end_rod ^0.58779 ^-0.80902 ^ 0 0 0 0 1
    particle end_rod ^0.80902 ^-0.58779 ^ 0 0 0 0 1
    particle end_rod ^0.95106 ^-0.30902 ^ 0 0 0 0 1
    particle end_rod ^1 ^0 ^ 0 0 0 0 1
    particle end_rod ^0.95106 ^0.30902 ^ 0 0 0 0 1
    particle end_rod ^0.80902 ^0.58779 ^ 0 0 0 0 1
    particle end_rod ^0.58779 ^0.80902 ^ 0 0 0 0 1
    particle end_rod ^0.30902 ^0.95106 ^ 0 0 0 0 1
    particle end_rod ^0 ^1 ^ 0 0 0 0 1
    particle end_rod ^-0.30902 ^0.95106 ^ 0 0 0 0 1
    particle end_rod ^-0.58779 ^0.80902 ^ 0 0 0 0 1
    particle end_rod ^-0.80902 ^0.58779 ^ 0 0 0 0 1
    particle end_rod ^-0.95106 ^0.30902 ^ 0 0 0 0 1
    particle end_rod ^-1 ^0 ^ 0 0 0 0 1
    particle end_rod ^-0.95106 ^-0.30902 ^ 0 0 0 0 1
    particle end_rod ^-0.80902 ^-0.58779 ^ 0 0 0 0 1
    particle end_rod ^-0.58779 ^-0.80902 ^ 0 0 0 0 1
    particle end_rod ^-0.30902 ^-0.95106 ^ 0 0 0 0 1


text:
#> asset:mob/0237.lunatic_mage/skill/magic/2.warning_line
#
# 予告線を出す処理
#
# @within function
#   asset:mob/0237.lunatic_mage/skill/magic/1
#   asset:mob/0237.lunatic_mage/skill/magic/2.warning_line

# 演出
    particle dust 1 1 1 1 ~ ~ ~ 0 0 0 0 1 normal @a

# 再帰
    execute if entity @s[distance=..50] positioned ~-0.5 ~-0.5 ~-0.5 unless entity @a[dx=0] positioned ~0.5 ~0.5 ~0.5 positioned ^ ^ ^1 run function asset:mob/0237.lunatic_mage/skill/magic/2.warning_line


text:
#> asset:mob/0237.lunatic_mage/skill/thunder/1
#
# 雷スキルのメイン処理
#
# @within function asset:mob/0237.lunatic_mage/tick/4.skill_branch

#> Private
# @private
    #declare tag TargetPlayer
    #declare tag 6L.ThunderSummonPoint

# ポーズ変更
    execute if entity @s[scores={6L.Tick=2}] run item replace entity @s armor.head with stick{CustomModelData:20200}

# 音
    execute if entity @s[scores={6L.Tick=2}] run playsound block.portal.trigger hostile @a[distance=..30] ~ ~ ~ 0.8 2 0

# パーティクル
    execute if entity @s[scores={6L.Tick=..20}] run particle dust 1 1 0 1.5 ~ ~1 ~ 0.4 0.5 0.4 0.3 3 force @a[distance=..20]
    execute if entity @s[scores={6L.Tick=..20}] positioned ~ ~2.4 ~ positioned ^-0.6 ^ ^0.4 run particle glow ~ ~ ~ 0 0 0 0.02 1

# 一度プレイヤーを二人指定し、その位置で雷の召喚地点となるAECを召喚する
    execute if entity @s[scores={6L.Tick=20}] run tag @a[gamemode=!spectator,distance=..50,sort=random,limit=2] add TargetPlayer
    execute if entity @s[scores={6L.Tick=20}] at @a[tag=TargetPlayer,distance=..50,limit=2] run summon area_effect_cloud ~ ~ ~ {Tags:["6L.ThunderSummonPoint"],Particle:"block air",Duration:21}

# ターゲットとなったプレイヤーの位置で、ルナティックメイジの方を見て5ブロック先に雷召喚地点のAECをワープさせる
    execute if entity @s[scores={6L.Tick=20}] at @a[tag=TargetPlayer,distance=..50,limit=2] facing entity @s eyes rotated ~ 0 run tp @e[type=area_effect_cloud,tag=6L.ThunderSummonPoint,distance=..0.01,sort=nearest,limit=1] ^ ^ ^5 ~180 0
    execute if entity @s[scores={6L.Tick=20}] run tag @a[tag=TargetPlayer,distance=..50,limit=2] remove TargetPlayer

# 1回目の雷
    execute if entity @s[scores={6L.Tick=21}] at @e[type=area_effect_cloud,tag=6L.ThunderSummonPoint,distance=..50,limit=2] positioned ~ ~0.5 ~ run function asset:mob/0237.lunatic_mage/skill/thunder/2.thunder

# 2回目
    execute if entity @s[scores={6L.Tick=26}] at @e[type=area_effect_cloud,tag=6L.ThunderSummonPoint,distance=..50,limit=2] positioned ~ ~0.5 ~ positioned ^ ^ ^5 run function asset:mob/0237.lunatic_mage/skill/thunder/2.thunder

# 3回目
    execute if entity @s[scores={6L.Tick=31}] at @e[type=area_effect_cloud,tag=6L.ThunderSummonPoint,distance=..50,limit=2] positioned ~ ~0.5 ~ positioned ^ ^ ^10 run function asset:mob/0237.lunatic_mage/skill/thunder/2.thunder

# リセット
    execute if entity @s[scores={6L.Tick=41..}] run function asset:mob/0237.lunatic_mage/tick/5.reset


text:
#> asset:mob/0237.lunatic_mage/skill/thunder/2.thunder
#
# 雷を3箇所に落とす処理
#
# @within function asset:mob/0237.lunatic_mage/skill/thunder/1

# 召喚
    function asset:mob/0237.lunatic_mage/magic_summon/thunder
    execute positioned ^-5 ^ ^ run function asset:mob/0237.lunatic_mage/magic_summon/thunder
    execute positioned ^5 ^ ^ run function asset:mob/0237.lunatic_mage/magic_summon/thunder


text:
#> asset:mob/0237.lunatic_mage/skill/elemental_confine/start
#
# 大技開始のながれ
#
# @within function asset:mob/0237.lunatic_mage/skill/elemental_confine/1

# 頭装備解除
    item replace entity @s armor.head with minecraft:air

# 演出
    function asset:mob/0237.lunatic_mage/skill/teleport/vfx

# スポーン地点にワープ
    execute at @e[type=marker,tag=6L.SpawnPoint,distance=..100,sort=nearest,limit=1] run tp @s ~ ~2 ~

# 演出
    execute at @s run function asset:mob/0237.lunatic_mage/skill/teleport/vfx

# NoAIになる
    data modify entity @s NoAI set value 1b


text:
#> asset:mob/0237.lunatic_mage/skill/elemental_confine/11.thunder2
#
# 雷を4箇所に落とす処理
#
# @within function asset:mob/0237.lunatic_mage/skill/elemental_confine/10.thunder

# 4つ落とす
    execute positioned ^ ^ ^3.5 run function asset:mob/0237.lunatic_mage/magic_summon/thunder
    execute rotated ~90 ~ positioned ^ ^ ^3.5 run function asset:mob/0237.lunatic_mage/magic_summon/thunder
    execute rotated ~180 ~ positioned ^ ^ ^3.5 run function asset:mob/0237.lunatic_mage/magic_summon/thunder
    execute rotated ~270 ~ positioned ^ ^ ^3.5 run function asset:mob/0237.lunatic_mage/magic_summon/thunder


text:
#> asset:mob/0237.lunatic_mage/skill/elemental_confine/1
#
# メイン処理部
#
# @within function asset:mob/0237.lunatic_mage/tick/4.skill_branch

# 開始のもろもろ
    execute if entity @s[scores={6L.Tick=1}] run function asset:mob/0237.lunatic_mage/skill/elemental_confine/start

# 頭装備再装備
    execute if entity @s[scores={6L.Tick=4}] run item replace entity @s armor.head with stick{CustomModelData:20199}

# 大技にはかっこいい詠唱が付き物です
    execute if entity @s[scores={6L.Tick=2}] run summon area_effect_cloud ~ ~2 ~ {CustomNameVisible:1b,Radius:0f,Duration:20,CustomName:'{"text":"Get over here","font":"illageralt","color":"light_purple"}'}
    execute if entity @s[scores={6L.Tick=20}] run summon area_effect_cloud ~ ~2 ~ {CustomNameVisible:1b,Radius:0f,Duration:40,CustomName:'{"text":"Farewell","font":"illageralt","color":"light_purple"}'}

# ポーズ変更
    execute if entity @s[scores={6L.Tick=20}] run item replace entity @s armor.head with stick{CustomModelData:20200}

# 予備動作的な
    execute if entity @s[scores={6L.Tick=22}] at @a[distance=..20] run playsound minecraft:block.portal.travel hostile @a ~ ~ ~ 0.2 2 0
    execute if entity @s[scores={6L.Tick=..40}] run particle dust 1 1 1 1.5 ~ ~1 ~ 0.4 0.5 0.4 0.3 3 force @a[distance=..20]

# 召喚された地点にランダムなプレイヤー一人と、水の檻範囲内にいたプレイヤーと共にワープ
    execute if entity @s[scores={6L.Tick=20}] positioned as @s rotated ~ 0 run tp @r[distance=..30] ^ ^-2 ^2
    execute if entity @s[scores={6L.Tick=20}] positioned as @s rotated ~ 0 run tp @a[distance=..9] ^ ^-2 ^2
    execute if entity @s[scores={6L.Tick=20}] as @a[distance=..9] at @s run function asset:mob/0237.lunatic_mage/skill/elemental_confine/player_pull

# アクティブ中に実行するコマンド
    execute if entity @s[scores={6L.Tick=10..450}] run function asset:mob/0237.lunatic_mage/skill/elemental_confine/2.in_activation

# 火の予告
    execute if entity @s[scores={6L.Tick=80..94}] positioned ~ ~-1.5 ~ run function asset:mob/0237.lunatic_mage/skill/elemental_confine/4.fire_line

# 火を使い始める
    execute if entity @s[scores={6L.Tick=95..191}] run function asset:mob/0237.lunatic_mage/skill/elemental_confine/5.fire

# 雷を落とす
    execute if entity @s[scores={6L.Tick=205..480}] positioned ~ ~-2 ~ run function asset:mob/0237.lunatic_mage/skill/elemental_confine/10.thunder

# 再度火の予告
    execute if entity @s[scores={6L.Tick=260..275}] positioned ~ ~-1.5 ~ run function asset:mob/0237.lunatic_mage/skill/elemental_confine/4.fire_line

# 再度火を使い始める
    execute if entity @s[scores={6L.Tick=275..480}] run function asset:mob/0237.lunatic_mage/skill/elemental_confine/6.fire2

# リセット
    execute if entity @s[scores={6L.Tick=550..}] run function asset:mob/0237.lunatic_mage/tick/5.reset


text:
#> asset:mob/0237.lunatic_mage/skill/elemental_confine/6.fire2
#
# 回転しながら炎弾連射 (2回目)
#
# @within function asset:mob/0237.lunatic_mage/skill/elemental_confine/1

# 実行時間を移す
    scoreboard players operation $Interval Temporary = @s 6L.Tick

# 6tickおきに実行
    scoreboard players operation $Interval Temporary %= $6 Const
    execute positioned ~ ~-3 ~ if score $Interval Temporary matches 0 run function asset:mob/0237.lunatic_mage/skill/elemental_confine/7.fire_shoot

# 発射位置にパーティクル
    execute positioned ~ ~-2.4 ~ run particle minecraft:dust 100000000 1 0 1 ~ ~1 ~ 0.2 0.2 0.2 0 5 force @a[distance=..20]
    execute positioned ~ ~-2.4 ~ run particle flame ~ ~1 ~ 0.1 0.1 0.1 0.02 1 force @a[distance=..20]

# 回転
    execute if score $Interval Temporary matches 0 run tp @s ~ ~ ~ ~-15 ~

# リセット
    scoreboard players reset $Interval Temporary


text:
#> asset:mob/0237.lunatic_mage/skill/elemental_confine/9.fire_hit
#
# 火の弾のヒット処理
#
# @within function asset:mob/0237.lunatic_mage/skill/elemental_confine/7.fire_shoot

# ダメージ設定
    data modify storage lib: Argument.Damage set value 32f
    data modify storage lib: Argument.AttackType set value "Magic"
    data modify storage lib: Argument.ElementType set value "Fire"
    execute as @e[type=zombie,tag=this,distance=..0.01,limit=1] run function lib:damage/modifier
    function lib:damage/
# リセット
    function lib:damage/reset

# Tag削除
    tag @s remove LandingTarget


text:
#> asset:mob/0237.lunatic_mage/skill/elemental_confine/8.fire_recursive
#
# 火の弾の再帰を行う
#
# @within function
#   asset:mob/0237.lunatic_mage/skill/elemental_confine/7.fire_shoot
#   asset:mob/0237.lunatic_mage/skill/elemental_confine/8.fire_recursive

# パーティクル
    #particle flame ~ ~ ~ 0.02 0.022 00.2 0.001 1 force @a[distance=..20]
    particle dust 1 0.5 0 1 ~ ~ ~ 0 0 0 0 1 force @a[distance=..20]
    particle minecraft:dust 100000000 1 0 1 ~ ~ ~ 0.02 0.02 0.02 0 1 force @a[distance=..20]

# ヒット処理
    execute positioned ~-0.5 ~-0.5 ~-0.5 run tag @a[tag=!PlayerShouldInvulnerable,dx=0] add LandingTarget

# 再帰
    execute if entity @s[distance=..25] positioned ^ ^ ^0.25 run function asset:mob/0237.lunatic_mage/skill/elemental_confine/8.fire_recursive


text:
#> asset:mob/0237.lunatic_mage/skill/elemental_confine/player_pull
#
# プレイヤーを呼ぶ
#
# @within function asset:mob/0237.lunatic_mage/skill/elemental_confine/1

# エフェクト
    summon area_effect_cloud ~ ~ ~ {Particle:"crit",Radius:0.5f,Duration:6,Age:4,Effects:[{Id:2,Amplifier:9b,Duration:40},{Id:15,Amplifier:0b,Duration:15}]}

# 演出
    playsound minecraft:entity.enderman.teleport hostile @s ~ ~ ~ 2 1.5
    playsound minecraft:entity.zombie_villager.converted hostile @s ~ ~ ~ 2 2
    particle minecraft:portal ~ ~1 ~ 0.1 0.1 0.1 0.5 10 normal @s


text:
#> asset:mob/0237.lunatic_mage/skill/elemental_confine/10.thunder
#
# 雷を一定間隔で落とす処理
#
# @within function asset:mob/0237.lunatic_mage/skill/elemental_confine/1

# 一定間隔で実行
    # 実行時間を移す
    scoreboard players operation $Interval Temporary = @s 6L.Tick
    scoreboard players operation $Interval Temporary %= $80 Const

# 4つ落とす
    execute if score $Interval Temporary matches 0 run function asset:mob/0237.lunatic_mage/skill/elemental_confine/11.thunder2

# 4つ落とす
    execute if score $Interval Temporary matches 40 rotated ~45 ~ run function asset:mob/0237.lunatic_mage/skill/elemental_confine/11.thunder2

# リセット
    scoreboard players reset $Interval Temporary


text:
#> asset:mob/0237.lunatic_mage/skill/elemental_confine/4.fire_line
#
# 炎の予告線を出す
#
# @within function asset:mob/0237.lunatic_mage/skill/elemental_confine/1

# 演出
    particle flame ^ ^ ^0.5 0 0 0 0 1 force @a[distance=..20]
    particle flame ^ ^ ^1 0 0 0 0 1 force @a[distance=..20]
    particle flame ^ ^ ^1.5 0 0 0 0 1 force @a[distance=..20]
    particle flame ^ ^ ^2 0 0 0 0 1 force @a[distance=..20]
    particle flame ^ ^ ^2.5 0 0 0 0 1 force @a[distance=..20]
    particle flame ^ ^ ^3 0 0 0 0 1 force @a[distance=..20]
    particle flame ^ ^ ^3.5 0 0 0 0 1 force @a[distance=..20]
    particle flame ^ ^ ^ 0 0 0 0 1 force @a[distance=..20]
    particle flame ^ ^ ^-0.5 0 0 0 0 1 force @a[distance=..20]
    particle flame ^ ^ ^-1 0 0 0 0 1 force @a[distance=..20]
    particle flame ^ ^ ^-1.5 0 0 0 0 1 force @a[distance=..20]
    particle flame ^ ^ ^-2 0 0 0 0 1 force @a[distance=..20]
    particle flame ^ ^ ^-2.5 0 0 0 0 1 force @a[distance=..20]
    particle flame ^ ^ ^-3 0 0 0 0 1 force @a[distance=..20]
    particle flame ^ ^ ^-3.5 0 0 0 0 1 force @a[distance=..20]


text:
#> asset:mob/0237.lunatic_mage/skill/elemental_confine/3.water_jail
#
# 水の檻のダメージと演出の処理
#
# @within function asset:mob/0237.lunatic_mage/skill/elemental_confine/2.in_activation

# 音
    playsound entity.dolphin.splash hostile @a ~ ~ ~ 1 2
    playsound entity.dolphin.splash hostile @a ~ ~ ~ 1 1

# ダメージ設定
    # 与えるダメージ
        data modify storage lib: Argument.Damage set value 70f
        data modify storage lib: Argument.AttackType set value "Magic"
        data modify storage lib: Argument.ElementType set value "Water"
        function lib:damage/modifier
        execute as @a[tag=!PlayerShouldInvulnerable,distance=5.5..9] run function lib:damage/
# リセット
    function lib:damage/reset

# [ImportKey]: NobwRALgngDgpmAXGAxgSwE4oDYIDRgCuhaAJkmAJyUoAMAZnAIYBMAtACwAcA7AMycARvUpsuKOAEY2KRoMml6klFz4swBAHZMAtgmSAwxQAEHDWBhMMugM5JwKAPaFNEJADZaBCS7gY7YADcmbEJ9cAAPJE8wKCiAXziCK1I0QltESgJrCEtXRGi4bGw0GGt9SVpojAcciH1otGsAUSKSsqaAR0Jg7CgAZQsJckR6YLKEvHBoeAoYB16AcwdNM2IyCm4WQTg4ejc2HkpSQU4mDgBWMUlJOE5KHjdZRUpaPnwwbT0KQCxNQCXIwCN9IzqAgWKw6dL2JwuJAsNxeOA+PyIcBBEJhMCRfIEWL5CZgZKpdKZMDZXJRAiFYqlcqVJI1Jh1cmoBwYTS+JAVAgAK0IOhgSA4BG2AC80OzEOcAHQ8AiNFpU9pdHr9QZwYajbBlWXWABCcFFvk63SKKqYQyQEAwoQSAF0gA_3
# 多角形 2
    particle dust 0 0.184 1 1.3 ^0 ^ ^-9 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^0.54524 ^ ^-8.55428 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^1.07519 ^ ^-8.09048 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^1.58818 ^ ^-7.608 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^2.08244 ^ ^-7.10636 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^2.55608 ^ ^-6.58521 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^3.00705 ^ ^-6.04434 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^3.43323 ^ ^-5.48372 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^3.8325 ^ ^-4.90365 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^4.20269 ^ ^-4.3046 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^4.54181 ^ ^-3.68744 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^4.84803 ^ ^-3.05332 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^5.11965 ^ ^-2.40362 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^5.35554 ^ ^-1.74012 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^5.5547 ^ ^-1.06468 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^5.71683 ^ ^-0.37942 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^5.84182 ^ ^0.31359 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^5.93023 ^ ^1.01221 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^5.98285 ^ ^1.71445 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^6.00079 ^ ^2.41842 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^5.98553 ^ ^3.12247 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^5.9386 ^ ^3.82512 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^5.86174 ^ ^4.52514 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^5.75674 ^ ^5.22149 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^5.62531 ^ ^5.91336 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^5.46919 ^ ^6.60007 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^5.29007 ^ ^-7.28115 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^5.46919 ^ ^-6.60007 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^5.62531 ^ ^-5.91336 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^5.75674 ^ ^-5.22149 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^5.86174 ^ ^-4.52514 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^5.9386 ^ ^-3.82512 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^5.98553 ^ ^-3.12247 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^6.00079 ^ ^-2.41842 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^5.98285 ^ ^-1.71445 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^5.93023 ^ ^-1.01221 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^5.84182 ^ ^-0.31359 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^5.71683 ^ ^0.37942 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^5.5547 ^ ^1.06468 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^5.35554 ^ ^1.74012 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^5.11965 ^ ^2.40362 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^4.84803 ^ ^3.05332 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^4.54181 ^ ^3.68744 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^4.20269 ^ ^4.3046 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^3.8325 ^ ^4.90365 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^3.43323 ^ ^5.48372 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^3.00705 ^ ^6.04434 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^2.55608 ^ ^6.58521 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^2.08244 ^ ^7.10636 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^1.58818 ^ ^7.608 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^1.07519 ^ ^8.09048 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^0.54524 ^ ^8.55428 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^8.55951 ^ ^-2.78115 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^8.30409 ^ ^-2.12486 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^8.02676 ^ ^-1.47753 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^7.72642 ^ ^-0.84055 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^7.40206 ^ ^-0.21547 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^7.05278 ^ ^0.39604 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^6.67773 ^ ^0.99207 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^6.27626 ^ ^1.57063 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^5.84795 ^ ^2.12961 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^5.39262 ^ ^2.6668 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^4.91046 ^ ^3.18003 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^4.402 ^ ^3.66722 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^3.86804 ^ ^4.12632 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^3.30991 ^ ^4.5557 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^2.72907 ^ ^4.95382 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^2.12745 ^ ^5.31979 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^1.50698 ^ ^5.65281 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^0.86987 ^ ^5.95278 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^0.21827 ^ ^6.21982 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^-0.44571 ^ ^6.45443 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^-1.12002 ^ ^6.65747 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^-1.80278 ^ ^6.82998 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^-2.49228 ^ ^6.97319 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^-3.18701 ^ ^7.08852 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^-3.88562 ^ ^7.17732 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^-4.58697 ^ ^7.24104 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^8.55951 ^ ^2.78115 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^7.96711 ^ ^3.16197 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^7.36225 ^ ^3.52266 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^6.74487 ^ ^3.86146 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^6.11504 ^ ^4.1765 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^5.47304 ^ ^4.46592 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^4.81927 ^ ^4.72768 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^4.1544 ^ ^4.95976 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^3.47934 ^ ^5.16024 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^2.79522 ^ ^5.32719 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^2.10347 ^ ^5.459 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^1.40575 ^ ^5.55428 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^0.70392 ^ ^5.61183 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^0 ^ ^5.63115 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^-0.70392 ^ ^5.61183 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^-1.40575 ^ ^5.55428 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^-2.10347 ^ ^5.459 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^-2.79522 ^ ^5.32719 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^-3.47934 ^ ^5.16024 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^-4.1544 ^ ^4.95976 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^-4.81927 ^ ^4.72768 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^-5.47304 ^ ^4.46592 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^-6.11504 ^ ^4.1765 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^-6.74487 ^ ^3.86146 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^-7.36225 ^ ^3.52266 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^-7.96711 ^ ^3.16197 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^5.29007 ^ ^7.28115 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^4.58697 ^ ^7.24104 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^3.88562 ^ ^7.17732 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^3.18701 ^ ^7.08852 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^2.49228 ^ ^6.97319 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^1.80278 ^ ^6.82998 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^1.12002 ^ ^6.65747 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^0.44571 ^ ^6.45443 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^-0.21827 ^ ^6.21982 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^-0.86987 ^ ^5.95278 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^-1.50698 ^ ^5.65281 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^-2.12745 ^ ^5.31979 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^-2.72907 ^ ^4.95382 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^-3.30991 ^ ^4.5557 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^-3.86804 ^ ^4.12632 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^-4.402 ^ ^3.66722 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^-4.91046 ^ ^3.18003 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^-5.39262 ^ ^2.6668 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^-5.84795 ^ ^2.12961 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^-6.27626 ^ ^1.57063 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^-6.67773 ^ ^0.99207 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^-7.05278 ^ ^0.39604 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^-7.40206 ^ ^-0.21547 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^-7.72642 ^ ^-0.84055 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^-8.02676 ^ ^-1.47753 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^-8.30409 ^ ^-2.12486 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^0 ^ ^9 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^-0.54524 ^ ^8.55428 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^-1.07519 ^ ^8.09048 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^-1.58818 ^ ^7.608 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^-2.08244 ^ ^7.10636 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^-2.55608 ^ ^6.58521 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^-3.00705 ^ ^6.04434 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^-3.43323 ^ ^5.48372 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^-3.8325 ^ ^4.90365 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^-4.20269 ^ ^4.3046 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^-4.54181 ^ ^3.68744 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^-4.84803 ^ ^3.05332 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^-5.11965 ^ ^2.40362 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^-5.35554 ^ ^1.74012 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^-5.5547 ^ ^1.06468 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^-5.71683 ^ ^0.37942 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^-5.84182 ^ ^-0.31359 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^-5.93023 ^ ^-1.01221 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^-5.98285 ^ ^-1.71445 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^-6.00079 ^ ^-2.41842 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^-5.98553 ^ ^-3.12247 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^-5.9386 ^ ^-3.82512 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^-5.86174 ^ ^-4.52514 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^-5.75674 ^ ^-5.22149 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^-5.62531 ^ ^-5.91336 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^-5.46919 ^ ^-6.60007 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^-5.29007 ^ ^7.28115 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^-5.46919 ^ ^6.60007 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^-5.62531 ^ ^5.91336 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^-5.75674 ^ ^5.22149 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^-5.86174 ^ ^4.52514 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^-5.9386 ^ ^3.82512 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^-5.98553 ^ ^3.12247 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^-6.00079 ^ ^2.41842 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^-5.98285 ^ ^1.71445 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^-5.93023 ^ ^1.01221 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^-5.84182 ^ ^0.31359 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^-5.71683 ^ ^-0.37942 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^-5.5547 ^ ^-1.06468 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^-5.35554 ^ ^-1.74012 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^-5.11965 ^ ^-2.40362 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^-4.84803 ^ ^-3.05332 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^-4.54181 ^ ^-3.68744 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^-4.20269 ^ ^-4.3046 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^-3.8325 ^ ^-4.90365 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^-3.43323 ^ ^-5.48372 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^-3.00705 ^ ^-6.04434 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^-2.55608 ^ ^-6.58521 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^-2.08244 ^ ^-7.10636 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^-1.58818 ^ ^-7.608 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^-1.07519 ^ ^-8.09048 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^-0.54524 ^ ^-8.55428 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^-8.55951 ^ ^2.78115 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^-8.30409 ^ ^2.12486 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^-8.02676 ^ ^1.47753 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^-7.72642 ^ ^0.84055 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^-7.40206 ^ ^0.21547 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^-7.05278 ^ ^-0.39604 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^-6.67773 ^ ^-0.99207 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^-6.27626 ^ ^-1.57063 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^-5.84795 ^ ^-2.12961 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^-5.39262 ^ ^-2.6668 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^-4.91046 ^ ^-3.18003 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^-4.402 ^ ^-3.66722 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^-3.86804 ^ ^-4.12632 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^-3.30991 ^ ^-4.5557 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^-2.72907 ^ ^-4.95382 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^-2.12745 ^ ^-5.31979 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^-1.50698 ^ ^-5.65281 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^-0.86987 ^ ^-5.95278 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^-0.21827 ^ ^-6.21982 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^0.44571 ^ ^-6.45443 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^1.12002 ^ ^-6.65747 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^1.80278 ^ ^-6.82998 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^2.49228 ^ ^-6.97319 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^3.18701 ^ ^-7.08852 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^3.88562 ^ ^-7.17732 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^4.58697 ^ ^-7.24104 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^-8.55951 ^ ^-2.78115 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^-7.96711 ^ ^-3.16197 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^-7.36225 ^ ^-3.52266 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^-6.74487 ^ ^-3.86146 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^-6.11504 ^ ^-4.1765 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^-5.47304 ^ ^-4.46592 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^-4.81927 ^ ^-4.72768 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^-4.1544 ^ ^-4.95976 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^-3.47934 ^ ^-5.16024 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^-2.79522 ^ ^-5.32719 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^-2.10347 ^ ^-5.459 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^-1.40575 ^ ^-5.55428 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^-0.70392 ^ ^-5.61183 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^0 ^ ^-5.63115 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^0.70392 ^ ^-5.61183 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^1.40575 ^ ^-5.55428 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^2.10347 ^ ^-5.459 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^2.79522 ^ ^-5.32719 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^3.47934 ^ ^-5.16024 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^4.1544 ^ ^-4.95976 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^4.81927 ^ ^-4.72768 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^5.47304 ^ ^-4.46592 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^6.11504 ^ ^-4.1765 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^6.74487 ^ ^-3.86146 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^7.36225 ^ ^-3.52266 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^7.96711 ^ ^-3.16197 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^-5.29007 ^ ^-7.28115 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^-4.58697 ^ ^-7.24104 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^-3.88562 ^ ^-7.17732 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^-3.18701 ^ ^-7.08852 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^-2.49228 ^ ^-6.97319 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^-1.80278 ^ ^-6.82998 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^-1.12002 ^ ^-6.65747 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^-0.44571 ^ ^-6.45443 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^0.21827 ^ ^-6.21982 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^0.86987 ^ ^-5.95278 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^1.50698 ^ ^-5.65281 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^2.12745 ^ ^-5.31979 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^2.72907 ^ ^-4.95382 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^3.30991 ^ ^-4.5557 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^3.86804 ^ ^-4.12632 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^4.402 ^ ^-3.66722 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^4.91046 ^ ^-3.18003 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^5.39262 ^ ^-2.6668 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^5.84795 ^ ^-2.12961 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^6.27626 ^ ^-1.57063 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^6.67773 ^ ^-0.99207 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^7.05278 ^ ^-0.39604 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^7.40206 ^ ^0.21547 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^7.72642 ^ ^0.84055 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^8.02676 ^ ^1.47753 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^8.30409 ^ ^2.12486 0 0 0 0 1
# 円 4
    particle dust 0 0.184 1 1.3 ^0 ^ ^-9 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^0.94076 ^ ^-8.9507 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^1.87121 ^ ^-8.80333 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^2.78115 ^ ^-8.55951 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^3.66063 ^ ^-8.22191 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^4.5 ^ ^-7.79423 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^5.29007 ^ ^-7.28115 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^6.02218 ^ ^-6.6883 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^6.6883 ^ ^-6.02218 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^7.28115 ^ ^-5.29007 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^7.79423 ^ ^-4.5 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^8.22191 ^ ^-3.66063 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^8.55951 ^ ^-2.78115 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^8.80333 ^ ^-1.87121 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^8.9507 ^ ^-0.94076 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^9 ^ ^0 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^8.9507 ^ ^0.94076 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^8.80333 ^ ^1.87121 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^8.55951 ^ ^2.78115 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^8.22191 ^ ^3.66063 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^7.79423 ^ ^4.5 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^7.28115 ^ ^5.29007 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^6.6883 ^ ^6.02218 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^6.02218 ^ ^6.6883 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^5.29007 ^ ^7.28115 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^4.5 ^ ^7.79423 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^3.66063 ^ ^8.22191 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^2.78115 ^ ^8.55951 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^1.87121 ^ ^8.80333 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^0.94076 ^ ^8.9507 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^0 ^ ^9 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^-0.94076 ^ ^8.9507 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^-1.87121 ^ ^8.80333 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^-2.78115 ^ ^8.55951 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^-3.66063 ^ ^8.22191 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^-4.5 ^ ^7.79423 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^-5.29007 ^ ^7.28115 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^-6.02218 ^ ^6.6883 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^-6.6883 ^ ^6.02218 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^-7.28115 ^ ^5.29007 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^-7.79423 ^ ^4.5 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^-8.22191 ^ ^3.66063 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^-8.55951 ^ ^2.78115 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^-8.80333 ^ ^1.87121 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^-8.9507 ^ ^0.94076 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^-9 ^ ^0 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^-8.9507 ^ ^-0.94076 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^-8.80333 ^ ^-1.87121 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^-8.55951 ^ ^-2.78115 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^-8.22191 ^ ^-3.66063 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^-7.79423 ^ ^-4.5 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^-7.28115 ^ ^-5.29007 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^-6.6883 ^ ^-6.02218 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^-6.02218 ^ ^-6.6883 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^-5.29007 ^ ^-7.28115 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^-4.5 ^ ^-7.79423 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^-3.66063 ^ ^-8.22191 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^-2.78115 ^ ^-8.55951 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^-1.87121 ^ ^-8.80333 0 0 0 0 1
    particle dust 0 0.184 1 1.3 ^-0.94076 ^ ^-8.9507 0 0 0 0 1


text:
#> asset:mob/0237.lunatic_mage/skill/elemental_confine/5.fire
#
# 回転しながら炎弾連射 (1回目)
#
# @within function asset:mob/0237.lunatic_mage/skill/elemental_confine/1

# 実行時間を移す
    scoreboard players operation $Interval Temporary = @s 6L.Tick

# 4tickおきに実行
    scoreboard players operation $Interval Temporary %= $4 Const
    execute positioned ~ ~-3 ~ if score $Interval Temporary matches 0 run function asset:mob/0237.lunatic_mage/skill/elemental_confine/7.fire_shoot

# 発射位置にパーティクル
    execute positioned ~ ~-2.4 ~ run particle minecraft:dust 100000000 1 0 1 ~ ~1 ~ 0.2 0.2 0.2 0 5 force @a[distance=..20]
    execute positioned ~ ~-2.4 ~ run particle flame ~ ~1 ~ 0.1 0.1 0.1 0.02 1 force @a[distance=..20]

# 回転
    execute if score $Interval Temporary matches 0 run tp @s ~ ~ ~ ~-15 ~

# リセット
    scoreboard players reset $Interval Temporary


text:
#> asset:mob/0237.lunatic_mage/skill/elemental_confine/2.in_activation
#
# 技の発動中の諸々の処理
#
# @within function asset:mob/0237.lunatic_mage/skill/elemental_confine/1

#> 安全地帯チェックのTag
# @private
    #declare tag 6L.InSafeArea

# 実行時間を移す
    scoreboard players operation $Interval Temporary = @s 6L.Tick
# 6tickごとに水の檻を表示
    scoreboard players operation $Interval Temporary %= $6 Const
    execute positioned ~ ~-2 ~ if score $Interval Temporary matches 0 rotated 0 0 run function asset:mob/0237.lunatic_mage/skill/elemental_confine/3.water_jail

# もしもなんらかの理由で移動してMarkerから離れた場合戻る positioned asが入っているのは移動した際の向き保存のため
    execute positioned ~ ~-2 ~ unless entity @e[type=marker,tag=6L.SpawnPoint,distance=..0.01,sort=nearest,limit=1] positioned as @e[type=marker,tag=6L.SpawnPoint,distance=..50,sort=nearest,limit=1] run tp @s ~ ~ ~ ~ ~

# エンパをkill
    execute if entity @e[type=ender_pearl,tag=!Projectile,distance=5.5..9] run kill @e[type=ender_pearl,tag=!Projectile,distance=5.5..9]

# 水の檻の範囲内のプレイヤーを中心へと吸い込む
    execute as @a[distance=5.5..9] at @s facing entity @e[type=marker,tag=6L.SpawnPoint,distance=..9,limit=1] feet rotated ~ 0 run tp @s ^ ^ ^0.5

# 技の範囲外にいる最大5人を対象とし、ペナルティとして雷撃をくらわせる
    scoreboard players operation $Interval Temporary = @s 6L.Tick
    scoreboard players operation $Interval Temporary %= $10 Const
    execute positioned ~-9 ~-2 ~-9 run tag @a[dx=17,dy=0,dz=17] add 6L.InSafeArea
    execute if score $Interval Temporary matches 0 at @a[gamemode=!spectator,tag=!6L.InSafeArea,distance=..50,sort=random,limit=5] positioned ~ ~0.2 ~ run function asset:mob/0237.lunatic_mage/magic_summon/thunder

# リセット
    scoreboard players reset $Interval Temporary
    tag @a[tag=6L.InSafeArea,distance=..50] remove 6L.InSafeArea