diff --git a/Asset/data/asset/functions/effect/0621.loyalty_shield/_/register.mcfunction b/Asset/data/asset/functions/effect/0621.loyalty_shield/_/register.mcfunction new file mode 100644 index 0000000000..ff289c4b26 --- /dev/null +++ b/Asset/data/asset/functions/effect/0621.loyalty_shield/_/register.mcfunction @@ -0,0 +1,7 @@ +#> asset:effect/0621.loyalty_shield/_/register +# +# +# +# @within tag/function asset:effect/register + +execute if data storage asset:context {id:621} run function asset:effect/0621.loyalty_shield/register \ No newline at end of file diff --git a/Asset/data/asset/functions/effect/0621.loyalty_shield/_/remove.mcfunction b/Asset/data/asset/functions/effect/0621.loyalty_shield/_/remove.mcfunction new file mode 100644 index 0000000000..7354599be0 --- /dev/null +++ b/Asset/data/asset/functions/effect/0621.loyalty_shield/_/remove.mcfunction @@ -0,0 +1,7 @@ +#> asset:effect/0621.loyalty_shield/_/remove +# +# Effectが神器や牛乳によって削除された時に実行されるfunction +# +# @within tag/function asset:effect/remove + +execute if data storage asset:context {id:621} run function asset:effect/0621.loyalty_shield/remove/ \ No newline at end of file diff --git a/Asset/data/asset/functions/effect/0621.loyalty_shield/_/tick.mcfunction b/Asset/data/asset/functions/effect/0621.loyalty_shield/_/tick.mcfunction new file mode 100644 index 0000000000..126c3dcbda --- /dev/null +++ b/Asset/data/asset/functions/effect/0621.loyalty_shield/_/tick.mcfunction @@ -0,0 +1,7 @@ +#> asset:effect/0621.loyalty_shield/_/tick +# +# Effectが発動している間毎tick実行されるfunction +# +# @within tag/function asset:effect/tick + +execute if data storage asset:context {id:621} run function asset:effect/0621.loyalty_shield/tick/ \ No newline at end of file diff --git a/Asset/data/asset/functions/effect/0621.loyalty_shield/register.mcfunction b/Asset/data/asset/functions/effect/0621.loyalty_shield/register.mcfunction new file mode 100644 index 0000000000..d0f6024fe6 --- /dev/null +++ b/Asset/data/asset/functions/effect/0621.loyalty_shield/register.mcfunction @@ -0,0 +1,39 @@ +#> asset:effect/0621.loyalty_shield/register +# +# Effectのデータを指定 +# +# @within function asset:effect/0621.loyalty_shield/_/register + +# ExtendsSafe (boolean) (default = false) + # data modify storage asset:effect ExtendsSafe set value true +# ID (int) + data modify storage asset:effect ID set value 621 +# 名前 (TextComponentString) + data modify storage asset:effect Name set value '{"text":"忠誠の盾"}' +# 説明文 (TextComponentString[]) + data modify storage asset:effect Description set value ['{"text":"「忠誠の幻影」が存在している限り、ダメージを大きく軽減する"}'] +# 効果時間 (int) (default = API || error) + data modify storage asset:effect Duration set value 2147483647 +# スタック (int) (default = API || 1) + # data modify storage asset:effect Stack set value +# 効果時間の操作方法 (default = API || "replace") + # data modify storage asset:effect DurationOperation set value +# スタックの操作方法 (default = API || "replace") + # data modify storage asset:effect StackOperation set value +# 最大効果時間 (int) (default = 2147483647) + # data modify storage asset:effect MaxDuration set value +# 最大スタック (int) (default = 2147483647) + # data modify storage asset:effect MaxStack set value +# 悪い効果か否か (boolean) + data modify storage asset:effect IsBadEffect set value false +# 死亡時のエフェクトの処理 (default = "remove") + # data modify storage asset:effect ProcessOnDied set value +# 消すのに必要なレベル (int) (default = 1) + # data modify storage asset:effect RequireClearLv set value +# エフェクトをUIに表示するか (boolean) (default = true) + # data modify storage asset:effect Visible set value +# エフェクトのスタックををUIに表示するか (boolean) (default = true) + # data modify storage asset:effect StackVisible set value + +# フィールド + # data modify storage asset:effect Field set value {} diff --git a/Asset/data/asset/functions/effect/0621.loyalty_shield/remove/.mcfunction b/Asset/data/asset/functions/effect/0621.loyalty_shield/remove/.mcfunction new file mode 100644 index 0000000000..27b5c392c8 --- /dev/null +++ b/Asset/data/asset/functions/effect/0621.loyalty_shield/remove/.mcfunction @@ -0,0 +1,7 @@ +#> asset:effect/0621.loyalty_shield/remove/ +# +# Effectが削除された時の処理 +# +# @within function asset:effect/0621.loyalty_shield/_/remove + +effect clear @s resistance diff --git a/Asset/data/asset/functions/effect/0621.loyalty_shield/tick/.mcfunction b/Asset/data/asset/functions/effect/0621.loyalty_shield/tick/.mcfunction new file mode 100644 index 0000000000..53cad80a23 --- /dev/null +++ b/Asset/data/asset/functions/effect/0621.loyalty_shield/tick/.mcfunction @@ -0,0 +1,7 @@ +#> asset:effect/0621.loyalty_shield/tick/ +# +# Effectのtick処理 +# +# @within function asset:effect/0621.loyalty_shield/_/tick + +effect give @s resistance infinite 6 true diff --git a/Asset/data/asset/functions/mob/1004.tultaria/_index.d.mcfunction b/Asset/data/asset/functions/mob/1004.tultaria/_index.d.mcfunction index 4b776b1c4e..e61150970f 100644 --- a/Asset/data/asset/functions/mob/1004.tultaria/_index.d.mcfunction +++ b/Asset/data/asset/functions/mob/1004.tultaria/_index.d.mcfunction @@ -11,6 +11,8 @@ # ボスの状態に関するタグ #declare tag RW.CanElementChange #declare tag RW.SkillSelected + #declare tag RW.Shield + #declare tag RW.Break # ボスの体と移動に関連するタグ #declare tag RW.Opening #declare tag RW.PlayerFacing @@ -94,11 +96,14 @@ #declare function animated_java:tultaria/animations/attack_melee_4_active/tween #declare function animated_java:tultaria/animations/dodge_back/tween #declare function animated_java:tultaria/animations/dodge_side/tween + #declare function animated_java:tultaria/animations/break/tween + #declare function animated_java:tultaria/animations/break_loop/tween #declare function animated_java:tultaria/animations/pause_all #declare function animated_java:tultaria/apply_default_pose #declare function animated_java:tultaria/remove/this #declare function animated_java:tultaria/variants/winged/apply #declare function animated_java:tultaria/variants/face_eyehalf/apply #declare function animated_java:tultaria/variants/face_eyeclose/apply + #declare function animated_java:tultaria/variants/face_eyeopen/apply #declare tag aj.tultaria.bone.right_ring #declare tag aj.tultaria.bone.left_ring diff --git a/Asset/data/asset/functions/mob/1004.tultaria/hurt/.mcfunction b/Asset/data/asset/functions/mob/1004.tultaria/hurt/.mcfunction index edd93d9f91..bb6bd9244c 100644 --- a/Asset/data/asset/functions/mob/1004.tultaria/hurt/.mcfunction +++ b/Asset/data/asset/functions/mob/1004.tultaria/hurt/.mcfunction @@ -5,9 +5,9 @@ # @within function asset:mob/alias/1004/hurt # 演出 - playsound minecraft:entity.generic.hurt hostile @a ~ ~ ~ 1 0.7 -# execute if entity @s[tag=RW.Shield] run playsound minecraft:block.amethyst_cluster.break hostile @a ~ ~ ~ 2 0.5 -# execute if entity @s[tag=RW.Shield] run playsound minecraft:block.end_portal_frame.fill hostile @a ~ ~ ~ 2 0.5 + execute unless entity @s[tag=RW.Shield] run playsound minecraft:entity.generic.hurt hostile @a ~ ~ ~ 1 0.7 + execute if entity @s[tag=RW.Shield] run playsound minecraft:block.amethyst_cluster.break hostile @a ~ ~ ~ 2 0.5 + execute if entity @s[tag=RW.Shield] run playsound minecraft:block.end_portal_frame.fill hostile @a ~ ~ ~ 2 0.5 # 体力チェック function asset:mob/1004.tultaria/hurt/check_health diff --git a/Asset/data/asset/functions/mob/1004.tultaria/load.mcfunction b/Asset/data/asset/functions/mob/1004.tultaria/load.mcfunction index c2fc9b302d..89f33ad7b0 100644 --- a/Asset/data/asset/functions/mob/1004.tultaria/load.mcfunction +++ b/Asset/data/asset/functions/mob/1004.tultaria/load.mcfunction @@ -11,3 +11,4 @@ scoreboard objectives add RW.LoopCount dummy scoreboard objectives add RW.FakeInertia dummy scoreboard objectives add RW.Phase dummy + scoreboard objectives add RW.LineAttack dummy diff --git a/Asset/data/asset/functions/mob/1004.tultaria/tick/.mcfunction b/Asset/data/asset/functions/mob/1004.tultaria/tick/.mcfunction index 973ec57d96..3bb34a3bde 100644 --- a/Asset/data/asset/functions/mob/1004.tultaria/tick/.mcfunction +++ b/Asset/data/asset/functions/mob/1004.tultaria/tick/.mcfunction @@ -46,12 +46,15 @@ execute if entity @s[tag=RW.Mode.Light] at @e[type=marker,tag=RW.ModelLocator.LeftHand,distance=..8,sort=nearest,limit=1] run particle dust 1 1 1 1 ~ ~ ~ 0.1 0.1 0.1 1 1 execute if entity @s[tag=RW.Mode.Light] at @e[type=marker,tag=RW.ModelLocator.RightHand,distance=..8,sort=nearest,limit=1] run particle dust 1 1 1 1 ~ ~ ~ 0.1 0.1 0.1 1 1 -# フェイズ3以降は、「忠誠の幻想」が一人でもいるなら無敵になる -# execute if score @s RW.Phase matches 3.. if entity @e[type=wither_skeleton,scores={MobID=1005},distance=..64] run tag @s add RW.Shield -# execute if entity @s[tag=RW.Shield] run function asset:mob/1004.tultaria/tick/base_move/loyalty_shield/ +# フェイズ3以降は、「忠誠の幻想」が一人でもいるならカッチカチになる + execute if score @s RW.Phase matches 3.. if entity @e[type=wither_skeleton,scores={MobID=1005},distance=..64] run tag @s add RW.Shield + execute if entity @s[tag=RW.Shield] run function asset:mob/1004.tultaria/tick/base_move/loyalty_shield/ -# フェイズ3以降、「忠誠の幻想」がいないなら -# execute if score @s RW.Phase matches 3.. unless entity @e[type=wither_skeleton,scores={MobID=1005},distance=..64] run tag @s remove RW.Shield +# フェイズ3以降、「忠誠の幻想」がいない場合はシールドが割れる + execute if score @s[tag=!RW.Break] RW.Phase matches 3.. unless entity @e[type=wither_skeleton,scores={MobID=1005},distance=..64] run function asset:mob/1004.tultaria/tick/base_move/break/start + +# ブレイク状態の時のTick処理 + execute if entity @s[tag=RW.Break] run function asset:mob/1004.tultaria/tick/base_move/break/tick # 足元が埋まっている間は上にちょっとずつ登る execute unless block ~ ~ ~ #lib:no_collision run tp @s ~ ~0.2 ~ diff --git a/Asset/data/asset/functions/mob/1004.tultaria/tick/base_move/break/recovery.mcfunction b/Asset/data/asset/functions/mob/1004.tultaria/tick/base_move/break/recovery.mcfunction new file mode 100644 index 0000000000..4e4bf3d47d --- /dev/null +++ b/Asset/data/asset/functions/mob/1004.tultaria/tick/base_move/break/recovery.mcfunction @@ -0,0 +1,17 @@ +#> asset:mob/1004.tultaria/tick/base_move/break/recovery +# +# ブレイク状態から復帰 +# +# @within function asset:mob/1004.tultaria/tick/base_move/break/tick + +# タグリセット + tag @s remove RW.Break + +# エフェクト付与 + data modify storage api: Argument.ID set value 621 + data modify storage api: Argument.Stack set value 1 + function api:entity/mob/effect/give + function api:entity/mob/effect/reset + +# リセット、行動再開 + function asset:mob/1004.tultaria/tick/base_move/reset diff --git a/Asset/data/asset/functions/mob/1004.tultaria/tick/base_move/break/start.mcfunction b/Asset/data/asset/functions/mob/1004.tultaria/tick/base_move/break/start.mcfunction new file mode 100644 index 0000000000..d71f525236 --- /dev/null +++ b/Asset/data/asset/functions/mob/1004.tultaria/tick/base_move/break/start.mcfunction @@ -0,0 +1,31 @@ +#> asset:mob/1004.tultaria/tick/base_move/break/start +# +# シールドが割れてブレイク状態に移行 +# +# @within function asset:mob/1004.tultaria/tick/ + +# 演出 + playsound minecraft:block.respawn_anchor.deplete hostile @a ~ ~ ~ 2 1.5 + playsound minecraft:block.glass.break hostile @a ~ ~ ~ 2 0.6 + playsound minecraft:block.glass.break hostile @a ~ ~ ~ 2 0.8 + playsound minecraft:block.beacon.deactivate hostile @a ~ ~ ~ 2 1.5 + playsound minecraft:block.beacon.deactivate hostile @a ~ ~ ~ 2 1.7 + +# エフェクト消去 + data modify storage api: Argument.ID set value 621 + function api:entity/mob/effect/remove/from_id + function api:entity/mob/effect/reset + +# タグリセット + function asset:mob/1004.tultaria/tick/reset/skill_tag + +# アニメ再生 + execute as @e[type=item_display,tag=RW.ModelRoot.Target,distance=..8,sort=nearest,limit=1] run function animated_java:tultaria/animations/break/tween {to_frame:0,duration:1} + +# タグ付与 + tag @s add RW.Break + tag @s add RW.InAction + tag @s remove RW.Shield + +# スコアセット + scoreboard players set @s General.Mob.Tick -1 diff --git a/Asset/data/asset/functions/mob/1004.tultaria/tick/base_move/break/summon_illusion/.mcfunction b/Asset/data/asset/functions/mob/1004.tultaria/tick/base_move/break/summon_illusion/.mcfunction new file mode 100644 index 0000000000..bf990814be --- /dev/null +++ b/Asset/data/asset/functions/mob/1004.tultaria/tick/base_move/break/summon_illusion/.mcfunction @@ -0,0 +1,10 @@ +#> asset:mob/1004.tultaria/tick/base_move/break/summon_illusion/ +# +# +# +# @within function asset:mob/1004.tultaria/tick/base_move/break/tick + +# 召喚その1 + execute facing entity @p[gamemode=!spectator,distance=..128] feet rotated ~ 0 positioned ^5 ^ ^ run function asset:mob/1004.tultaria/tick/base_move/break/summon_illusion/summon +# 召喚その2: ハード以上でやる + execute if predicate api:global_vars/difficulty/min/normal facing entity @p[gamemode=!spectator,distance=..128] feet rotated ~ 0 positioned ^-5 ^ ^ run function asset:mob/1004.tultaria/tick/base_move/break/summon_illusion/summon diff --git a/Asset/data/asset/functions/mob/1004.tultaria/tick/base_move/break/summon_illusion/summon.mcfunction b/Asset/data/asset/functions/mob/1004.tultaria/tick/base_move/break/summon_illusion/summon.mcfunction new file mode 100644 index 0000000000..971710a49a --- /dev/null +++ b/Asset/data/asset/functions/mob/1004.tultaria/tick/base_move/break/summon_illusion/summon.mcfunction @@ -0,0 +1,17 @@ +#> asset:mob/1004.tultaria/tick/base_move/break/summon_illusion/summon +# +# +# +# @within function asset:mob/1004.tultaria/tick/base_move/break/summon_illusion/ + +# 召喚 + data modify storage api: Argument.ID set value 1005 + function api:mob/summon + +# パーティクル + particle minecraft:explosion ~ ~1 ~ 0 0 0 0 1 force @a[distance=..64] + particle minecraft:dust 1 1 1 2 ~ ~1 ~ 0.3 0.7 0.3 0 25 + +# サウンド + playsound minecraft:entity.enderman.teleport hostile @a ~ ~ ~ 1 1.5 + playsound minecraft:entity.zombie_villager.converted hostile @a ~ ~ ~ 1 2 diff --git a/Asset/data/asset/functions/mob/1004.tultaria/tick/base_move/break/tick.mcfunction b/Asset/data/asset/functions/mob/1004.tultaria/tick/base_move/break/tick.mcfunction new file mode 100644 index 0000000000..2e49cf792b --- /dev/null +++ b/Asset/data/asset/functions/mob/1004.tultaria/tick/base_move/break/tick.mcfunction @@ -0,0 +1,24 @@ +#> asset:mob/1004.tultaria/tick/base_move/break/tick +# +# 防御が下がって無防備になる +# +# @within function asset:mob/1004.tultaria/tick/ + +# 演出 + particle minecraft:large_smoke ~ ~1 ~ 0.3 0.5 0.3 0 1 + +# ダウン時のループアニメ再生 + execute if score @s General.Mob.Tick matches 30 as @e[type=item_display,tag=RW.ModelRoot.Target,distance=..8,sort=nearest,limit=1] run function animated_java:tultaria/animations/break_loop/tween {to_frame:0,duration:1} + +# アニメ再生 + execute if score @s General.Mob.Tick matches 197 as @e[type=item_display,tag=RW.ModelRoot.Target,distance=..8,sort=nearest,limit=1] run function animated_java:tultaria/animations/attack_magic_2_right/tween {to_frame:0,duration:1} + +# 再召喚 + execute if score @s General.Mob.Tick matches 200 run function asset:mob/1004.tultaria/tick/base_move/break/summon_illusion/ + +# アニメ再生 + execute if score @s General.Mob.Tick matches 207 as @e[type=item_display,tag=RW.ModelRoot.Target,distance=..8,sort=nearest,limit=1] run function animated_java:tultaria/animations/attack_magic_1_left/tween {to_frame:0,duration:1} + execute if score @s General.Mob.Tick matches 207 as @e[type=item_display,tag=RW.ModelRoot.Target,distance=..8,sort=nearest,limit=1] run function animated_java:tultaria/variants/face_eyeopen/apply + +# 復帰 + execute if score @s General.Mob.Tick matches 240 run function asset:mob/1004.tultaria/tick/base_move/break/recovery diff --git a/Asset/data/asset/functions/mob/1004.tultaria/tick/base_move/loyalty_shield/.mcfunction b/Asset/data/asset/functions/mob/1004.tultaria/tick/base_move/loyalty_shield/.mcfunction index 0fe01edd00..97e88e9a8e 100644 --- a/Asset/data/asset/functions/mob/1004.tultaria/tick/base_move/loyalty_shield/.mcfunction +++ b/Asset/data/asset/functions/mob/1004.tultaria/tick/base_move/loyalty_shield/.mcfunction @@ -1,8 +1,8 @@ #> asset:mob/1004.tultaria/tick/base_move/loyalty_shield/ # -# 幻影がいる限り無敵 +# 幻影がいる限りはカッチカチになる # # @within function asset:mob/1004.tultaria/tick/ -# 無敵付与 - effect give @s resistance 1 10 true +# 演出 + particle minecraft:end_rod ~ ~1 ~ 0.3 0.5 0.3 0 1 diff --git a/Asset/data/asset/functions/mob/1004.tultaria/tick/base_move/skill_select/tags.mcfunction b/Asset/data/asset/functions/mob/1004.tultaria/tick/base_move/skill_select/tags.mcfunction index 12cf14244e..bfb502483f 100644 --- a/Asset/data/asset/functions/mob/1004.tultaria/tick/base_move/skill_select/tags.mcfunction +++ b/Asset/data/asset/functions/mob/1004.tultaria/tick/base_move/skill_select/tags.mcfunction @@ -8,7 +8,7 @@ # デバッグ用処理: 技を名指しで指定 # TODO: ちゃんと消すんだよ! -# tag @s add RW.Skill.AimingLaser +# tag @s add RW.Skill.HomingShot # return fail # 技を選択、属性ごとに違う diff --git a/Asset/data/asset/functions/mob/1004.tultaria/tick/skill/fire/blazing_slash/tick.mcfunction b/Asset/data/asset/functions/mob/1004.tultaria/tick/skill/fire/blazing_slash/tick.mcfunction index bcf01e4e42..2c526d15a7 100644 --- a/Asset/data/asset/functions/mob/1004.tultaria/tick/skill/fire/blazing_slash/tick.mcfunction +++ b/Asset/data/asset/functions/mob/1004.tultaria/tick/skill/fire/blazing_slash/tick.mcfunction @@ -15,11 +15,11 @@ execute if score @s General.Mob.Tick matches 15 as @e[type=item_display,tag=RW.ModelRoot.Target,distance=..8,sort=nearest,limit=1] run function animated_java:tultaria/animations/attack_melee_2/tween {to_frame:0,duration:1} # 警告 - execute if score @s General.Mob.Tick matches 0 positioned ~ ~-0.5 ~ run function asset:mob/1004.tultaria/tick/skill/fire/blazing_slash/explosion/alert - execute if score @s[scores={RW.Phase=2..}] General.Mob.Tick matches 10 positioned ^5 ^-0.5 ^ run function asset:mob/1004.tultaria/tick/skill/fire/blazing_slash/explosion/alert - execute if score @s[scores={RW.Phase=2..}] General.Mob.Tick matches 10 positioned ^-5 ^-0.5 ^ run function asset:mob/1004.tultaria/tick/skill/fire/blazing_slash/explosion/alert - execute if score @s[scores={RW.Phase=3..}] General.Mob.Tick matches 20 positioned ^11 ^-0.5 ^ run function asset:mob/1004.tultaria/tick/skill/fire/blazing_slash/explosion/alert - execute if score @s[scores={RW.Phase=3..}] General.Mob.Tick matches 20 positioned ^-11 ^-0.5 ^ run function asset:mob/1004.tultaria/tick/skill/fire/blazing_slash/explosion/alert + execute if score @s General.Mob.Tick matches 0 positioned ~ ~-0.3 ~ run function asset:mob/1004.tultaria/tick/skill/fire/blazing_slash/explosion/alert + execute if score @s[scores={RW.Phase=2..}] General.Mob.Tick matches 10 positioned ^5 ^-0.3 ^ run function asset:mob/1004.tultaria/tick/skill/fire/blazing_slash/explosion/alert + execute if score @s[scores={RW.Phase=2..}] General.Mob.Tick matches 10 positioned ^-5 ^-0.3 ^ run function asset:mob/1004.tultaria/tick/skill/fire/blazing_slash/explosion/alert + execute if score @s[scores={RW.Phase=3..}] General.Mob.Tick matches 20 positioned ^11 ^-0.3 ^ run function asset:mob/1004.tultaria/tick/skill/fire/blazing_slash/explosion/alert + execute if score @s[scores={RW.Phase=3..}] General.Mob.Tick matches 20 positioned ^-11 ^-0.3 ^ run function asset:mob/1004.tultaria/tick/skill/fire/blazing_slash/explosion/alert # 斬撃エフェクト execute if score @s General.Mob.Tick matches 20 at @s run function asset:mob/1004.tultaria/tick/skill/fire/blazing_slash/slash diff --git a/Asset/data/asset/functions/mob/1004.tultaria/tick/skill/fire/meteor_rain/pattern/1.mcfunction b/Asset/data/asset/functions/mob/1004.tultaria/tick/skill/fire/meteor_rain/pattern/1.mcfunction index a21f7ff62d..917b65090b 100644 --- a/Asset/data/asset/functions/mob/1004.tultaria/tick/skill/fire/meteor_rain/pattern/1.mcfunction +++ b/Asset/data/asset/functions/mob/1004.tultaria/tick/skill/fire/meteor_rain/pattern/1.mcfunction @@ -7,22 +7,22 @@ # メテオ落下1 # サウンド execute if score @s General.Mob.Tick matches 20 at @a[distance=..100] run playsound minecraft:entity.ghast.shoot player @p ~ ~ ~ 3 1 - # 拡散設置 - execute if score @s General.Mob.Tick matches 20 run function asset:mob/1004.tultaria/tick/skill/fire/meteor_rain/meteor/spread - execute if score @s General.Mob.Tick matches 20 run function asset:mob/1004.tultaria/tick/skill/fire/meteor_rain/meteor/spread + # 拡散設置: ハード以上だと数が増える execute if score @s General.Mob.Tick matches 20 run function asset:mob/1004.tultaria/tick/skill/fire/meteor_rain/meteor/spread execute if score @s General.Mob.Tick matches 20 run function asset:mob/1004.tultaria/tick/skill/fire/meteor_rain/meteor/spread + execute if predicate api:global_vars/difficulty/min/normal if score @s General.Mob.Tick matches 20 run function asset:mob/1004.tultaria/tick/skill/fire/meteor_rain/meteor/spread + execute if predicate api:global_vars/difficulty/min/hard if score @s General.Mob.Tick matches 20 run function asset:mob/1004.tultaria/tick/skill/fire/meteor_rain/meteor/spread # プレイヤー狙い execute if score @s General.Mob.Tick matches 20 at @r[gamemode=!spectator,distance=..64] run function asset:mob/1004.tultaria/tick/skill/fire/meteor_rain/meteor/aim # メテオ落下2 # サウンド execute if score @s General.Mob.Tick matches 40 at @a[distance=..100] run playsound minecraft:entity.ghast.shoot player @p ~ ~ ~ 3 1 - # 拡散設置 - execute if score @s General.Mob.Tick matches 40 run function asset:mob/1004.tultaria/tick/skill/fire/meteor_rain/meteor/spread - execute if score @s General.Mob.Tick matches 40 run function asset:mob/1004.tultaria/tick/skill/fire/meteor_rain/meteor/spread + # 拡散設置: ハード以上で増える execute if score @s General.Mob.Tick matches 40 run function asset:mob/1004.tultaria/tick/skill/fire/meteor_rain/meteor/spread execute if score @s General.Mob.Tick matches 40 run function asset:mob/1004.tultaria/tick/skill/fire/meteor_rain/meteor/spread + execute if predicate api:global_vars/difficulty/min/normal if score @s General.Mob.Tick matches 40 run function asset:mob/1004.tultaria/tick/skill/fire/meteor_rain/meteor/spread + execute if predicate api:global_vars/difficulty/min/hard if score @s General.Mob.Tick matches 40 run function asset:mob/1004.tultaria/tick/skill/fire/meteor_rain/meteor/spread # プレイヤー狙い execute if score @s General.Mob.Tick matches 20 at @r[gamemode=!spectator,distance=..64] run function asset:mob/1004.tultaria/tick/skill/fire/meteor_rain/meteor/aim diff --git a/Asset/data/asset/functions/mob/1004.tultaria/tick/skill/fire/meteor_rain/pattern/2.mcfunction b/Asset/data/asset/functions/mob/1004.tultaria/tick/skill/fire/meteor_rain/pattern/2.mcfunction index f7f1441e18..6895ba9373 100644 --- a/Asset/data/asset/functions/mob/1004.tultaria/tick/skill/fire/meteor_rain/pattern/2.mcfunction +++ b/Asset/data/asset/functions/mob/1004.tultaria/tick/skill/fire/meteor_rain/pattern/2.mcfunction @@ -12,10 +12,10 @@ execute if score @s General.Mob.Tick matches 35 at @a[distance=..100] run playsound minecraft:entity.ghast.shoot player @p ~ ~ ~ 3 1 execute if score @s General.Mob.Tick matches 40 at @a[distance=..100] run playsound minecraft:entity.ghast.shoot player @p ~ ~ ~ 3 1 execute if score @s General.Mob.Tick matches 45 at @a[distance=..100] run playsound minecraft:entity.ghast.shoot player @p ~ ~ ~ 3 1 - execute if score @s General.Mob.Tick matches 50 at @a[distance=..100] run playsound minecraft:entity.ghast.shoot player @p ~ ~ ~ 3 1 - execute if score @s General.Mob.Tick matches 55 at @a[distance=..100] run playsound minecraft:entity.ghast.shoot player @p ~ ~ ~ 3 1 - execute if score @s General.Mob.Tick matches 60 at @a[distance=..100] run playsound minecraft:entity.ghast.shoot player @p ~ ~ ~ 3 1 - execute if score @s General.Mob.Tick matches 65 at @a[distance=..100] run playsound minecraft:entity.ghast.shoot player @p ~ ~ ~ 3 1 + execute if predicate api:global_vars/difficulty/min/normal if score @s General.Mob.Tick matches 50 at @a[distance=..100] run playsound minecraft:entity.ghast.shoot player @p ~ ~ ~ 3 1 + execute if predicate api:global_vars/difficulty/min/normal if score @s General.Mob.Tick matches 55 at @a[distance=..100] run playsound minecraft:entity.ghast.shoot player @p ~ ~ ~ 3 1 + execute if predicate api:global_vars/difficulty/min/hard if score @s General.Mob.Tick matches 60 at @a[distance=..100] run playsound minecraft:entity.ghast.shoot player @p ~ ~ ~ 3 1 + execute if predicate api:global_vars/difficulty/min/hard if score @s General.Mob.Tick matches 65 at @a[distance=..100] run playsound minecraft:entity.ghast.shoot player @p ~ ~ ~ 3 1 # メテオ落下 execute if score @s General.Mob.Tick matches 20 run function asset:mob/1004.tultaria/tick/skill/fire/meteor_rain/meteor/spread @@ -24,10 +24,10 @@ execute if score @s General.Mob.Tick matches 35 run function asset:mob/1004.tultaria/tick/skill/fire/meteor_rain/meteor/spread execute if score @s General.Mob.Tick matches 40 run function asset:mob/1004.tultaria/tick/skill/fire/meteor_rain/meteor/spread execute if score @s General.Mob.Tick matches 45 run function asset:mob/1004.tultaria/tick/skill/fire/meteor_rain/meteor/spread - execute if score @s General.Mob.Tick matches 50 run function asset:mob/1004.tultaria/tick/skill/fire/meteor_rain/meteor/spread - execute if score @s General.Mob.Tick matches 55 run function asset:mob/1004.tultaria/tick/skill/fire/meteor_rain/meteor/spread - execute if score @s General.Mob.Tick matches 60 run function asset:mob/1004.tultaria/tick/skill/fire/meteor_rain/meteor/spread - execute if score @s General.Mob.Tick matches 65 run function asset:mob/1004.tultaria/tick/skill/fire/meteor_rain/meteor/spread + execute if predicate api:global_vars/difficulty/min/normal if score @s General.Mob.Tick matches 50 run function asset:mob/1004.tultaria/tick/skill/fire/meteor_rain/meteor/spread + execute if predicate api:global_vars/difficulty/min/normal if score @s General.Mob.Tick matches 55 run function asset:mob/1004.tultaria/tick/skill/fire/meteor_rain/meteor/spread + execute if predicate api:global_vars/difficulty/min/hard if score @s General.Mob.Tick matches 60 run function asset:mob/1004.tultaria/tick/skill/fire/meteor_rain/meteor/spread + execute if predicate api:global_vars/difficulty/min/hard if score @s General.Mob.Tick matches 65 run function asset:mob/1004.tultaria/tick/skill/fire/meteor_rain/meteor/spread # デバッグ用、この行動をループする # execute if score @s General.Mob.Tick matches 100 run scoreboard players set @s General.Mob.Tick -10 diff --git a/Asset/data/asset/functions/mob/1004.tultaria/tick/skill/fire/move_shot/aim.m.mcfunction b/Asset/data/asset/functions/mob/1004.tultaria/tick/skill/fire/move_shot/aim.m.mcfunction new file mode 100644 index 0000000000..b8a98bc94c --- /dev/null +++ b/Asset/data/asset/functions/mob/1004.tultaria/tick/skill/fire/move_shot/aim.m.mcfunction @@ -0,0 +1,11 @@ +#> asset:mob/1004.tultaria/tick/skill/fire/move_shot/aim.m +# +# +# +# @within function asset:mob/1004.tultaria/tick/skill/fire/move_shot/tick + +# モデルをプレイヤーに向ける + $execute as @e[type=item_display,tag=RW.ModelRoot.Target,distance=..8,sort=nearest,limit=1] facing entity @p[gamemode=!spectator,scores={UserID=$(TargetID)},distance=..128] eyes run tp @s ~ ~ ~ ~ 0 + +# 移動終了後こっちを向く + $execute facing entity @p[gamemode=!spectator,scores={UserID=$(TargetID)},distance=..128] feet run tp @s[scores={General.Mob.Tick=10}] ~ ~ ~ ~ ~ diff --git a/Asset/data/asset/functions/mob/1004.tultaria/tick/skill/fire/move_shot/first_move.m.mcfunction b/Asset/data/asset/functions/mob/1004.tultaria/tick/skill/fire/move_shot/move/.mcfunction similarity index 62% rename from Asset/data/asset/functions/mob/1004.tultaria/tick/skill/fire/move_shot/first_move.m.mcfunction rename to Asset/data/asset/functions/mob/1004.tultaria/tick/skill/fire/move_shot/move/.mcfunction index 6a7096efc2..330f2b33ca 100644 --- a/Asset/data/asset/functions/mob/1004.tultaria/tick/skill/fire/move_shot/first_move.m.mcfunction +++ b/Asset/data/asset/functions/mob/1004.tultaria/tick/skill/fire/move_shot/move/.mcfunction @@ -1,4 +1,4 @@ -#> asset:mob/1004.tultaria/tick/skill/fire/move_shot/first_move.m +#> asset:mob/1004.tultaria/tick/skill/fire/move_shot/move/ # # # @@ -16,11 +16,14 @@ # 残ってたらヤなのでマーカーを消す kill @e[type=marker,tag=RW.TeleportMarker,distance=..128,sort=nearest,limit=1] -# プレイヤーの足元に召喚 - execute at @r[gamemode=!spectator,distance=..64] run summon marker ~ ~ ~ {Tags:["RW.RotateMarker"]} +# 付近のランダムなプレイヤーIDを自分のデータに持つ + execute store result storage asset:context this.TargetID int 1 run scoreboard players get @r[gamemode=!spectator,distance=..64] UserID + +# 向き指定 + execute store result storage asset:context this.Rotation int 1 run random value -180..180 -# プレイヤーから12ブロック離れた、ランダムな角度の位置にマーカーを置く - $execute as @e[type=marker,tag=RW.RotateMarker,distance=..128,limit=1] at @s rotated $(Rotation) 0 run tp @s ^ ^ ^12 +# プレイヤーの足元に召喚 + function asset:mob/1004.tultaria/tick/skill/fire/move_shot/move/m with storage asset:context this # 移動先を設置 execute at @e[type=marker,tag=RW.RotateMarker,distance=..128,limit=1] run summon marker ~ ~ ~ {Tags:[RW.TeleportMarker,RW.MarkerInit]} @@ -30,7 +33,7 @@ # リセット tag @e[type=marker,tag=RW.TeleportMarker,tag=RW.MarkerInit,distance=..128,limit=1] remove RW.MarkerInit - data remove storage asset:temp Rotation + data remove storage asset:context this.Rotation # 行動中タグ付与 tag @s add RW.Move diff --git a/Asset/data/asset/functions/mob/1004.tultaria/tick/skill/fire/move_shot/move/m.mcfunction b/Asset/data/asset/functions/mob/1004.tultaria/tick/skill/fire/move_shot/move/m.mcfunction new file mode 100644 index 0000000000..ba16d1bcf9 --- /dev/null +++ b/Asset/data/asset/functions/mob/1004.tultaria/tick/skill/fire/move_shot/move/m.mcfunction @@ -0,0 +1,11 @@ +#> asset:mob/1004.tultaria/tick/skill/fire/move_shot/move/m +# +# +# +# @within function asset:mob/1004.tultaria/tick/skill/fire/move_shot/move/ + +# プレイヤーの足元に召喚 + $execute at @p[scores={UserID=$(TargetID)},distance=..64] run summon marker ~ ~ ~ {Tags:["RW.RotateMarker"]} + +# プレイヤーから12ブロック離れた、ランダムな角度の位置にマーカーを置く + $execute as @e[type=marker,tag=RW.RotateMarker,distance=..128,limit=1] at @s rotated $(Rotation) 0 run tp @s ^ ^ ^12 diff --git a/Asset/data/asset/functions/mob/1004.tultaria/tick/skill/fire/move_shot/shoot.mcfunction b/Asset/data/asset/functions/mob/1004.tultaria/tick/skill/fire/move_shot/shoot.mcfunction index f86aa2eca5..c4be4aa569 100644 --- a/Asset/data/asset/functions/mob/1004.tultaria/tick/skill/fire/move_shot/shoot.mcfunction +++ b/Asset/data/asset/functions/mob/1004.tultaria/tick/skill/fire/move_shot/shoot.mcfunction @@ -4,31 +4,15 @@ # # @within function asset:mob/1004.tultaria/tick/skill/fire/move_shot/tick -#> 行き先マーカー -# @private -#declare tag SpreadMarker - -# 拡散させるEntityを召喚する - summon marker ~ ~ ~ {Tags:["SpreadMarker"]} - -# ステータス設定 - data modify storage lib: Argument.Distance set value 4 - data modify storage lib: Argument.Spread set value 1.5 - -# 拡散 - execute as @e[type=marker,tag=SpreadMarker,distance=..128,limit=1] run function lib:forward_spreader/circle - # 発射体のステータス設定 - data modify storage api: Argument.FieldOverride set value {Speed:2,Range:60,MovePerStep:0.3} + data modify storage api: Argument.FieldOverride set value {Speed:1,Range:100,MovePerStep:0.5} execute store result storage api: Argument.FieldOverride.MobUUID int 1 run scoreboard players get @s MobUUID # 召喚 data modify storage api: Argument.ID set value 2042 - execute facing entity @e[type=marker,tag=SpreadMarker,distance=..128,limit=1] eyes run function api:object/summon - -# リセット - kill @e[type=marker,tag=SpreadMarker,distance=..128,limit=1] + function api:object/summon # 演出 - playsound minecraft:entity.blaze.shoot hostile @a ~ ~ ~ 1 2 - playsound minecraft:block.respawn_anchor.deplete hostile @a ~ ~ ~ 1 2 + playsound minecraft:entity.blaze.shoot hostile @a ~ ~ ~ 1.5 0.8 + playsound minecraft:entity.blaze.burn hostile @a ~ ~ ~ 2 1 + playsound minecraft:entity.warden.attack_impact hostile @a ~ ~ ~ 2 1.2 diff --git a/Asset/data/asset/functions/mob/1004.tultaria/tick/skill/fire/move_shot/tick.mcfunction b/Asset/data/asset/functions/mob/1004.tultaria/tick/skill/fire/move_shot/tick.mcfunction index 76f13b1412..935e4dd4e5 100644 --- a/Asset/data/asset/functions/mob/1004.tultaria/tick/skill/fire/move_shot/tick.mcfunction +++ b/Asset/data/asset/functions/mob/1004.tultaria/tick/skill/fire/move_shot/tick.mcfunction @@ -15,26 +15,28 @@ execute if score @s General.Mob.Tick matches 30 as @e[type=item_display,tag=RW.ModelRoot.Target,distance=..8,sort=nearest,limit=1] run function animated_java:tultaria/animations/attack_magic_3_right_loop/tween {to_frame:0,duration:1} # 最初の移動 - execute if score @s General.Mob.Tick matches 0 store result storage asset:temp Rotation int 1 run random value -180..180 - execute if score @s General.Mob.Tick matches 0 run function asset:mob/1004.tultaria/tick/skill/fire/move_shot/first_move.m with storage asset:temp + execute if score @s General.Mob.Tick matches 0 run function asset:mob/1004.tultaria/tick/skill/fire/move_shot/move/ -# モデルをプレイヤーに向ける - execute as @e[type=item_display,tag=RW.ModelRoot.Target,distance=..8,sort=nearest,limit=1] facing entity @p[gamemode=!spectator,distance=..128] eyes run tp @s ~ ~ ~ ~ 0 - -# 移動終了後こっちを向く - execute facing entity @p[gamemode=!spectator,distance=..128] eyes run tp @s[scores={General.Mob.Tick=10}] ~ ~ ~ ~ ~ +# 移動終了後、ターゲットを狙う + function asset:mob/1004.tultaria/tick/skill/fire/move_shot/aim.m with storage asset:context this # 実行時間を移す scoreboard players operation $Interval Temporary = @s General.Mob.Tick # 射撃 - scoreboard players operation $Interval Temporary %= $2 Const - execute if score $Interval Temporary matches 0 if score @s General.Mob.Tick matches 15..35 at @e[type=marker,tag=RW.ModelLocator.RightHand,distance=..8,sort=nearest,limit=1] facing entity @p[gamemode=!spectator,distance=..128] eyes run function asset:mob/1004.tultaria/tick/skill/fire/move_shot/shoot + execute if score @s General.Mob.Tick matches 20 at @e[type=marker,tag=RW.ModelLocator.RightHand,distance=..8,sort=nearest,limit=1] rotated as @s run function asset:mob/1004.tultaria/tick/skill/fire/move_shot/shoot + execute if score @s[scores={RW.Phase=2..}] General.Mob.Tick matches 25 at @e[type=marker,tag=RW.ModelLocator.RightHand,distance=..8,sort=nearest,limit=1] rotated as @s positioned ^-2 ^ ^ run function asset:mob/1004.tultaria/tick/skill/fire/move_shot/shoot + execute if score @s[scores={RW.Phase=2..}] General.Mob.Tick matches 30 at @e[type=marker,tag=RW.ModelLocator.RightHand,distance=..8,sort=nearest,limit=1] rotated as @s positioned ^2 ^ ^ run function asset:mob/1004.tultaria/tick/skill/fire/move_shot/shoot # 幻影に攻撃させる execute if score @s[scores={RW.Phase=3..}] General.Mob.Tick matches 35 run function asset:mob/1004.tultaria/tick/skill/illusion_of_loyalty/fire/meteor_rain # ループ execute if entity @s[scores={RW.LoopCount=..1,General.Mob.Tick=35}] run function asset:mob/1004.tultaria/tick/skill/fire/move_shot/add_loop_count + +# 自身のモデルにモーションを再生させる、解除モーション + execute if score @s General.Mob.Tick matches 65 as @e[type=item_display,tag=RW.ModelRoot.Target,distance=..8,sort=nearest,limit=1] run function animated_java:tultaria/animations/attack_magic_1_right/tween {to_frame:0,duration:1} + # リセット - execute if score @s General.Mob.Tick matches 60 run function asset:mob/1004.tultaria/tick/base_move/reset + execute if score @s General.Mob.Tick matches 80 run data remove storage asset:context this.TargetID + execute if score @s General.Mob.Tick matches 80 run function asset:mob/1004.tultaria/tick/base_move/reset diff --git a/Asset/data/asset/functions/mob/1004.tultaria/tick/skill/thunder/aiming_laser/tick.mcfunction b/Asset/data/asset/functions/mob/1004.tultaria/tick/skill/thunder/aiming_laser/tick.mcfunction index f6559f05f5..2eecf9bffd 100644 --- a/Asset/data/asset/functions/mob/1004.tultaria/tick/skill/thunder/aiming_laser/tick.mcfunction +++ b/Asset/data/asset/functions/mob/1004.tultaria/tick/skill/thunder/aiming_laser/tick.mcfunction @@ -14,9 +14,10 @@ execute if score @s General.Mob.Tick matches 40 unless score @s RW.LoopCount matches 1.. as @e[type=item_display,tag=RW.ModelRoot.Target,distance=..8,sort=nearest,limit=1] run function animated_java:tultaria/animations/attack_magic_3_right_loop/tween {to_frame:0,duration:5} # 射撃 - # 偏差 + # 偏差:ただしHard以下だと普通に狙ってくる # マーカー設置 - execute if score @s General.Mob.Tick matches 20 run function asset:mob/1004.tultaria/tick/skill/thunder/aiming_laser/aim/ + execute if predicate api:global_vars/difficulty/max/normal if score @s General.Mob.Tick matches 20 at @p[gamemode=!spectator,distance=..128] run summon marker ~ ~1.7 ~ {Tags:["RW.Marker.Aim"]} + execute if predicate api:global_vars/difficulty/min/hard if score @s General.Mob.Tick matches 20 run function asset:mob/1004.tultaria/tick/skill/thunder/aiming_laser/aim/ execute if score @s General.Mob.Tick matches 20 anchored eyes facing entity @e[type=marker,tag=RW.Marker.Aim,sort=nearest,limit=1] eyes run tp @s ~ ~ ~ ~ ~ execute if score @s General.Mob.Tick matches 20 run kill @e[type=marker,tag=RW.Marker.Aim,sort=nearest,limit=1] # 警告 diff --git a/Asset/data/asset/functions/mob/1004.tultaria/tick/skill/thunder/lightning_stab/tick.mcfunction b/Asset/data/asset/functions/mob/1004.tultaria/tick/skill/thunder/lightning_stab/tick.mcfunction index 34d3135a66..55fb96dad6 100644 --- a/Asset/data/asset/functions/mob/1004.tultaria/tick/skill/thunder/lightning_stab/tick.mcfunction +++ b/Asset/data/asset/functions/mob/1004.tultaria/tick/skill/thunder/lightning_stab/tick.mcfunction @@ -18,8 +18,9 @@ # 突き開始 execute if score @s[scores={RW.Phase=1..2}] General.Mob.Tick matches 20 run function asset:mob/1004.tultaria/tick/skill/thunder/lightning_stab/active - # 突き部分のダメージ - execute if score @s[scores={RW.Phase=1..2}] General.Mob.Tick matches 21 positioned ^ ^ ^1 if entity @a[tag=!PlayerShouldInvulnerable,distance=..2] run function asset:mob/1004.tultaria/tick/skill/thunder/lightning_stab/stab/damage +# 突き部分のダメージ + execute if score @s[scores={RW.Phase=1..2}] General.Mob.Tick matches 21 positioned ^ ^ ^1 if entity @a[tag=!PlayerShouldInvulnerable,distance=..2] run function asset:mob/1004.tultaria/tick/skill/thunder/lightning_stab/stab/damage + # ハイパー突き execute if score @s[scores={RW.Phase=3}] General.Mob.Tick matches 20 run function asset:mob/1004.tultaria/tick/skill/thunder/lightning_stab/hyper_stab/ diff --git a/Asset/data/asset/functions/mob/1004.tultaria/tick/skill/transition/phase_1_to_2/tick/attack.mcfunction b/Asset/data/asset/functions/mob/1004.tultaria/tick/skill/transition/phase_1_to_2/tick/attack.mcfunction index bef9ff54e7..175efb7965 100644 --- a/Asset/data/asset/functions/mob/1004.tultaria/tick/skill/transition/phase_1_to_2/tick/attack.mcfunction +++ b/Asset/data/asset/functions/mob/1004.tultaria/tick/skill/transition/phase_1_to_2/tick/attack.mcfunction @@ -12,62 +12,18 @@ execute if score @s General.Mob.Tick matches 120 at @r[gamemode=!spectator,distance=..64] at @e[type=item_display,scores={ObjectID=2026},distance=..10,sort=random,limit=5] run function asset:mob/1004.tultaria/tick/skill/platform_attack/red # ライン攻撃その1 - # 1 - execute if score @s General.Mob.Tick matches 150 at @e[type=item_display,scores={ObjectID=2026,2026.ID=1},limit=1] run function asset:mob/1004.tultaria/tick/skill/platform_attack/red - execute if score @s General.Mob.Tick matches 150 at @e[type=item_display,scores={ObjectID=2026,2026.ID=2},limit=1] run function asset:mob/1004.tultaria/tick/skill/platform_attack/red - execute if score @s General.Mob.Tick matches 150 at @e[type=item_display,scores={ObjectID=2026,2026.ID=3},limit=1] run function asset:mob/1004.tultaria/tick/skill/platform_attack/red - execute if score @s General.Mob.Tick matches 150 at @e[type=item_display,scores={ObjectID=2026,2026.ID=4},limit=1] run function asset:mob/1004.tultaria/tick/skill/platform_attack/red - execute if score @s General.Mob.Tick matches 150 at @e[type=item_display,scores={ObjectID=2026,2026.ID=5},limit=1] run function asset:mob/1004.tultaria/tick/skill/platform_attack/red - execute if score @s General.Mob.Tick matches 150 at @e[type=item_display,scores={ObjectID=2026,2026.ID=6},limit=1] run function asset:mob/1004.tultaria/tick/skill/platform_attack/red - execute if score @s General.Mob.Tick matches 150 at @e[type=item_display,scores={ObjectID=2026,2026.ID=7},limit=1] run function asset:mob/1004.tultaria/tick/skill/platform_attack/red - # 2 - execute if score @s General.Mob.Tick matches 160 at @e[type=item_display,scores={ObjectID=2026,2026.ID=8},limit=1] run function asset:mob/1004.tultaria/tick/skill/platform_attack/red - execute if score @s General.Mob.Tick matches 160 at @e[type=item_display,scores={ObjectID=2026,2026.ID=9},limit=1] run function asset:mob/1004.tultaria/tick/skill/platform_attack/red - execute if score @s General.Mob.Tick matches 160 at @e[type=item_display,scores={ObjectID=2026,2026.ID=10},limit=1] run function asset:mob/1004.tultaria/tick/skill/platform_attack/red - execute if score @s General.Mob.Tick matches 160 at @e[type=item_display,scores={ObjectID=2026,2026.ID=11},limit=1] run function asset:mob/1004.tultaria/tick/skill/platform_attack/red - execute if score @s General.Mob.Tick matches 160 at @e[type=item_display,scores={ObjectID=2026,2026.ID=12},limit=1] run function asset:mob/1004.tultaria/tick/skill/platform_attack/red - execute if score @s General.Mob.Tick matches 160 at @e[type=item_display,scores={ObjectID=2026,2026.ID=13},limit=1] run function asset:mob/1004.tultaria/tick/skill/platform_attack/red - execute if score @s General.Mob.Tick matches 160 at @e[type=item_display,scores={ObjectID=2026,2026.ID=14},limit=1] run function asset:mob/1004.tultaria/tick/skill/platform_attack/red - # 3 - execute if score @s General.Mob.Tick matches 170 at @e[type=item_display,scores={ObjectID=2026,2026.ID=15},limit=1] run function asset:mob/1004.tultaria/tick/skill/platform_attack/red - execute if score @s General.Mob.Tick matches 170 at @e[type=item_display,scores={ObjectID=2026,2026.ID=16},limit=1] run function asset:mob/1004.tultaria/tick/skill/platform_attack/red - execute if score @s General.Mob.Tick matches 170 at @e[type=item_display,scores={ObjectID=2026,2026.ID=17},limit=1] run function asset:mob/1004.tultaria/tick/skill/platform_attack/red - execute if score @s General.Mob.Tick matches 170 at @e[type=item_display,scores={ObjectID=2026,2026.ID=18},limit=1] run function asset:mob/1004.tultaria/tick/skill/platform_attack/red - execute if score @s General.Mob.Tick matches 170 at @e[type=item_display,scores={ObjectID=2026,2026.ID=19},limit=1] run function asset:mob/1004.tultaria/tick/skill/platform_attack/red - execute if score @s General.Mob.Tick matches 170 at @e[type=item_display,scores={ObjectID=2026,2026.ID=20},limit=1] run function asset:mob/1004.tultaria/tick/skill/platform_attack/red - execute if score @s General.Mob.Tick matches 170 at @e[type=item_display,scores={ObjectID=2026,2026.ID=21},limit=1] run function asset:mob/1004.tultaria/tick/skill/platform_attack/red - # 4 - execute if score @s General.Mob.Tick matches 180 at @e[type=item_display,scores={ObjectID=2026,2026.ID=22},limit=1] run function asset:mob/1004.tultaria/tick/skill/platform_attack/red - execute if score @s General.Mob.Tick matches 180 at @e[type=item_display,scores={ObjectID=2026,2026.ID=23},limit=1] run function asset:mob/1004.tultaria/tick/skill/platform_attack/red - execute if score @s General.Mob.Tick matches 180 at @e[type=item_display,scores={ObjectID=2026,2026.ID=24},limit=1] run function asset:mob/1004.tultaria/tick/skill/platform_attack/red - execute if score @s General.Mob.Tick matches 180 at @e[type=item_display,scores={ObjectID=2026,2026.ID=25},limit=1] run function asset:mob/1004.tultaria/tick/skill/platform_attack/red - execute if score @s General.Mob.Tick matches 180 at @e[type=item_display,scores={ObjectID=2026,2026.ID=26},limit=1] run function asset:mob/1004.tultaria/tick/skill/platform_attack/red - execute if score @s General.Mob.Tick matches 180 at @e[type=item_display,scores={ObjectID=2026,2026.ID=27},limit=1] run function asset:mob/1004.tultaria/tick/skill/platform_attack/red - execute if score @s General.Mob.Tick matches 180 at @e[type=item_display,scores={ObjectID=2026,2026.ID=28},limit=1] run function asset:mob/1004.tultaria/tick/skill/platform_attack/red - # 5 - execute if score @s General.Mob.Tick matches 190 at @e[type=item_display,scores={ObjectID=2026,2026.ID=29},limit=1] run function asset:mob/1004.tultaria/tick/skill/platform_attack/red - execute if score @s General.Mob.Tick matches 190 at @e[type=item_display,scores={ObjectID=2026,2026.ID=30},limit=1] run function asset:mob/1004.tultaria/tick/skill/platform_attack/red - execute if score @s General.Mob.Tick matches 190 at @e[type=item_display,scores={ObjectID=2026,2026.ID=31},limit=1] run function asset:mob/1004.tultaria/tick/skill/platform_attack/red - execute if score @s General.Mob.Tick matches 190 at @e[type=item_display,scores={ObjectID=2026,2026.ID=32},limit=1] run function asset:mob/1004.tultaria/tick/skill/platform_attack/red - execute if score @s General.Mob.Tick matches 190 at @e[type=item_display,scores={ObjectID=2026,2026.ID=33},limit=1] run function asset:mob/1004.tultaria/tick/skill/platform_attack/red - execute if score @s General.Mob.Tick matches 190 at @e[type=item_display,scores={ObjectID=2026,2026.ID=34},limit=1] run function asset:mob/1004.tultaria/tick/skill/platform_attack/red - execute if score @s General.Mob.Tick matches 190 at @e[type=item_display,scores={ObjectID=2026,2026.ID=35},limit=1] run function asset:mob/1004.tultaria/tick/skill/platform_attack/red - # 6 - execute if score @s General.Mob.Tick matches 200 at @e[type=item_display,scores={ObjectID=2026,2026.ID=36},limit=1] run function asset:mob/1004.tultaria/tick/skill/platform_attack/red - execute if score @s General.Mob.Tick matches 200 at @e[type=item_display,scores={ObjectID=2026,2026.ID=37},limit=1] run function asset:mob/1004.tultaria/tick/skill/platform_attack/red - execute if score @s General.Mob.Tick matches 200 at @e[type=item_display,scores={ObjectID=2026,2026.ID=38},limit=1] run function asset:mob/1004.tultaria/tick/skill/platform_attack/red - execute if score @s General.Mob.Tick matches 200 at @e[type=item_display,scores={ObjectID=2026,2026.ID=39},limit=1] run function asset:mob/1004.tultaria/tick/skill/platform_attack/red - execute if score @s General.Mob.Tick matches 200 at @e[type=item_display,scores={ObjectID=2026,2026.ID=40},limit=1] run function asset:mob/1004.tultaria/tick/skill/platform_attack/red - execute if score @s General.Mob.Tick matches 200 at @e[type=item_display,scores={ObjectID=2026,2026.ID=41},limit=1] run function asset:mob/1004.tultaria/tick/skill/platform_attack/red - execute if score @s General.Mob.Tick matches 200 at @e[type=item_display,scores={ObjectID=2026,2026.ID=42},limit=1] run function asset:mob/1004.tultaria/tick/skill/platform_attack/red - # 7 - execute if score @s General.Mob.Tick matches 210 at @e[type=item_display,scores={ObjectID=2026,2026.ID=43},limit=1] run function asset:mob/1004.tultaria/tick/skill/platform_attack/red - execute if score @s General.Mob.Tick matches 210 at @e[type=item_display,scores={ObjectID=2026,2026.ID=44},limit=1] run function asset:mob/1004.tultaria/tick/skill/platform_attack/red - execute if score @s General.Mob.Tick matches 210 at @e[type=item_display,scores={ObjectID=2026,2026.ID=45},limit=1] run function asset:mob/1004.tultaria/tick/skill/platform_attack/red - execute if score @s General.Mob.Tick matches 210 at @e[type=item_display,scores={ObjectID=2026,2026.ID=46},limit=1] run function asset:mob/1004.tultaria/tick/skill/platform_attack/red - execute if score @s General.Mob.Tick matches 210 at @e[type=item_display,scores={ObjectID=2026,2026.ID=47},limit=1] run function asset:mob/1004.tultaria/tick/skill/platform_attack/red - execute if score @s General.Mob.Tick matches 210 at @e[type=item_display,scores={ObjectID=2026,2026.ID=48},limit=1] run function asset:mob/1004.tultaria/tick/skill/platform_attack/red - execute if score @s General.Mob.Tick matches 210 at @e[type=item_display,scores={ObjectID=2026,2026.ID=49},limit=1] run function asset:mob/1004.tultaria/tick/skill/platform_attack/red + # 移動 + execute if score @s General.Mob.Tick matches 120 run function asset:mob/1004.tultaria/tick/skill/transition/phase_1_to_2/tick/line_attack/start + # 攻撃開始前に真ん中を向く + execute if score @s General.Mob.Tick matches 150 facing entity @e[type=marker,tag=RW.Marker.SpawnPoint,distance=..128,sort=nearest,limit=1] feet run tp @s ~ ~ ~ ~ 0 + # 攻撃 + execute if score @s General.Mob.Tick matches 150 positioned ^ ^ ^5 run function asset:mob/1004.tultaria/tick/skill/transition/phase_1_to_2/tick/line_attack/summon + execute if score @s General.Mob.Tick matches 160 positioned ^ ^ ^10 run function asset:mob/1004.tultaria/tick/skill/transition/phase_1_to_2/tick/line_attack/summon + execute if score @s General.Mob.Tick matches 170 positioned ^ ^ ^15 run function asset:mob/1004.tultaria/tick/skill/transition/phase_1_to_2/tick/line_attack/summon + execute if score @s General.Mob.Tick matches 180 positioned ^ ^ ^20 run function asset:mob/1004.tultaria/tick/skill/transition/phase_1_to_2/tick/line_attack/summon + execute if score @s General.Mob.Tick matches 190 positioned ^ ^ ^25 run function asset:mob/1004.tultaria/tick/skill/transition/phase_1_to_2/tick/line_attack/summon + execute if score @s General.Mob.Tick matches 200 positioned ^ ^ ^30 run function asset:mob/1004.tultaria/tick/skill/transition/phase_1_to_2/tick/line_attack/summon + execute if score @s General.Mob.Tick matches 210 positioned ^ ^ ^35 run function asset:mob/1004.tultaria/tick/skill/transition/phase_1_to_2/tick/line_attack/summon # 足場をランダムに5箇所選択 execute if score @s General.Mob.Tick matches 240 at @r[gamemode=!spectator,distance=..64] at @e[type=item_display,scores={ObjectID=2026},distance=..10,sort=random,limit=5] run function asset:mob/1004.tultaria/tick/skill/platform_attack/red @@ -77,62 +33,18 @@ execute if score @s General.Mob.Tick matches 360 at @r[gamemode=!spectator,distance=..64] at @e[type=item_display,scores={ObjectID=2026},distance=..10,sort=random,limit=5] run function asset:mob/1004.tultaria/tick/skill/platform_attack/red # ライン攻撃その2 - # 1 - execute if score @s General.Mob.Tick matches 390 at @e[type=item_display,scores={ObjectID=2026,2026.ID=7},limit=1] run function asset:mob/1004.tultaria/tick/skill/platform_attack/red - execute if score @s General.Mob.Tick matches 390 at @e[type=item_display,scores={ObjectID=2026,2026.ID=14},limit=1] run function asset:mob/1004.tultaria/tick/skill/platform_attack/red - execute if score @s General.Mob.Tick matches 390 at @e[type=item_display,scores={ObjectID=2026,2026.ID=21},limit=1] run function asset:mob/1004.tultaria/tick/skill/platform_attack/red - execute if score @s General.Mob.Tick matches 390 at @e[type=item_display,scores={ObjectID=2026,2026.ID=28},limit=1] run function asset:mob/1004.tultaria/tick/skill/platform_attack/red - execute if score @s General.Mob.Tick matches 390 at @e[type=item_display,scores={ObjectID=2026,2026.ID=35},limit=1] run function asset:mob/1004.tultaria/tick/skill/platform_attack/red - execute if score @s General.Mob.Tick matches 390 at @e[type=item_display,scores={ObjectID=2026,2026.ID=42},limit=1] run function asset:mob/1004.tultaria/tick/skill/platform_attack/red - execute if score @s General.Mob.Tick matches 390 at @e[type=item_display,scores={ObjectID=2026,2026.ID=49},limit=1] run function asset:mob/1004.tultaria/tick/skill/platform_attack/red - # 2 - execute if score @s General.Mob.Tick matches 400 at @e[type=item_display,scores={ObjectID=2026,2026.ID=6},limit=1] run function asset:mob/1004.tultaria/tick/skill/platform_attack/red - execute if score @s General.Mob.Tick matches 400 at @e[type=item_display,scores={ObjectID=2026,2026.ID=13},limit=1] run function asset:mob/1004.tultaria/tick/skill/platform_attack/red - execute if score @s General.Mob.Tick matches 400 at @e[type=item_display,scores={ObjectID=2026,2026.ID=20},limit=1] run function asset:mob/1004.tultaria/tick/skill/platform_attack/red - execute if score @s General.Mob.Tick matches 400 at @e[type=item_display,scores={ObjectID=2026,2026.ID=27},limit=1] run function asset:mob/1004.tultaria/tick/skill/platform_attack/red - execute if score @s General.Mob.Tick matches 400 at @e[type=item_display,scores={ObjectID=2026,2026.ID=34},limit=1] run function asset:mob/1004.tultaria/tick/skill/platform_attack/red - execute if score @s General.Mob.Tick matches 400 at @e[type=item_display,scores={ObjectID=2026,2026.ID=41},limit=1] run function asset:mob/1004.tultaria/tick/skill/platform_attack/red - execute if score @s General.Mob.Tick matches 400 at @e[type=item_display,scores={ObjectID=2026,2026.ID=48},limit=1] run function asset:mob/1004.tultaria/tick/skill/platform_attack/red - # 3 - execute if score @s General.Mob.Tick matches 410 at @e[type=item_display,scores={ObjectID=2026,2026.ID=5},limit=1] run function asset:mob/1004.tultaria/tick/skill/platform_attack/red - execute if score @s General.Mob.Tick matches 410 at @e[type=item_display,scores={ObjectID=2026,2026.ID=12},limit=1] run function asset:mob/1004.tultaria/tick/skill/platform_attack/red - execute if score @s General.Mob.Tick matches 410 at @e[type=item_display,scores={ObjectID=2026,2026.ID=19},limit=1] run function asset:mob/1004.tultaria/tick/skill/platform_attack/red - execute if score @s General.Mob.Tick matches 410 at @e[type=item_display,scores={ObjectID=2026,2026.ID=26},limit=1] run function asset:mob/1004.tultaria/tick/skill/platform_attack/red - execute if score @s General.Mob.Tick matches 410 at @e[type=item_display,scores={ObjectID=2026,2026.ID=33},limit=1] run function asset:mob/1004.tultaria/tick/skill/platform_attack/red - execute if score @s General.Mob.Tick matches 410 at @e[type=item_display,scores={ObjectID=2026,2026.ID=40},limit=1] run function asset:mob/1004.tultaria/tick/skill/platform_attack/red - execute if score @s General.Mob.Tick matches 410 at @e[type=item_display,scores={ObjectID=2026,2026.ID=47},limit=1] run function asset:mob/1004.tultaria/tick/skill/platform_attack/red - # 4 - execute if score @s General.Mob.Tick matches 420 at @e[type=item_display,scores={ObjectID=2026,2026.ID=4},limit=1] run function asset:mob/1004.tultaria/tick/skill/platform_attack/red - execute if score @s General.Mob.Tick matches 420 at @e[type=item_display,scores={ObjectID=2026,2026.ID=11},limit=1] run function asset:mob/1004.tultaria/tick/skill/platform_attack/red - execute if score @s General.Mob.Tick matches 420 at @e[type=item_display,scores={ObjectID=2026,2026.ID=18},limit=1] run function asset:mob/1004.tultaria/tick/skill/platform_attack/red - execute if score @s General.Mob.Tick matches 420 at @e[type=item_display,scores={ObjectID=2026,2026.ID=25},limit=1] run function asset:mob/1004.tultaria/tick/skill/platform_attack/red - execute if score @s General.Mob.Tick matches 420 at @e[type=item_display,scores={ObjectID=2026,2026.ID=32},limit=1] run function asset:mob/1004.tultaria/tick/skill/platform_attack/red - execute if score @s General.Mob.Tick matches 420 at @e[type=item_display,scores={ObjectID=2026,2026.ID=39},limit=1] run function asset:mob/1004.tultaria/tick/skill/platform_attack/red - execute if score @s General.Mob.Tick matches 420 at @e[type=item_display,scores={ObjectID=2026,2026.ID=46},limit=1] run function asset:mob/1004.tultaria/tick/skill/platform_attack/red - # 5 - execute if score @s General.Mob.Tick matches 430 at @e[type=item_display,scores={ObjectID=2026,2026.ID=3},limit=1] run function asset:mob/1004.tultaria/tick/skill/platform_attack/red - execute if score @s General.Mob.Tick matches 430 at @e[type=item_display,scores={ObjectID=2026,2026.ID=10},limit=1] run function asset:mob/1004.tultaria/tick/skill/platform_attack/red - execute if score @s General.Mob.Tick matches 430 at @e[type=item_display,scores={ObjectID=2026,2026.ID=17},limit=1] run function asset:mob/1004.tultaria/tick/skill/platform_attack/red - execute if score @s General.Mob.Tick matches 430 at @e[type=item_display,scores={ObjectID=2026,2026.ID=24},limit=1] run function asset:mob/1004.tultaria/tick/skill/platform_attack/red - execute if score @s General.Mob.Tick matches 430 at @e[type=item_display,scores={ObjectID=2026,2026.ID=31},limit=1] run function asset:mob/1004.tultaria/tick/skill/platform_attack/red - execute if score @s General.Mob.Tick matches 430 at @e[type=item_display,scores={ObjectID=2026,2026.ID=38},limit=1] run function asset:mob/1004.tultaria/tick/skill/platform_attack/red - execute if score @s General.Mob.Tick matches 430 at @e[type=item_display,scores={ObjectID=2026,2026.ID=45},limit=1] run function asset:mob/1004.tultaria/tick/skill/platform_attack/red - # 6 - execute if score @s General.Mob.Tick matches 440 at @e[type=item_display,scores={ObjectID=2026,2026.ID=2},limit=1] run function asset:mob/1004.tultaria/tick/skill/platform_attack/red - execute if score @s General.Mob.Tick matches 440 at @e[type=item_display,scores={ObjectID=2026,2026.ID=9},limit=1] run function asset:mob/1004.tultaria/tick/skill/platform_attack/red - execute if score @s General.Mob.Tick matches 440 at @e[type=item_display,scores={ObjectID=2026,2026.ID=16},limit=1] run function asset:mob/1004.tultaria/tick/skill/platform_attack/red - execute if score @s General.Mob.Tick matches 440 at @e[type=item_display,scores={ObjectID=2026,2026.ID=23},limit=1] run function asset:mob/1004.tultaria/tick/skill/platform_attack/red - execute if score @s General.Mob.Tick matches 440 at @e[type=item_display,scores={ObjectID=2026,2026.ID=30},limit=1] run function asset:mob/1004.tultaria/tick/skill/platform_attack/red - execute if score @s General.Mob.Tick matches 440 at @e[type=item_display,scores={ObjectID=2026,2026.ID=37},limit=1] run function asset:mob/1004.tultaria/tick/skill/platform_attack/red - execute if score @s General.Mob.Tick matches 440 at @e[type=item_display,scores={ObjectID=2026,2026.ID=44},limit=1] run function asset:mob/1004.tultaria/tick/skill/platform_attack/red - # 7 - execute if score @s General.Mob.Tick matches 450 at @e[type=item_display,scores={ObjectID=2026,2026.ID=1},limit=1] run function asset:mob/1004.tultaria/tick/skill/platform_attack/red - execute if score @s General.Mob.Tick matches 450 at @e[type=item_display,scores={ObjectID=2026,2026.ID=8},limit=1] run function asset:mob/1004.tultaria/tick/skill/platform_attack/red - execute if score @s General.Mob.Tick matches 450 at @e[type=item_display,scores={ObjectID=2026,2026.ID=15},limit=1] run function asset:mob/1004.tultaria/tick/skill/platform_attack/red - execute if score @s General.Mob.Tick matches 450 at @e[type=item_display,scores={ObjectID=2026,2026.ID=22},limit=1] run function asset:mob/1004.tultaria/tick/skill/platform_attack/red - execute if score @s General.Mob.Tick matches 450 at @e[type=item_display,scores={ObjectID=2026,2026.ID=29},limit=1] run function asset:mob/1004.tultaria/tick/skill/platform_attack/red - execute if score @s General.Mob.Tick matches 450 at @e[type=item_display,scores={ObjectID=2026,2026.ID=36},limit=1] run function asset:mob/1004.tultaria/tick/skill/platform_attack/red - execute if score @s General.Mob.Tick matches 450 at @e[type=item_display,scores={ObjectID=2026,2026.ID=43},limit=1] run function asset:mob/1004.tultaria/tick/skill/platform_attack/red + # 移動 + execute if score @s General.Mob.Tick matches 360 run function asset:mob/1004.tultaria/tick/skill/transition/phase_1_to_2/tick/line_attack/start + # 攻撃開始前に真ん中を向く + execute if score @s General.Mob.Tick matches 390 facing entity @e[type=marker,tag=RW.Marker.SpawnPoint,distance=..128,sort=nearest,limit=1] feet run tp @s ~ ~ ~ ~ 0 + # 攻撃 + execute if score @s General.Mob.Tick matches 390 positioned ^ ^ ^5 run function asset:mob/1004.tultaria/tick/skill/transition/phase_1_to_2/tick/line_attack/summon + execute if score @s General.Mob.Tick matches 400 positioned ^ ^ ^10 run function asset:mob/1004.tultaria/tick/skill/transition/phase_1_to_2/tick/line_attack/summon + execute if score @s General.Mob.Tick matches 410 positioned ^ ^ ^15 run function asset:mob/1004.tultaria/tick/skill/transition/phase_1_to_2/tick/line_attack/summon + execute if score @s General.Mob.Tick matches 420 positioned ^ ^ ^20 run function asset:mob/1004.tultaria/tick/skill/transition/phase_1_to_2/tick/line_attack/summon + execute if score @s General.Mob.Tick matches 430 positioned ^ ^ ^25 run function asset:mob/1004.tultaria/tick/skill/transition/phase_1_to_2/tick/line_attack/summon + execute if score @s General.Mob.Tick matches 440 positioned ^ ^ ^30 run function asset:mob/1004.tultaria/tick/skill/transition/phase_1_to_2/tick/line_attack/summon + execute if score @s General.Mob.Tick matches 450 positioned ^ ^ ^35 run function asset:mob/1004.tultaria/tick/skill/transition/phase_1_to_2/tick/line_attack/summon # TODO: デバッグ用につき後で消すこと # execute if score @s General.Mob.Tick matches 1000.. run scoreboard players set @s General.Mob.Tick -10 diff --git a/Asset/data/asset/functions/mob/1004.tultaria/tick/skill/transition/phase_1_to_2/tick/line_attack/start.mcfunction b/Asset/data/asset/functions/mob/1004.tultaria/tick/skill/transition/phase_1_to_2/tick/line_attack/start.mcfunction new file mode 100644 index 0000000000..bdba6d5861 --- /dev/null +++ b/Asset/data/asset/functions/mob/1004.tultaria/tick/skill/transition/phase_1_to_2/tick/line_attack/start.mcfunction @@ -0,0 +1,33 @@ +#> asset:mob/1004.tultaria/tick/skill/transition/phase_1_to_2/tick/line_attack/start +# +# ライン攻撃出す前の移動 +# +# @within function asset:mob/1004.tultaria/tick/skill/transition/phase_1_to_2/tick/attack + +# TickLock + tag @s add RW.TickLock + +# これをループされると困るのでTickを1増やす + scoreboard players add @s General.Mob.Tick 1 + +# 速度設定 + scoreboard players set @s RW.Speed 8 + +# 残ってたらヤなのでマーカーを消す + kill @e[type=marker,tag=RW.TeleportMarker,distance=..128,sort=nearest,limit=1] + +# 1~4を選択 + execute store result score @s RW.LineAttack run random value 1..4 + #scoreboard players set @s RW.LineAttack 1 + +# 移動先を設置 + execute if score @s RW.LineAttack matches 1 at @e[type=marker,tag=RW.Marker.SpawnPoint,sort=nearest,limit=1] positioned ~20 ~5 ~ run summon marker ~ ~ ~ {Tags:[RW.TeleportMarker,RW.MarkerInit]} + execute if score @s RW.LineAttack matches 2 at @e[type=marker,tag=RW.Marker.SpawnPoint,sort=nearest,limit=1] positioned ~-20 ~5 ~ run summon marker ~ ~ ~ {Tags:[RW.TeleportMarker,RW.MarkerInit]} + execute if score @s RW.LineAttack matches 3 at @e[type=marker,tag=RW.Marker.SpawnPoint,sort=nearest,limit=1] positioned ~ ~5 ~20 run summon marker ~ ~ ~ {Tags:[RW.TeleportMarker,RW.MarkerInit]} + execute if score @s RW.LineAttack matches 4 at @e[type=marker,tag=RW.Marker.SpawnPoint,sort=nearest,limit=1] positioned ~ ~5 ~-20 run summon marker ~ ~ ~ {Tags:[RW.TeleportMarker,RW.MarkerInit]} + +# リセット + scoreboard players reset @s RW.LineAttack + +# 行動中タグ付与 + tag @s add RW.Move diff --git a/Asset/data/asset/functions/mob/1004.tultaria/tick/skill/transition/phase_1_to_2/tick/line_attack/summon.mcfunction b/Asset/data/asset/functions/mob/1004.tultaria/tick/skill/transition/phase_1_to_2/tick/line_attack/summon.mcfunction new file mode 100644 index 0000000000..9ef838632d --- /dev/null +++ b/Asset/data/asset/functions/mob/1004.tultaria/tick/skill/transition/phase_1_to_2/tick/line_attack/summon.mcfunction @@ -0,0 +1,14 @@ +#> asset:mob/1004.tultaria/tick/skill/transition/phase_1_to_2/tick/line_attack/summon +# +# +# +# @within function asset:mob/1004.tultaria/tick/skill/transition/phase_1_to_2/tick/attack + +# ライン攻撃 + execute positioned ^ ^ ^ at @e[type=item_display,scores={ObjectID=2026},distance=..128,sort=nearest,limit=1] run function asset:mob/1004.tultaria/tick/skill/platform_attack/red + execute positioned ^5 ^ ^ at @e[type=item_display,scores={ObjectID=2026},distance=..128,sort=nearest,limit=1] run function asset:mob/1004.tultaria/tick/skill/platform_attack/red + execute positioned ^-5 ^ ^ at @e[type=item_display,scores={ObjectID=2026},distance=..128,sort=nearest,limit=1] run function asset:mob/1004.tultaria/tick/skill/platform_attack/red + execute positioned ^10 ^ ^ at @e[type=item_display,scores={ObjectID=2026},distance=..128,sort=nearest,limit=1] run function asset:mob/1004.tultaria/tick/skill/platform_attack/red + execute positioned ^-10 ^ ^ at @e[type=item_display,scores={ObjectID=2026},distance=..128,sort=nearest,limit=1] run function asset:mob/1004.tultaria/tick/skill/platform_attack/red + execute positioned ^15 ^ ^ at @e[type=item_display,scores={ObjectID=2026},distance=..128,sort=nearest,limit=1] run function asset:mob/1004.tultaria/tick/skill/platform_attack/red + execute positioned ^-15 ^ ^ at @e[type=item_display,scores={ObjectID=2026},distance=..128,sort=nearest,limit=1] run function asset:mob/1004.tultaria/tick/skill/platform_attack/red diff --git a/Asset/data/asset/functions/mob/1004.tultaria/tick/skill/transition/phase_2_to_3/tick/attack/summon_illusion/.mcfunction b/Asset/data/asset/functions/mob/1004.tultaria/tick/skill/transition/phase_2_to_3/tick/attack/summon_illusion/.mcfunction index cfb02969d1..113343398a 100644 --- a/Asset/data/asset/functions/mob/1004.tultaria/tick/skill/transition/phase_2_to_3/tick/attack/summon_illusion/.mcfunction +++ b/Asset/data/asset/functions/mob/1004.tultaria/tick/skill/transition/phase_2_to_3/tick/attack/summon_illusion/.mcfunction @@ -1,9 +1,16 @@ #> asset:mob/1004.tultaria/tick/skill/transition/phase_2_to_3/tick/attack/summon_illusion/ # -# 自分の左右に召喚 +# 自分の左右に召喚、ついでにバフを得る # # @within function asset:mob/1004.tultaria/tick/skill/transition/phase_2_to_3/tick/attack/ -# 召喚 +# 召喚その1 execute facing entity @p[gamemode=!spectator,distance=..128] feet rotated ~ 0 positioned ^5 ^ ^ run function asset:mob/1004.tultaria/tick/skill/transition/phase_2_to_3/tick/attack/summon_illusion/summon - execute facing entity @p[gamemode=!spectator,distance=..128] feet rotated ~ 0 positioned ^-5 ^ ^ run function asset:mob/1004.tultaria/tick/skill/transition/phase_2_to_3/tick/attack/summon_illusion/summon +# 召喚その2: ハード以上でやる + execute if predicate api:global_vars/difficulty/min/normal facing entity @p[gamemode=!spectator,distance=..128] feet rotated ~ 0 positioned ^-5 ^ ^ run function asset:mob/1004.tultaria/tick/skill/transition/phase_2_to_3/tick/attack/summon_illusion/summon + +# エフェクト付与 + data modify storage api: Argument.ID set value 621 + data modify storage api: Argument.Stack set value 1 + function api:entity/mob/effect/give + function api:entity/mob/effect/reset diff --git a/Asset/data/asset/functions/mob/1004.tultaria/tick/skill/water/spin_slash/spin_damage.mcfunction b/Asset/data/asset/functions/mob/1004.tultaria/tick/skill/water/spin_slash/spin_damage.mcfunction index d33eeaa392..df04a7fb9a 100644 --- a/Asset/data/asset/functions/mob/1004.tultaria/tick/skill/water/spin_slash/spin_damage.mcfunction +++ b/Asset/data/asset/functions/mob/1004.tultaria/tick/skill/water/spin_slash/spin_damage.mcfunction @@ -13,6 +13,6 @@ data modify storage api: Argument.ElementType set value "Water" # ダメージ function api:damage/modifier - execute as @p[distance=..3] run function api:damage/ + execute as @a[tag=!PlayerShouldInvulnerable,distance=..3] run function api:damage/ # リセット function api:damage/reset diff --git a/Asset/data/asset/functions/mob/1004.tultaria/tick/skill/water/sword_rain/pattern/1.mcfunction b/Asset/data/asset/functions/mob/1004.tultaria/tick/skill/water/sword_rain/pattern/1.mcfunction index 98cb587930..cfa5a3dfe3 100644 --- a/Asset/data/asset/functions/mob/1004.tultaria/tick/skill/water/sword_rain/pattern/1.mcfunction +++ b/Asset/data/asset/functions/mob/1004.tultaria/tick/skill/water/sword_rain/pattern/1.mcfunction @@ -4,14 +4,14 @@ # # @within function asset:mob/1004.tultaria/tick/skill/water/sword_rain/tick -# 設置 +# 設置: ノーマルモードだとスカスカになる execute if score @s General.Mob.Tick matches 20 positioned ~ ~5 ~ run function asset:mob/1004.tultaria/tick/skill/water/sword_rain/sword/summon - execute if score @s General.Mob.Tick matches 25 positioned ~ ~5 ~5 run function asset:mob/1004.tultaria/tick/skill/water/sword_rain/sword/summon - execute if score @s General.Mob.Tick matches 25 positioned ~ ~5 ~-5 run function asset:mob/1004.tultaria/tick/skill/water/sword_rain/sword/summon + execute if predicate api:global_vars/difficulty/min/normal if score @s General.Mob.Tick matches 25 positioned ~ ~5 ~5 run function asset:mob/1004.tultaria/tick/skill/water/sword_rain/sword/summon + execute if predicate api:global_vars/difficulty/min/normal if score @s General.Mob.Tick matches 25 positioned ~ ~5 ~-5 run function asset:mob/1004.tultaria/tick/skill/water/sword_rain/sword/summon execute if score @s General.Mob.Tick matches 30 positioned ~ ~5 ~10 run function asset:mob/1004.tultaria/tick/skill/water/sword_rain/sword/summon execute if score @s General.Mob.Tick matches 30 positioned ~ ~5 ~-10 run function asset:mob/1004.tultaria/tick/skill/water/sword_rain/sword/summon - execute if score @s General.Mob.Tick matches 35 positioned ~ ~5 ~15 run function asset:mob/1004.tultaria/tick/skill/water/sword_rain/sword/summon - execute if score @s General.Mob.Tick matches 35 positioned ~ ~5 ~-15 run function asset:mob/1004.tultaria/tick/skill/water/sword_rain/sword/summon + execute if predicate api:global_vars/difficulty/min/normal if score @s General.Mob.Tick matches 35 positioned ~ ~5 ~15 run function asset:mob/1004.tultaria/tick/skill/water/sword_rain/sword/summon + execute if predicate api:global_vars/difficulty/min/normal if score @s General.Mob.Tick matches 35 positioned ~ ~5 ~-15 run function asset:mob/1004.tultaria/tick/skill/water/sword_rain/sword/summon # リセット execute if score @s General.Mob.Tick matches 60.. run function asset:mob/1004.tultaria/tick/base_move/reset diff --git a/Asset/data/asset/functions/mob/1004.tultaria/tick/skill/water/sword_rain/pattern/2.mcfunction b/Asset/data/asset/functions/mob/1004.tultaria/tick/skill/water/sword_rain/pattern/2.mcfunction index f9622f7850..3beefc9bc0 100644 --- a/Asset/data/asset/functions/mob/1004.tultaria/tick/skill/water/sword_rain/pattern/2.mcfunction +++ b/Asset/data/asset/functions/mob/1004.tultaria/tick/skill/water/sword_rain/pattern/2.mcfunction @@ -4,14 +4,14 @@ # # @within function asset:mob/1004.tultaria/tick/skill/water/sword_rain/tick -# 設置 +# 設置: ノーマルモードだとスカスカになる execute if score @s General.Mob.Tick matches 20 positioned ~ ~5 ~ run function asset:mob/1004.tultaria/tick/skill/water/sword_rain/sword/summon - execute if score @s General.Mob.Tick matches 25 positioned ~5 ~5 ~ run function asset:mob/1004.tultaria/tick/skill/water/sword_rain/sword/summon - execute if score @s General.Mob.Tick matches 25 positioned ~-5 ~5 ~ run function asset:mob/1004.tultaria/tick/skill/water/sword_rain/sword/summon + execute if predicate api:global_vars/difficulty/min/normal if score @s General.Mob.Tick matches 25 positioned ~5 ~5 ~ run function asset:mob/1004.tultaria/tick/skill/water/sword_rain/sword/summon + execute if predicate api:global_vars/difficulty/min/normal if score @s General.Mob.Tick matches 25 positioned ~-5 ~5 ~ run function asset:mob/1004.tultaria/tick/skill/water/sword_rain/sword/summon execute if score @s General.Mob.Tick matches 30 positioned ~10 ~5 ~ run function asset:mob/1004.tultaria/tick/skill/water/sword_rain/sword/summon execute if score @s General.Mob.Tick matches 30 positioned ~-10 ~5 ~ run function asset:mob/1004.tultaria/tick/skill/water/sword_rain/sword/summon - execute if score @s General.Mob.Tick matches 35 positioned ~15 ~5 ~ run function asset:mob/1004.tultaria/tick/skill/water/sword_rain/sword/summon - execute if score @s General.Mob.Tick matches 35 positioned ~-15 ~5 ~ run function asset:mob/1004.tultaria/tick/skill/water/sword_rain/sword/summon + execute if predicate api:global_vars/difficulty/min/normal if score @s General.Mob.Tick matches 35 positioned ~15 ~5 ~ run function asset:mob/1004.tultaria/tick/skill/water/sword_rain/sword/summon + execute if predicate api:global_vars/difficulty/min/normal if score @s General.Mob.Tick matches 35 positioned ~-15 ~5 ~ run function asset:mob/1004.tultaria/tick/skill/water/sword_rain/sword/summon # リセット execute if score @s General.Mob.Tick matches 60.. run function asset:mob/1004.tultaria/tick/base_move/reset diff --git a/Asset/data/asset/functions/mob/1004.tultaria/tick/skill/water/sword_rain/pattern/3.mcfunction b/Asset/data/asset/functions/mob/1004.tultaria/tick/skill/water/sword_rain/pattern/3.mcfunction index ce4fe31d9a..6ebdeae9cd 100644 --- a/Asset/data/asset/functions/mob/1004.tultaria/tick/skill/water/sword_rain/pattern/3.mcfunction +++ b/Asset/data/asset/functions/mob/1004.tultaria/tick/skill/water/sword_rain/pattern/3.mcfunction @@ -4,14 +4,14 @@ # # @within function asset:mob/1004.tultaria/tick/skill/water/sword_rain/tick -# 拡散設置 +# 拡散設置: 数が難易度で増減 execute if score @s General.Mob.Tick matches 0 at @p[gamemode=!spectator,distance=..64] run function asset:mob/1004.tultaria/tick/skill/water/sword_rain/sword/place_marker execute if score @s General.Mob.Tick matches 5 at @p[gamemode=!spectator,distance=..64] run function asset:mob/1004.tultaria/tick/skill/water/sword_rain/sword/place_marker execute if score @s General.Mob.Tick matches 10 at @p[gamemode=!spectator,distance=..64] run function asset:mob/1004.tultaria/tick/skill/water/sword_rain/sword/place_marker - execute if score @s General.Mob.Tick matches 15 at @p[gamemode=!spectator,distance=..64] run function asset:mob/1004.tultaria/tick/skill/water/sword_rain/sword/place_marker - execute if score @s General.Mob.Tick matches 20 at @p[gamemode=!spectator,distance=..64] run function asset:mob/1004.tultaria/tick/skill/water/sword_rain/sword/place_marker - execute if score @s General.Mob.Tick matches 25 at @p[gamemode=!spectator,distance=..64] run function asset:mob/1004.tultaria/tick/skill/water/sword_rain/sword/place_marker - execute if score @s General.Mob.Tick matches 30 at @p[gamemode=!spectator,distance=..64] run function asset:mob/1004.tultaria/tick/skill/water/sword_rain/sword/place_marker + execute if predicate api:global_vars/difficulty/min/normal if score @s General.Mob.Tick matches 15 at @p[gamemode=!spectator,distance=..64] run function asset:mob/1004.tultaria/tick/skill/water/sword_rain/sword/place_marker + execute if predicate api:global_vars/difficulty/min/normal if score @s General.Mob.Tick matches 20 at @p[gamemode=!spectator,distance=..64] run function asset:mob/1004.tultaria/tick/skill/water/sword_rain/sword/place_marker + execute if predicate api:global_vars/difficulty/min/hard if score @s General.Mob.Tick matches 25 at @p[gamemode=!spectator,distance=..64] run function asset:mob/1004.tultaria/tick/skill/water/sword_rain/sword/place_marker + execute if predicate api:global_vars/difficulty/min/hard if score @s General.Mob.Tick matches 30 at @p[gamemode=!spectator,distance=..64] run function asset:mob/1004.tultaria/tick/skill/water/sword_rain/sword/place_marker # リセット execute if score @s General.Mob.Tick matches 40 run function asset:mob/1004.tultaria/tick/base_move/reset diff --git a/Asset/data/asset/functions/mob/1004.tultaria/tick/skill/water/sword_rain/pattern/4.mcfunction b/Asset/data/asset/functions/mob/1004.tultaria/tick/skill/water/sword_rain/pattern/4.mcfunction index 289a0f3af7..141e4d8fb6 100644 --- a/Asset/data/asset/functions/mob/1004.tultaria/tick/skill/water/sword_rain/pattern/4.mcfunction +++ b/Asset/data/asset/functions/mob/1004.tultaria/tick/skill/water/sword_rain/pattern/4.mcfunction @@ -6,13 +6,13 @@ # 拡散設置 execute if score @s General.Mob.Tick matches 20 rotated ~ 0 positioned ^ ^5 ^13 run function asset:mob/1004.tultaria/tick/skill/water/sword_rain/sword/summon - execute if score @s General.Mob.Tick matches 21 rotated ~45 0 positioned ^ ^5 ^13 run function asset:mob/1004.tultaria/tick/skill/water/sword_rain/sword/summon - execute if score @s General.Mob.Tick matches 22 rotated ~90 0 positioned ^ ^5 ^13 run function asset:mob/1004.tultaria/tick/skill/water/sword_rain/sword/summon - execute if score @s General.Mob.Tick matches 23 rotated ~135 0 positioned ^ ^5 ^13 run function asset:mob/1004.tultaria/tick/skill/water/sword_rain/sword/summon - execute if score @s General.Mob.Tick matches 24 rotated ~180 0 positioned ^ ^5 ^13 run function asset:mob/1004.tultaria/tick/skill/water/sword_rain/sword/summon - execute if score @s General.Mob.Tick matches 25 rotated ~225 0 positioned ^ ^5 ^13 run function asset:mob/1004.tultaria/tick/skill/water/sword_rain/sword/summon - execute if score @s General.Mob.Tick matches 26 rotated ~270 0 positioned ^ ^5 ^13 run function asset:mob/1004.tultaria/tick/skill/water/sword_rain/sword/summon - execute if score @s General.Mob.Tick matches 27 rotated ~315 0 positioned ^ ^5 ^13 run function asset:mob/1004.tultaria/tick/skill/water/sword_rain/sword/summon + execute if score @s General.Mob.Tick matches 25 rotated ~45 0 positioned ^ ^5 ^13 run function asset:mob/1004.tultaria/tick/skill/water/sword_rain/sword/summon + execute if score @s General.Mob.Tick matches 30 rotated ~90 0 positioned ^ ^5 ^13 run function asset:mob/1004.tultaria/tick/skill/water/sword_rain/sword/summon + execute if score @s General.Mob.Tick matches 35 rotated ~135 0 positioned ^ ^5 ^13 run function asset:mob/1004.tultaria/tick/skill/water/sword_rain/sword/summon + execute if score @s General.Mob.Tick matches 40 rotated ~180 0 positioned ^ ^5 ^13 run function asset:mob/1004.tultaria/tick/skill/water/sword_rain/sword/summon + execute if score @s General.Mob.Tick matches 45 rotated ~225 0 positioned ^ ^5 ^13 run function asset:mob/1004.tultaria/tick/skill/water/sword_rain/sword/summon + execute if score @s General.Mob.Tick matches 50 rotated ~270 0 positioned ^ ^5 ^13 run function asset:mob/1004.tultaria/tick/skill/water/sword_rain/sword/summon + execute if score @s General.Mob.Tick matches 55 rotated ~315 0 positioned ^ ^5 ^13 run function asset:mob/1004.tultaria/tick/skill/water/sword_rain/sword/summon # リセット execute if score @s General.Mob.Tick matches 60.. run function asset:mob/1004.tultaria/tick/base_move/reset diff --git a/Asset/data/asset/functions/mob/1004.tultaria/tick/skill/water/sword_rain/windup.mcfunction b/Asset/data/asset/functions/mob/1004.tultaria/tick/skill/water/sword_rain/windup.mcfunction index 45c3bd154a..1bd39a4592 100644 --- a/Asset/data/asset/functions/mob/1004.tultaria/tick/skill/water/sword_rain/windup.mcfunction +++ b/Asset/data/asset/functions/mob/1004.tultaria/tick/skill/water/sword_rain/windup.mcfunction @@ -16,11 +16,15 @@ # 行動をランダムに選択 # フェイズ1 execute if score @s RW.Phase matches 1 store result score $Random Temporary run random value 0..1 - # フェイズ2.. - execute if score @s RW.Phase matches 2.. store result score $Random Temporary run random value 0..2 + # フェイズ2 + execute if score @s RW.Phase matches 2 store result score $Random Temporary run random value 0..2 + # フェイズ3、ハード以下 + execute if predicate api:global_vars/difficulty/max/normal if score @s RW.Phase matches 3 store result score $Random Temporary run random value 0..2 + # フェイズ3かつBlesslessだとスゲー置き方解禁する + execute if predicate api:global_vars/difficulty/min/hard if score @s RW.Phase matches 3 store result score $Random Temporary run random value 0..3 # デバッグ用、実行する技を確定させる -# scoreboard players set $Random Temporary 3 +# scoreboard players set $Random Temporary 0 # タグ付与 # 1 diff --git a/Asset/data/asset/functions/mob/1005.illusion_of_loyalty/register.mcfunction b/Asset/data/asset/functions/mob/1005.illusion_of_loyalty/register.mcfunction index 109d11d3b8..ec177675d7 100644 --- a/Asset/data/asset/functions/mob/1005.illusion_of_loyalty/register.mcfunction +++ b/Asset/data/asset/functions/mob/1005.illusion_of_loyalty/register.mcfunction @@ -11,7 +11,7 @@ # ID (int) data modify storage asset:mob ID set value 1005 # Type (string) Wikiを参照 - data modify storage asset:mob Type set value "Enemy" + data modify storage asset:mob Type set value "Enemy.Boss" # 干渉可能か否か (boolean) data modify storage asset:mob Interferable set value true # 名前 (TextComponentString) (オプション) diff --git a/Asset/data/asset/functions/mob/1005.illusion_of_loyalty/tick/moveset/skill/fire/blazing_slash/.mcfunction b/Asset/data/asset/functions/mob/1005.illusion_of_loyalty/tick/moveset/skill/fire/blazing_slash/.mcfunction index edc99b6cee..a350865adc 100644 --- a/Asset/data/asset/functions/mob/1005.illusion_of_loyalty/tick/moveset/skill/fire/blazing_slash/.mcfunction +++ b/Asset/data/asset/functions/mob/1005.illusion_of_loyalty/tick/moveset/skill/fire/blazing_slash/.mcfunction @@ -14,9 +14,9 @@ execute if score @s General.Mob.Tick matches 15 as @e[type=item_display,tag=RX.ModelRoot,sort=nearest,limit=1] run function animated_java:illusion_of_loyalty/animations/attack_magic_1_right/tween {to_frame:0,duration:1} # 警告 - execute if score @s General.Mob.Tick matches 0 positioned ~ ~-0.5 ~ run function asset:mob/1005.illusion_of_loyalty/tick/moveset/skill/fire/blazing_slash/explosion/alert - execute if score @s General.Mob.Tick matches 10 positioned ^5 ^-0.5 ^ run function asset:mob/1005.illusion_of_loyalty/tick/moveset/skill/fire/blazing_slash/explosion/alert - execute if score @s General.Mob.Tick matches 10 positioned ^-5 ^-0.5 ^ run function asset:mob/1005.illusion_of_loyalty/tick/moveset/skill/fire/blazing_slash/explosion/alert + execute if score @s General.Mob.Tick matches 0 positioned ~ ~-0.3 ~ run function asset:mob/1005.illusion_of_loyalty/tick/moveset/skill/fire/blazing_slash/explosion/alert + execute if score @s General.Mob.Tick matches 10 positioned ^5 ^-0.3 ^ run function asset:mob/1005.illusion_of_loyalty/tick/moveset/skill/fire/blazing_slash/explosion/alert + execute if score @s General.Mob.Tick matches 10 positioned ^-5 ^-0.3 ^ run function asset:mob/1005.illusion_of_loyalty/tick/moveset/skill/fire/blazing_slash/explosion/alert # 斬撃エフェクト execute if score @s General.Mob.Tick matches 20 at @s run function asset:mob/1005.illusion_of_loyalty/tick/moveset/skill/fire/blazing_slash/slash diff --git a/Asset/data/asset/functions/mob/1005.illusion_of_loyalty/tick/moveset/skill/water/homing_shot/.mcfunction b/Asset/data/asset/functions/mob/1005.illusion_of_loyalty/tick/moveset/skill/water/homing_shot/.mcfunction index ec02dff3b2..fc443597c2 100644 --- a/Asset/data/asset/functions/mob/1005.illusion_of_loyalty/tick/moveset/skill/water/homing_shot/.mcfunction +++ b/Asset/data/asset/functions/mob/1005.illusion_of_loyalty/tick/moveset/skill/water/homing_shot/.mcfunction @@ -9,7 +9,7 @@ # モデルをプレイヤーに向ける execute if score @s General.Mob.Tick matches 0 as @e[type=item_display,tag=RX.ModelRoot,sort=nearest,limit=1] facing entity @p[gamemode=!spectator,distance=..128] eyes run tp @s ~ ~ ~ ~ 0 - execute if score @s General.Mob.Tick matches 0 facing entity @p[gamemode=!spectator,distance=..128] eyes run tp @s ~ ~ ~ ~ ~ + execute if score @s General.Mob.Tick matches 0 facing entity @p[gamemode=!spectator,distance=..128] feet run tp @s ~ ~ ~ ~ ~ # 自身のモデルにモーションを再生させる execute if score @s General.Mob.Tick matches 0 as @e[type=item_display,tag=RX.ModelRoot.Target,sort=nearest,limit=1] run function animated_java:illusion_of_loyalty/animations/attack_magic_3_right/tween {to_frame:0,duration:1} diff --git a/Asset/data/asset/functions/mob/1005.illusion_of_loyalty/tick/moveset/skill/water/homing_shot/shot/.mcfunction b/Asset/data/asset/functions/mob/1005.illusion_of_loyalty/tick/moveset/skill/water/homing_shot/shot/.mcfunction index 263bf8d6f7..60619000c8 100644 --- a/Asset/data/asset/functions/mob/1005.illusion_of_loyalty/tick/moveset/skill/water/homing_shot/shot/.mcfunction +++ b/Asset/data/asset/functions/mob/1005.illusion_of_loyalty/tick/moveset/skill/water/homing_shot/shot/.mcfunction @@ -6,26 +6,24 @@ #> 行き先マーカー # @private -#declare tag FacingMarker #declare tag SpreadMarker # 拡散させて実行 # 拡散させるEntityを召喚する - summon marker ~ ~ ~ {Tags:["FacingMarker"]} + summon marker ~ ~ ~ {Tags:["SpreadMarker"]} # ステータス設定 data modify storage lib: Argument.Distance set value 1 - data modify storage lib: Argument.Spread set value 1 + data modify storage lib: Argument.Spread set value 0.5 # 拡散 - execute as @e[type=marker,tag=FacingMarker,limit=1] run function lib:forward_spreader/circle + execute as @e[type=marker,tag=SpreadMarker,limit=1] run function lib:forward_spreader/circle # その位置から実行 function asset:mob/1005.illusion_of_loyalty/tick/moveset/skill/water/homing_shot/shot/summon # リセット - kill @e[type=marker,tag=FacingMarker] + kill @e[type=marker,tag=SpreadMarker] # 演出 - playsound item.trident.riptide_3 hostile @a ~ ~ ~ 1 1.5 - playsound item.trident.riptide_2 hostile @a ~ ~ ~ 1 1.5 - playsound minecraft:entity.glow_squid.ambient hostile @a ~ ~ ~ 1 1 - playsound minecraft:entity.glow_squid.ambient hostile @a ~ ~ ~ 1 1.2 - particle minecraft:explosion ~ ~ ~ 0 0 0 0 0 - particle minecraft:electric_spark ~ ~ ~ 0 0 0 1 50 + playsound item.trident.riptide_3 hostile @a ~ ~ ~ 2 1.5 + playsound item.trident.riptide_2 hostile @a ~ ~ ~ 2 1.5 + playsound minecraft:entity.glow_squid.ambient hostile @a ~ ~ ~ 2 1 + playsound minecraft:entity.glow_squid.ambient hostile @a ~ ~ ~ 2 1.2 + particle minecraft:electric_spark ^ ^ ^1 0 0 0 1 20 diff --git a/Asset/data/asset/functions/mob/1005.illusion_of_loyalty/tick/moveset/skill/water/homing_shot/shot/summon.mcfunction b/Asset/data/asset/functions/mob/1005.illusion_of_loyalty/tick/moveset/skill/water/homing_shot/shot/summon.mcfunction index 6b9b4ddd00..2725237e7d 100644 --- a/Asset/data/asset/functions/mob/1005.illusion_of_loyalty/tick/moveset/skill/water/homing_shot/shot/summon.mcfunction +++ b/Asset/data/asset/functions/mob/1005.illusion_of_loyalty/tick/moveset/skill/water/homing_shot/shot/summon.mcfunction @@ -6,16 +6,12 @@ #> 行き先マーカー # @private -#declare tag FacingMarker #declare tag SpreadMarker # 発射体のステータス設定 data modify storage api: Argument.FieldOverride set value {Speed:1,Range:100,MovePerStep:0.1} execute store result storage api: Argument.FieldOverride.MobUUID int 1 run scoreboard players get @s MobUUID - -# 召喚 - data modify storage api: Argument.ID set value 2044 - execute positioned ~ ~ ~ run function api:object/summon -# リセット - kill @e[type=marker,tag=FacingMarker] +# 拡散させたマーカーのほうに向けて召喚 + data modify storage api: Argument.ID set value 2044 + execute facing entity @e[type=marker,tag=SpreadMarker,distance=..64,sort=nearest,limit=1] feet run function api:object/summon diff --git a/Asset/data/asset/functions/mob/1005.illusion_of_loyalty/tick/moveset/skill/water/sword_spin/.mcfunction b/Asset/data/asset/functions/mob/1005.illusion_of_loyalty/tick/moveset/skill/water/sword_spin/.mcfunction index b2be2362bc..c6e129c3d9 100644 --- a/Asset/data/asset/functions/mob/1005.illusion_of_loyalty/tick/moveset/skill/water/sword_spin/.mcfunction +++ b/Asset/data/asset/functions/mob/1005.illusion_of_loyalty/tick/moveset/skill/water/sword_spin/.mcfunction @@ -23,11 +23,18 @@ execute if score @s General.Mob.Tick matches 70..75 run tp @s ^ ^ ^0.1 execute if score @s General.Mob.Tick matches 75..80 run tp @s ^ ^ ^0.05 +# 剣を開放するアニメ + execute if score @s General.Mob.Tick matches 74 as @e[type=item_display,tag=RX.ModelRoot.Target,sort=nearest,limit=1] run function animated_java:illusion_of_loyalty/animations/attack_magic_1_left/tween {to_frame:0,duration:1} + # 剣を解放 execute if score @s General.Mob.Tick matches 80 run function asset:mob/1005.illusion_of_loyalty/tick/moveset/skill/water/sword_spin/release_swords +# 元の体勢へ + execute if score @s General.Mob.Tick matches 140 as @e[type=item_display,tag=RX.ModelRoot.Target,sort=nearest,limit=1] run function animated_java:illusion_of_loyalty/animations/neutral_air/tween {to_frame:0,duration:10} + # 剣を破壊 execute if score @s General.Mob.Tick matches 160 run kill @e[type=item_display,scores={ObjectID=2053},distance=..64] + # ワープ execute if score @s General.Mob.Tick matches 160 run function asset:mob/1005.illusion_of_loyalty/tick/moveset/teleport/start diff --git a/Asset/data/asset/functions/mob/1005.illusion_of_loyalty/tick/moveset/skill/water/sword_spin/spin_damage.mcfunction b/Asset/data/asset/functions/mob/1005.illusion_of_loyalty/tick/moveset/skill/water/sword_spin/spin_damage.mcfunction index 8e713f4e77..918e309105 100644 --- a/Asset/data/asset/functions/mob/1005.illusion_of_loyalty/tick/moveset/skill/water/sword_spin/spin_damage.mcfunction +++ b/Asset/data/asset/functions/mob/1005.illusion_of_loyalty/tick/moveset/skill/water/sword_spin/spin_damage.mcfunction @@ -13,6 +13,6 @@ data modify storage api: Argument.ElementType set value "Water" # ダメージ function api:damage/modifier - execute as @p[distance=..3] run function api:damage/ + execute as @a[tag=!PlayerShouldInvulnerable,distance=..3] run function api:damage/ # リセット function api:damage/reset diff --git a/Asset/data/asset/functions/mob/1005.illusion_of_loyalty/tick/moveset/teleport/.mcfunction b/Asset/data/asset/functions/mob/1005.illusion_of_loyalty/tick/moveset/teleport/.mcfunction index 5495e0d899..914b20ea50 100644 --- a/Asset/data/asset/functions/mob/1005.illusion_of_loyalty/tick/moveset/teleport/.mcfunction +++ b/Asset/data/asset/functions/mob/1005.illusion_of_loyalty/tick/moveset/teleport/.mcfunction @@ -18,5 +18,8 @@ execute if score @s General.Mob.Tick matches 7.. at @s facing entity @p[gamemode=!spectator,distance=..128] feet run tp @s ~ ~ ~ ~ 0 execute if score @s General.Mob.Tick matches 7.. at @s rotated ~ 0 run tp @e[type=item_display,tag=RX.ModelRoot.Target,sort=nearest,limit=1] ~ ~ ~ ~ ~ +# 元の体勢へ + execute if score @s General.Mob.Tick matches 20 as @e[type=item_display,tag=RX.ModelRoot.Target,sort=nearest,limit=1] run function animated_java:illusion_of_loyalty/animations/neutral_air/tween {to_frame:0,duration:10} + # リセット execute if score @s General.Mob.Tick matches 32 run function asset:mob/1005.illusion_of_loyalty/tick/moveset/reset/ diff --git a/Asset/data/asset/functions/object/2042.lastboss_fireball/detect_hit_entity/.mcfunction b/Asset/data/asset/functions/object/2042.lastboss_fireball/detect_hit_entity/.mcfunction new file mode 100644 index 0000000000..ee3e19c3f1 --- /dev/null +++ b/Asset/data/asset/functions/object/2042.lastboss_fireball/detect_hit_entity/.mcfunction @@ -0,0 +1,7 @@ +#> asset:object/2042.lastboss_fireball/detect_hit_entity/ +# +# 継承先などから実行される処理 +# +# @within asset:object/alias/2042/detect_hit_entity + +execute positioned ~-1 ~-1 ~-1 if entity @a[tag=!PlayerShouldInvulnerable,dx=1,dy=1,dz=1] run data modify storage asset:context IsHitEntity set value true diff --git a/Asset/data/asset/functions/object/2042.lastboss_fireball/hit_entity/.mcfunction b/Asset/data/asset/functions/object/2042.lastboss_fireball/hit_entity/.mcfunction index fc1a764e68..3904353662 100644 --- a/Asset/data/asset/functions/object/2042.lastboss_fireball/hit_entity/.mcfunction +++ b/Asset/data/asset/functions/object/2042.lastboss_fireball/hit_entity/.mcfunction @@ -4,9 +4,14 @@ # # @within asset:object/alias/2042/hit_entity +# 演出 + playsound minecraft:entity.generic.explode neutral @a ~ ~ ~ 1 2 + particle large_smoke ~ ~ ~ 0.2 0.2 0.2 0.1 10 force @a[distance=..32] + particle lava ~ ~ ~ 0.2 0.2 0.2 1 5 force @a[distance=..32] + # 引数の設定 # 与えるダメージ - data modify storage api: Argument.Damage set value 40.0f + data modify storage api: Argument.Damage set value 45.0f # 第一属性 data modify storage api: Argument.AttackType set value "Magic" # 第二属性 @@ -15,7 +20,7 @@ data modify storage api: Argument.MobUUID set from storage asset:context this.MobUUID function api:damage/modifier_manual # ダメージを与える - execute at @s positioned ~-0.5 ~-0.5 ~-0.5 as @p[tag=!PlayerShouldInvulnerable,dx=0] run function api:damage/ + execute at @s positioned ~-1 ~-1 ~-1 as @p[tag=!PlayerShouldInvulnerable,dx=1,dy=1,dz=1] run function api:damage/ # リセット function api:damage/reset diff --git a/Asset/data/asset/functions/object/2042.lastboss_fireball/recursive/.mcfunction b/Asset/data/asset/functions/object/2042.lastboss_fireball/recursive/.mcfunction index 96ec1c51ae..583b13b9e9 100644 --- a/Asset/data/asset/functions/object/2042.lastboss_fireball/recursive/.mcfunction +++ b/Asset/data/asset/functions/object/2042.lastboss_fireball/recursive/.mcfunction @@ -5,6 +5,6 @@ # @within asset:object/alias/2042/recursive # パーティクル - execute if predicate lib:random_pass_per/25 run particle minecraft:flame ^ ^ ^-0.5 0 0 0 0.01 1 - particle minecraft:smoke ^ ^ ^-0.5 0 0 0 0.01 1 -# particle minecraft:dust 1 0.4 0.1 1 ^ ^ ^-0.5 0 0 0 0 1 + execute if predicate lib:random_pass_per/50 run particle minecraft:flame ^ ^ ^-0.5 0.25 0.25 0.25 0.01 3 + particle minecraft:smoke ^ ^ ^-0.5 0.25 0.25 0.25 0.01 3 + particle minecraft:dust 1 0.3 0.0 1.5 ^ ^ ^-0.5 0.25 0.25 0.25 0 2 diff --git a/Asset/data/asset/functions/object/2042.lastboss_fireball/summon/m.mcfunction b/Asset/data/asset/functions/object/2042.lastboss_fireball/summon/m.mcfunction index 7173fbe95b..4e227339b6 100644 --- a/Asset/data/asset/functions/object/2042.lastboss_fireball/summon/m.mcfunction +++ b/Asset/data/asset/functions/object/2042.lastboss_fireball/summon/m.mcfunction @@ -5,4 +5,4 @@ # @within function asset:object/2042.lastboss_fireball/summon/ # 元となるEntityを召喚する - $summon item_display ~ ~ ~ {Rotation:$(Rotation),billboard:"center",teleport_duration:1,Tags:["ObjectInit"],item:{id:"minecraft:leather_horse_armor",Count:1b,tag:{display:{color:16738816},CustomModelData:20375}}} + $summon item_display ~ ~ ~ {Rotation:$(Rotation),billboard:"center",teleport_duration:1,Tags:["ObjectInit"],transformation:{left_rotation:[0f,0f,0f,1f],right_rotation:[0f,0f,0f,1f],translation:[0f,0f,0f],scale:[2.5f,2.5f,2.5f]},item:{id:"minecraft:leather_horse_armor",Count:1b,tag:{display:{color:16738816},CustomModelData:20370}}} diff --git a/Asset/data/asset/functions/object/alias/2042/detect_hit_entity.mcfunction b/Asset/data/asset/functions/object/alias/2042/detect_hit_entity.mcfunction new file mode 100644 index 0000000000..966f2ed802 --- /dev/null +++ b/Asset/data/asset/functions/object/alias/2042/detect_hit_entity.mcfunction @@ -0,0 +1,8 @@ +#> asset:object/alias/2042/detect_hit_entity +# +# メソッド処理のエイリアス +# +# @within asset_manager:object/call_method/run_method.m + +# 元のメソッド処理を呼び出す + function asset:object/2042.lastboss_fireball/detect_hit_entity/ \ No newline at end of file diff --git a/Asset/data/asset/tags/functions/effect/register.json b/Asset/data/asset/tags/functions/effect/register.json index 558a11078e..d3fe65b8d7 100644 --- a/Asset/data/asset/tags/functions/effect/register.json +++ b/Asset/data/asset/tags/functions/effect/register.json @@ -110,4 +110,4 @@ "asset:effect/0007.defense_base_debuff/_/register", "asset:effect/0258.spirit_melody/_/register" ] -} \ No newline at end of file +} diff --git a/Asset/data/asset/tags/functions/effect/remove.json b/Asset/data/asset/tags/functions/effect/remove.json index 4bf44d9663..c2aa553ba4 100644 --- a/Asset/data/asset/tags/functions/effect/remove.json +++ b/Asset/data/asset/tags/functions/effect/remove.json @@ -79,4 +79,4 @@ "asset:effect/0007.defense_base_debuff/_/remove", "asset:effect/0258.spirit_melody/_/remove" ] -} \ No newline at end of file +} diff --git a/Asset/data/asset/tags/functions/effect/tick.json b/Asset/data/asset/tags/functions/effect/tick.json index 567cd11367..2942b6db72 100644 --- a/Asset/data/asset/tags/functions/effect/tick.json +++ b/Asset/data/asset/tags/functions/effect/tick.json @@ -67,4 +67,4 @@ "asset:effect/0279.poison_of_vinderre/_/tick", "asset:effect/0258.spirit_melody/_/tick" ] -} \ No newline at end of file +}