diff --git a/Asset/data/asset/functions/mob/0391.axia_first/_index.d.mcfunction b/Asset/data/asset/functions/mob/0391.axia_first/_index.d.mcfunction index 3a22ee8b0b..c617681521 100644 --- a/Asset/data/asset/functions/mob/0391.axia_first/_index.d.mcfunction +++ b/Asset/data/asset/functions/mob/0391.axia_first/_index.d.mcfunction @@ -18,11 +18,13 @@ #declare tag AV.SlashEffect #declare tag AV.SlashEffectMini #declare tag AV.SlashEffectInit - #declare tag AV.SlashEffectInbisible + #declare tag AV.Inbisible #declare tag AV.SlashSonicInit #declare tag AV.SlashSonic #declare tag AV.Predict #declare tag AV.SonicBoomEffect + #declare tag AV.AnnounceInit + #declare tag AV.AnnounceLine #> val # @within function asset:mob/0391.axia_first/** diff --git a/Asset/data/asset/functions/mob/0391.axia_first/ai/animation/.mcfunction b/Asset/data/asset/functions/mob/0391.axia_first/ai/animation/.mcfunction index e9dcd73821..f572230e91 100644 --- a/Asset/data/asset/functions/mob/0391.axia_first/ai/animation/.mcfunction +++ b/Asset/data/asset/functions/mob/0391.axia_first/ai/animation/.mcfunction @@ -33,3 +33,6 @@ # 斬撃砲 execute if score @s AV.AnimationNum matches 70 run function asset:mob/0391.axia_first/ai/animation/7_0_zangekihou/ + +# ワープ斬撃(隙ありアリー!) + execute if score @s AV.AnimationNum matches 80 run function asset:mob/0391.axia_first/ai/animation/8_0_warp_slash/ diff --git a/Asset/data/asset/functions/mob/0391.axia_first/ai/animation/3_0_triple_slash/.mcfunction b/Asset/data/asset/functions/mob/0391.axia_first/ai/animation/3_0_triple_slash/.mcfunction index 1cc7d831d6..30b888ab67 100644 --- a/Asset/data/asset/functions/mob/0391.axia_first/ai/animation/3_0_triple_slash/.mcfunction +++ b/Asset/data/asset/functions/mob/0391.axia_first/ai/animation/3_0_triple_slash/.mcfunction @@ -52,3 +52,6 @@ # 斬撃飛ばし execute if score @s AV.AnimationTick matches 51 run function asset:mob/0391.axia_first/ai/animation/3_0_triple_slash/slash_sonic_start + +# 予告線 + execute if score @s AV.AnimationTick matches 41 run function asset:mob/0391.axia_first/ai/animation/3_0_triple_slash/announce_line diff --git a/Asset/data/asset/functions/mob/0391.axia_first/ai/animation/3_0_triple_slash/announce_line.mcfunction b/Asset/data/asset/functions/mob/0391.axia_first/ai/animation/3_0_triple_slash/announce_line.mcfunction new file mode 100644 index 0000000000..463f9df459 --- /dev/null +++ b/Asset/data/asset/functions/mob/0391.axia_first/ai/animation/3_0_triple_slash/announce_line.mcfunction @@ -0,0 +1,12 @@ +#> asset:mob/0391.axia_first/ai/animation/3_0_triple_slash/announce_line +# +# 予告線 召喚 +# +# @within function +# asset:mob/0391.axia_first/ai/animation/3_0_triple_slash/ + +execute anchored eyes run summon item_display ^ ^ ^2 {interpolation_duration:0,teleport_duration:0,Tags:["AV.AnnounceInit"],brightness:{sky:15,block:15},transformation:{left_rotation:[0f,0f,0.383f,0.924f],right_rotation:[0f,0f,0f,1f],translation:[0f,0f,13.5f],scale:[0.1f,0.1f,25f]},item:{id:"air",Count:1b}} + +execute anchored eyes positioned ^ ^ ^2 as @e[tag=AV.AnnounceInit,distance=..0.1] run tp @s ^ ^ ^ ~ ~ + +execute anchored eyes positioned ^ ^ ^2 as @e[tag=AV.AnnounceInit,distance=..0.1] run function asset:mob/0391.axia_first/ai/projectile/announce_line/1.init.m {Num:-10} diff --git a/Asset/data/asset/functions/mob/0391.axia_first/ai/animation/7_0_zangekihou/.mcfunction b/Asset/data/asset/functions/mob/0391.axia_first/ai/animation/7_0_zangekihou/.mcfunction index c9d78fe600..09af9e87e5 100644 --- a/Asset/data/asset/functions/mob/0391.axia_first/ai/animation/7_0_zangekihou/.mcfunction +++ b/Asset/data/asset/functions/mob/0391.axia_first/ai/animation/7_0_zangekihou/.mcfunction @@ -4,13 +4,17 @@ # # @within function asset:mob/0391.axia_first/ai/animation/ +# 対象プレイヤー保存 + execute if score @s AV.AnimationTick matches 1 run scoreboard players operation @s AV.UUID = @p[tag=!PlayerShouldInvulnerable,distance=..100] UserID + # 近くのプレイヤーの方を向く # 一部の時間のみ向く処理を入れる - #ToDo ハードのみ41~50間は偏差処理を入れつつ向く tag @s add AV.Temp.This - execute if score @s AV.AnimationTick matches 1..16 if predicate api:global_vars/difficulty/max/normal as @p[tag=!PlayerShouldInvulnerable,distance=..100] run function asset:mob/0391.axia_first/ai/general/2.rotate - execute if score @s AV.AnimationTick matches 1..16 if predicate api:global_vars/difficulty/min/hard if entity @p[distance=..100] run function asset:mob/0391.axia_first/ai/animation/3_0_triple_slash/predict/ - execute if score @s AV.AnimationTick matches 31..33 as @p[tag=!PlayerShouldInvulnerable,distance=..100] run function asset:mob/0391.axia_first/ai/general/2.rotate + scoreboard players operation $AV.Temp AV.UUID = @s AV.UUID + execute if score @s AV.AnimationTick matches 1..16 if predicate api:global_vars/difficulty/max/normal as @a if score @s UserID = $AV.Temp AV.UUID run function asset:mob/0391.axia_first/ai/general/2.rotate + execute if score @s AV.AnimationTick matches 1..18 if predicate api:global_vars/difficulty/min/hard as @a if score @s UserID = $AV.Temp AV.UUID run function asset:mob/0391.axia_first/ai/animation/7_0_zangekihou/rotate + execute if score @s AV.AnimationTick matches 31..33 as @a if score @s UserID = $AV.Temp AV.UUID run function asset:mob/0391.axia_first/ai/general/2.rotate + scoreboard players reset $AV.Temp AV.UUID tag @s remove AV.Temp.This # アニメーション再生 @@ -22,3 +26,6 @@ # 斬撃砲 execute positioned ^ ^1.25 ^ if score @s AV.AnimationTick matches 26 run function asset:mob/0391.axia_first/ai/projectile/zangekihou/1.start execute positioned ^ ^1.25 ^ if score @s AV.AnimationTick matches 37 run function asset:mob/0391.axia_first/ai/projectile/zangekihou/1.start + +# 予告線 + execute if score @s AV.AnimationTick matches 1 run function asset:mob/0391.axia_first/ai/animation/7_0_zangekihou/announce_line diff --git a/Asset/data/asset/functions/mob/0391.axia_first/ai/animation/7_0_zangekihou/announce_line.mcfunction b/Asset/data/asset/functions/mob/0391.axia_first/ai/animation/7_0_zangekihou/announce_line.mcfunction new file mode 100644 index 0000000000..24776c091a --- /dev/null +++ b/Asset/data/asset/functions/mob/0391.axia_first/ai/animation/7_0_zangekihou/announce_line.mcfunction @@ -0,0 +1,12 @@ +#> asset:mob/0391.axia_first/ai/animation/7_0_zangekihou/announce_line +# +# 予告線 召喚 +# +# @within function +# asset:mob/0391.axia_first/ai/animation/7_0_zangekihou/ + +execute anchored eyes run summon item_display ^ ^ ^2 {interpolation_duration:0,teleport_duration:0,Tags:["AV.AnnounceInit"],brightness:{sky:15,block:15},transformation:{left_rotation:[0f,0f,0.383f,0.924f],right_rotation:[0f,0f,0f,1f],translation:[0f,0f,13.5f],scale:[0.1f,0.1f,25f]},item:{id:"air",Count:1b}} + +execute anchored eyes positioned ^ ^ ^2 as @e[tag=AV.AnnounceInit,distance=..0.1] run tp @s ^ ^ ^ ~ ~ + +execute anchored eyes positioned ^ ^ ^2 as @e[tag=AV.AnnounceInit,distance=..0.1] run function asset:mob/0391.axia_first/ai/projectile/announce_line/1.init.m {Num:-25} diff --git a/Asset/data/asset/functions/mob/0391.axia_first/ai/animation/7_0_zangekihou/end.mcfunction b/Asset/data/asset/functions/mob/0391.axia_first/ai/animation/7_0_zangekihou/end.mcfunction index 918e5d4d57..4f56f2d8e1 100644 --- a/Asset/data/asset/functions/mob/0391.axia_first/ai/animation/7_0_zangekihou/end.mcfunction +++ b/Asset/data/asset/functions/mob/0391.axia_first/ai/animation/7_0_zangekihou/end.mcfunction @@ -7,3 +7,6 @@ # デバッグ用 アニメーションループ scoreboard players set @s AV.AnimationNum 70 scoreboard players set @s AV.AnimationTick 0 + +# デバッグ用 + scoreboard players reset @s AV.UUID diff --git a/Asset/data/asset/functions/mob/0391.axia_first/ai/animation/7_0_zangekihou/rotate.mcfunction b/Asset/data/asset/functions/mob/0391.axia_first/ai/animation/7_0_zangekihou/rotate.mcfunction new file mode 100644 index 0000000000..d7b85e915a --- /dev/null +++ b/Asset/data/asset/functions/mob/0391.axia_first/ai/animation/7_0_zangekihou/rotate.mcfunction @@ -0,0 +1,13 @@ +#> asset:mob/0391.axia_first/ai/animation/7_0_zangekihou/rotate +# +# ハード用回転 +# +# @within function asset:mob/0391.axia_first/ai/animation/7_0_zangekihou/ + +# タグ付与 + tag @s add AV.Temp.Target +# プレイヤーの方向を確実に向く + execute as @e[type=wither_skeleton,tag=AV.Temp.This,distance=..64,sort=nearest,limit=1] at @s facing entity @e[tag=AV.Temp.Target,distance=..66,limit=1] feet run tp @s ^ ^ ^ ~ 0 +# 終了 + tag @s remove AV.Temp.Target + tag @e[type=wither_skeleton,tag=AV.Temp.This,distance=..64] remove AV.Temp.This diff --git a/Asset/data/asset/functions/mob/0391.axia_first/ai/animation/8_0_warp_slash/.mcfunction b/Asset/data/asset/functions/mob/0391.axia_first/ai/animation/8_0_warp_slash/.mcfunction new file mode 100644 index 0000000000..462c548ce3 --- /dev/null +++ b/Asset/data/asset/functions/mob/0391.axia_first/ai/animation/8_0_warp_slash/.mcfunction @@ -0,0 +1,59 @@ +#> asset:mob/0391.axia_first/ai/animation/8_0_warp_slash/ +# +# ワープ斬撃(隙ありアリー!) アニメーション +# +# @within function asset:mob/0391.axia_first/ai/animation/ + +# アニメーション再生 + execute if score @s AV.AnimationTick matches 1 as @e[type=item_display,tag=AV.Root.This,distance=..100] run function animated_java:axia/animations/10_0_warp_start/play + +# アニメーション再生 + execute if score @s AV.AnimationTick matches 40 as @e[type=item_display,tag=AV.Root.This,distance=..100] run function animated_java:axia/animations/10_1_warp_slash_0/play + +# アニメーション再生 + execute if score @s AV.AnimationTick matches 71 as @e[type=item_display,tag=AV.Root.This,distance=..100] run function animated_java:axia/animations/10_2_warp_slash_1/play + +# アニメーション再生 + execute if score @s AV.AnimationTick matches 121 as @e[type=item_display,tag=AV.Root.This,distance=..100] run function animated_java:axia/animations/10_3_warp_slash_2/play + +# アニメーション終了処理 + execute if score @s AV.AnimationTick matches 187 run function asset:mob/0391.axia_first/ai/animation/8_0_warp_slash/end + +# 斬撃エフェクト + execute if score @s AV.AnimationTick matches 44 run function asset:mob/0391.axia_first/ai/animation/8_0_warp_slash/slash_summon/1 + execute if score @s AV.AnimationTick matches 59 run function asset:mob/0391.axia_first/ai/animation/8_0_warp_slash/slash_summon/2 + execute if score @s AV.AnimationTick matches 84 run function asset:mob/0391.axia_first/ai/animation/8_0_warp_slash/slash_summon/3 + execute if score @s AV.AnimationTick matches 110 run function asset:mob/0391.axia_first/ai/animation/8_0_warp_slash/slash_summon/4 + execute if score @s AV.AnimationTick matches 136 run function asset:mob/0391.axia_first/ai/animation/8_0_warp_slash/slash_summon/5 + +# 斬撃エフェクト回転 + execute if score @s AV.AnimationTick matches 137..143 run function asset:mob/0391.axia_first/ai/animation/8_0_warp_slash/slash_rotate + execute if score @s AV.AnimationTick matches 144..151 run function asset:mob/0391.axia_first/ai/animation/8_0_warp_slash/slash_rotate2 + +# ダメージ判定 + execute if score @s AV.AnimationTick matches 44 run function asset:mob/0391.axia_first/ai/animation/8_0_warp_slash/damage/1 + execute if score @s AV.AnimationTick matches 59 run function asset:mob/0391.axia_first/ai/animation/8_0_warp_slash/damage/1 + execute if score @s AV.AnimationTick matches 84 run function asset:mob/0391.axia_first/ai/animation/8_0_warp_slash/damage/1 + execute if score @s AV.AnimationTick matches 110 run function asset:mob/0391.axia_first/ai/animation/8_0_warp_slash/damage/1 + execute if score @s AV.AnimationTick matches 136 run function asset:mob/0391.axia_first/ai/animation/8_0_warp_slash/damage/2 + execute if score @s AV.AnimationTick matches 147 run function asset:mob/0391.axia_first/ai/animation/8_0_warp_slash/damage/2 + +# サウンド + execute if score @s AV.AnimationTick matches 1..29 run function asset:mob/0391.axia_first/ai/animation/8_0_warp_slash/warp_sound + execute if score @s AV.AnimationTick matches 42 run function asset:mob/0391.axia_first/ai/general/5.slash_sound + execute if score @s AV.AnimationTick matches 57 run function asset:mob/0391.axia_first/ai/general/5.slash_sound + execute if score @s AV.AnimationTick matches 82 run function asset:mob/0391.axia_first/ai/general/5.slash_sound + execute if score @s AV.AnimationTick matches 108 run function asset:mob/0391.axia_first/ai/general/5.slash_sound + execute if score @s AV.AnimationTick matches 134 run function asset:mob/0391.axia_first/ai/general/5.slash_sound + execute if score @s AV.AnimationTick matches 145 run function asset:mob/0391.axia_first/ai/general/5.slash_sound + +# ワープする + execute if score @s AV.AnimationTick matches 29 if predicate api:global_vars/difficulty/max/normal at @r[tag=!PlayerShouldInvulnerable,distance=..100] rotated ~ 0 positioned ^ ^ ^4 rotated ~180 ~ run tp @s ^ ^ ^ ~ 0 + execute if score @s AV.AnimationTick matches 69 if predicate api:global_vars/difficulty/max/normal at @r[tag=!PlayerShouldInvulnerable,distance=..100] rotated ~ 0 positioned ^ ^ ^4 rotated ~180 ~ run tp @s ^ ^ ^ ~ 0 + execute if score @s AV.AnimationTick matches 120 if predicate api:global_vars/difficulty/max/normal at @r[tag=!PlayerShouldInvulnerable,distance=..100] rotated ~ 0 positioned ^ ^ ^4 rotated ~180 ~ run tp @s ^ ^ ^ ~ 0 + execute if score @s AV.AnimationTick matches 29 if predicate api:global_vars/difficulty/min/hard at @s run function asset:mob/0391.axia_first/ai/animation/8_0_warp_slash/warp/ + execute if score @s AV.AnimationTick matches 69 if predicate api:global_vars/difficulty/min/hard at @s run function asset:mob/0391.axia_first/ai/animation/8_0_warp_slash/warp/ + execute if score @s AV.AnimationTick matches 120 if predicate api:global_vars/difficulty/min/hard at @s run function asset:mob/0391.axia_first/ai/animation/8_0_warp_slash/warp/ + execute if score @s AV.AnimationTick matches 29 run function asset:mob/0391.axia_first/ai/general/3.teleport_effect/ + execute if score @s AV.AnimationTick matches 69 run function asset:mob/0391.axia_first/ai/general/3.teleport_effect/ + execute if score @s AV.AnimationTick matches 120 run function asset:mob/0391.axia_first/ai/general/3.teleport_effect/ diff --git a/Asset/data/asset/functions/mob/0391.axia_first/ai/animation/8_0_warp_slash/damage/1.mcfunction b/Asset/data/asset/functions/mob/0391.axia_first/ai/animation/8_0_warp_slash/damage/1.mcfunction new file mode 100644 index 0000000000..8a60e25bde --- /dev/null +++ b/Asset/data/asset/functions/mob/0391.axia_first/ai/animation/8_0_warp_slash/damage/1.mcfunction @@ -0,0 +1,22 @@ +#> asset:mob/0391.axia_first/ai/animation/8_0_warp_slash/damage/1 +# +# 斬撃ダメージ判定1 +# +# @within function asset:mob/0391.axia_first/ai/animation/8_0_warp_slash/ + +# ダメージ + # 引数の設定 + # 与えるダメージ + data modify storage lib: Argument.Damage set value 42.0f + # 第一属性 + data modify storage lib: Argument.AttackType set value "Physical" + # 第二属性 + data modify storage lib: Argument.ElementType set value "Fire" + # デスログ + data modify storage lib: Argument.DeathMessage append value '[{"translate": "%1$sは%2$sによって無惨に切り裂かれた","with":[{"selector":"@s"},{"nbt":"Return.AttackerName","storage":"lib:","interpret":true}]}]' +# 補正functionを実行 + function lib:damage/modifier +# ダメージを与える + execute positioned ^ ^ ^1.5 as @a[tag=!PlayerShouldInvulnerable,distance=..3] at @s run function lib:damage/ +# リセット + function lib:damage/reset diff --git a/Asset/data/asset/functions/mob/0391.axia_first/ai/animation/8_0_warp_slash/damage/2.mcfunction b/Asset/data/asset/functions/mob/0391.axia_first/ai/animation/8_0_warp_slash/damage/2.mcfunction new file mode 100644 index 0000000000..dd70beee47 --- /dev/null +++ b/Asset/data/asset/functions/mob/0391.axia_first/ai/animation/8_0_warp_slash/damage/2.mcfunction @@ -0,0 +1,22 @@ +#> asset:mob/0391.axia_first/ai/animation/8_0_warp_slash/damage/2 +# +# 斬撃ダメージ判定2 +# +# @within function asset:mob/0391.axia_first/ai/animation/8_0_warp_slash/ + +# ダメージ + # 引数の設定 + # 与えるダメージ + 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 "Fire" + # デスログ + data modify storage lib: Argument.DeathMessage append value '[{"translate": "%1$sは%2$sによって無惨に切り裂かれた","with":[{"selector":"@s"},{"nbt":"Return.AttackerName","storage":"lib:","interpret":true}]}]' +# 補正functionを実行 + function lib:damage/modifier +# ダメージを与える + execute as @a[tag=!PlayerShouldInvulnerable,distance=..5] at @s run function lib:damage/ +# リセット + function lib:damage/reset diff --git a/Asset/data/asset/functions/mob/0391.axia_first/ai/animation/8_0_warp_slash/end.mcfunction b/Asset/data/asset/functions/mob/0391.axia_first/ai/animation/8_0_warp_slash/end.mcfunction new file mode 100644 index 0000000000..a5f4a2c06b --- /dev/null +++ b/Asset/data/asset/functions/mob/0391.axia_first/ai/animation/8_0_warp_slash/end.mcfunction @@ -0,0 +1,9 @@ +#> asset:mob/0391.axia_first/ai/animation/8_0_warp_slash/end +# +# 終了処理 +# +# @within function asset:mob/0391.axia_first/ai/animation/8_0_warp_slash/ + +# デバッグ用 アニメーションループ + scoreboard players set @s AV.AnimationNum 80 + scoreboard players set @s AV.AnimationTick 0 diff --git a/Asset/data/asset/functions/mob/0391.axia_first/ai/animation/8_0_warp_slash/slash_rotate.mcfunction b/Asset/data/asset/functions/mob/0391.axia_first/ai/animation/8_0_warp_slash/slash_rotate.mcfunction new file mode 100644 index 0000000000..95ec04aaea --- /dev/null +++ b/Asset/data/asset/functions/mob/0391.axia_first/ai/animation/8_0_warp_slash/slash_rotate.mcfunction @@ -0,0 +1,14 @@ +#> asset:mob/0391.axia_first/ai/animation/8_0_warp_slash/slash_rotate +# +# 斬撃エフェクトを回転させる +# +# @within function asset:mob/0391.axia_first/ai/animation/8_0_warp_slash/ + +# Tempタグ付与 + tag @s add AV.Temp.This + +# 幾何学を使用して回転させる + execute as @e[tag=AV.SlashEffect,distance=..5,sort=nearest,limit=1] at @s facing entity @e[type=wither_skeleton,tag=AV.Temp.This,distance=..64,sort=nearest,limit=1] feet rotated ~205 0 positioned as @e[type=wither_skeleton,tag=AV.Temp.This,distance=..64,sort=nearest,limit=1] positioned ^ ^1.5 ^1.581 run tp @s ^ ^ ^ ~ ~ + +# Tempタグ消去 + tag @s remove AV.Temp.This diff --git a/Asset/data/asset/functions/mob/0391.axia_first/ai/animation/8_0_warp_slash/slash_rotate2.mcfunction b/Asset/data/asset/functions/mob/0391.axia_first/ai/animation/8_0_warp_slash/slash_rotate2.mcfunction new file mode 100644 index 0000000000..8930e00f4a --- /dev/null +++ b/Asset/data/asset/functions/mob/0391.axia_first/ai/animation/8_0_warp_slash/slash_rotate2.mcfunction @@ -0,0 +1,14 @@ +#> asset:mob/0391.axia_first/ai/animation/8_0_warp_slash/slash_rotate2 +# +# 斬撃エフェクトを回転させる +# +# @within function asset:mob/0391.axia_first/ai/animation/8_0_warp_slash/ + +# Tempタグ付与 + tag @s add AV.Temp.This + +# 幾何学を使用して回転させる + execute as @e[tag=AV.SlashEffect,distance=..5,sort=nearest,limit=1] at @s facing entity @e[type=wither_skeleton,tag=AV.Temp.This,distance=..64,sort=nearest,limit=1] feet rotated ~220 0 positioned as @e[type=wither_skeleton,tag=AV.Temp.This,distance=..64,sort=nearest,limit=1] positioned ^ ^1.5 ^1.581 run tp @s ^ ^ ^ ~ ~ + +# Tempタグ消去 + tag @s remove AV.Temp.This diff --git a/Asset/data/asset/functions/mob/0391.axia_first/ai/animation/8_0_warp_slash/slash_summon/1.mcfunction b/Asset/data/asset/functions/mob/0391.axia_first/ai/animation/8_0_warp_slash/slash_summon/1.mcfunction new file mode 100644 index 0000000000..93711b9aec --- /dev/null +++ b/Asset/data/asset/functions/mob/0391.axia_first/ai/animation/8_0_warp_slash/slash_summon/1.mcfunction @@ -0,0 +1,20 @@ +#> asset:mob/0391.axia_first/ai/animation/8_0_warp_slash/slash_summon/1 +# +# 斬撃エフェクト召喚1 +# +# @within function asset:mob/0391.axia_first/ai/animation/8_0_warp_slash/ + +# Tempタグ付与 + tag @s add AV.Temp.This + +# ディスプレイ召喚 + summon item_display ^0 ^1.2 ^1 {interpolation_duration:0,Tags:["AV.SlashEffectInit"],brightness:{sky:15,block:15},transformation:{left_rotation:[0.561f,-0.430f,0.5610f,0.430f],right_rotation:[0f,0f,0f,1f],translation:[0f,0f,0f],scale:[6f,6f,0.1f]},item:{id:"air",Count:1b}} + +# ディスプレイの位置調整 + execute positioned ^0 ^1.2 ^1 as @e[tag=AV.SlashEffectInit,distance=..0.1] facing entity @e[type=wither_skeleton,tag=AV.Temp.This,distance=..64,sort=nearest,limit=1] feet rotated ~180 0 run tp @s ^ ^ ^ ~ ~ + +# 斬撃エフェクト初期化 + execute positioned ^0 ^1.2 ^1 as @e[tag=AV.SlashEffectInit,distance=..0.1] run function asset:mob/0391.axia_first/ai/projectile/slash_effect/1.init.m {Num:-8} + +# Tempタグ消去 + tag @s remove AV.Temp.This diff --git a/Asset/data/asset/functions/mob/0391.axia_first/ai/animation/8_0_warp_slash/slash_summon/2.mcfunction b/Asset/data/asset/functions/mob/0391.axia_first/ai/animation/8_0_warp_slash/slash_summon/2.mcfunction new file mode 100644 index 0000000000..b0475456c6 --- /dev/null +++ b/Asset/data/asset/functions/mob/0391.axia_first/ai/animation/8_0_warp_slash/slash_summon/2.mcfunction @@ -0,0 +1,20 @@ +#> asset:mob/0391.axia_first/ai/animation/8_0_warp_slash/slash_summon/2 +# +# 斬撃エフェクト召喚2 +# +# @within function asset:mob/0391.axia_first/ai/animation/8_0_warp_slash/ + +# Tempタグ付与 + tag @s add AV.Temp.This + +# ディスプレイ召喚 + summon item_display ^-0.5 ^1 ^1 {interpolation_duration:0,Tags:["AV.SlashEffectInit"],brightness:{sky:15,block:15},transformation:{left_rotation:[-0.5f,-0.5f,-0.5f,0.5f],right_rotation:[0f,0f,0f,1f],translation:[0f,0f,0f],scale:[6f,6f,0.1f]},item:{id:"air",Count:1b}} + +# ディスプレイの位置調整 + execute positioned ^-0.5 ^1 ^1 as @e[tag=AV.SlashEffectInit,distance=..0.1] facing entity @e[type=wither_skeleton,tag=AV.Temp.This,distance=..64,sort=nearest,limit=1] feet rotated ~180 0 run tp @s ^ ^ ^ ~ ~ + +# 斬撃エフェクト初期化 + execute positioned ^-0.5 ^1 ^1 as @e[tag=AV.SlashEffectInit,distance=..0.1] run function asset:mob/0391.axia_first/ai/projectile/slash_effect/1.init.m {Num:-8} + +# Tempタグ消去 + tag @s remove AV.Temp.This diff --git a/Asset/data/asset/functions/mob/0391.axia_first/ai/animation/8_0_warp_slash/slash_summon/3.mcfunction b/Asset/data/asset/functions/mob/0391.axia_first/ai/animation/8_0_warp_slash/slash_summon/3.mcfunction new file mode 100644 index 0000000000..ca97b30e7f --- /dev/null +++ b/Asset/data/asset/functions/mob/0391.axia_first/ai/animation/8_0_warp_slash/slash_summon/3.mcfunction @@ -0,0 +1,20 @@ +#> asset:mob/0391.axia_first/ai/animation/8_0_warp_slash/slash_summon/3 +# +# 斬撃エフェクト召喚3 +# +# @within function asset:mob/0391.axia_first/ai/animation/8_0_warp_slash/ + +# Tempタグ付与 + tag @s add AV.Temp.This + +# ディスプレイ召喚 + summon item_display ^-0.5 ^0.85 ^1 {interpolation_duration:0,Tags:["AV.SlashEffectInit"],brightness:{sky:15,block:15},transformation:{left_rotation:[-0.5f,-0.5f,-0.5f,0.5f],right_rotation:[0f,0f,0f,1f],translation:[0f,0f,0f],scale:[6f,6f,0.1f]},item:{id:"air",Count:1b}} + +# ディスプレイの位置調整 + execute positioned ^-0.5 ^0.85 ^1 as @e[tag=AV.SlashEffectInit,distance=..0.1] facing entity @e[type=wither_skeleton,tag=AV.Temp.This,distance=..64,sort=nearest,limit=1] feet rotated ~180 0 run tp @s ^ ^ ^ ~ ~ + +# 斬撃エフェクト初期化 + execute positioned ^-0.5 ^0.85 ^1 as @e[tag=AV.SlashEffectInit,distance=..0.1] run function asset:mob/0391.axia_first/ai/projectile/slash_effect/1.init.m {Num:-8} + +# Tempタグ消去 + tag @s remove AV.Temp.This diff --git a/Asset/data/asset/functions/mob/0391.axia_first/ai/animation/8_0_warp_slash/slash_summon/4.mcfunction b/Asset/data/asset/functions/mob/0391.axia_first/ai/animation/8_0_warp_slash/slash_summon/4.mcfunction new file mode 100644 index 0000000000..83740d6ff5 --- /dev/null +++ b/Asset/data/asset/functions/mob/0391.axia_first/ai/animation/8_0_warp_slash/slash_summon/4.mcfunction @@ -0,0 +1,20 @@ +#> asset:mob/0391.axia_first/ai/animation/8_0_warp_slash/slash_summon/4 +# +# 斬撃エフェクト召喚4 +# +# @within function asset:mob/0391.axia_first/ai/animation/8_0_warp_slash/ + +# Tempタグ付与 + tag @s add AV.Temp.This + +# ディスプレイ召喚 + summon item_display ^0 ^1.6 ^1 {interpolation_duration:0,Tags:["AV.SlashEffectInit"],brightness:{sky:15,block:15},transformation:{left_rotation:[0.561f,-0.430f,0.5610f,0.430f],right_rotation:[0f,0f,0f,1f],translation:[0f,0f,0f],scale:[6f,6f,0.1f]},item:{id:"air",Count:1b}} + +# ディスプレイの位置調整 + execute positioned ^0 ^1.6 ^1 as @e[tag=AV.SlashEffectInit,distance=..0.1] facing entity @e[type=wither_skeleton,tag=AV.Temp.This,distance=..64,sort=nearest,limit=1] feet rotated ~180 0 run tp @s ^ ^ ^ ~ ~ + +# 斬撃エフェクト初期化 + execute positioned ^0 ^1.6 ^1 as @e[tag=AV.SlashEffectInit,distance=..0.1] run function asset:mob/0391.axia_first/ai/projectile/slash_effect/1.init.m {Num:-8} + +# Tempタグ消去 + tag @s remove AV.Temp.This diff --git a/Asset/data/asset/functions/mob/0391.axia_first/ai/animation/8_0_warp_slash/slash_summon/5.mcfunction b/Asset/data/asset/functions/mob/0391.axia_first/ai/animation/8_0_warp_slash/slash_summon/5.mcfunction new file mode 100644 index 0000000000..d4384afa40 --- /dev/null +++ b/Asset/data/asset/functions/mob/0391.axia_first/ai/animation/8_0_warp_slash/slash_summon/5.mcfunction @@ -0,0 +1,20 @@ +#> asset:mob/0391.axia_first/ai/animation/8_0_warp_slash/slash_summon/5 +# +# +# +# @within function asset:mob/0391.axia_first/ai/animation/8_0_warp_slash/ + +# Tempタグ付与 + tag @s add AV.Temp.This + +# ディスプレイ召喚 + summon item_display ^-0.5 ^1.5 ^1.5 {interpolation_duration:0,Tags:["AV.SlashEffectInit"],brightness:{sky:15,block:15},transformation:{left_rotation:[-0.5f,-0.5f,-0.5f,0.5f],right_rotation:[0f,0f,0f,1f],translation:[0f,0f,0f],scale:[7f,7f,0.1f]},item:{id:"air",Count:1b}} + +# ディスプレイの位置調整 + execute positioned ^-0.5 ^1.5 ^1.5 as @e[tag=AV.SlashEffectInit,distance=..0.1] at @s facing entity @e[type=wither_skeleton,tag=AV.Temp.This,distance=..64,sort=nearest,limit=1] feet rotated ~90 0 positioned as @e[type=wither_skeleton,tag=AV.Temp.This,distance=..64,sort=nearest,limit=1] positioned ^ ^1.5 ^1.581 run tp @s ^ ^ ^ ~ ~ + +# 斬撃エフェクト初期化 + execute as @e[tag=AV.SlashEffectInit,distance=..3] run function asset:mob/0391.axia_first/ai/projectile/slash_effect/1.init.m {Num:-17} + +# Tempタグ消去 + tag @s remove AV.Temp.This diff --git a/Asset/data/asset/functions/mob/0391.axia_first/ai/animation/8_0_warp_slash/warp/.mcfunction b/Asset/data/asset/functions/mob/0391.axia_first/ai/animation/8_0_warp_slash/warp/.mcfunction new file mode 100644 index 0000000000..55bd033d7c --- /dev/null +++ b/Asset/data/asset/functions/mob/0391.axia_first/ai/animation/8_0_warp_slash/warp/.mcfunction @@ -0,0 +1,37 @@ +#> asset:mob/0391.axia_first/ai/animation/8_0_warp_slash/warp/ +# +# 偏差ワープ +# +# @within function asset:mob/0391.axia_first/ai/animation/8_0_warp_slash/ + +# 自身にタグ付け + tag @s add AV.Temp.This + +# 攻撃対象にTagを付与 + tag @r[tag=!PlayerShouldInvulnerable,distance=..100] add AV.Temp.Target + +# 攻撃対象のベクトルを取得 + execute as @p[tag=AV.Temp.Target,distance=..100] run function api:player_vector/get + +# セッション開ける + function lib:array/session/open + +# ベクトルを10倍する + data modify storage lib: Array set from storage api: Return.Vector + data modify storage lib: Mul set value 25 + function lib:array/math/scalar_multiply + +# 別のstorageに移す + data modify storage asset:temp Predict.X set from storage lib: MulResult[0] + data modify storage asset:temp Predict.Z set from storage lib: MulResult[2] + +# セッション閉じる + function lib:array/session/close + +# マクロで偏差撃ちする + execute as @p[tag=AV.Temp.Target,distance=..100] at @s run function asset:mob/0391.axia_first/ai/animation/8_0_warp_slash/warp/m with storage asset:temp Predict + +# リセット + tag @p[tag=AV.Temp.Target,distance=..100] remove AV.Temp.Target + tag @s remove AV.Temp.This + data remove storage asset:temp Predict diff --git a/Asset/data/asset/functions/mob/0391.axia_first/ai/animation/8_0_warp_slash/warp/m.mcfunction b/Asset/data/asset/functions/mob/0391.axia_first/ai/animation/8_0_warp_slash/warp/m.mcfunction new file mode 100644 index 0000000000..ccc31eda30 --- /dev/null +++ b/Asset/data/asset/functions/mob/0391.axia_first/ai/animation/8_0_warp_slash/warp/m.mcfunction @@ -0,0 +1,17 @@ +#> asset:mob/0391.axia_first/ai/animation/8_0_warp_slash/warp/m +# +# 偏差実行 +# +# @input args +# X : Double +# Z : Double +# @within function asset:mob/0391.axia_first/ai/animation/8_0_warp_slash/warp/ + +# マーカー召喚 + $execute positioned ~$(X) ~ ~$(Z) if entity @s[distance=..30] run summon marker ~ ~ ~ {Tags:["AV.Predict"]} + +# TP + execute as @e[type=wither_skeleton,tag=AV.Temp.This,distance=..64,sort=nearest,limit=1] at @e[type=marker,tag=AV.Predict,distance=..64,limit=1] facing entity @p[tag=AV.Temp.Target,distance=..100] feet rotated ~ 0 run tp @s ^ ^ ^ ~ 0 + +# マーカー削除 + kill @e[type=marker,tag=AV.Predict,distance=..30] diff --git a/Asset/data/asset/functions/mob/0391.axia_first/ai/animation/8_0_warp_slash/warp_sound.mcfunction b/Asset/data/asset/functions/mob/0391.axia_first/ai/animation/8_0_warp_slash/warp_sound.mcfunction new file mode 100644 index 0000000000..6a028b7d31 --- /dev/null +++ b/Asset/data/asset/functions/mob/0391.axia_first/ai/animation/8_0_warp_slash/warp_sound.mcfunction @@ -0,0 +1,35 @@ +#> asset:mob/0391.axia_first/ai/animation/8_0_warp_slash/warp_sound +# +# ワープ音 +# +# @within function asset:mob/0391.axia_first/ai/animation/8_0_warp_slash/ + +execute if score @s AV.AnimationTick matches 1 as @a[tag=!PlayerShouldInvulnerable,distance=..32] at @s run playsound entity.illusioner.cast_spell hostile @s ~ ~ ~ 0.5 1 0 +execute if score @s AV.AnimationTick matches 2 as @a[tag=!PlayerShouldInvulnerable,distance=..32] at @s run playsound entity.illusioner.cast_spell hostile @s ~ ~ ~ 0.5 1.01 0 +execute if score @s AV.AnimationTick matches 3 as @a[tag=!PlayerShouldInvulnerable,distance=..32] at @s run playsound entity.illusioner.cast_spell hostile @s ~ ~ ~ 0.5 1.02 0 +execute if score @s AV.AnimationTick matches 4 as @a[tag=!PlayerShouldInvulnerable,distance=..32] at @s run playsound entity.illusioner.cast_spell hostile @s ~ ~ ~ 0.5 1.03 0 +execute if score @s AV.AnimationTick matches 5 as @a[tag=!PlayerShouldInvulnerable,distance=..32] at @s run playsound entity.illusioner.cast_spell hostile @s ~ ~ ~ 0.5 1.04 0 +execute if score @s AV.AnimationTick matches 6 as @a[tag=!PlayerShouldInvulnerable,distance=..32] at @s run playsound entity.illusioner.cast_spell hostile @s ~ ~ ~ 0.5 1.05 0 +execute if score @s AV.AnimationTick matches 7 as @a[tag=!PlayerShouldInvulnerable,distance=..32] at @s run playsound entity.illusioner.cast_spell hostile @s ~ ~ ~ 0.5 1.06 0 +execute if score @s AV.AnimationTick matches 8 as @a[tag=!PlayerShouldInvulnerable,distance=..32] at @s run playsound entity.illusioner.cast_spell hostile @s ~ ~ ~ 0.5 1.07 0 +execute if score @s AV.AnimationTick matches 9 as @a[tag=!PlayerShouldInvulnerable,distance=..32] at @s run playsound entity.illusioner.cast_spell hostile @s ~ ~ ~ 0.5 1.08 0 +execute if score @s AV.AnimationTick matches 10 as @a[tag=!PlayerShouldInvulnerable,distance=..32] at @s run playsound entity.illusioner.cast_spell hostile @s ~ ~ ~ 0.5 1.09 0 +execute if score @s AV.AnimationTick matches 11 as @a[tag=!PlayerShouldInvulnerable,distance=..32] at @s run playsound entity.illusioner.cast_spell hostile @s ~ ~ ~ 0.5 1.1 0 +execute if score @s AV.AnimationTick matches 12 as @a[tag=!PlayerShouldInvulnerable,distance=..32] at @s run playsound entity.illusioner.cast_spell hostile @s ~ ~ ~ 0.5 1.11 0 +execute if score @s AV.AnimationTick matches 13 as @a[tag=!PlayerShouldInvulnerable,distance=..32] at @s run playsound entity.illusioner.cast_spell hostile @s ~ ~ ~ 0.5 1.12 0 +execute if score @s AV.AnimationTick matches 14 as @a[tag=!PlayerShouldInvulnerable,distance=..32] at @s run playsound entity.illusioner.cast_spell hostile @s ~ ~ ~ 0.5 1.13 0 +execute if score @s AV.AnimationTick matches 15 as @a[tag=!PlayerShouldInvulnerable,distance=..32] at @s run playsound entity.illusioner.cast_spell hostile @s ~ ~ ~ 0.5 1.14 0 +execute if score @s AV.AnimationTick matches 16 as @a[tag=!PlayerShouldInvulnerable,distance=..32] at @s run playsound entity.illusioner.cast_spell hostile @s ~ ~ ~ 0.5 1.15 0 +execute if score @s AV.AnimationTick matches 17 as @a[tag=!PlayerShouldInvulnerable,distance=..32] at @s run playsound entity.illusioner.cast_spell hostile @s ~ ~ ~ 0.5 1.16 0 +execute if score @s AV.AnimationTick matches 18 as @a[tag=!PlayerShouldInvulnerable,distance=..32] at @s run playsound entity.illusioner.cast_spell hostile @s ~ ~ ~ 0.5 1.17 0 +execute if score @s AV.AnimationTick matches 19 as @a[tag=!PlayerShouldInvulnerable,distance=..32] at @s run playsound entity.illusioner.cast_spell hostile @s ~ ~ ~ 0.5 1.18 0 +execute if score @s AV.AnimationTick matches 20 as @a[tag=!PlayerShouldInvulnerable,distance=..32] at @s run playsound entity.illusioner.cast_spell hostile @s ~ ~ ~ 0.5 1.19 0 +execute if score @s AV.AnimationTick matches 21 as @a[tag=!PlayerShouldInvulnerable,distance=..32] at @s run playsound entity.illusioner.cast_spell hostile @s ~ ~ ~ 0.5 1.20 0 +execute if score @s AV.AnimationTick matches 22 as @a[tag=!PlayerShouldInvulnerable,distance=..32] at @s run playsound entity.illusioner.cast_spell hostile @s ~ ~ ~ 0.5 1.21 0 +execute if score @s AV.AnimationTick matches 23 as @a[tag=!PlayerShouldInvulnerable,distance=..32] at @s run playsound entity.illusioner.cast_spell hostile @s ~ ~ ~ 0.5 1.22 0 +execute if score @s AV.AnimationTick matches 24 as @a[tag=!PlayerShouldInvulnerable,distance=..32] at @s run playsound entity.illusioner.cast_spell hostile @s ~ ~ ~ 0.5 1.23 0 +execute if score @s AV.AnimationTick matches 25 as @a[tag=!PlayerShouldInvulnerable,distance=..32] at @s run playsound entity.illusioner.cast_spell hostile @s ~ ~ ~ 0.5 1.24 0 +execute if score @s AV.AnimationTick matches 26 as @a[tag=!PlayerShouldInvulnerable,distance=..32] at @s run playsound entity.illusioner.cast_spell hostile @s ~ ~ ~ 0.5 1.25 0 +execute if score @s AV.AnimationTick matches 27 as @a[tag=!PlayerShouldInvulnerable,distance=..32] at @s run playsound entity.illusioner.cast_spell hostile @s ~ ~ ~ 0.5 1.26 0 +execute if score @s AV.AnimationTick matches 28 as @a[tag=!PlayerShouldInvulnerable,distance=..32] at @s run playsound entity.illusioner.cast_spell hostile @s ~ ~ ~ 0.5 1.27 0 +execute if score @s AV.AnimationTick matches 29 as @a[tag=!PlayerShouldInvulnerable,distance=..32] at @s run playsound entity.illusioner.cast_spell hostile @s ~ ~ ~ 0.5 1.28 0 diff --git a/Asset/data/asset/functions/mob/0391.axia_first/ai/projectile/announce_line/1.init.m.mcfunction b/Asset/data/asset/functions/mob/0391.axia_first/ai/projectile/announce_line/1.init.m.mcfunction new file mode 100644 index 0000000000..495eab2f13 --- /dev/null +++ b/Asset/data/asset/functions/mob/0391.axia_first/ai/projectile/announce_line/1.init.m.mcfunction @@ -0,0 +1,17 @@ +#> asset:mob/0391.axia_first/ai/projectile/announce_line/1.init.m +# +# 予告線の初期化処理 +# +# @input args +# Num : int +# @within function asset:mob/0391.axia_first/** + +# tag AV.AnnounceInitを持つDisplayに対して使用すること + +# スコア初期化 + $scoreboard players set @s AV.ProjectileTick $(Num) + +# 初期化タグ消去 + tag @s add AV.AnnounceLine + tag @s add AV.Inbisible + tag @s remove AV.AnnounceInit diff --git a/Asset/data/asset/functions/mob/0391.axia_first/ai/projectile/announce_line/2.tick.mcfunction b/Asset/data/asset/functions/mob/0391.axia_first/ai/projectile/announce_line/2.tick.mcfunction new file mode 100644 index 0000000000..ae0cc6ba6b --- /dev/null +++ b/Asset/data/asset/functions/mob/0391.axia_first/ai/projectile/announce_line/2.tick.mcfunction @@ -0,0 +1,24 @@ +#> asset:mob/0391.axia_first/ai/projectile/announce_line/2.tick +# +# 予告線 Tick処理 +# +# @within function asset:mob/0391.axia_first/tick/ + +# スコアが正かつ透明状態なら可視化 + execute if score @s AV.ProjectileTick matches 1.. if entity @s[tag=AV.Inbisible] run data merge entity @s {teleport_duration:1,item:{id:"minecraft:red_stained_glass",Count:1b}} + execute if score @s AV.ProjectileTick matches 1.. if entity @s[tag=AV.Inbisible] run tag @s remove AV.Inbisible + +# スコア反転 + execute if score @s AV.ProjectileTick matches ..-1 run scoreboard players operation @s AV.ProjectileTick *= $-1 Const + +# 音 + execute if score @s AV.ProjectileTick matches 1.. as @a[tag=!PlayerShouldInvulnerable,distance=..32] at @s run playsound entity.illusioner.prepare_mirror hostile @s ~ ~ ~ 1 2 0 + +# TP + execute positioned ^ ^1.2 ^ run tp @s ^ ^ ^ ~ ~ + +# スコアが1以下ならキル + execute if score @s AV.ProjectileTick matches 1 run kill @s + +# スコア減少 + scoreboard players remove @s AV.ProjectileTick 1 diff --git a/Asset/data/asset/functions/mob/0391.axia_first/ai/projectile/announce_line/debug.mcfunction b/Asset/data/asset/functions/mob/0391.axia_first/ai/projectile/announce_line/debug.mcfunction new file mode 100644 index 0000000000..e1bd813f83 --- /dev/null +++ b/Asset/data/asset/functions/mob/0391.axia_first/ai/projectile/announce_line/debug.mcfunction @@ -0,0 +1,12 @@ +#> asset:mob/0391.axia_first/ai/projectile/announce_line/debug +# +# デバッグ用 +# +# @user +# @private + +execute anchored eyes run summon item_display ^ ^ ^2 {interpolation_duration:0,teleport_duration:0,Tags:["AV.AnnounceInit"],brightness:{sky:15,block:15},transformation:{left_rotation:[0f,0f,0.383f,0.924f],right_rotation:[0f,0f,0f,1f],translation:[0f,0f,12.5f],scale:[0.1f,0.1f,25f]},item:{id:"air",Count:1b}} + +execute anchored eyes positioned ^ ^ ^2 as @e[tag=AV.AnnounceInit,distance=..0.1] run tp @s ^ ^ ^ ~ ~ + +execute anchored eyes positioned ^ ^ ^2 as @e[tag=AV.AnnounceInit,distance=..0.1] run function asset:mob/0391.axia_first/ai/projectile/announce_line/1.init.m {Num:-20} diff --git a/Asset/data/asset/functions/mob/0391.axia_first/ai/projectile/slash_effect/1.init.m.mcfunction b/Asset/data/asset/functions/mob/0391.axia_first/ai/projectile/slash_effect/1.init.m.mcfunction index e34846b55a..edcb3edcdd 100644 --- a/Asset/data/asset/functions/mob/0391.axia_first/ai/projectile/slash_effect/1.init.m.mcfunction +++ b/Asset/data/asset/functions/mob/0391.axia_first/ai/projectile/slash_effect/1.init.m.mcfunction @@ -13,5 +13,5 @@ # 初期化タグ消去 tag @s add AV.SlashEffect - tag @s add AV.SlashEffectInbisible + tag @s add AV.Inbisible tag @s remove AV.SlashEffectInit diff --git a/Asset/data/asset/functions/mob/0391.axia_first/ai/projectile/slash_effect/2.tick.mcfunction b/Asset/data/asset/functions/mob/0391.axia_first/ai/projectile/slash_effect/2.tick.mcfunction index 6c4cbdb6e2..8f98c8e59b 100644 --- a/Asset/data/asset/functions/mob/0391.axia_first/ai/projectile/slash_effect/2.tick.mcfunction +++ b/Asset/data/asset/functions/mob/0391.axia_first/ai/projectile/slash_effect/2.tick.mcfunction @@ -5,8 +5,8 @@ # @within function asset:mob/0391.axia_first/tick/ # スコアが正かつ透明状態なら可視化 - execute if score @s AV.ProjectileTick matches 1.. if entity @s[tag=AV.SlashEffectInbisible] run data modify entity @s item set value {id:"minecraft:leather_horse_armor",Count:1b,tag:{display:{color:16711731},CustomModelData:20353}} - execute if score @s AV.ProjectileTick matches 1.. if entity @s[tag=AV.SlashEffectInbisible] run tag @s remove AV.SlashEffectInbisible + execute if score @s AV.ProjectileTick matches 1.. if entity @s[tag=AV.Inbisible] run data modify entity @s item set value {id:"minecraft:leather_horse_armor",Count:1b,tag:{display:{color:16711731},CustomModelData:20353}} + execute if score @s AV.ProjectileTick matches 1.. if entity @s[tag=AV.Inbisible] run tag @s remove AV.Inbisible # スコア反転 execute if score @s AV.ProjectileTick matches ..-1 run scoreboard players operation @s AV.ProjectileTick *= $-1 Const diff --git a/Asset/data/asset/functions/mob/0391.axia_first/ai/projectile/slash_effect/debug.mcfunction b/Asset/data/asset/functions/mob/0391.axia_first/ai/projectile/slash_effect/debug.mcfunction index 2e4a137529..af1d0157a7 100644 --- a/Asset/data/asset/functions/mob/0391.axia_first/ai/projectile/slash_effect/debug.mcfunction +++ b/Asset/data/asset/functions/mob/0391.axia_first/ai/projectile/slash_effect/debug.mcfunction @@ -9,4 +9,4 @@ execute anchored eyes run summon item_display ^ ^ ^2 {interpolation_duration:0,T execute anchored eyes positioned ^ ^ ^2 as @e[tag=AV.SlashEffectInit,distance=..0.1] run tp @s ^ ^ ^ ~ ~ -execute anchored eyes positioned ^ ^ ^2 as @e[tag=AV.SlashEffectInit,distance=..0.1] run function asset:mob/0391.axia_first/ai/projectile/slash_effect/1.init.m +execute anchored eyes positioned ^ ^ ^2 as @e[tag=AV.SlashEffectInit,distance=..0.1] run function asset:mob/0391.axia_first/ai/projectile/slash_effect/1.init.m {Num:-8} diff --git a/Asset/data/asset/functions/mob/0391.axia_first/ai/projectile/slash_effect_mini/1.init.m.mcfunction b/Asset/data/asset/functions/mob/0391.axia_first/ai/projectile/slash_effect_mini/1.init.m.mcfunction index 43db8deceb..75b61771f6 100644 --- a/Asset/data/asset/functions/mob/0391.axia_first/ai/projectile/slash_effect_mini/1.init.m.mcfunction +++ b/Asset/data/asset/functions/mob/0391.axia_first/ai/projectile/slash_effect_mini/1.init.m.mcfunction @@ -13,5 +13,5 @@ # 初期化タグ消去 tag @s add AV.SlashEffectMini - tag @s add AV.SlashEffectInbisible + tag @s add AV.Inbisible tag @s remove AV.SlashEffectInit diff --git a/Asset/data/asset/functions/mob/0391.axia_first/ai/projectile/slash_effect_mini/2.tick.mcfunction b/Asset/data/asset/functions/mob/0391.axia_first/ai/projectile/slash_effect_mini/2.tick.mcfunction index 039180d705..76d1d98caf 100644 --- a/Asset/data/asset/functions/mob/0391.axia_first/ai/projectile/slash_effect_mini/2.tick.mcfunction +++ b/Asset/data/asset/functions/mob/0391.axia_first/ai/projectile/slash_effect_mini/2.tick.mcfunction @@ -5,8 +5,8 @@ # @within function asset:mob/0391.axia_first/tick/ # スコアが正かつ透明状態なら可視化 - execute if score @s AV.ProjectileTick matches 1.. if entity @s[tag=AV.SlashEffectInbisible] run data modify entity @s item set value {id:"minecraft:leather_boots",Count:1b,tag:{display:{color:16711731},CustomModelData:20335}} - execute if score @s AV.ProjectileTick matches 1.. if entity @s[tag=AV.SlashEffectInbisible] run tag @s remove AV.SlashEffectInbisible + execute if score @s AV.ProjectileTick matches 1.. if entity @s[tag=AV.Inbisible] run data modify entity @s item set value {id:"minecraft:leather_boots",Count:1b,tag:{display:{color:16711731},CustomModelData:20335}} + execute if score @s AV.ProjectileTick matches 1.. if entity @s[tag=AV.Inbisible] run tag @s remove AV.Inbisible # スコア反転 execute if score @s AV.ProjectileTick matches ..-1 run scoreboard players operation @s AV.ProjectileTick *= $-1 Const diff --git a/Asset/data/asset/functions/mob/0391.axia_first/death/.mcfunction b/Asset/data/asset/functions/mob/0391.axia_first/death/.mcfunction index ae1beeb9b8..8e627f9f8b 100644 --- a/Asset/data/asset/functions/mob/0391.axia_first/death/.mcfunction +++ b/Asset/data/asset/functions/mob/0391.axia_first/death/.mcfunction @@ -14,3 +14,5 @@ kill @e[tag=AV.SlashEffect,distance=..100] kill @e[tag=AV.SlashEffectMini,distance=..100] kill @e[tag=AV.SlashSonic,distance=..100] + kill @e[tag=AV.SonicBoomEffect,distance=..100] + kill @e[tag=AV.AnnounceLine,distance=..100] diff --git a/Asset/data/asset/functions/mob/0391.axia_first/init/.mcfunction b/Asset/data/asset/functions/mob/0391.axia_first/init/.mcfunction index b8900c9217..6fe0bab2ab 100644 --- a/Asset/data/asset/functions/mob/0391.axia_first/init/.mcfunction +++ b/Asset/data/asset/functions/mob/0391.axia_first/init/.mcfunction @@ -10,7 +10,7 @@ # スコア初期化 scoreboard players set @s AV.AnimationTick 0 - scoreboard players set @s AV.AnimationNum 70 + scoreboard players set @s AV.AnimationNum 80 scoreboard players set @s AV.SkillSelect 0 # animated javaモデル召喚 diff --git a/Asset/data/asset/functions/mob/0391.axia_first/tick/.mcfunction b/Asset/data/asset/functions/mob/0391.axia_first/tick/.mcfunction index fd66ce75f8..1c24d5beae 100644 --- a/Asset/data/asset/functions/mob/0391.axia_first/tick/.mcfunction +++ b/Asset/data/asset/functions/mob/0391.axia_first/tick/.mcfunction @@ -30,3 +30,5 @@ execute as @e[type=item_display,tag=AV.SlashSonic,distance=..100] at @s run function asset:mob/0391.axia_first/ai/projectile/slash_sonic/2.tick # ソニックブーム Tick処理 execute as @e[type=item_display,tag=AV.SonicBoomEffect,distance=..100] at @s run function asset:mob/0391.axia_first/ai/projectile/sonic_boom/2.tick + # 予告線 Tick処理 + execute at @s as @e[type=item_display,tag=AV.AnnounceLine,distance=..100] run function asset:mob/0391.axia_first/ai/projectile/announce_line/2.tick