From 8e833b4c969dcc45f42e9f96b601b5f726e8af4d Mon Sep 17 00:00:00 2001 From: mokkkk Date: Sat, 7 Feb 2026 18:02:23 +0900 Subject: [PATCH 01/98] =?UTF-8?q?=E4=BD=9C=E6=88=90=E6=BA=96=E5=82=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../0456.gargo_ex_machina/_index.d.mcfunction | 10 +++++ .../0456.gargo_ex_machina/death/.mcfunction | 5 +++ .../0456.gargo_ex_machina/hurt/.mcfunction | 5 +++ .../0456.gargo_ex_machina/init/.mcfunction | 31 ++++++++++++++++ .../mob/0456.gargo_ex_machina/load.mcfunction | 9 +++++ .../0456.gargo_ex_machina/register.mcfunction | 37 +++++++++++++++++++ .../0456.gargo_ex_machina/remove/.mcfunction | 5 +++ .../0456.gargo_ex_machina/summon/.mcfunction | 8 ++++ .../summon/debug.mcfunction | 10 +++++ .../0456.gargo_ex_machina/tick/.mcfunction | 5 +++ .../functions/mob/alias/456/death.mcfunction | 8 ++++ .../functions/mob/alias/456/hurt.mcfunction | 8 ++++ .../functions/mob/alias/456/init.mcfunction | 8 ++++ .../mob/alias/456/register.mcfunction | 8 ++++ .../functions/mob/alias/456/remove.mcfunction | 8 ++++ .../functions/mob/alias/456/summon.mcfunction | 8 ++++ .../functions/mob/alias/456/tick.mcfunction | 8 ++++ Asset/data/asset/tags/functions/mob/load.json | 3 +- 18 files changed, 183 insertions(+), 1 deletion(-) create mode 100644 Asset/data/asset/functions/mob/0456.gargo_ex_machina/_index.d.mcfunction create mode 100644 Asset/data/asset/functions/mob/0456.gargo_ex_machina/death/.mcfunction create mode 100644 Asset/data/asset/functions/mob/0456.gargo_ex_machina/hurt/.mcfunction create mode 100644 Asset/data/asset/functions/mob/0456.gargo_ex_machina/init/.mcfunction create mode 100644 Asset/data/asset/functions/mob/0456.gargo_ex_machina/load.mcfunction create mode 100644 Asset/data/asset/functions/mob/0456.gargo_ex_machina/register.mcfunction create mode 100644 Asset/data/asset/functions/mob/0456.gargo_ex_machina/remove/.mcfunction create mode 100644 Asset/data/asset/functions/mob/0456.gargo_ex_machina/summon/.mcfunction create mode 100644 Asset/data/asset/functions/mob/0456.gargo_ex_machina/summon/debug.mcfunction create mode 100644 Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/.mcfunction create mode 100644 Asset/data/asset/functions/mob/alias/456/death.mcfunction create mode 100644 Asset/data/asset/functions/mob/alias/456/hurt.mcfunction create mode 100644 Asset/data/asset/functions/mob/alias/456/init.mcfunction create mode 100644 Asset/data/asset/functions/mob/alias/456/register.mcfunction create mode 100644 Asset/data/asset/functions/mob/alias/456/remove.mcfunction create mode 100644 Asset/data/asset/functions/mob/alias/456/summon.mcfunction create mode 100644 Asset/data/asset/functions/mob/alias/456/tick.mcfunction diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/_index.d.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/_index.d.mcfunction new file mode 100644 index 0000000000..5a8d1f7882 --- /dev/null +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/_index.d.mcfunction @@ -0,0 +1,10 @@ +#> asset:mob/0456.gargo_ex_machina/_index.d +# @private + +#> tag +# @within function asset:mob/0456.gargo_ex_machina/** + # - 共通 + #declare tag CO.EntityRoot 自分自身 + #declare tag CO.ModelRoot AJモデルのRootEntity + #declare tag CO.Hitbox 当たり判定 + #declare tag CO.CenterPosition 中心点 diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/death/.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/death/.mcfunction new file mode 100644 index 0000000000..124bfeda3e --- /dev/null +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/death/.mcfunction @@ -0,0 +1,5 @@ +#> asset:mob/0456.gargo_ex_machina/death/ +# +# Mobの死亡時の処理 +# +# @within function asset:mob/alias/456/death diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/hurt/.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/hurt/.mcfunction new file mode 100644 index 0000000000..4d087919b0 --- /dev/null +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/hurt/.mcfunction @@ -0,0 +1,5 @@ +#> asset:mob/0456.gargo_ex_machina/hurt/ +# +# Mobのダメージ時の処理 +# +# @within function asset:mob/alias/456/hurt diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/init/.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/init/.mcfunction new file mode 100644 index 0000000000..a75da76aab --- /dev/null +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/init/.mcfunction @@ -0,0 +1,31 @@ +#> asset:mob/0456.gargo_ex_machina/init/ +# +# Mobのinit時の処理 +# +# @within asset:mob/alias/456/init + +# AJロード + # data modify storage asset:datapack ActivationState set value [{Datapack:"AJ_heiloang",Active:true}] + # function asset:datapack/set_activation_state + +# 継承元の処理実行 + function asset:mob/super.init + +# 独自init処理 + # 登場演出再生 + tag @s add BE.Skill.Start + # 中心点設置 + summon marker ~ ~0.5 ~ {Tags:["BE.CenterPosition"]} + execute as @e[type=marker,tag=BE.CenterPosition] at @s run tp @s ~ ~ ~ 0 0 + # 移動 + execute at @e[type=marker,tag=BE.CenterPosition] run tp @s ^ ^2 ^28 ~180 0 + # NBT設定 + # Aj関連初期化 + function asset:mob/0456.gargo_ex_machina/init/animated_java + # スコア初期化 + # scoreboard players set @s BE.Phase 0 + # 移動 + # execute at @s run tp @s ^ ^ ^ ~ 0 + +# デバッグ + # scoreboard players set @s BE.Phase 2 diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/load.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/load.mcfunction new file mode 100644 index 0000000000..e137d5a21c --- /dev/null +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/load.mcfunction @@ -0,0 +1,9 @@ +#> asset:mob/0456.gargo_ex_machina/load +# +# Mobに利用するスコアボード等の初期化処理 +# +# @within tag/function asset:mob/load + +#> 定義類はここに +# @within function asset:mob/0456.gargo_ex_machina/** + scoreboard objectives add CO.EventTimer dummy diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/register.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/register.mcfunction new file mode 100644 index 0000000000..fd5bc531a3 --- /dev/null +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/register.mcfunction @@ -0,0 +1,37 @@ +#> asset:mob/0456.gargo_ex_machina/register +# +# Mobのデータを指定 +# +# @within function asset:mob/alias/456/register + +# 継承 (int) (オプション) + data modify storage asset:mob Extends append value 2000 + function asset:mob/extends +# 継承されることを前提とした、抽象的なモブであるかどうか(boolean) + data modify storage asset:mob IsAbstract set value false +# ID (int) + data modify storage asset:mob ID set value 456 +# Type (string) Wikiを参照 + data modify storage asset:mob Type set value "Enemy.Boss" +# 干渉可能か否か (boolean) + data modify storage asset:mob Interferable set value false + data modify storage asset:mob IsForwardTarget set value true +# 名前 (TextComponentString) (オプション) + data modify storage asset:mob Name set value '{"text":"セキゾー"}' +# Mobの説明文 (TextComponentString[]) (オプション) + data modify storage asset:mob Lore set value ['{"text":"ほげ"}'] +# 体力 (double) (オプション) + data modify storage asset:mob Health set value 10000 +# 属性倍率 // 1.0fで100% 最低でも25%は軽減されずに入る + # 物理倍率 (float) (オプション) + data modify storage asset:mob Resist.Physical set value 1.0f + # 魔法倍率 (float) (オプション) + data modify storage asset:mob Resist.Magic set value 1.0f + # 火倍率 (float) (オプション) + data modify storage asset:mob Resist.Fire set value 1.0f + # 水倍率 (float) (オプション) + data modify storage asset:mob Resist.Water set value 1.0f + # 雷倍率 (float) (オプション) + data modify storage asset:mob Resist.Thunder set value 1.0f +# フィールド + # data modify storage asset:mob Field.myValue set value diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/remove/.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/remove/.mcfunction new file mode 100644 index 0000000000..3c42d90e79 --- /dev/null +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/remove/.mcfunction @@ -0,0 +1,5 @@ +#> asset:mob/0456.gargo_ex_machina/remove/ +# +# 天使が居なくなる際に実行される処理 +# +# @within asset:mob/alias/456/remove diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/summon/.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/summon/.mcfunction new file mode 100644 index 0000000000..05212a53ce --- /dev/null +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/summon/.mcfunction @@ -0,0 +1,8 @@ +#> asset:mob/0456.gargo_ex_machina/summon/ +# +# Object召喚処理の呼び出し時に実行されるfunction +# +# @within asset:mob/alias/456/summon + +# 元となるEntityを召喚する + summon slime ~ ~ ~{Tags:["MobInit","ProcessCommonTag","AlwaysInvisible","BE.EntityRoot"],Size:7,NoAI:1b,Silent:1b,DeathLootTable:"empty"} diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/summon/debug.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/summon/debug.mcfunction new file mode 100644 index 0000000000..717040d75b --- /dev/null +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/summon/debug.mcfunction @@ -0,0 +1,10 @@ +#> asset:mob/0456.gargo_ex_machina/summon/debug +# +# 動作チェック用の召喚処理 使い終わったら消してもいいかも +# +# @user +# @private + +# 召喚 + data modify storage api: Argument.ID set value 456 + function api:mob/summon \ No newline at end of file diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/.mcfunction new file mode 100644 index 0000000000..9478ac3bb4 --- /dev/null +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/.mcfunction @@ -0,0 +1,5 @@ +#> asset:mob/0456.gargo_ex_machina/tick/ +# +# Mobのtick時の処理 +# +# @within asset:mob/alias/456/tick diff --git a/Asset/data/asset/functions/mob/alias/456/death.mcfunction b/Asset/data/asset/functions/mob/alias/456/death.mcfunction new file mode 100644 index 0000000000..3c88200adb --- /dev/null +++ b/Asset/data/asset/functions/mob/alias/456/death.mcfunction @@ -0,0 +1,8 @@ +#> asset:mob/alias/456/death +# +# Mobの死亡時の処理のエイリアス +# +# @within asset_manager:mob/triggers/death/death.m + +# 本来の処理を呼び出す + function asset:mob/0456.gargo_ex_machina/death/ \ No newline at end of file diff --git a/Asset/data/asset/functions/mob/alias/456/hurt.mcfunction b/Asset/data/asset/functions/mob/alias/456/hurt.mcfunction new file mode 100644 index 0000000000..bb5ea89754 --- /dev/null +++ b/Asset/data/asset/functions/mob/alias/456/hurt.mcfunction @@ -0,0 +1,8 @@ +#> asset:mob/alias/456/hurt +# +# Mobのダメージ時の処理のエイリアス +# +# @within asset_manager:mob/triggers/hurt/hurt.m + +# 本来の処理を呼び出す + function asset:mob/0456.gargo_ex_machina/hurt/ \ No newline at end of file diff --git a/Asset/data/asset/functions/mob/alias/456/init.mcfunction b/Asset/data/asset/functions/mob/alias/456/init.mcfunction new file mode 100644 index 0000000000..4e7a04f0fa --- /dev/null +++ b/Asset/data/asset/functions/mob/alias/456/init.mcfunction @@ -0,0 +1,8 @@ +#> asset:mob/alias/456/init +# +# Init処理のエイリアス +# +# @within asset_manager:mob/triggers/init/init.m + +# 元のInit処理を呼び出す + function asset:mob/0456.gargo_ex_machina/init/ \ No newline at end of file diff --git a/Asset/data/asset/functions/mob/alias/456/register.mcfunction b/Asset/data/asset/functions/mob/alias/456/register.mcfunction new file mode 100644 index 0000000000..a97451dbe1 --- /dev/null +++ b/Asset/data/asset/functions/mob/alias/456/register.mcfunction @@ -0,0 +1,8 @@ +#> asset:mob/alias/456/register +# +# Mobのデータ指定処理のエイリアス +# +# @within asset_manager:mob/triggers/summon/register.m + +# 元の登録処理を呼び出す + function asset:mob/0456.gargo_ex_machina/register \ No newline at end of file diff --git a/Asset/data/asset/functions/mob/alias/456/remove.mcfunction b/Asset/data/asset/functions/mob/alias/456/remove.mcfunction new file mode 100644 index 0000000000..2ea648b435 --- /dev/null +++ b/Asset/data/asset/functions/mob/alias/456/remove.mcfunction @@ -0,0 +1,8 @@ +#> asset:mob/alias/456/remove +# +# Remove処理のエイリアス +# +# @within asset_manager:mob/remove/remove.m + +# 元のInit処理を呼び出す + function asset:mob/0456.gargo_ex_machina/remove/ \ No newline at end of file diff --git a/Asset/data/asset/functions/mob/alias/456/summon.mcfunction b/Asset/data/asset/functions/mob/alias/456/summon.mcfunction new file mode 100644 index 0000000000..fbbc618b68 --- /dev/null +++ b/Asset/data/asset/functions/mob/alias/456/summon.mcfunction @@ -0,0 +1,8 @@ +#> asset:mob/alias/456/summon +# +# Mob召喚処理のエイリアス +# +# @within asset_manager:mob/triggers/summon/summon.m + +# 本来の処理を呼び出す + function asset:mob/0456.gargo_ex_machina/summon/ \ No newline at end of file diff --git a/Asset/data/asset/functions/mob/alias/456/tick.mcfunction b/Asset/data/asset/functions/mob/alias/456/tick.mcfunction new file mode 100644 index 0000000000..4b9d99b155 --- /dev/null +++ b/Asset/data/asset/functions/mob/alias/456/tick.mcfunction @@ -0,0 +1,8 @@ +#> asset:mob/alias/456/tick +# +# Tick時処理のエイリアス +# +# @within asset_manager:mob/triggers/tick/tick.m + +# 元のTick処理を呼び出す + function asset:mob/0456.gargo_ex_machina/tick/ \ No newline at end of file diff --git a/Asset/data/asset/tags/functions/mob/load.json b/Asset/data/asset/tags/functions/mob/load.json index ff2e6e11ec..638bf2c67c 100644 --- a/Asset/data/asset/tags/functions/mob/load.json +++ b/Asset/data/asset/tags/functions/mob/load.json @@ -1,5 +1,6 @@ { "values": [ + "asset:mob/0456.gargo_ex_machina/load", "asset:mob/0437.lawless_iron_doll/load", "asset:mob/0301.karmic/load", "asset:mob/0365.frestchika/load", @@ -57,4 +58,4 @@ "asset:mob/0081.snow_cloud/load", "asset:mob/0139.blast_eye/0.load" ] -} +} \ No newline at end of file From a085fef8e052346feb1ad7d2ab19c1ead5bf5ae7 Mon Sep 17 00:00:00 2001 From: mokkkk Date: Sat, 7 Feb 2026 18:41:18 +0900 Subject: [PATCH 02/98] =?UTF-8?q?=E3=83=A2=E3=83=87=E3=83=AB=E8=A1=A8?= =?UTF-8?q?=E7=A4=BA=E5=87=A6=E7=90=86=E5=AE=9F=E8=A3=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../0456.gargo_ex_machina/_index.d.mcfunction | 6 ++++ .../0456.gargo_ex_machina/death/.mcfunction | 30 +++++++++++++++++++ .../0456.gargo_ex_machina/init/.mcfunction | 16 +++++----- .../init/animated_java.mcfunction | 17 +++++++++++ .../0456.gargo_ex_machina/summon/.mcfunction | 2 +- 5 files changed, 62 insertions(+), 9 deletions(-) create mode 100644 Asset/data/asset/functions/mob/0456.gargo_ex_machina/init/animated_java.mcfunction diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/_index.d.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/_index.d.mcfunction index 5a8d1f7882..c85c29776a 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/_index.d.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/_index.d.mcfunction @@ -8,3 +8,9 @@ #declare tag CO.ModelRoot AJモデルのRootEntity #declare tag CO.Hitbox 当たり判定 #declare tag CO.CenterPosition 中心点 + # - オブジェクト用 + #declare tag CO.Object + # - 自動生成 + #declare function animated_java:gargo_ex_machina/summon + #declare function animated_java:gargo_ex_machina/animations/idle/tween + #declare function animated_java:gargo_ex_machina/remove/all diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/death/.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/death/.mcfunction index 124bfeda3e..25e1ebf2ee 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/death/.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/death/.mcfunction @@ -3,3 +3,33 @@ # Mobの死亡時の処理 # # @within function asset:mob/alias/456/death + +# 継承元の処理実行 + function asset:mob/super.death + +# kill時のparticleが見えないように + tp @s ~ ~-100 ~ + +# 死亡演出 + # title @a[distance=..80] times 1 4 3 + # title @a[distance=..80] title {"text":"\uE010","font":"screen_effect","color":"#E8E8E8"} + # data modify storage api: Argument.ID set value 2174 + # data modify storage api: Argument.FieldOverride.Pos set from entity @e[type=marker,tag=BE.CenterPosition,distance=..160,limit=1] Pos + # function api:object/summon + # data modify storage api: Argument set value {ID:655,Duration:300,Stack:5} + # execute as @a[distance=..160] run function api:entity/mob/effect/give + # function api:entity/mob/effect/reset + +# 中心点消去 + kill @e[type=marker,tag=CO.CenterPosition] + +# 当たり判定消去 + # execute as @e[type=item_display,tag=CO.ModelRoot] run function animated_java:heiloang_aj/as_own_locator_entities {command:'function asset:mob/0410.heiloang/death/kill_hitbox'} + function animated_java:gargo_ex_machina/remove/all + +# その他リセット + # function asset:mob/0456.gargo_ex_machina/tick/util/remove_all_tag + +# オブジェクト消去 + execute as @e[tag=CO.Object,distance=..160] on passengers run kill @s + kill @e[tag=CO.Object,distance=..160] diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/init/.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/init/.mcfunction index a75da76aab..a177122678 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/init/.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/init/.mcfunction @@ -5,7 +5,7 @@ # @within asset:mob/alias/456/init # AJロード - # data modify storage asset:datapack ActivationState set value [{Datapack:"AJ_heiloang",Active:true}] + # data modify storage asset:datapack ActivationState set value [{Datapack:"gargo_ex_machina",Active:true}] # function asset:datapack/set_activation_state # 継承元の処理実行 @@ -13,19 +13,19 @@ # 独自init処理 # 登場演出再生 - tag @s add BE.Skill.Start + # tag @s add CO.Skill.Start # 中心点設置 - summon marker ~ ~0.5 ~ {Tags:["BE.CenterPosition"]} - execute as @e[type=marker,tag=BE.CenterPosition] at @s run tp @s ~ ~ ~ 0 0 - # 移動 - execute at @e[type=marker,tag=BE.CenterPosition] run tp @s ^ ^2 ^28 ~180 0 + summon marker ~ ~0.5 ~ {Tags:["CO.CenterPosition"]} + execute as @e[type=marker,tag=CO.CenterPosition] at @s run tp @s ~ ~ ~ 0 0 # NBT設定 # Aj関連初期化 function asset:mob/0456.gargo_ex_machina/init/animated_java + # じゃまにならないよう移動 + execute at @e[type=marker,tag=CO.CenterPosition] run tp @s ~ ~10 ~ # スコア初期化 - # scoreboard players set @s BE.Phase 0 + # scoreboard players set @s CO.Phase 0 # 移動 # execute at @s run tp @s ^ ^ ^ ~ 0 # デバッグ - # scoreboard players set @s BE.Phase 2 + # scoreboard players set @s CO.Phase 1 diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/init/animated_java.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/init/animated_java.mcfunction new file mode 100644 index 0000000000..0b0ace62b9 --- /dev/null +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/init/animated_java.mcfunction @@ -0,0 +1,17 @@ +#> asset:mob/0456.gargo_ex_machina/init/animated_java +# +# 初期化処理 Aj関連 +# +# @within asset:mob/0456.gargo_ex_machina/init/ + +# AjModelの召喚 + execute at @s run function animated_java:gargo_ex_machina/summon {args:{}} + # AjModelのパーツに以下処理を実行する + execute as @e[type=item_display,tag=CO.ModelRoot] run data merge entity @s {view_range:16f,width:0f,height:0f,teleport_duration:2} + execute as @e[type=item_display,tag=CO.ModelRoot] on passengers if entity @s[type=item_display] run data merge entity @s {view_range:16f,width:0f,height:0f,teleport_duration:2} + # Locatorの初期化 + # execute as @e[type=item_display,tag=CO.ModelRoot] run function animated_java:heiloang_aj/as_own_locator_entities {command:'function asset:mob/0410.heiloang/init/locator'} + +# テスト + # 待機モーション再生 + execute as @e[type=item_display,tag=CO.ModelRoot] at @s run function animated_java:gargo_ex_machina/animations/idle/tween {duration:1, to_frame: 1} diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/summon/.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/summon/.mcfunction index 05212a53ce..f943ade3e0 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/summon/.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/summon/.mcfunction @@ -5,4 +5,4 @@ # @within asset:mob/alias/456/summon # 元となるEntityを召喚する - summon slime ~ ~ ~{Tags:["MobInit","ProcessCommonTag","AlwaysInvisible","BE.EntityRoot"],Size:7,NoAI:1b,Silent:1b,DeathLootTable:"empty"} + summon slime ~ ~ ~ {Tags:["MobInit","ProcessCommonTag","AlwaysInvisible","CO.EntityRoot"],Size:0,NoAI:1b,Silent:1b,DeathLootTable:"empty"} From b1feb4a82dbd1e2f4a6cdcaa35e909742a69c88a Mon Sep 17 00:00:00 2001 From: mokkkk Date: Sun, 8 Feb 2026 23:24:02 +0900 Subject: [PATCH 03/98] =?UTF-8?q?=E6=9A=AB=E5=AE=9A=E3=81=A7=E7=99=BB?= =?UTF-8?q?=E5=A0=B4=E6=BC=94=E5=87=BA=E4=BD=9C=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../0456.gargo_ex_machina/_index.d.mcfunction | 5 ++++ .../0456.gargo_ex_machina/death/.mcfunction | 3 +++ .../death/clone_statue.mcfunction | 9 +++++++ .../0456.gargo_ex_machina/init/.mcfunction | 5 +++- .../init/animated_java.mcfunction | 4 +-- .../init/clone_statue.mcfunction | 9 +++++++ .../0456.gargo_ex_machina/remove/.mcfunction | 27 +++++++++++++++++++ .../0456.gargo_ex_machina/tick/.mcfunction | 3 +++ .../tick/debug/interrupt.m.mcfunction | 16 +++++++++++ .../tick/debug/interrupt.mcfunction | 23 ++++++++++++++++ .../tick/debug/reset.mcfunction | 16 +++++++++++ .../tick/event/.mcfunction | 8 ++++++ .../tick/event/activate/.mcfunction | 25 +++++++++++++++++ .../event/activate/clone_statue.mcfunction | 9 +++++++ .../tick/event/activate/end.mcfunction | 14 ++++++++++ 15 files changed, 173 insertions(+), 3 deletions(-) create mode 100644 Asset/data/asset/functions/mob/0456.gargo_ex_machina/death/clone_statue.mcfunction create mode 100644 Asset/data/asset/functions/mob/0456.gargo_ex_machina/init/clone_statue.mcfunction create mode 100644 Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/debug/interrupt.m.mcfunction create mode 100644 Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/debug/interrupt.mcfunction create mode 100644 Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/debug/reset.mcfunction create mode 100644 Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/.mcfunction create mode 100644 Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/activate/.mcfunction create mode 100644 Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/activate/clone_statue.mcfunction create mode 100644 Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/activate/end.mcfunction diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/_index.d.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/_index.d.mcfunction index c85c29776a..6f5fb59508 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/_index.d.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/_index.d.mcfunction @@ -8,9 +8,14 @@ #declare tag CO.ModelRoot AJモデルのRootEntity #declare tag CO.Hitbox 当たり判定 #declare tag CO.CenterPosition 中心点 + # - スキル + #declare tag CO.Skill.Activate 起動 # - オブジェクト用 #declare tag CO.Object # - 自動生成 #declare function animated_java:gargo_ex_machina/summon + #declare function animated_java:gargo_ex_machina/animations/pause_all #declare function animated_java:gargo_ex_machina/animations/idle/tween + #declare function animated_java:gargo_ex_machina/animations/activation/tween + #declare function animated_java:gargo_ex_machina/animations/move_to_field_fast/tween #declare function animated_java:gargo_ex_machina/remove/all diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/death/.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/death/.mcfunction index 25e1ebf2ee..a102438ab8 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/death/.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/death/.mcfunction @@ -33,3 +33,6 @@ # オブジェクト消去 execute as @e[tag=CO.Object,distance=..160] on passengers run kill @s kill @e[tag=CO.Object,distance=..160] + +# 石像移動 + function asset:mob/0456.gargo_ex_machina/death/clone_statue diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/death/clone_statue.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/death/clone_statue.mcfunction new file mode 100644 index 0000000000..59c42e5b7d --- /dev/null +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/death/clone_statue.mcfunction @@ -0,0 +1,9 @@ +#> asset:mob/0456.gargo_ex_machina/death/clone_statue +# +# Mobのinit時の処理 +# +# @within asset:mob/0456.gargo_ex_machina/death/ + +# 石像を移動 + execute positioned 520 0 834 run clone ~ ~ ~ ~14 ~19 ~3 ~ 91 ~ + execute positioned 520 0 834 run fill ~ ~ ~ ~14 ~19 ~3 air diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/init/.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/init/.mcfunction index a177122678..491b806426 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/init/.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/init/.mcfunction @@ -23,9 +23,12 @@ # じゃまにならないよう移動 execute at @e[type=marker,tag=CO.CenterPosition] run tp @s ~ ~10 ~ # スコア初期化 - # scoreboard players set @s CO.Phase 0 + scoreboard players set @s CO.EventTimer 0 # 移動 # execute at @s run tp @s ^ ^ ^ ~ 0 +# 登場モーション再生 + tag @s add CO.Skill.Activate + # デバッグ # scoreboard players set @s CO.Phase 1 diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/init/animated_java.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/init/animated_java.mcfunction index 0b0ace62b9..d5f3726f61 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/init/animated_java.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/init/animated_java.mcfunction @@ -5,7 +5,7 @@ # @within asset:mob/0456.gargo_ex_machina/init/ # AjModelの召喚 - execute at @s run function animated_java:gargo_ex_machina/summon {args:{}} + execute positioned 527 91.0 836 rotated 180 ~ run function animated_java:gargo_ex_machina/summon {args: {animation: 'activation'}} # AjModelのパーツに以下処理を実行する execute as @e[type=item_display,tag=CO.ModelRoot] run data merge entity @s {view_range:16f,width:0f,height:0f,teleport_duration:2} execute as @e[type=item_display,tag=CO.ModelRoot] on passengers if entity @s[type=item_display] run data merge entity @s {view_range:16f,width:0f,height:0f,teleport_duration:2} @@ -14,4 +14,4 @@ # テスト # 待機モーション再生 - execute as @e[type=item_display,tag=CO.ModelRoot] at @s run function animated_java:gargo_ex_machina/animations/idle/tween {duration:1, to_frame: 1} + # execute as @e[type=item_display,tag=CO.ModelRoot] at @s run function animated_java:gargo_ex_machina/animations/idle/tween {duration:1, to_frame: 1} diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/init/clone_statue.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/init/clone_statue.mcfunction new file mode 100644 index 0000000000..1e705db528 --- /dev/null +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/init/clone_statue.mcfunction @@ -0,0 +1,9 @@ +#> asset:mob/0456.gargo_ex_machina/tick/event/activate/clone_statue +# +# 起動 +# +# @within asset:mob/0456.gargo_ex_machina/tick/event/activate/ + +# 石像を移動 + execute positioned 520 91 834 run clone ~ ~ ~ ~14 ~19 ~3 ~ 0 ~ + execute positioned 520 91 834 run fill ~ ~ ~ ~14 ~19 ~3 air diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/remove/.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/remove/.mcfunction index 3c42d90e79..f4c29d423a 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/remove/.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/remove/.mcfunction @@ -3,3 +3,30 @@ # 天使が居なくなる際に実行される処理 # # @within asset:mob/alias/456/remove + +# 継承元の処理実行 + function asset:mob/super.remove + +# kill時のparticleが見えないように + tp @s ~ ~-100 ~ + +# 中心点消去 + kill @e[type=marker,tag=CO.CenterPosition] + +# Ajモデル消去 + # execute as @e[type=item_display,tag=BE.ModelRoot] on passengers if entity @s[type=snowball] on origin run data merge entity @s {Size:0,Tags:["BE.Temp.Dummy"]} + # execute as @e[type=slime,tag=BE.Temp.Dummy] run tp @s ~ ~100 ~ + # kill @e[type=slime,tag=BE.Temp.Dummy] + # execute as @e[type=item_display,tag=CO.ModelRoot] run function animated_java:gargo_ex_machina/as_own_locator_entities {command:'function asset:mob/0410.heiloang/remove/kill_hitbox'} + function animated_java:gargo_ex_machina/remove/all + +# 当たり判定消去 + # execute as @e[type=item_display,tag=CO.ModelRoot] run function animated_java:heiloang_aj/as_own_locator_entities {command:'function asset:mob/0410.heiloang/death/kill_hitbox'} + function animated_java:gargo_ex_machina/remove/all + +# その他リセット + # function asset:mob/0456.gargo_ex_machina/tick/util/remove_all_tag + +# オブジェクト消去 + execute as @e[tag=CO.Object,distance=..160] on passengers run kill @s + kill @e[tag=CO.Object,distance=..160] diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/.mcfunction index 9478ac3bb4..510359f403 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/.mcfunction @@ -3,3 +3,6 @@ # Mobのtick時の処理 # # @within asset:mob/alias/456/tick + +# スキル用イベントハンドラ + function asset:mob/0456.gargo_ex_machina/tick/event/ diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/debug/interrupt.m.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/debug/interrupt.m.mcfunction new file mode 100644 index 0000000000..f5600a7ec4 --- /dev/null +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/debug/interrupt.m.mcfunction @@ -0,0 +1,16 @@ +#> asset:mob/0410.heiloang/tick/debug/interrupt.m +# +# デバッグ用処理 割り込みで強制的にイベントを実行する +# +# @within asset:mob/alias/410/tick + +# メモ + # execute as @e[type=slime,tag=BE.EntityRoot] at @s run function asset:mob/0410.heiloang/tick/debug/interrupt + +# 全アニメーション停止 + function asset:mob/0410.heiloang/tick/debug/reset + +# イベント実行 + scoreboard players set @s BE.EventTimer 0 + $tag @s add $(Tag) + scoreboard players set @s BE.Pb.Count 5 diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/debug/interrupt.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/debug/interrupt.mcfunction new file mode 100644 index 0000000000..a7305c71a9 --- /dev/null +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/debug/interrupt.mcfunction @@ -0,0 +1,23 @@ +#> asset:mob/0456.gargo_ex_machina/tick/debug/interrupt +# +# デバッグ用処理 割り込みで強制的にイベントを実行する +# +# @within asset:mob/alias/456/tick + +# メモ + # execute as @e[type=slime,tag=BE.EntityRoot] at @s run function asset:mob/0456.gargo_ex_machina/tick/debug/interrupt + +# テスト + # execute at @e[type=marker,tag=BE.CenterPosition] positioned ~-0.3 ~ ~0.2 run return run function asset:mob/0456.gargo_ex_machina/tick/event/final_flare/particle_floor + +# 全アニメーション停止 + function asset:mob/0456.gargo_ex_machina/tick/debug/reset + +# 位置リセット + execute at @e[type=marker,tag=CO.CenterPosition] run tp @s ^ ^ ^ 0 0 + execute at @s run tp @e[type=item_display,tag=CO.ModelRoot] ~ ~ ~ ~ 0 + +# イベント実行 + # scoreboard players set @s BE.EventTimer 0 + # tag @s add BE.Skill.HeilDisaster + # scoreboard players set @s BE.Pb.Count 5 diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/debug/reset.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/debug/reset.mcfunction new file mode 100644 index 0000000000..f64fa377d7 --- /dev/null +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/debug/reset.mcfunction @@ -0,0 +1,16 @@ +#> asset:mob/0456.gargo_ex_machina/tick/debug/reset +# +# デバッグ用処理 割り込みで強制的に初期状態に戻す +# +# @within asset:mob/0456.gargo_ex_machina/tick/debug/interrupt +# @within asset:mob/0456.gargo_ex_machina/tick/debug/interrupt.m + +# メモ + # execute as @e[type=slime,tag=BE.EntityRoot] at @s run function asset:mob/0456.gargo_ex_machina/tick/debug/reset + +# 全アニメーション停止 + execute as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run function animated_java:gargo_ex_machina/animations/pause_all + +# イベント実行 + scoreboard players set @s CO.EventTimer 0 + # execute as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run function asset:mob/0456.gargo_ex_machina/tick/animated_java/play/1_idle diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/.mcfunction new file mode 100644 index 0000000000..77a9e3da26 --- /dev/null +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/.mcfunction @@ -0,0 +1,8 @@ +#> asset:mob/0456.gargo_ex_machina/tick/event/ +# +# Mobのtick時の処理 +# +# @within asset:mob/0456.gargo_ex_machina/tick/ + +# 起動 + execute if entity @s[tag=CO.Skill.Activate] run function asset:mob/0456.gargo_ex_machina/tick/event/activate/ diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/activate/.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/activate/.mcfunction new file mode 100644 index 0000000000..b9a6489192 --- /dev/null +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/activate/.mcfunction @@ -0,0 +1,25 @@ +#> asset:mob/0456.gargo_ex_machina/tick/event/activate/ +# +# 起動 +# +# @within asset:mob/0456.gargo_ex_machina/tick/event/ + +# タイマー増加 + scoreboard players add @s CO.EventTimer 1 + +# 起動 + # アニメーション再生 + execute if score @s CO.EventTimer matches 60 as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run function animated_java:gargo_ex_machina/animations/activation/tween {duration:1, to_frame: 1} + # 石像移動 + execute if score @s CO.EventTimer matches 2 run function asset:mob/0456.gargo_ex_machina/tick/event/activate/clone_statue + +# 起動 + # アニメーション再生 + execute if score @s CO.EventTimer matches 185 as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run function animated_java:gargo_ex_machina/animations/move_to_field_fast/tween {duration:1, to_frame: 1} + # フィールドに移動 + execute if score @s CO.EventTimer matches 220 positioned as @e[type=marker,tag=CO.CenterPosition,distance=..100,limit=1] run tp @s ~ ~-0.5 ~ 180 0 + # モデルを合わせる + execute if score @s CO.EventTimer matches 221.. as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run tp @s ~ ~ ~ ~ ~ + +# 終了 + execute if score @s CO.EventTimer matches 291.. run function asset:mob/0456.gargo_ex_machina/tick/event/activate/end diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/activate/clone_statue.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/activate/clone_statue.mcfunction new file mode 100644 index 0000000000..1e705db528 --- /dev/null +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/activate/clone_statue.mcfunction @@ -0,0 +1,9 @@ +#> asset:mob/0456.gargo_ex_machina/tick/event/activate/clone_statue +# +# 起動 +# +# @within asset:mob/0456.gargo_ex_machina/tick/event/activate/ + +# 石像を移動 + execute positioned 520 91 834 run clone ~ ~ ~ ~14 ~19 ~3 ~ 0 ~ + execute positioned 520 91 834 run fill ~ ~ ~ ~14 ~19 ~3 air diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/activate/end.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/activate/end.mcfunction new file mode 100644 index 0000000000..7f1ca0a04b --- /dev/null +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/activate/end.mcfunction @@ -0,0 +1,14 @@ +#> asset:mob/0456.gargo_ex_machina/tick/event/activate/end +# +# 起動 +# +# @within asset:mob/0456.gargo_ex_machina/tick/event/activate/ + +# タグ消去 + tag @s remove CO.Skill.Activate + +# 待機モーション再生 + execute as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run function animated_java:gargo_ex_machina/animations/idle/tween {duration:1, to_frame: 1} + +# 行動 + # function asset:mob/0410.heiloang/tick/act/ From b61ddaae7ec4c1518dbb5e495e472da14117076e Mon Sep 17 00:00:00 2001 From: mokkkk Date: Wed, 11 Feb 2026 17:28:58 +0900 Subject: [PATCH 04/98] =?UTF-8?q?=E5=BD=B1=E3=81=AE=E8=A1=A8=E7=A4=BA?= =?UTF-8?q?=E5=87=A6=E7=90=86=E8=BF=BD=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../0456.gargo_ex_machina/_index.d.mcfunction | 1 + .../init/animated_java.mcfunction | 2 +- .../tick/event/activate/.mcfunction | 25 ++++++++++++++++--- .../tick/util/hide_shadow.mcfunction | 11 ++++++++ .../tick/util/show_shadow.mcfunction | 11 ++++++++ 5 files changed, 46 insertions(+), 4 deletions(-) create mode 100644 Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/util/hide_shadow.mcfunction create mode 100644 Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/util/show_shadow.mcfunction diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/_index.d.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/_index.d.mcfunction index 6f5fb59508..1f95fc83f3 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/_index.d.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/_index.d.mcfunction @@ -12,6 +12,7 @@ #declare tag CO.Skill.Activate 起動 # - オブジェクト用 #declare tag CO.Object + #declare tag CO.Shadow # - 自動生成 #declare function animated_java:gargo_ex_machina/summon #declare function animated_java:gargo_ex_machina/animations/pause_all diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/init/animated_java.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/init/animated_java.mcfunction index d5f3726f61..b813bcc549 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/init/animated_java.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/init/animated_java.mcfunction @@ -5,7 +5,7 @@ # @within asset:mob/0456.gargo_ex_machina/init/ # AjModelの召喚 - execute positioned 527 91.0 836 rotated 180 ~ run function animated_java:gargo_ex_machina/summon {args: {animation: 'activation'}} + execute positioned 527.5 91.0 836.0 rotated 180 ~ run function animated_java:gargo_ex_machina/summon {args: {animation: 'activation'}} # AjModelのパーツに以下処理を実行する execute as @e[type=item_display,tag=CO.ModelRoot] run data merge entity @s {view_range:16f,width:0f,height:0f,teleport_duration:2} execute as @e[type=item_display,tag=CO.ModelRoot] on passengers if entity @s[type=item_display] run data merge entity @s {view_range:16f,width:0f,height:0f,teleport_duration:2} diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/activate/.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/activate/.mcfunction index b9a6489192..762faecf40 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/activate/.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/activate/.mcfunction @@ -12,14 +12,33 @@ execute if score @s CO.EventTimer matches 60 as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run function animated_java:gargo_ex_machina/animations/activation/tween {duration:1, to_frame: 1} # 石像移動 execute if score @s CO.EventTimer matches 2 run function asset:mob/0456.gargo_ex_machina/tick/event/activate/clone_statue - + # 影 + execute if score @s CO.EventTimer matches 1 as @e[type=item_display,tag=CO.Shadow] run function asset:mob/0456.gargo_ex_machina/tick/util/hide_shadow + # 効果音 + execute if score @s CO.EventTimer matches 60 positioned as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run playsound block.piston.contract hostile @a ~ ~ ~ 2 1.2 + execute if score @s CO.EventTimer matches 118 positioned as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run playsound block.piston.extend hostile @a ~ ~ ~ 2 1.2 + execute if score @s CO.EventTimer matches 125 positioned as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run playsound block.piston.extend hostile @a ~ ~ ~ 2 1.2 + execute if score @s CO.EventTimer matches 155 positioned as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run playsound block.beacon.activate hostile @a ~ ~ ~ 2 2.0 + # 起動 # アニメーション再生 execute if score @s CO.EventTimer matches 185 as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run function animated_java:gargo_ex_machina/animations/move_to_field_fast/tween {duration:1, to_frame: 1} # フィールドに移動 - execute if score @s CO.EventTimer matches 220 positioned as @e[type=marker,tag=CO.CenterPosition,distance=..100,limit=1] run tp @s ~ ~-0.5 ~ 180 0 + execute if score @s CO.EventTimer matches 210 positioned as @e[type=marker,tag=CO.CenterPosition,distance=..100,limit=1] run tp @s ~ ~-0.5 ~ 180 0 # モデルを合わせる - execute if score @s CO.EventTimer matches 221.. as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run tp @s ~ ~ ~ ~ ~ + execute if score @s CO.EventTimer matches 211.. as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run tp @s ~ ~ ~ ~ ~ + # 影 + execute if score @s CO.EventTimer matches 212 as @e[type=item_display,tag=CO.Shadow] run function asset:mob/0456.gargo_ex_machina/tick/util/show_shadow + # 演出 + execute if score @s CO.EventTimer matches 231 run particle explosion ~ ~1 ~ 4 0.1 4 0 30 + # 効果音 + execute if score @s CO.EventTimer matches 185 positioned as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run playsound block.piston.contract hostile @a ~ ~ ~ 2 0.8 + execute if score @s CO.EventTimer matches 207 positioned as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run playsound block.piston.contract hostile @a ~ ~ ~ 2 0.7 + execute if score @s CO.EventTimer matches 231 run playsound entity.ravager.step hostile @a ~ ~ ~ 2 0.7 + execute if score @s CO.EventTimer matches 231 run playsound entity.ravager.step hostile @a ~ ~ ~ 2 0.6 + execute if score @s CO.EventTimer matches 231 run playsound entity.ravager.step hostile @a ~ ~ ~ 2 0.5 + execute if score @s CO.EventTimer matches 261 run playsound block.piston.extend hostile @a ~ ~ ~ 2 0.8 + execute if score @s CO.EventTimer matches 285 run playsound block.piston.contract hostile @a ~ ~ ~ 2 0.8 # 終了 execute if score @s CO.EventTimer matches 291.. run function asset:mob/0456.gargo_ex_machina/tick/event/activate/end diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/util/hide_shadow.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/util/hide_shadow.mcfunction new file mode 100644 index 0000000000..9f532adb66 --- /dev/null +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/util/hide_shadow.mcfunction @@ -0,0 +1,11 @@ +#> asset:mob/0456.gargo_ex_machina/tick/util/hide_shadow +# +# 影の非表示 +# +# @within asset:mob/0456.gargo_ex_machina/tick/** + +# 影非表示 + data modify entity @s interpolation_duration set value 5 + data modify entity @s start_interpolation set value -1 + data modify entity @s shadow_radius set value 0 + data modify entity @s shadow_strength set value 0f diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/util/show_shadow.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/util/show_shadow.mcfunction new file mode 100644 index 0000000000..fae0d8b17d --- /dev/null +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/util/show_shadow.mcfunction @@ -0,0 +1,11 @@ +#> asset:mob/0456.gargo_ex_machina/tick/util/show_shadow +# +# 影の表示 +# +# @within asset:mob/0456.gargo_ex_machina/tick/** + +# 影表示 + data modify entity @s interpolation_duration set value 5 + data modify entity @s start_interpolation set value -1 + data modify entity @s shadow_radius set value 6 + data modify entity @s shadow_strength set value 1f From 00165a5bd1ad01e3f2b331bee022c371efeae20d Mon Sep 17 00:00:00 2001 From: mokkkk Date: Sat, 14 Feb 2026 15:57:34 +0900 Subject: [PATCH 05/98] =?UTF-8?q?=E5=89=A3=E5=8F=A9=E3=81=8D=E3=81=A4?= =?UTF-8?q?=E3=81=91=E6=9A=AB=E5=AE=9A=E4=BD=9C=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../0456.gargo_ex_machina/_index.d.mcfunction | 25 ++++++ .../0456.gargo_ex_machina/init/.mcfunction | 2 +- ....mcfunction => animated_java.m.mcfunction} | 3 +- .../0456.gargo_ex_machina/register.mcfunction | 5 +- .../tick/debug/interrupt.m.mcfunction | 2 +- .../tick/debug/interrupt.mcfunction | 10 +-- .../tick/event/.mcfunction | 5 ++ .../tick/event/activate/.mcfunction | 1 + .../tick/event/activate/end.mcfunction | 1 + .../tick/event/sword_attack/attack.mcfunction | 40 +++++++++ .../sword_attack/attack_effect.mcfunction | 86 +++++++++++++++++++ .../attack_effect_line.m.mcfunction | 13 +++ .../attack_effect_line.mcfunction | 24 ++++++ .../tick/event/sword_attack/end.mcfunction | 15 ++++ .../sword_attack/event_attack.mcfunction | 28 ++++++ .../sword_attack/event_charging.mcfunction | 19 ++++ .../event/sword_attack/event_start.mcfunction | 22 +++++ .../event/sword_attack/prediction.mcfunction | 57 ++++++++++++ .../sword_attack/start_attack.mcfunction | 10 +++ .../sword_attack/start_charging.mcfunction | 10 +++ .../tick/util/change_target.mcfunction | 9 ++ .../tick/util/rotate_to_target.mcfunction | 8 ++ 22 files changed, 386 insertions(+), 9 deletions(-) rename Asset/data/asset/functions/mob/0456.gargo_ex_machina/init/{animated_java.mcfunction => animated_java.m.mcfunction} (77%) create mode 100644 Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/sword_attack/attack.mcfunction create mode 100644 Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/sword_attack/attack_effect.mcfunction create mode 100644 Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/sword_attack/attack_effect_line.m.mcfunction create mode 100644 Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/sword_attack/attack_effect_line.mcfunction create mode 100644 Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/sword_attack/end.mcfunction create mode 100644 Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/sword_attack/event_attack.mcfunction create mode 100644 Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/sword_attack/event_charging.mcfunction create mode 100644 Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/sword_attack/event_start.mcfunction create mode 100644 Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/sword_attack/prediction.mcfunction create mode 100644 Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/sword_attack/start_attack.mcfunction create mode 100644 Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/sword_attack/start_charging.mcfunction create mode 100644 Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/util/change_target.mcfunction create mode 100644 Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/util/rotate_to_target.mcfunction diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/_index.d.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/_index.d.mcfunction index 1f95fc83f3..9e512a1e19 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/_index.d.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/_index.d.mcfunction @@ -10,13 +10,38 @@ #declare tag CO.CenterPosition 中心点 # - スキル #declare tag CO.Skill.Activate 起動 + #declare tag CO.Skill.SwordAttack 剣叩きつけ + #declare tag CO.Skill.SwordAttack.Charge 剣叩きつけ + #declare tag CO.Skill.SwordAttack.Attack 剣叩きつけ # - オブジェクト用 #declare tag CO.Object #declare tag CO.Shadow + # - 汎用 + #declare tag CO.MainTarget + #declare tag CO.Aec.Target + #declare tag + #declare tag + #declare tag + #declare tag + #declare tag + #declare tag + #declare tag + #declare tag + #declare tag + #declare tag + #declare tag + #declare tag + #declare tag + #declare tag # - 自動生成 #declare function animated_java:gargo_ex_machina/summon #declare function animated_java:gargo_ex_machina/animations/pause_all #declare function animated_java:gargo_ex_machina/animations/idle/tween #declare function animated_java:gargo_ex_machina/animations/activation/tween #declare function animated_java:gargo_ex_machina/animations/move_to_field_fast/tween + #declare function animated_java:gargo_ex_machina/animations/sword_smash_start/tween + #declare function animated_java:gargo_ex_machina/animations/sword_smash_charge/tween + #declare function animated_java:gargo_ex_machina/animations/sword_smash_attack/tween + #declare function animated_java:gargo_ex_machina/animations/sword_smash_attack/pause + #declare function animated_java:gargo_ex_machina/animations/sword_smash_attack/resume #declare function animated_java:gargo_ex_machina/remove/all diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/init/.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/init/.mcfunction index 491b806426..854930de4a 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/init/.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/init/.mcfunction @@ -19,7 +19,7 @@ execute as @e[type=marker,tag=CO.CenterPosition] at @s run tp @s ~ ~ ~ 0 0 # NBT設定 # Aj関連初期化 - function asset:mob/0456.gargo_ex_machina/init/animated_java + function asset:mob/0456.gargo_ex_machina/init/animated_java.m with storage asset:context this.FirstPos # じゃまにならないよう移動 execute at @e[type=marker,tag=CO.CenterPosition] run tp @s ~ ~10 ~ # スコア初期化 diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/init/animated_java.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/init/animated_java.m.mcfunction similarity index 77% rename from Asset/data/asset/functions/mob/0456.gargo_ex_machina/init/animated_java.mcfunction rename to Asset/data/asset/functions/mob/0456.gargo_ex_machina/init/animated_java.m.mcfunction index b813bcc549..a3d154eaf3 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/init/animated_java.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/init/animated_java.m.mcfunction @@ -5,7 +5,8 @@ # @within asset:mob/0456.gargo_ex_machina/init/ # AjModelの召喚 - execute positioned 527.5 91.0 836.0 rotated 180 ~ run function animated_java:gargo_ex_machina/summon {args: {animation: 'activation'}} + # execute positioned 527.5 91.0 836.0 rotated 180 ~ run function animated_java:gargo_ex_machina/summon {args: {animation: 'activation'}} + $execute positioned $(X) $(Y) $(Z) rotated 180 ~ run function animated_java:gargo_ex_machina/summon {args: {animation: 'activation'}} # AjModelのパーツに以下処理を実行する execute as @e[type=item_display,tag=CO.ModelRoot] run data merge entity @s {view_range:16f,width:0f,height:0f,teleport_duration:2} execute as @e[type=item_display,tag=CO.ModelRoot] on passengers if entity @s[type=item_display] run data merge entity @s {view_range:16f,width:0f,height:0f,teleport_duration:2} diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/register.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/register.mcfunction index fd5bc531a3..9320274a36 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/register.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/register.mcfunction @@ -34,4 +34,7 @@ # 雷倍率 (float) (オプション) data modify storage asset:mob Resist.Thunder set value 1.0f # フィールド - # data modify storage asset:mob Field.myValue set value + data modify storage asset:mob Field.FirstPos.X set value 527.5 + data modify storage asset:mob Field.FirstPos.Y set value 91.0 + data modify storage asset:mob Field.FirstPos.Z set value 836.0 + data modify storage asset:mob Field.Damage.SwordAttack set value 50.0 diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/debug/interrupt.m.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/debug/interrupt.m.mcfunction index f5600a7ec4..74d373348d 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/debug/interrupt.m.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/debug/interrupt.m.mcfunction @@ -8,7 +8,7 @@ # execute as @e[type=slime,tag=BE.EntityRoot] at @s run function asset:mob/0410.heiloang/tick/debug/interrupt # 全アニメーション停止 - function asset:mob/0410.heiloang/tick/debug/reset + # function asset:mob/0410.heiloang/tick/debug/reset # イベント実行 scoreboard players set @s BE.EventTimer 0 diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/debug/interrupt.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/debug/interrupt.mcfunction index a7305c71a9..067e615d31 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/debug/interrupt.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/debug/interrupt.mcfunction @@ -5,19 +5,19 @@ # @within asset:mob/alias/456/tick # メモ - # execute as @e[type=slime,tag=BE.EntityRoot] at @s run function asset:mob/0456.gargo_ex_machina/tick/debug/interrupt + # execute as @e[type=slime,tag=CO.EntityRoot] at @s run function asset:mob/0456.gargo_ex_machina/tick/debug/interrupt # テスト - # execute at @e[type=marker,tag=BE.CenterPosition] positioned ~-0.3 ~ ~0.2 run return run function asset:mob/0456.gargo_ex_machina/tick/event/final_flare/particle_floor + # execute at @e[type=marker,tag=CO.CenterPosition] positioned ~-0.3 ~ ~0.2 run return run function asset:mob/0456.gargo_ex_machina/tick/event/final_flare/particle_floor # 全アニメーション停止 function asset:mob/0456.gargo_ex_machina/tick/debug/reset # 位置リセット - execute at @e[type=marker,tag=CO.CenterPosition] run tp @s ^ ^ ^ 0 0 - execute at @s run tp @e[type=item_display,tag=CO.ModelRoot] ~ ~ ~ ~ 0 + # execute at @e[type=marker,tag=CO.CenterPosition] run tp @s ^ ^ ^ 0 0 + # execute at @s run tp @e[type=item_display,tag=CO.ModelRoot] ~ ~ ~ ~ 0 # イベント実行 # scoreboard players set @s BE.EventTimer 0 - # tag @s add BE.Skill.HeilDisaster + tag @s add CO.Skill.SwordAttack # scoreboard players set @s BE.Pb.Count 5 diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/.mcfunction index 77a9e3da26..3d620b1970 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/.mcfunction @@ -6,3 +6,8 @@ # 起動 execute if entity @s[tag=CO.Skill.Activate] run function asset:mob/0456.gargo_ex_machina/tick/event/activate/ + +# 剣叩きつけ + execute if entity @s[tag=CO.Skill.SwordAttack] run function asset:mob/0456.gargo_ex_machina/tick/event/sword_attack/event_start + execute if entity @s[tag=CO.Skill.SwordAttack.Charge] run function asset:mob/0456.gargo_ex_machina/tick/event/sword_attack/event_charging + execute if entity @s[tag=CO.Skill.SwordAttack.Attack] run function asset:mob/0456.gargo_ex_machina/tick/event/sword_attack/event_attack diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/activate/.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/activate/.mcfunction index 762faecf40..67cb76a07e 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/activate/.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/activate/.mcfunction @@ -31,6 +31,7 @@ execute if score @s CO.EventTimer matches 212 as @e[type=item_display,tag=CO.Shadow] run function asset:mob/0456.gargo_ex_machina/tick/util/show_shadow # 演出 execute if score @s CO.EventTimer matches 231 run particle explosion ~ ~1 ~ 4 0.1 4 0 30 + execute if score @s CO.EventTimer matches 231 run particle campfire_cosy_smoke ~ ~1 ~ 4 0.1 4 0.05 100 # 効果音 execute if score @s CO.EventTimer matches 185 positioned as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run playsound block.piston.contract hostile @a ~ ~ ~ 2 0.8 execute if score @s CO.EventTimer matches 207 positioned as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run playsound block.piston.contract hostile @a ~ ~ ~ 2 0.7 diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/activate/end.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/activate/end.mcfunction index 7f1ca0a04b..52aae24261 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/activate/end.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/activate/end.mcfunction @@ -5,6 +5,7 @@ # @within asset:mob/0456.gargo_ex_machina/tick/event/activate/ # タグ消去 + scoreboard players set @s CO.EventTimer 0 tag @s remove CO.Skill.Activate # 待機モーション再生 diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/sword_attack/attack.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/sword_attack/attack.mcfunction new file mode 100644 index 0000000000..6910f62f1c --- /dev/null +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/sword_attack/attack.mcfunction @@ -0,0 +1,40 @@ +#> asset:mob/0456.gargo_ex_machina/tick/event/sword_attack/attack +# +# 剣叩きつけ +# +# @within asset:mob/0456.gargo_ex_machina/tick/event/sword_attack/event_attack + +# ヒット判定 + # 円範囲 + tag @a[distance=..10] add DXYZ + # 直線範囲 + tag @a[tag=DXYZ] remove DXYZ + data modify storage lib: args.dx set value 4 + data modify storage lib: args.dy set value 5 + data modify storage lib: args.dz set value 50 + data modify storage lib: args.selector set value "@a[tag=!PlayerShouldInvulnerable,distance=..50]" + execute rotated ~ 0 run function lib:rotatable_dxyz/m with storage lib: args + data modify storage lib: args.dx set value 4 + data modify storage lib: args.dy set value 5 + data modify storage lib: args.dz set value 50 + data modify storage lib: args.selector set value "@a[tag=!PlayerShouldInvulnerable,distance=..50]" + execute rotated ~60 0 run function lib:rotatable_dxyz/m with storage lib: args + data modify storage lib: args.dx set value 4 + data modify storage lib: args.dy set value 5 + data modify storage lib: args.dz set value 50 + data modify storage lib: args.selector set value "@a[tag=!PlayerShouldInvulnerable,distance=..50]" + execute rotated ~120 0 run function lib:rotatable_dxyz/m with storage lib: args + +# ダメージ + data modify storage api: Argument.Damage set from storage asset:context this.Damage.SwordAttack + data modify storage api: Argument.AttackType set value "Physical" + data modify storage api: Argument.ElementType set value "None" + function api:damage/modifier + execute as @a[tag=DXYZ] run function api:damage/ + function api:damage/reset + +# 演出 + function asset:mob/0456.gargo_ex_machina/tick/event/sword_attack/attack_effect + +# 終了 + tag @a[tag=DXYZ] remove DXYZ diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/sword_attack/attack_effect.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/sword_attack/attack_effect.mcfunction new file mode 100644 index 0000000000..151e256fec --- /dev/null +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/sword_attack/attack_effect.mcfunction @@ -0,0 +1,86 @@ +#> asset:mob/0456.gargo_ex_machina/tick/event/sword_attack/attack_effect +# +# 剣叩きつけ +# +# @within asset:mob/0456.gargo_ex_machina/tick/event/sword_attack/attack + +# 効果音 + playsound entity.generic.explode hostile @a ~ ~ ~ 2 0.7 + playsound entity.wither.break_block hostile @a ~ ~ ~ 2 0.7 + +# パーティクル + particle explosion ~ ~1 ~ 5 2 5 0 30 + # 円型ベクトルパーティクル + execute rotated ~00 0 positioned ^ ^-0.3 ^ run particle cloud ~ ~ ~ ^ ^ ^100000000 0.000000015 0 + execute rotated ~10 0 positioned ^ ^-0.3 ^ run particle cloud ~ ~ ~ ^ ^ ^100000000 0.000000015 0 + execute rotated ~20 0 positioned ^ ^-0.3 ^ run particle cloud ~ ~ ~ ^ ^ ^100000000 0.000000015 0 + execute rotated ~30 0 positioned ^ ^-0.3 ^ run particle cloud ~ ~ ~ ^ ^ ^100000000 0.000000015 0 + execute rotated ~40 0 positioned ^ ^-0.3 ^ run particle cloud ~ ~ ~ ^ ^ ^100000000 0.000000015 0 + execute rotated ~50 0 positioned ^ ^-0.3 ^ run particle cloud ~ ~ ~ ^ ^ ^100000000 0.000000015 0 + execute rotated ~60 0 positioned ^ ^-0.3 ^ run particle cloud ~ ~ ~ ^ ^ ^100000000 0.000000015 0 + execute rotated ~70 0 positioned ^ ^-0.3 ^ run particle cloud ~ ~ ~ ^ ^ ^100000000 0.000000015 0 + execute rotated ~80 0 positioned ^ ^-0.3 ^ run particle cloud ~ ~ ~ ^ ^ ^100000000 0.000000015 0 + execute rotated ~90 0 positioned ^ ^-0.3 ^ run particle cloud ~ ~ ~ ^ ^ ^100000000 0.000000015 0 + execute rotated ~100 0 positioned ^ ^-0.3 ^ run particle cloud ~ ~ ~ ^ ^ ^100000000 0.000000015 0 + execute rotated ~110 0 positioned ^ ^-0.3 ^ run particle cloud ~ ~ ~ ^ ^ ^100000000 0.000000015 0 + execute rotated ~120 0 positioned ^ ^-0.3 ^ run particle cloud ~ ~ ~ ^ ^ ^100000000 0.000000015 0 + execute rotated ~130 0 positioned ^ ^-0.3 ^ run particle cloud ~ ~ ~ ^ ^ ^100000000 0.000000015 0 + execute rotated ~140 0 positioned ^ ^-0.3 ^ run particle cloud ~ ~ ~ ^ ^ ^100000000 0.000000015 0 + execute rotated ~150 0 positioned ^ ^-0.3 ^ run particle cloud ~ ~ ~ ^ ^ ^100000000 0.000000015 0 + execute rotated ~160 0 positioned ^ ^-0.3 ^ run particle cloud ~ ~ ~ ^ ^ ^100000000 0.000000015 0 + execute rotated ~170 0 positioned ^ ^-0.3 ^ run particle cloud ~ ~ ~ ^ ^ ^100000000 0.000000015 0 + execute rotated ~180 0 positioned ^ ^-0.3 ^ run particle cloud ~ ~ ~ ^ ^ ^100000000 0.000000015 0 + execute rotated ~190 0 positioned ^ ^-0.3 ^ run particle cloud ~ ~ ~ ^ ^ ^100000000 0.000000015 0 + execute rotated ~200 0 positioned ^ ^-0.3 ^ run particle cloud ~ ~ ~ ^ ^ ^100000000 0.000000015 0 + execute rotated ~210 0 positioned ^ ^-0.3 ^ run particle cloud ~ ~ ~ ^ ^ ^100000000 0.000000015 0 + execute rotated ~220 0 positioned ^ ^-0.3 ^ run particle cloud ~ ~ ~ ^ ^ ^100000000 0.000000015 0 + execute rotated ~230 0 positioned ^ ^-0.3 ^ run particle cloud ~ ~ ~ ^ ^ ^100000000 0.000000015 0 + execute rotated ~240 0 positioned ^ ^-0.3 ^ run particle cloud ~ ~ ~ ^ ^ ^100000000 0.000000015 0 + execute rotated ~250 0 positioned ^ ^-0.3 ^ run particle cloud ~ ~ ~ ^ ^ ^100000000 0.000000015 0 + execute rotated ~260 0 positioned ^ ^-0.3 ^ run particle cloud ~ ~ ~ ^ ^ ^100000000 0.000000015 0 + execute rotated ~270 0 positioned ^ ^-0.3 ^ run particle cloud ~ ~ ~ ^ ^ ^100000000 0.000000015 0 + execute rotated ~280 0 positioned ^ ^-0.3 ^ run particle cloud ~ ~ ~ ^ ^ ^100000000 0.000000015 0 + execute rotated ~290 0 positioned ^ ^-0.3 ^ run particle cloud ~ ~ ~ ^ ^ ^100000000 0.000000015 0 + execute rotated ~300 0 positioned ^ ^-0.3 ^ run particle cloud ~ ~ ~ ^ ^ ^100000000 0.000000015 0 + execute rotated ~310 0 positioned ^ ^-0.3 ^ run particle cloud ~ ~ ~ ^ ^ ^100000000 0.000000015 0 + execute rotated ~320 0 positioned ^ ^-0.3 ^ run particle cloud ~ ~ ~ ^ ^ ^100000000 0.000000015 0 + execute rotated ~330 0 positioned ^ ^-0.3 ^ run particle cloud ~ ~ ~ ^ ^ ^100000000 0.000000015 0 + execute rotated ~340 0 positioned ^ ^-0.3 ^ run particle cloud ~ ~ ~ ^ ^ ^100000000 0.000000015 0 + execute rotated ~350 0 positioned ^ ^-0.3 ^ run particle cloud ~ ~ ~ ^ ^ ^100000000 0.000000015 0 + # 円型ベクトルパーティクル + execute rotated ~00 0 positioned ^ ^-0.3 ^ run particle cloud ~ ~ ~ ^ ^ ^100000000 0.000000025 0 + execute rotated ~10 0 positioned ^ ^-0.3 ^ run particle cloud ~ ~ ~ ^ ^ ^100000000 0.000000025 0 + execute rotated ~20 0 positioned ^ ^-0.3 ^ run particle cloud ~ ~ ~ ^ ^ ^100000000 0.000000025 0 + execute rotated ~30 0 positioned ^ ^-0.3 ^ run particle cloud ~ ~ ~ ^ ^ ^100000000 0.000000025 0 + execute rotated ~40 0 positioned ^ ^-0.3 ^ run particle cloud ~ ~ ~ ^ ^ ^100000000 0.000000025 0 + execute rotated ~50 0 positioned ^ ^-0.3 ^ run particle cloud ~ ~ ~ ^ ^ ^100000000 0.000000025 0 + execute rotated ~60 0 positioned ^ ^-0.3 ^ run particle cloud ~ ~ ~ ^ ^ ^100000000 0.000000025 0 + execute rotated ~70 0 positioned ^ ^-0.3 ^ run particle cloud ~ ~ ~ ^ ^ ^100000000 0.000000025 0 + execute rotated ~80 0 positioned ^ ^-0.3 ^ run particle cloud ~ ~ ~ ^ ^ ^100000000 0.000000025 0 + execute rotated ~90 0 positioned ^ ^-0.3 ^ run particle cloud ~ ~ ~ ^ ^ ^100000000 0.000000025 0 + execute rotated ~100 0 positioned ^ ^-0.3 ^ run particle cloud ~ ~ ~ ^ ^ ^100000000 0.000000025 0 + execute rotated ~110 0 positioned ^ ^-0.3 ^ run particle cloud ~ ~ ~ ^ ^ ^100000000 0.000000025 0 + execute rotated ~120 0 positioned ^ ^-0.3 ^ run particle cloud ~ ~ ~ ^ ^ ^100000000 0.000000025 0 + execute rotated ~130 0 positioned ^ ^-0.3 ^ run particle cloud ~ ~ ~ ^ ^ ^100000000 0.000000025 0 + execute rotated ~140 0 positioned ^ ^-0.3 ^ run particle cloud ~ ~ ~ ^ ^ ^100000000 0.000000025 0 + execute rotated ~150 0 positioned ^ ^-0.3 ^ run particle cloud ~ ~ ~ ^ ^ ^100000000 0.000000025 0 + execute rotated ~160 0 positioned ^ ^-0.3 ^ run particle cloud ~ ~ ~ ^ ^ ^100000000 0.000000025 0 + execute rotated ~170 0 positioned ^ ^-0.3 ^ run particle cloud ~ ~ ~ ^ ^ ^100000000 0.000000025 0 + execute rotated ~180 0 positioned ^ ^-0.3 ^ run particle cloud ~ ~ ~ ^ ^ ^100000000 0.000000025 0 + execute rotated ~190 0 positioned ^ ^-0.3 ^ run particle cloud ~ ~ ~ ^ ^ ^100000000 0.000000025 0 + execute rotated ~200 0 positioned ^ ^-0.3 ^ run particle cloud ~ ~ ~ ^ ^ ^100000000 0.000000025 0 + execute rotated ~210 0 positioned ^ ^-0.3 ^ run particle cloud ~ ~ ~ ^ ^ ^100000000 0.000000025 0 + execute rotated ~220 0 positioned ^ ^-0.3 ^ run particle cloud ~ ~ ~ ^ ^ ^100000000 0.000000025 0 + execute rotated ~230 0 positioned ^ ^-0.3 ^ run particle cloud ~ ~ ~ ^ ^ ^100000000 0.000000025 0 + execute rotated ~240 0 positioned ^ ^-0.3 ^ run particle cloud ~ ~ ~ ^ ^ ^100000000 0.000000025 0 + execute rotated ~250 0 positioned ^ ^-0.3 ^ run particle cloud ~ ~ ~ ^ ^ ^100000000 0.000000025 0 + execute rotated ~260 0 positioned ^ ^-0.3 ^ run particle cloud ~ ~ ~ ^ ^ ^100000000 0.000000025 0 + execute rotated ~270 0 positioned ^ ^-0.3 ^ run particle cloud ~ ~ ~ ^ ^ ^100000000 0.000000025 0 + execute rotated ~280 0 positioned ^ ^-0.3 ^ run particle cloud ~ ~ ~ ^ ^ ^100000000 0.000000025 0 + execute rotated ~290 0 positioned ^ ^-0.3 ^ run particle cloud ~ ~ ~ ^ ^ ^100000000 0.000000025 0 + execute rotated ~300 0 positioned ^ ^-0.3 ^ run particle cloud ~ ~ ~ ^ ^ ^100000000 0.000000025 0 + execute rotated ~310 0 positioned ^ ^-0.3 ^ run particle cloud ~ ~ ~ ^ ^ ^100000000 0.000000025 0 + execute rotated ~320 0 positioned ^ ^-0.3 ^ run particle cloud ~ ~ ~ ^ ^ ^100000000 0.000000025 0 + execute rotated ~330 0 positioned ^ ^-0.3 ^ run particle cloud ~ ~ ~ ^ ^ ^100000000 0.000000025 0 + execute rotated ~340 0 positioned ^ ^-0.3 ^ run particle cloud ~ ~ ~ ^ ^ ^100000000 0.000000025 0 + execute rotated ~350 0 positioned ^ ^-0.3 ^ run particle cloud ~ ~ ~ ^ ^ ^100000000 0.000000025 0 diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/sword_attack/attack_effect_line.m.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/sword_attack/attack_effect_line.m.mcfunction new file mode 100644 index 0000000000..508caf067f --- /dev/null +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/sword_attack/attack_effect_line.m.mcfunction @@ -0,0 +1,13 @@ +#> asset:mob/0456.gargo_ex_machina/tick/event/sword_attack/attack_effect_line.m +# +# 剣叩きつけ +# +# @within asset:mob/0456.gargo_ex_machina/tick/event/sword_attack/event_attack + +# パーティクル + $execute rotated ~0 ~ positioned ^ ^ ^$(Dist) run function asset:mob/0456.gargo_ex_machina/tick/event/sword_attack/attack_effect_line + $execute rotated ~60 ~ positioned ^ ^ ^$(Dist) run function asset:mob/0456.gargo_ex_machina/tick/event/sword_attack/attack_effect_line + $execute rotated ~-60 ~ positioned ^ ^ ^$(Dist) run function asset:mob/0456.gargo_ex_machina/tick/event/sword_attack/attack_effect_line + $execute rotated ~120 ~ positioned ^ ^ ^$(Dist) run function asset:mob/0456.gargo_ex_machina/tick/event/sword_attack/attack_effect_line + $execute rotated ~-120 ~ positioned ^ ^ ^$(Dist) run function asset:mob/0456.gargo_ex_machina/tick/event/sword_attack/attack_effect_line + $execute rotated ~180 ~ positioned ^ ^ ^$(Dist) run function asset:mob/0456.gargo_ex_machina/tick/event/sword_attack/attack_effect_line diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/sword_attack/attack_effect_line.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/sword_attack/attack_effect_line.mcfunction new file mode 100644 index 0000000000..bf7ac29c0f --- /dev/null +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/sword_attack/attack_effect_line.mcfunction @@ -0,0 +1,24 @@ +#> asset:mob/0456.gargo_ex_machina/tick/event/sword_attack/attack_effect_line +# +# 剣叩きつけ +# +# @within asset:mob/0456.gargo_ex_machina/tick/event/sword_attack/attack_effect_line.m + +# パーティクル + # [ImportKey]: NobwRALgngDgpmAXGANgSwHYIDRgK55oAmSYATAOxEAcAbACwBmFAtAMa1Uv0CsAzERYAjWgAZGLHkICMAQwCc1PrOrSOYXBlkBbBMkBbvgAJpGsDFkAnHQGck4NgHs8GCEmk9cjCw+12wAN1kUPD1wAA8kUVwoSIBfWNwIBz9A4NCwCMQosBjEd3jcB0ZGazhXLNwhOAAvNDgLSNw0awAhGrqLAFEARzwglCgAZXM2OBJERiDS+IBdIA_3 + # 線 1 + particle explosion ^0 ^1 ^0 2 2 2 0 8 + particle explosion ^0 ^1 ^1.07143 2 2 2 0 8 + particle explosion ^0 ^1 ^2.14286 2 2 2 0 8 + particle explosion ^0 ^1 ^3.21429 2 2 2 0 8 + particle explosion ^0 ^1 ^4.28571 2 2 2 0 8 + particle explosion ^0 ^1 ^5.35714 2 2 2 0 8 + particle explosion ^0 ^1 ^6.42857 2 2 2 0 8 + particle explosion ^0 ^1 ^7.5 2 2 2 0 8 + particle explosion ^0 ^1 ^8.57143 2 2 2 0 8 + particle explosion ^0 ^1 ^9.64286 2 2 2 0 8 + particle explosion ^0 ^1 ^10.71429 2 2 2 0 8 + particle explosion ^0 ^1 ^11.78571 2 2 2 0 8 + particle explosion ^0 ^1 ^12.85714 2 2 2 0 8 + particle explosion ^0 ^1 ^13.92857 2 2 2 0 8 + particle explosion ^0 ^1 ^15 2 2 2 0 8 diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/sword_attack/end.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/sword_attack/end.mcfunction new file mode 100644 index 0000000000..9a062b566b --- /dev/null +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/sword_attack/end.mcfunction @@ -0,0 +1,15 @@ +#> asset:mob/0456.gargo_ex_machina/tick/event/sword_attack/end +# +# 剣叩きつけ +# +# @within asset:mob/0456.gargo_ex_machina/tick/event/sword_attack/event_attack + +# タグ消去 + scoreboard players set @s CO.EventTimer 0 + tag @s remove CO.Skill.SwordAttack.Attack + +# 待機モーション再生 + execute as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run function animated_java:gargo_ex_machina/animations/idle/tween {duration:1, to_frame: 1} + +# 行動 + # function asset:mob/0410.heiloang/tick/act/ diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/sword_attack/event_attack.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/sword_attack/event_attack.mcfunction new file mode 100644 index 0000000000..7f9a572d72 --- /dev/null +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/sword_attack/event_attack.mcfunction @@ -0,0 +1,28 @@ +#> asset:mob/0456.gargo_ex_machina/tick/event/sword_attack/event_attack +# +# 剣叩きつけ +# +# @within asset:mob/0456.gargo_ex_machina/tick/event/ + +# タイマー増加 + scoreboard players add @s CO.EventTimer 1 + +# 攻撃 + # アニメーション再生 + execute if score @s CO.EventTimer matches 1 as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run function animated_java:gargo_ex_machina/animations/sword_smash_attack/tween {duration:1, to_frame: 1} + execute if score @s CO.EventTimer matches 30 as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run function animated_java:gargo_ex_machina/animations/sword_smash_attack/pause + execute if score @s CO.EventTimer matches 60 as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run function animated_java:gargo_ex_machina/animations/sword_smash_attack/resume + # 効果音 + execute if score @s CO.EventTimer matches 1 positioned as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run playsound block.piston.contract hostile @a ~ ~ ~ 2 0.9 + execute if score @s CO.EventTimer matches 65 positioned as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run playsound block.piston.contract hostile @a ~ ~ ~ 2 0.9 + execute if score @s CO.EventTimer matches 93 positioned as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run playsound block.piston.contract hostile @a ~ ~ ~ 2 0.9 + # 攻撃 + execute if score @s CO.EventTimer matches 10 positioned ^ ^ ^25 run function asset:mob/0456.gargo_ex_machina/tick/event/sword_attack/attack + # 攻撃演出 + execute if score @s CO.EventTimer matches 12 positioned ^ ^ ^25 positioned as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run playsound entity.breeze.shoot hostile @a ~ ~ ~ 2 0.9 + execute if score @s CO.EventTimer matches 12 positioned ^ ^ ^25 run function asset:mob/0456.gargo_ex_machina/tick/event/sword_attack/attack_effect_line.m {Dist:0} + execute if score @s CO.EventTimer matches 14 positioned ^ ^ ^25 run function asset:mob/0456.gargo_ex_machina/tick/event/sword_attack/attack_effect_line.m {Dist:15} + execute if score @s CO.EventTimer matches 16 positioned ^ ^ ^25 run function asset:mob/0456.gargo_ex_machina/tick/event/sword_attack/attack_effect_line.m {Dist:30} + +# 終了 + execute if score @s CO.EventTimer matches 95.. run function asset:mob/0456.gargo_ex_machina/tick/event/sword_attack/end diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/sword_attack/event_charging.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/sword_attack/event_charging.mcfunction new file mode 100644 index 0000000000..6aad5fbab0 --- /dev/null +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/sword_attack/event_charging.mcfunction @@ -0,0 +1,19 @@ +#> asset:mob/0456.gargo_ex_machina/tick/event/sword_attack/event_charging +# +# 剣叩きつけ +# +# @within asset:mob/0456.gargo_ex_machina/tick/event/ + +# タイマー増加 + scoreboard players add @s CO.EventTimer 1 + +# 溜め + # アニメーション再生 + execute if score @s CO.EventTimer matches 1 as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run function animated_java:gargo_ex_machina/animations/sword_smash_charge/tween {duration:1, to_frame: 1} + # モデルを合わせる + execute as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run tp @s ~ ~ ~ ~ ~ + # 予告 + execute if score @s CO.EventTimer matches 1 positioned ^ ^ ^25 run function asset:mob/0456.gargo_ex_machina/tick/event/sword_attack/prediction + +# 終了 + execute if score @s CO.EventTimer matches 40.. run function asset:mob/0456.gargo_ex_machina/tick/event/sword_attack/start_attack diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/sword_attack/event_start.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/sword_attack/event_start.mcfunction new file mode 100644 index 0000000000..0d92e59863 --- /dev/null +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/sword_attack/event_start.mcfunction @@ -0,0 +1,22 @@ +#> asset:mob/0456.gargo_ex_machina/tick/event/sword_attack/event_start +# +# 剣叩きつけ +# +# @within asset:mob/0456.gargo_ex_machina/tick/event/ + +# タイマー増加 + scoreboard players add @s CO.EventTimer 1 + +# 構え + # アニメーション再生 + execute if score @s CO.EventTimer matches 1 as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run function animated_java:gargo_ex_machina/animations/sword_smash_start/tween {duration:1, to_frame: 1} + # 効果音 + execute if score @s CO.EventTimer matches 1 positioned as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run playsound block.piston.contract hostile @a ~ ~ ~ 2 0.7 + execute if score @s CO.EventTimer matches 25 positioned as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run playsound block.piston.extend hostile @a ~ ~ ~ 2 0.7 + # 対象を向く + function asset:mob/0456.gargo_ex_machina/tick/util/rotate_to_target + # モデルを合わせる + execute as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run tp @s ~ ~ ~ ~ ~ + +# 溜めに移行 + execute if score @s CO.EventTimer matches 26.. run function asset:mob/0456.gargo_ex_machina/tick/event/sword_attack/start_charging diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/sword_attack/prediction.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/sword_attack/prediction.mcfunction new file mode 100644 index 0000000000..0c2a126aff --- /dev/null +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/sword_attack/prediction.mcfunction @@ -0,0 +1,57 @@ +#> asset:mob/0456.gargo_ex_machina/tick/event/sword_attack/prediction +# +# 剣叩きつけ +# +# @within asset:mob/0456.gargo_ex_machina/tick/event/sword_attack/event_charging + +# 予告:円範囲 + data modify storage api: Argument.ID set value 2063 + execute store result storage api: Argument.FieldOverride.MobUUID int 1 run scoreboard players get @s MobUUID + data modify storage api: Argument.FieldOverride.Color set value 16761175 + data modify storage api: Argument.FieldOverride.Scale set value [20f, 20f, 0.05f] + data modify storage api: Argument.FieldOverride.Tick set value 50 + execute positioned ^ ^0.2 ^ rotated ~ 0 run function api:object/summon + +# 予告 + data modify storage api: Argument.ID set value 2113 + data modify storage api: Argument.FieldOverride.RotationX set from entity @s Rotation[0] + data modify storage api: Argument.FieldOverride.Color set value 16761175 + data modify storage api: Argument.FieldOverride.Scale set value [8f,50f] + data modify storage api: Argument.FieldOverride.Interpolation set value 30 + data modify storage api: Argument.FieldOverride.Tick set value 50 + execute positioned ^ ^0.1 ^ rotated ~ 0 run function api:object/summon + data modify storage api: Argument.ID set value 2113 + data modify storage api: Argument.FieldOverride.RotationX set from entity @s Rotation[0] + data modify storage api: Argument.FieldOverride.Color set value 16761175 + data modify storage api: Argument.FieldOverride.Scale set value [8f,50f] + data modify storage api: Argument.FieldOverride.Interpolation set value 30 + data modify storage api: Argument.FieldOverride.Tick set value 50 + execute positioned ^ ^0.1 ^ rotated ~60 0 run function api:object/summon + data modify storage api: Argument.ID set value 2113 + data modify storage api: Argument.FieldOverride.RotationX set from entity @s Rotation[0] + data modify storage api: Argument.FieldOverride.Color set value 16761175 + data modify storage api: Argument.FieldOverride.Scale set value [8f,50f] + data modify storage api: Argument.FieldOverride.Interpolation set value 30 + data modify storage api: Argument.FieldOverride.Tick set value 50 + execute positioned ^ ^0.1 ^ rotated ~-60 0 run function api:object/summon + data modify storage api: Argument.ID set value 2113 + data modify storage api: Argument.FieldOverride.RotationX set from entity @s Rotation[0] + data modify storage api: Argument.FieldOverride.Color set value 16761175 + data modify storage api: Argument.FieldOverride.Scale set value [8f,50f] + data modify storage api: Argument.FieldOverride.Interpolation set value 30 + data modify storage api: Argument.FieldOverride.Tick set value 50 + execute positioned ^ ^0.1 ^ rotated ~120 0 run function api:object/summon + data modify storage api: Argument.ID set value 2113 + data modify storage api: Argument.FieldOverride.RotationX set from entity @s Rotation[0] + data modify storage api: Argument.FieldOverride.Color set value 16761175 + data modify storage api: Argument.FieldOverride.Scale set value [8f,50f] + data modify storage api: Argument.FieldOverride.Interpolation set value 30 + data modify storage api: Argument.FieldOverride.Tick set value 50 + execute positioned ^ ^0.1 ^ rotated ~-120 0 run function api:object/summon + data modify storage api: Argument.ID set value 2113 + data modify storage api: Argument.FieldOverride.RotationX set from entity @s Rotation[0] + data modify storage api: Argument.FieldOverride.Color set value 16761175 + data modify storage api: Argument.FieldOverride.Scale set value [8f,50f] + data modify storage api: Argument.FieldOverride.Interpolation set value 30 + data modify storage api: Argument.FieldOverride.Tick set value 50 + execute positioned ^ ^0.1 ^ rotated ~180 0 run function api:object/summon diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/sword_attack/start_attack.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/sword_attack/start_attack.mcfunction new file mode 100644 index 0000000000..eec75902fc --- /dev/null +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/sword_attack/start_attack.mcfunction @@ -0,0 +1,10 @@ +#> asset:mob/0456.gargo_ex_machina/tick/event/sword_attack/start_attack +# +# 剣叩きつけ +# +# @within asset:mob/0456.gargo_ex_machina/tick/event/sword_attack/event_charging + +# タグ更新 + scoreboard players set @s CO.EventTimer 0 + tag @s remove CO.Skill.SwordAttack.Charge + tag @s add CO.Skill.SwordAttack.Attack diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/sword_attack/start_charging.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/sword_attack/start_charging.mcfunction new file mode 100644 index 0000000000..a216a1488c --- /dev/null +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/sword_attack/start_charging.mcfunction @@ -0,0 +1,10 @@ +#> asset:mob/0456.gargo_ex_machina/tick/event/sword_attack/start_charging +# +# 剣叩きつけ +# +# @within asset:mob/0456.gargo_ex_machina/tick/event/sword_attack/event_start + +# タグ更新 + scoreboard players set @s CO.EventTimer 0 + tag @s remove CO.Skill.SwordAttack + tag @s add CO.Skill.SwordAttack.Charge diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/util/change_target.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/util/change_target.mcfunction new file mode 100644 index 0000000000..a2603ac461 --- /dev/null +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/util/change_target.mcfunction @@ -0,0 +1,9 @@ +#> asset:mob/0456.gargo_ex_machina/tick/util/change_target +# +# ターゲットを向く +# +# @within asset:mob/0456.gargo_ex_machina/tick/** + +# ターゲットをランダムに指定 + tag @a remove CO.MainTarget + tag @r[distance=..80] add CO.MainTarget diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/util/rotate_to_target.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/util/rotate_to_target.mcfunction new file mode 100644 index 0000000000..89f7803550 --- /dev/null +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/util/rotate_to_target.mcfunction @@ -0,0 +1,8 @@ +#> asset:mob/0456.gargo_ex_machina/tick/util/rotate_to_target +# +# ターゲットを向く +# +# @within asset:mob/0456.gargo_ex_machina/tick/** + +# 対象の方を向く + execute rotated ~ 0 positioned ^ ^ ^-1 facing entity @p[tag=CO.MainTarget] feet rotated ~ 0 positioned ^ ^ ^-1 facing entity @s feet positioned as @s positioned ^ ^ ^-1 rotated as @s rotated ~ 0 positioned ^ ^ ^-1 facing entity @s feet positioned as @s run tp @s ^ ^ ^ ~ 0 From 05a6a247b92fce7af5334c84db571d8dc7b8fa86 Mon Sep 17 00:00:00 2001 From: mokkkk Date: Sat, 14 Feb 2026 16:38:45 +0900 Subject: [PATCH 06/98] =?UTF-8?q?=E5=8D=8A=E9=9D=A2=E7=84=BC=E3=81=8D?= =?UTF-8?q?=E3=83=93=E3=83=BC=E3=83=A0=E5=8B=95=E4=BD=9C=E4=BD=9C=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../0456.gargo_ex_machina/_index.d.mcfunction | 9 ++ .../0456.gargo_ex_machina/register.mcfunction | 3 + .../tick/debug/interrupt.mcfunction | 2 +- .../tick/event/.mcfunction | 5 + .../tick/event/half_beam/attack.mcfunction | 25 ++++ .../event/half_beam/attack_effect.mcfunction | 129 ++++++++++++++++++ .../half_beam/attack_effect_line.m.mcfunction | 13 ++ .../half_beam/attack_effect_line.mcfunction | 24 ++++ .../tick/event/half_beam/end.mcfunction | 16 +++ .../event/half_beam/event_attack.mcfunction | 40 ++++++ .../event/half_beam/event_charging.mcfunction | 38 ++++++ .../event/half_beam/event_start.mcfunction | 26 ++++ .../event/half_beam/prediction.mcfunction | 14 ++ .../event/half_beam/start_attack.mcfunction | 10 ++ .../event/half_beam/start_charging.mcfunction | 10 ++ .../event/sword_attack/prediction.mcfunction | 14 +- 16 files changed, 370 insertions(+), 8 deletions(-) create mode 100644 Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam/attack.mcfunction create mode 100644 Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam/attack_effect.mcfunction create mode 100644 Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam/attack_effect_line.m.mcfunction create mode 100644 Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam/attack_effect_line.mcfunction create mode 100644 Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam/end.mcfunction create mode 100644 Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam/event_attack.mcfunction create mode 100644 Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam/event_charging.mcfunction create mode 100644 Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam/event_start.mcfunction create mode 100644 Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam/prediction.mcfunction create mode 100644 Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam/start_attack.mcfunction create mode 100644 Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam/start_charging.mcfunction diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/_index.d.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/_index.d.mcfunction index 9e512a1e19..9e35919a87 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/_index.d.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/_index.d.mcfunction @@ -13,6 +13,10 @@ #declare tag CO.Skill.SwordAttack 剣叩きつけ #declare tag CO.Skill.SwordAttack.Charge 剣叩きつけ #declare tag CO.Skill.SwordAttack.Attack 剣叩きつけ + #declare tag CO.Skill.HalfBeam 半面焼きビーム + #declare tag CO.Skill.HalfBeam.Charge 半面焼きビーム + #declare tag CO.Skill.HalfBeam.Attack 半面焼きビーム + #declare tag CO.Skill.HalfBeam.IsRight 半面焼きビーム # - オブジェクト用 #declare tag CO.Object #declare tag CO.Shadow @@ -44,4 +48,9 @@ #declare function animated_java:gargo_ex_machina/animations/sword_smash_attack/tween #declare function animated_java:gargo_ex_machina/animations/sword_smash_attack/pause #declare function animated_java:gargo_ex_machina/animations/sword_smash_attack/resume + #declare function animated_java:gargo_ex_machina/animations/beam_start/tween + #declare function animated_java:gargo_ex_machina/animations/beam_charge/tween + #declare function animated_java:gargo_ex_machina/animations/beam_attack_right/tween + #declare function animated_java:gargo_ex_machina/animations/beam_attack_left/tween + #declare function animated_java:gargo_ex_machina/animations/beam_end/tween #declare function animated_java:gargo_ex_machina/remove/all diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/register.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/register.mcfunction index 9320274a36..8c7d9926cf 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/register.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/register.mcfunction @@ -37,4 +37,7 @@ data modify storage asset:mob Field.FirstPos.X set value 527.5 data modify storage asset:mob Field.FirstPos.Y set value 91.0 data modify storage asset:mob Field.FirstPos.Z set value 836.0 + # 剣叩きつけ data modify storage asset:mob Field.Damage.SwordAttack set value 50.0 + # 半面焼きビーム + data modify storage asset:mob Field.Damage.HalfBeam set value 50.0 diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/debug/interrupt.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/debug/interrupt.mcfunction index 067e615d31..c116e7ccd3 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/debug/interrupt.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/debug/interrupt.mcfunction @@ -19,5 +19,5 @@ # イベント実行 # scoreboard players set @s BE.EventTimer 0 - tag @s add CO.Skill.SwordAttack + tag @s add CO.Skill.HalfBeam # scoreboard players set @s BE.Pb.Count 5 diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/.mcfunction index 3d620b1970..18e43bc61c 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/.mcfunction @@ -11,3 +11,8 @@ execute if entity @s[tag=CO.Skill.SwordAttack] run function asset:mob/0456.gargo_ex_machina/tick/event/sword_attack/event_start execute if entity @s[tag=CO.Skill.SwordAttack.Charge] run function asset:mob/0456.gargo_ex_machina/tick/event/sword_attack/event_charging execute if entity @s[tag=CO.Skill.SwordAttack.Attack] run function asset:mob/0456.gargo_ex_machina/tick/event/sword_attack/event_attack + +# 半面焼きビーム + execute if entity @s[tag=CO.Skill.HalfBeam] run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam/event_start + execute if entity @s[tag=CO.Skill.HalfBeam.Charge] run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam/event_charging + execute if entity @s[tag=CO.Skill.HalfBeam.Attack] run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam/event_attack diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam/attack.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam/attack.mcfunction new file mode 100644 index 0000000000..738c5d1eab --- /dev/null +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam/attack.mcfunction @@ -0,0 +1,25 @@ +#> asset:mob/0456.gargo_ex_machina/tick/event/half_beam/attack +# +# 半面焼きビーム +# +# @within asset:mob/0456.gargo_ex_machina/tick/event/half_beam/event_attack + +# ヒット判定 + # 直線範囲 + tag @a[tag=DXYZ] remove DXYZ + data modify storage lib: args.dx set value 40 + data modify storage lib: args.dy set value 5 + data modify storage lib: args.dz set value 20 + data modify storage lib: args.selector set value "@a[tag=!PlayerShouldInvulnerable,distance=..50]" + execute rotated ~ 0 positioned ^ ^ ^20 run function lib:rotatable_dxyz/m with storage lib: args + +# ダメージ + data modify storage api: Argument.Damage set from storage asset:context this.Damage.HalfBeam + data modify storage api: Argument.AttackType set value "Physical" + data modify storage api: Argument.ElementType set value "None" + function api:damage/modifier + execute as @a[tag=DXYZ] run function api:damage/ + function api:damage/reset + +# 終了 + tag @a[tag=DXYZ] remove DXYZ diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam/attack_effect.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam/attack_effect.mcfunction new file mode 100644 index 0000000000..f38f5ff659 --- /dev/null +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam/attack_effect.mcfunction @@ -0,0 +1,129 @@ +#> asset:mob/0456.gargo_ex_machina/tick/event/half_beam/attack_effect +# +# 剣叩きつけ +# +# @within asset:mob/0456.gargo_ex_machina/tick/event/half_beam/event_attack + +# 効果音 + playsound entity.generic.explode hostile @a ~ ~ ~ 2 0.7 + +# パーティクル + # [ImportKey]: NobwRALgngDgpmAXGANgSwHYIDRgK55oAmSYATAOxEAcAbACwBmFAtAMa1Uv0CsAzERYAjWgAZGLHkICMAQwCc1PrOrSOYXBlkBbBMkBbvgAJpGsDFkAnHQGck4NgHs8GCEmk9cjCw+12wAN1kUPD1wAA8kFjIPMCgkUQBfBNwIBz9A4NCwCMRo3DjEROSwB0ZGazhXQtwhOAAvNDgLeNw0awAhesaLAFEARzwglCgAZXM2OBJERiCKpOxwaHhSdCxTAmJSOFl6Pmp5Hmp2AR5uajhToSkyFlEyeVEeMgE+DjZTLV1SI2l2Bxg4rhzFZtLZEPYnC43DEvD50kEQn4clEYgUePNIGlwQEEVkcnlYkh0cVSuVKi0wLUGk0KW1OtTegMhqNxpMkDMUHNkotYHpUJgcPhCFMwDt5GxZHxaLIWPJOKxeLJWDtpKIWNIGERGHKVEJZEIPjo+T8-gDTYCzJYbH5HM4qu5PN5fNiMojsciCQVVRjUvDMkikJ63EVcKSKlVRDUujTqmA6dHGYMUMMxrIJlMOVyFpBeSsBethVs4BQpBQ+Gq4DIbvQhHqWLIyEQZfI4NJ5EIm7Q2EJRKJDV8DMZzebTMDrdjbVDEA6wLDneBXXjIkHp8SUliF7iA7lUdCMWHybGqd1aR0E-0kynWRnZnB5jzlshVoKNiKiDw4HwmIw2MJ6BwzmUWV5AoVgyA7ahDilHheANTQjW+IdHDNZCLTHUEbUhe0YSdP03XCZdd1yENMTwpcd3yQMSIPCMowZU96W6C9mVTdN2VvJIAF0gA_3 + # 線 1-copy-copy + particle explosion ^-25 ^ ^20 3 2 3 0 1 + particle explosion ^-21.42857 ^ ^20 3 2 3 0 1 + particle explosion ^-17.85714 ^ ^20 3 2 3 0 1 + particle explosion ^-14.28571 ^ ^20 3 2 3 0 1 + particle explosion ^-10.71429 ^ ^20 3 2 3 0 1 + particle explosion ^-7.14286 ^ ^20 3 2 3 0 1 + particle explosion ^-3.57143 ^ ^20 3 2 3 0 1 + particle explosion ^0 ^ ^20 3 2 3 0 1 + particle explosion ^3.57143 ^ ^20 3 2 3 0 1 + particle explosion ^7.14286 ^ ^20 3 2 3 0 1 + particle explosion ^10.71429 ^ ^20 3 2 3 0 1 + particle explosion ^14.28571 ^ ^20 3 2 3 0 1 + particle explosion ^17.85714 ^ ^20 3 2 3 0 1 + particle explosion ^21.42857 ^ ^20 3 2 3 0 1 + particle explosion ^25 ^ ^20 3 2 3 0 1 + # 線 1 + particle explosion ^-25 ^ ^0 3 2 3 0 1 + particle explosion ^-21.42857 ^ ^0 3 2 3 0 1 + particle explosion ^-17.85714 ^ ^0 3 2 3 0 1 + particle explosion ^-14.28571 ^ ^0 3 2 3 0 1 + particle explosion ^-10.71429 ^ ^0 3 2 3 0 1 + particle explosion ^-7.14286 ^ ^0 3 2 3 0 1 + particle explosion ^-3.57143 ^ ^0 3 2 3 0 1 + particle explosion ^0 ^ ^0 3 2 3 0 1 + particle explosion ^3.57143 ^ ^0 3 2 3 0 1 + particle explosion ^7.14286 ^ ^0 3 2 3 0 1 + particle explosion ^10.71429 ^ ^0 3 2 3 0 1 + particle explosion ^14.28571 ^ ^0 3 2 3 0 1 + particle explosion ^17.85714 ^ ^0 3 2 3 0 1 + particle explosion ^21.42857 ^ ^0 3 2 3 0 1 + particle explosion ^25 ^ ^0 3 2 3 0 1 + # 線 1-copy + particle explosion ^-25 ^ ^5 3 2 3 0 1 + particle explosion ^-21.42857 ^ ^5 3 2 3 0 1 + particle explosion ^-17.85714 ^ ^5 3 2 3 0 1 + particle explosion ^-14.28571 ^ ^5 3 2 3 0 1 + particle explosion ^-10.71429 ^ ^5 3 2 3 0 1 + particle explosion ^-7.14286 ^ ^5 3 2 3 0 1 + particle explosion ^-3.57143 ^ ^5 3 2 3 0 1 + particle explosion ^0 ^ ^5 3 2 3 0 1 + particle explosion ^3.57143 ^ ^5 3 2 3 0 1 + particle explosion ^7.14286 ^ ^5 3 2 3 0 1 + particle explosion ^10.71429 ^ ^5 3 2 3 0 1 + particle explosion ^14.28571 ^ ^5 3 2 3 0 1 + particle explosion ^17.85714 ^ ^5 3 2 3 0 1 + particle explosion ^21.42857 ^ ^5 3 2 3 0 1 + particle explosion ^25 ^ ^5 3 2 3 0 1 + # 線 1-copy-copy + particle explosion ^-25 ^ ^10 3 2 3 0 1 + particle explosion ^-21.42857 ^ ^10 3 2 3 0 1 + particle explosion ^-17.85714 ^ ^10 3 2 3 0 1 + particle explosion ^-14.28571 ^ ^10 3 2 3 0 1 + particle explosion ^-10.71429 ^ ^10 3 2 3 0 1 + particle explosion ^-7.14286 ^ ^10 3 2 3 0 1 + particle explosion ^-3.57143 ^ ^10 3 2 3 0 1 + particle explosion ^0 ^ ^10 3 2 3 0 1 + particle explosion ^3.57143 ^ ^10 3 2 3 0 1 + particle explosion ^7.14286 ^ ^10 3 2 3 0 1 + particle explosion ^10.71429 ^ ^10 3 2 3 0 1 + particle explosion ^14.28571 ^ ^10 3 2 3 0 1 + particle explosion ^17.85714 ^ ^10 3 2 3 0 1 + particle explosion ^21.42857 ^ ^10 3 2 3 0 1 + particle explosion ^25 ^ ^10 3 2 3 0 1 + # 線 1-copy-copy + particle explosion ^-25 ^ ^15 3 2 3 0 1 + particle explosion ^-21.42857 ^ ^15 3 2 3 0 1 + particle explosion ^-17.85714 ^ ^15 3 2 3 0 1 + particle explosion ^-14.28571 ^ ^15 3 2 3 0 1 + particle explosion ^-10.71429 ^ ^15 3 2 3 0 1 + particle explosion ^-7.14286 ^ ^15 3 2 3 0 1 + particle explosion ^-3.57143 ^ ^15 3 2 3 0 1 + particle explosion ^0 ^ ^15 3 2 3 0 1 + particle explosion ^3.57143 ^ ^15 3 2 3 0 1 + particle explosion ^7.14286 ^ ^15 3 2 3 0 1 + particle explosion ^10.71429 ^ ^15 3 2 3 0 1 + particle explosion ^14.28571 ^ ^15 3 2 3 0 1 + particle explosion ^17.85714 ^ ^15 3 2 3 0 1 + particle explosion ^21.42857 ^ ^15 3 2 3 0 1 + particle explosion ^25 ^ ^15 3 2 3 0 1 + # [ImportKey]: NobwRALgngDgpmAXGANgSwHYIDRgK55oAmSYATAOxEAcAbACwBmFAtAMa1Uv0CsAzERYAjWgAZGLHkICMAQwCc1PrOrSOYXBlkBbBMkBbvgAJpGsDFkAnHQGck4NgHs8GCEgq5GFh9rtgAbrIoeHrgAB5ILGQ8uFBIogC+8bgQDr4BQSFg4YhRMXGJuA6MjNZwroiiuEJwAF5ocBZxuGjWAEK19RYAogCOeIEoUADK5mxwJIiMgaUF4NDwpOhYpgTEpHCy9HzU8jzU7AI83NRwR0JSZCyiZPKiPGQCfBxsplq6pEbS7A4wsbjmVm0tkQ9icLiQtA8Xh8IP8gWCvmykWiYFiiB4BUgqVh6QRsOyuVRSAxSTARRKZSaYGqdQaVJa7Vp3T6A2Go3GSCmKBmSTmsD0qEwOHwhAmYE28jYsj4tFkLHknFYvFkrE20lELGkDCIjAVKiEsiErx0As+31+5r+ZksNl8jmc5RRnm8aXhmSRhLR6sxKVdGURSE9SG9pPJpXKlWpHTpFWabWjzP6KEGI1kYwmXJ52D5C2QS2FqzFcDgFCkFD4GrgMku9CEBpYsjIRDl8jg0nkQmbtDYQlEomN7wMxktltMANtsPt4MQ1ChLpxboDiGReUQ0hJyWx4Fx7sDKK9G7JxXDVJpnXp8aZvSTKfZGemcFmkH5iyFK1FpCIPDgfCYjDYwj0BwxzKPK8gUKwZCdtQewyjwvBGpoJofMOjgWmhVrjkCdpguUkJgM6MLbou+IREGOQJKSvoLv6pE5PugaUYUx6UrGUZMhejKdNerKpumnIPokAC6QA_3 + # 線 1-copy-copy + particle lava ^-25 ^ ^20 3 1 3 0 1 + particle lava ^-15 ^ ^20 3 1 3 0 1 + particle lava ^-5 ^ ^20 3 1 3 0 1 + particle lava ^5 ^ ^20 3 1 3 0 1 + particle lava ^15 ^ ^20 3 1 3 0 1 + particle lava ^25 ^ ^20 3 1 3 0 1 + # 線 1 + particle lava ^-25 ^ ^0 3 1 3 0 1 + particle lava ^-16.66667 ^ ^0 3 1 3 0 1 + particle lava ^-8.33333 ^ ^0 3 1 3 0 1 + particle lava ^0 ^ ^0 3 1 3 0 1 + particle lava ^8.33333 ^ ^0 3 1 3 0 1 + particle lava ^16.66667 ^ ^0 3 1 3 0 1 + particle lava ^25 ^ ^0 3 1 3 0 1 + # 線 1-copy + particle lava ^-25 ^ ^5 3 1 3 0 1 + particle lava ^-15 ^ ^5 3 1 3 0 1 + particle lava ^-5 ^ ^5 3 1 3 0 1 + particle lava ^5 ^ ^5 3 1 3 0 1 + particle lava ^15 ^ ^5 3 1 3 0 1 + particle lava ^25 ^ ^5 3 1 3 0 1 + # 線 1-copy-copy + particle lava ^-25 ^ ^10 3 1 3 0 1 + particle lava ^-12.5 ^ ^10 3 1 3 0 1 + particle lava ^0 ^ ^10 3 1 3 0 1 + particle lava ^12.5 ^ ^10 3 1 3 0 1 + particle lava ^25 ^ ^10 3 1 3 0 1 + # 線 1-copy-copy + particle lava ^-25 ^ ^15 3 1 3 0 1 + particle lava ^-17.85714 ^ ^15 3 1 3 0 1 + particle lava ^-10.71429 ^ ^15 3 1 3 0 1 + particle lava ^-3.57143 ^ ^15 3 1 3 0 1 + particle lava ^3.57143 ^ ^15 3 1 3 0 1 + particle lava ^10.71429 ^ ^15 3 1 3 0 1 + particle lava ^17.85714 ^ ^15 3 1 3 0 1 + particle lava ^25 ^ ^15 3 1 3 0 1 diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam/attack_effect_line.m.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam/attack_effect_line.m.mcfunction new file mode 100644 index 0000000000..508caf067f --- /dev/null +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam/attack_effect_line.m.mcfunction @@ -0,0 +1,13 @@ +#> asset:mob/0456.gargo_ex_machina/tick/event/sword_attack/attack_effect_line.m +# +# 剣叩きつけ +# +# @within asset:mob/0456.gargo_ex_machina/tick/event/sword_attack/event_attack + +# パーティクル + $execute rotated ~0 ~ positioned ^ ^ ^$(Dist) run function asset:mob/0456.gargo_ex_machina/tick/event/sword_attack/attack_effect_line + $execute rotated ~60 ~ positioned ^ ^ ^$(Dist) run function asset:mob/0456.gargo_ex_machina/tick/event/sword_attack/attack_effect_line + $execute rotated ~-60 ~ positioned ^ ^ ^$(Dist) run function asset:mob/0456.gargo_ex_machina/tick/event/sword_attack/attack_effect_line + $execute rotated ~120 ~ positioned ^ ^ ^$(Dist) run function asset:mob/0456.gargo_ex_machina/tick/event/sword_attack/attack_effect_line + $execute rotated ~-120 ~ positioned ^ ^ ^$(Dist) run function asset:mob/0456.gargo_ex_machina/tick/event/sword_attack/attack_effect_line + $execute rotated ~180 ~ positioned ^ ^ ^$(Dist) run function asset:mob/0456.gargo_ex_machina/tick/event/sword_attack/attack_effect_line diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam/attack_effect_line.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam/attack_effect_line.mcfunction new file mode 100644 index 0000000000..bf7ac29c0f --- /dev/null +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam/attack_effect_line.mcfunction @@ -0,0 +1,24 @@ +#> asset:mob/0456.gargo_ex_machina/tick/event/sword_attack/attack_effect_line +# +# 剣叩きつけ +# +# @within asset:mob/0456.gargo_ex_machina/tick/event/sword_attack/attack_effect_line.m + +# パーティクル + # [ImportKey]: NobwRALgngDgpmAXGANgSwHYIDRgK55oAmSYATAOxEAcAbACwBmFAtAMa1Uv0CsAzERYAjWgAZGLHkICMAQwCc1PrOrSOYXBlkBbBMkBbvgAJpGsDFkAnHQGck4NgHs8GCEmk9cjCw+12wAN1kUPD1wAA8kUVwoSIBfWNwIBz9A4NCwCMQosBjEd3jcB0ZGazhXLNwhOAAvNDgLSNw0awAhGrqLAFEARzwglCgAZXM2OBJERiDS+IBdIA_3 + # 線 1 + particle explosion ^0 ^1 ^0 2 2 2 0 8 + particle explosion ^0 ^1 ^1.07143 2 2 2 0 8 + particle explosion ^0 ^1 ^2.14286 2 2 2 0 8 + particle explosion ^0 ^1 ^3.21429 2 2 2 0 8 + particle explosion ^0 ^1 ^4.28571 2 2 2 0 8 + particle explosion ^0 ^1 ^5.35714 2 2 2 0 8 + particle explosion ^0 ^1 ^6.42857 2 2 2 0 8 + particle explosion ^0 ^1 ^7.5 2 2 2 0 8 + particle explosion ^0 ^1 ^8.57143 2 2 2 0 8 + particle explosion ^0 ^1 ^9.64286 2 2 2 0 8 + particle explosion ^0 ^1 ^10.71429 2 2 2 0 8 + particle explosion ^0 ^1 ^11.78571 2 2 2 0 8 + particle explosion ^0 ^1 ^12.85714 2 2 2 0 8 + particle explosion ^0 ^1 ^13.92857 2 2 2 0 8 + particle explosion ^0 ^1 ^15 2 2 2 0 8 diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam/end.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam/end.mcfunction new file mode 100644 index 0000000000..8c6544349f --- /dev/null +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam/end.mcfunction @@ -0,0 +1,16 @@ +#> asset:mob/0456.gargo_ex_machina/tick/event/half_beam/end +# +# 半面焼きビーム +# +# @within asset:mob/0456.gargo_ex_machina/tick/event/half_beam/event_attack + +# タグ消去 + scoreboard players set @s CO.EventTimer 0 + tag @s remove CO.Skill.HalfBeam.Attack + tag @s remove CO.Skill.HalfBeam.IsRight + +# 待機モーション再生 + execute as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run function animated_java:gargo_ex_machina/animations/idle/tween {duration:1, to_frame: 1} + +# 行動 + # function asset:mob/0410.heiloang/tick/act/ diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam/event_attack.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam/event_attack.mcfunction new file mode 100644 index 0000000000..605098497d --- /dev/null +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam/event_attack.mcfunction @@ -0,0 +1,40 @@ +#> asset:mob/0456.gargo_ex_machina/tick/event/half_beam/event_attack +# +# 半面焼きビーム +# +# @within asset:mob/0456.gargo_ex_machina/tick/event/ + +# タイマー増加 + scoreboard players add @s CO.EventTimer 1 + +# 攻撃 + # アニメーション再生 + execute if entity @s[tag=CO.Skill.HalfBeam.IsRight] if score @s CO.EventTimer matches 1 as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run function animated_java:gargo_ex_machina/animations/beam_attack_right/tween {duration:1, to_frame: 1} + execute unless entity @s[tag=CO.Skill.HalfBeam.IsRight] if score @s CO.EventTimer matches 1 as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run function animated_java:gargo_ex_machina/animations/beam_attack_left/tween {duration:1, to_frame: 1} + execute if score @s CO.EventTimer matches 60 as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run function animated_java:gargo_ex_machina/animations/beam_end/tween {duration:1, to_frame: 1} + # 効果音 + execute if score @s CO.EventTimer matches 1 run playsound block.piston.extend hostile @a ~ ~ ~ 2 0.7 + execute if score @s CO.EventTimer matches 10 run playsound block.piston.contract hostile @a ~ ~ ~ 2 0.8 + execute if score @s CO.EventTimer matches 15 run playsound block.piston.contract hostile @a ~ ~ ~ 2 0.8 + execute if score @s CO.EventTimer matches 41 run playsound block.piston.extend hostile @a ~ ~ ~ 2 0.8 + execute if score @s CO.EventTimer matches 60 run playsound block.piston.extend hostile @a ~ ~ ~ 2 0.8 + execute if score @s CO.EventTimer matches 94 run playsound block.piston.extend hostile @a ~ ~ ~ 2 0.8 + # 攻撃 + execute if entity @s[tag=CO.Skill.HalfBeam.IsRight] if score @s CO.EventTimer matches 23 rotated ~90 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam/attack + execute unless entity @s[tag=CO.Skill.HalfBeam.IsRight] if score @s CO.EventTimer matches 23 rotated ~-90 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam/attack + # 攻撃演出 + execute if score @s CO.EventTimer matches 11 run playsound entity.breeze.jump hostile @a ~ ~ ~ 2 0.5 + execute if score @s CO.EventTimer matches 11 run playsound entity.breeze.jump hostile @a ~ ~ ~ 2 0.6 + execute if entity @s[tag=CO.Skill.HalfBeam.IsRight] if score @s CO.EventTimer matches 23 rotated ~90 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam/attack_effect + execute if entity @s[tag=CO.Skill.HalfBeam.IsRight] if score @s CO.EventTimer matches 25 rotated ~90 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam/attack_effect + execute if entity @s[tag=CO.Skill.HalfBeam.IsRight] if score @s CO.EventTimer matches 27 rotated ~90 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam/attack_effect + execute if entity @s[tag=CO.Skill.HalfBeam.IsRight] if score @s CO.EventTimer matches 29 rotated ~90 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam/attack_effect + execute if entity @s[tag=CO.Skill.HalfBeam.IsRight] if score @s CO.EventTimer matches 31 rotated ~90 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam/attack_effect + execute unless entity @s[tag=CO.Skill.HalfBeam.IsRight] if score @s CO.EventTimer matches 23 rotated ~-90 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam/attack_effect + execute unless entity @s[tag=CO.Skill.HalfBeam.IsRight] if score @s CO.EventTimer matches 25 rotated ~-90 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam/attack_effect + execute unless entity @s[tag=CO.Skill.HalfBeam.IsRight] if score @s CO.EventTimer matches 27 rotated ~-90 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam/attack_effect + execute unless entity @s[tag=CO.Skill.HalfBeam.IsRight] if score @s CO.EventTimer matches 29 rotated ~-90 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam/attack_effect + execute unless entity @s[tag=CO.Skill.HalfBeam.IsRight] if score @s CO.EventTimer matches 31 rotated ~-90 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam/attack_effect + +# 終了 + execute if score @s CO.EventTimer matches 95.. run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam/end diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam/event_charging.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam/event_charging.mcfunction new file mode 100644 index 0000000000..49dbc6a2e5 --- /dev/null +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam/event_charging.mcfunction @@ -0,0 +1,38 @@ +#> asset:mob/0456.gargo_ex_machina/tick/event/half_beam/event_charging +# +# 半面焼きビーム +# +# @within asset:mob/0456.gargo_ex_machina/tick/event/ + +# タイマー増加 + scoreboard players add @s CO.EventTimer 1 + +# 溜め + # アニメーション再生 + execute if score @s CO.EventTimer matches 1 as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run function animated_java:gargo_ex_machina/animations/beam_charge/tween {duration:1, to_frame: 1} + # モデルを合わせる + execute as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run tp @s ~ ~ ~ ~ ~ + # 予告 + execute if entity @s[tag=CO.Skill.HalfBeam.IsRight] if score @s CO.EventTimer matches 5 rotated ~90 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam/prediction + execute unless entity @s[tag=CO.Skill.HalfBeam.IsRight] if score @s CO.EventTimer matches 5 rotated ~-90 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam/prediction + # 効果音 + execute if score @s CO.EventTimer matches 1..100 positioned ~ ~15 ~ run particle end_rod ~ ~ ~ 2 2 2 0.05 1 + +# 予告 + # 攻撃方向をランダムに決定 + execute if score @s CO.EventTimer matches 1 if predicate lib:random_pass_per/50 run tag @s add CO.Skill.HalfBeam.IsRight + execute if entity @s[tag=CO.Skill.HalfBeam.IsRight] if score @s CO.EventTimer matches 1 run tellraw @a [{"text":"【石像の","color": "dark_purple","bold": true},{"text":" 右眼 ","color": "red","bold": true},{"text":"が光り始めた!!】","color": "dark_purple","bold": true}] + execute unless entity @s[tag=CO.Skill.HalfBeam.IsRight] if score @s CO.EventTimer matches 1 run tellraw @a [{"text":"【石像の","color": "dark_purple","bold": true},{"text":" 左眼 ","color": "blue","bold": true},{"text":"が光り始めた!!】","color": "dark_purple","bold": true}] + execute if score @s CO.EventTimer matches 1 run playsound block.beacon.activate hostile @a ~ ~ ~ 2 1.5 + execute if score @s CO.EventTimer matches 1 run playsound block.beacon.activate hostile @a ~ ~ ~ 2 1.5 + execute if score @s CO.EventTimer matches 20 run playsound block.beacon.activate hostile @a ~ ~ ~ 2 1.6 + execute if score @s CO.EventTimer matches 20 run playsound block.beacon.activate hostile @a ~ ~ ~ 2 1.6 + execute if score @s CO.EventTimer matches 40 run playsound block.beacon.activate hostile @a ~ ~ ~ 2 1.7 + execute if score @s CO.EventTimer matches 40 run playsound block.beacon.activate hostile @a ~ ~ ~ 2 1.7 + execute if score @s CO.EventTimer matches 60 run playsound block.beacon.activate hostile @a ~ ~ ~ 2 1.8 + execute if score @s CO.EventTimer matches 60 run playsound block.beacon.activate hostile @a ~ ~ ~ 2 1.8 + execute if score @s CO.EventTimer matches 80 run playsound block.beacon.activate hostile @a ~ ~ ~ 2 2 + execute if score @s CO.EventTimer matches 80 run playsound block.beacon.activate hostile @a ~ ~ ~ 2 2 + +# 終了 + execute if score @s CO.EventTimer matches 100.. run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam/start_attack diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam/event_start.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam/event_start.mcfunction new file mode 100644 index 0000000000..0648d3940b --- /dev/null +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam/event_start.mcfunction @@ -0,0 +1,26 @@ +#> asset:mob/0456.gargo_ex_machina/tick/event/half_beam/event_start +# +# 半面焼きビーム +# +# @within asset:mob/0456.gargo_ex_machina/tick/event/ + +# タイマー増加 + scoreboard players add @s CO.EventTimer 1 + +# 構え + # アニメーション再生 + execute if score @s CO.EventTimer matches 1 as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run function animated_java:gargo_ex_machina/animations/beam_start/tween {duration:1, to_frame: 1} + # 効果音 + execute if score @s CO.EventTimer matches 1 run playsound block.piston.contract hostile @a ~ ~ ~ 2 0.7 + execute if score @s CO.EventTimer matches 22 run playsound entity.ravager.step hostile @a ~ ~ ~ 2 0.7 + execute if score @s CO.EventTimer matches 22 run playsound entity.ravager.step hostile @a ~ ~ ~ 2 0.6 + execute if score @s CO.EventTimer matches 22 run playsound entity.ravager.step hostile @a ~ ~ ~ 2 0.5 + execute if score @s CO.EventTimer matches 25 run playsound block.piston.extend hostile @a ~ ~ ~ 2 0.7 + # モデルを合わせる + execute as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run tp @s ~ ~ ~ ~ ~ + # 演出 + execute if score @s CO.EventTimer matches 21 positioned ^ ^ ^6 run particle explosion ~ ~ ~ 1 0.5 1 0 6 + execute if score @s CO.EventTimer matches 21 positioned ^ ^ ^6 run particle block quartz_block ~ ~ ~ 1 0.5 1 0 100 + +# 溜めに移行 + execute if score @s CO.EventTimer matches 36.. run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam/start_charging diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam/prediction.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam/prediction.mcfunction new file mode 100644 index 0000000000..438f4f5488 --- /dev/null +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam/prediction.mcfunction @@ -0,0 +1,14 @@ +#> asset:mob/0456.gargo_ex_machina/tick/event/half_beam/prediction +# +# 半面焼きビーム +# +# @within asset:mob/0456.gargo_ex_machina/tick/event/half_beam/event_charging + +# 予告 + data modify storage api: Argument.ID set value 2113 + data modify storage api: Argument.FieldOverride.RotationX set from entity @s Rotation[0] + data modify storage api: Argument.FieldOverride.Color set value 3381759 + data modify storage api: Argument.FieldOverride.Scale set value [80f,40f] + data modify storage api: Argument.FieldOverride.Interpolation set value 5 + data modify storage api: Argument.FieldOverride.Tick set value 118 + execute positioned ^ ^0.1 ^ rotated ~ 0 run function api:object/summon diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam/start_attack.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam/start_attack.mcfunction new file mode 100644 index 0000000000..affa3486fa --- /dev/null +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam/start_attack.mcfunction @@ -0,0 +1,10 @@ +#> asset:mob/0456.gargo_ex_machina/tick/event/half_beam/start_attack +# +# 半面焼きビーム +# +# @within asset:mob/0456.gargo_ex_machina/tick/event/half_beam/event_charging + +# タグ更新 + scoreboard players set @s CO.EventTimer 0 + tag @s remove CO.Skill.HalfBeam.Charge + tag @s add CO.Skill.HalfBeam.Attack diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam/start_charging.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam/start_charging.mcfunction new file mode 100644 index 0000000000..3fe10233d2 --- /dev/null +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam/start_charging.mcfunction @@ -0,0 +1,10 @@ +#> asset:mob/0456.gargo_ex_machina/tick/event/half_beam/start_charging +# +# 半面焼きビーム +# +# @within asset:mob/0456.gargo_ex_machina/tick/event/half_beam/event_start + +# タグ更新 + scoreboard players set @s CO.EventTimer 0 + tag @s remove CO.Skill.HalfBeam + tag @s add CO.Skill.HalfBeam.Charge diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/sword_attack/prediction.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/sword_attack/prediction.mcfunction index 0c2a126aff..abab180ff7 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/sword_attack/prediction.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/sword_attack/prediction.mcfunction @@ -7,7 +7,7 @@ # 予告:円範囲 data modify storage api: Argument.ID set value 2063 execute store result storage api: Argument.FieldOverride.MobUUID int 1 run scoreboard players get @s MobUUID - data modify storage api: Argument.FieldOverride.Color set value 16761175 + data modify storage api: Argument.FieldOverride.Color set value 3381759 data modify storage api: Argument.FieldOverride.Scale set value [20f, 20f, 0.05f] data modify storage api: Argument.FieldOverride.Tick set value 50 execute positioned ^ ^0.2 ^ rotated ~ 0 run function api:object/summon @@ -15,42 +15,42 @@ # 予告 data modify storage api: Argument.ID set value 2113 data modify storage api: Argument.FieldOverride.RotationX set from entity @s Rotation[0] - data modify storage api: Argument.FieldOverride.Color set value 16761175 + data modify storage api: Argument.FieldOverride.Color set value 3381759 data modify storage api: Argument.FieldOverride.Scale set value [8f,50f] data modify storage api: Argument.FieldOverride.Interpolation set value 30 data modify storage api: Argument.FieldOverride.Tick set value 50 execute positioned ^ ^0.1 ^ rotated ~ 0 run function api:object/summon data modify storage api: Argument.ID set value 2113 data modify storage api: Argument.FieldOverride.RotationX set from entity @s Rotation[0] - data modify storage api: Argument.FieldOverride.Color set value 16761175 + data modify storage api: Argument.FieldOverride.Color set value 3381759 data modify storage api: Argument.FieldOverride.Scale set value [8f,50f] data modify storage api: Argument.FieldOverride.Interpolation set value 30 data modify storage api: Argument.FieldOverride.Tick set value 50 execute positioned ^ ^0.1 ^ rotated ~60 0 run function api:object/summon data modify storage api: Argument.ID set value 2113 data modify storage api: Argument.FieldOverride.RotationX set from entity @s Rotation[0] - data modify storage api: Argument.FieldOverride.Color set value 16761175 + data modify storage api: Argument.FieldOverride.Color set value 3381759 data modify storage api: Argument.FieldOverride.Scale set value [8f,50f] data modify storage api: Argument.FieldOverride.Interpolation set value 30 data modify storage api: Argument.FieldOverride.Tick set value 50 execute positioned ^ ^0.1 ^ rotated ~-60 0 run function api:object/summon data modify storage api: Argument.ID set value 2113 data modify storage api: Argument.FieldOverride.RotationX set from entity @s Rotation[0] - data modify storage api: Argument.FieldOverride.Color set value 16761175 + data modify storage api: Argument.FieldOverride.Color set value 3381759 data modify storage api: Argument.FieldOverride.Scale set value [8f,50f] data modify storage api: Argument.FieldOverride.Interpolation set value 30 data modify storage api: Argument.FieldOverride.Tick set value 50 execute positioned ^ ^0.1 ^ rotated ~120 0 run function api:object/summon data modify storage api: Argument.ID set value 2113 data modify storage api: Argument.FieldOverride.RotationX set from entity @s Rotation[0] - data modify storage api: Argument.FieldOverride.Color set value 16761175 + data modify storage api: Argument.FieldOverride.Color set value 3381759 data modify storage api: Argument.FieldOverride.Scale set value [8f,50f] data modify storage api: Argument.FieldOverride.Interpolation set value 30 data modify storage api: Argument.FieldOverride.Tick set value 50 execute positioned ^ ^0.1 ^ rotated ~-120 0 run function api:object/summon data modify storage api: Argument.ID set value 2113 data modify storage api: Argument.FieldOverride.RotationX set from entity @s Rotation[0] - data modify storage api: Argument.FieldOverride.Color set value 16761175 + data modify storage api: Argument.FieldOverride.Color set value 3381759 data modify storage api: Argument.FieldOverride.Scale set value [8f,50f] data modify storage api: Argument.FieldOverride.Interpolation set value 30 data modify storage api: Argument.FieldOverride.Tick set value 50 From f754d04e33e68dfda4316a024f203e4ff0ab5549 Mon Sep 17 00:00:00 2001 From: mokkkk Date: Sat, 14 Feb 2026 16:46:53 +0900 Subject: [PATCH 07/98] =?UTF-8?q?=E3=83=93=E3=83=BC=E3=83=A0=E6=8C=99?= =?UTF-8?q?=E5=8B=95=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../tick/event/half_beam/attack.mcfunction | 7 +++- .../event/half_beam/attack_effect.mcfunction | 40 ++++++++++++++++++- .../half_beam/attack_effect_line.m.mcfunction | 13 ------ .../half_beam/attack_effect_line.mcfunction | 24 ----------- .../half_beam/attack_effect_start.mcfunction | 11 +++++ .../event/half_beam/event_attack.mcfunction | 21 +++++----- .../event/half_beam/event_charging.mcfunction | 4 +- .../event/half_beam/prediction.mcfunction | 11 ++++- 8 files changed, 76 insertions(+), 55 deletions(-) delete mode 100644 Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam/attack_effect_line.m.mcfunction delete mode 100644 Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam/attack_effect_line.mcfunction create mode 100644 Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam/attack_effect_start.mcfunction diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam/attack.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam/attack.mcfunction index 738c5d1eab..5f69de20f8 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam/attack.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam/attack.mcfunction @@ -11,7 +11,12 @@ data modify storage lib: args.dy set value 5 data modify storage lib: args.dz set value 20 data modify storage lib: args.selector set value "@a[tag=!PlayerShouldInvulnerable,distance=..50]" - execute rotated ~ 0 positioned ^ ^ ^20 run function lib:rotatable_dxyz/m with storage lib: args + execute rotated ~30 0 positioned ^ ^ ^20 run function lib:rotatable_dxyz/m with storage lib: args + data modify storage lib: args.dx set value 40 + data modify storage lib: args.dy set value 5 + data modify storage lib: args.dz set value 20 + data modify storage lib: args.selector set value "@a[tag=!PlayerShouldInvulnerable,distance=..50]" + execute rotated ~-30 0 positioned ^ ^ ^20 run function lib:rotatable_dxyz/m with storage lib: args # ダメージ data modify storage api: Argument.Damage set from storage asset:context this.Damage.HalfBeam diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam/attack_effect.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam/attack_effect.mcfunction index f38f5ff659..2b2d3bfc47 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam/attack_effect.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam/attack_effect.mcfunction @@ -2,7 +2,7 @@ # # 剣叩きつけ # -# @within asset:mob/0456.gargo_ex_machina/tick/event/half_beam/event_attack +# @within asset:mob/0456.gargo_ex_machina/tick/event/half_beam/attack_effect_start # 効果音 playsound entity.generic.explode hostile @a ~ ~ ~ 2 0.7 @@ -91,6 +91,44 @@ particle explosion ^25 ^ ^15 3 2 3 0 1 # [ImportKey]: NobwRALgngDgpmAXGANgSwHYIDRgK55oAmSYATAOxEAcAbACwBmFAtAMa1Uv0CsAzERYAjWgAZGLHkICMAQwCc1PrOrSOYXBlkBbBMkBbvgAJpGsDFkAnHQGck4NgHs8GCEgq5GFh9rtgAbrIoeHrgAB5ILGQ8uFBIogC+8bgQDr4BQSFg4YhRMXGJuA6MjNZwroiiuEJwAF5ocBZxuGjWAEK19RYAogCOeIEoUADK5mxwJIiMgaUF4NDwpOhYpgTEpHCy9HzU8jzU7AI83NRwR0JSZCyiZPKiPGQCfBxsplq6pEbS7A4wsbjmVm0tkQ9icLiQtA8Xh8IP8gWCvmykWiYFiiB4BUgqVh6QRsOyuVRSAxSTARRKZSaYGqdQaVJa7Vp3T6A2Go3GSCmKBmSTmsD0qEwOHwhAmYE28jYsj4tFkLHknFYvFkrE20lELGkDCIjAVKiEsiErx0As+31+5r+ZksNl8jmc5RRnm8aXhmSRhLR6sxKVdGURSE9SG9pPJpXKlWpHTpFWabWjzP6KEGI1kYwmXJ52D5C2QS2FqzFcDgFCkFD4GrgMku9CEBpYsjIRDl8jg0nkQmbtDYQlEomN7wMxktltMANtsPt4MQ1ChLpxboDiGReUQ0hJyWx4Fx7sDKK9G7JxXDVJpnXp8aZvSTKfZGemcFmkH5iyFK1FpCIPDgfCYjDYwj0BwxzKPK8gUKwZCdtQewyjwvBGpoJofMOjgWmhVrjkCdpguUkJgM6MLbou+IREGOQJKSvoLv6pE5PugaUYUx6UrGUZMhejKdNerKpumnIPokAC6QA_3 # 線 1-copy-copy + particle flash ^-25 ^ ^20 3 1 3 0 1 + particle flash ^-15 ^ ^20 3 1 3 0 1 + particle flash ^-5 ^ ^20 3 1 3 0 1 + particle flash ^5 ^ ^20 3 1 3 0 1 + particle flash ^15 ^ ^20 3 1 3 0 1 + particle flash ^25 ^ ^20 3 1 3 0 1 + # 線 1 + particle flash ^-25 ^ ^0 3 1 3 0 1 + particle flash ^-16.66667 ^ ^0 3 1 3 0 1 + particle flash ^-8.33333 ^ ^0 3 1 3 0 1 + particle flash ^0 ^ ^0 3 1 3 0 1 + particle flash ^8.33333 ^ ^0 3 1 3 0 1 + particle flash ^16.66667 ^ ^0 3 1 3 0 1 + particle flash ^25 ^ ^0 3 1 3 0 1 + # 線 1-copy + particle flash ^-25 ^ ^5 3 1 3 0 1 + particle flash ^-15 ^ ^5 3 1 3 0 1 + particle flash ^-5 ^ ^5 3 1 3 0 1 + particle flash ^5 ^ ^5 3 1 3 0 1 + particle flash ^15 ^ ^5 3 1 3 0 1 + particle flash ^25 ^ ^5 3 1 3 0 1 + # 線 1-copy-copy + particle flash ^-25 ^ ^10 3 1 3 0 1 + particle flash ^-12.5 ^ ^10 3 1 3 0 1 + particle flash ^0 ^ ^10 3 1 3 0 1 + particle flash ^12.5 ^ ^10 3 1 3 0 1 + particle flash ^25 ^ ^10 3 1 3 0 1 + # 線 1-copy-copy + particle flash ^-25 ^ ^15 3 1 3 0 1 + particle flash ^-17.85714 ^ ^15 3 1 3 0 1 + particle flash ^-10.71429 ^ ^15 3 1 3 0 1 + particle flash ^-3.57143 ^ ^15 3 1 3 0 1 + particle flash ^3.57143 ^ ^15 3 1 3 0 1 + particle flash ^10.71429 ^ ^15 3 1 3 0 1 + particle flash ^17.85714 ^ ^15 3 1 3 0 1 + particle flash ^25 ^ ^15 3 1 3 0 1 + # [ImportKey]: NobwRALgngDgpmAXGANgSwHYIDRgK55oAmSYATAOxEAcAbACwBmFAtAMa1Uv0CsAzERYAjWgAZGLHkICMAQwCc1PrOrSOYXBlkBbBMkBbvgAJpGsDFkAnHQGck4NgHs8GCEgq5GFh9rtgAbrIoeHrgAB5ILGQ8uFBIogC+8bgQDr4BQSFg4YhRMXGJuA6MjNZwroiiuEJwAF5ocBZxuGjWAEK19RYAogCOeIEoUADK5mxwJIiMgaUF4NDwpOhYpgTEpHCy9HzU8jzU7AI83NRwR0JSZCyiZPKiPGQCfBxsplq6pEbS7A4wsbjmVm0tkQ9icLiQtA8Xh8IP8gWCvmykWiYFiiB4BUgqVh6QRsOyuVRSAxSTARRKZSaYGqdQaVJa7Vp3T6A2Go3GSCmKBmSTmsD0qEwOHwhAmYE28jYsj4tFkLHknFYvFkrE20lELGkDCIjAVKiEsiErx0As+31+5r+ZksNl8jmc5RRnm8aXhmSRhLR6sxKVdGURSE9SG9pPJpXKlWpHTpFWabWjzP6KEGI1kYwmXJ52D5C2QS2FqzFcDgFCkFD4GrgMku9CEBpYsjIRDl8jg0nkQmbtDYQlEomN7wMxktltMANtsPt4MQ1ChLpxboDiGReUQ0hJyWx4Fx7sDKK9G7JxXDVJpnXp8aZvSTKfZGemcFmkH5iyFK1FpCIPDgfCYjDYwj0BwxzKPK8gUKwZCdtQewyjwvBGpoJofMOjgWmhVrjkCdpguUkJgM6MLbou+IREGOQJKSvoLv6pE5PugaUYUx6UrGUZMhejKdNerKpumnIPokAC6QA_3 + # 線 1-copy-copy particle lava ^-25 ^ ^20 3 1 3 0 1 particle lava ^-15 ^ ^20 3 1 3 0 1 particle lava ^-5 ^ ^20 3 1 3 0 1 diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam/attack_effect_line.m.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam/attack_effect_line.m.mcfunction deleted file mode 100644 index 508caf067f..0000000000 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam/attack_effect_line.m.mcfunction +++ /dev/null @@ -1,13 +0,0 @@ -#> asset:mob/0456.gargo_ex_machina/tick/event/sword_attack/attack_effect_line.m -# -# 剣叩きつけ -# -# @within asset:mob/0456.gargo_ex_machina/tick/event/sword_attack/event_attack - -# パーティクル - $execute rotated ~0 ~ positioned ^ ^ ^$(Dist) run function asset:mob/0456.gargo_ex_machina/tick/event/sword_attack/attack_effect_line - $execute rotated ~60 ~ positioned ^ ^ ^$(Dist) run function asset:mob/0456.gargo_ex_machina/tick/event/sword_attack/attack_effect_line - $execute rotated ~-60 ~ positioned ^ ^ ^$(Dist) run function asset:mob/0456.gargo_ex_machina/tick/event/sword_attack/attack_effect_line - $execute rotated ~120 ~ positioned ^ ^ ^$(Dist) run function asset:mob/0456.gargo_ex_machina/tick/event/sword_attack/attack_effect_line - $execute rotated ~-120 ~ positioned ^ ^ ^$(Dist) run function asset:mob/0456.gargo_ex_machina/tick/event/sword_attack/attack_effect_line - $execute rotated ~180 ~ positioned ^ ^ ^$(Dist) run function asset:mob/0456.gargo_ex_machina/tick/event/sword_attack/attack_effect_line diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam/attack_effect_line.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam/attack_effect_line.mcfunction deleted file mode 100644 index bf7ac29c0f..0000000000 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam/attack_effect_line.mcfunction +++ /dev/null @@ -1,24 +0,0 @@ -#> asset:mob/0456.gargo_ex_machina/tick/event/sword_attack/attack_effect_line -# -# 剣叩きつけ -# -# @within asset:mob/0456.gargo_ex_machina/tick/event/sword_attack/attack_effect_line.m - -# パーティクル - # [ImportKey]: NobwRALgngDgpmAXGANgSwHYIDRgK55oAmSYATAOxEAcAbACwBmFAtAMa1Uv0CsAzERYAjWgAZGLHkICMAQwCc1PrOrSOYXBlkBbBMkBbvgAJpGsDFkAnHQGck4NgHs8GCEmk9cjCw+12wAN1kUPD1wAA8kUVwoSIBfWNwIBz9A4NCwCMQosBjEd3jcB0ZGazhXLNwhOAAvNDgLSNw0awAhGrqLAFEARzwglCgAZXM2OBJERiDS+IBdIA_3 - # 線 1 - particle explosion ^0 ^1 ^0 2 2 2 0 8 - particle explosion ^0 ^1 ^1.07143 2 2 2 0 8 - particle explosion ^0 ^1 ^2.14286 2 2 2 0 8 - particle explosion ^0 ^1 ^3.21429 2 2 2 0 8 - particle explosion ^0 ^1 ^4.28571 2 2 2 0 8 - particle explosion ^0 ^1 ^5.35714 2 2 2 0 8 - particle explosion ^0 ^1 ^6.42857 2 2 2 0 8 - particle explosion ^0 ^1 ^7.5 2 2 2 0 8 - particle explosion ^0 ^1 ^8.57143 2 2 2 0 8 - particle explosion ^0 ^1 ^9.64286 2 2 2 0 8 - particle explosion ^0 ^1 ^10.71429 2 2 2 0 8 - particle explosion ^0 ^1 ^11.78571 2 2 2 0 8 - particle explosion ^0 ^1 ^12.85714 2 2 2 0 8 - particle explosion ^0 ^1 ^13.92857 2 2 2 0 8 - particle explosion ^0 ^1 ^15 2 2 2 0 8 diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam/attack_effect_start.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam/attack_effect_start.mcfunction new file mode 100644 index 0000000000..164f6a7874 --- /dev/null +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam/attack_effect_start.mcfunction @@ -0,0 +1,11 @@ +#> asset:mob/0456.gargo_ex_machina/tick/event/half_beam/attack_effect_start +# +# 剣叩きつけ +# +# @within asset:mob/0456.gargo_ex_machina/tick/event/half_beam/event_attack + +# 演出 + execute if entity @s[tag=CO.Skill.HalfBeam.IsRight] rotated ~60 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam/attack_effect + execute if entity @s[tag=CO.Skill.HalfBeam.IsRight] rotated ~120 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam/attack_effect + execute unless entity @s[tag=CO.Skill.HalfBeam.IsRight] rotated ~-60 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam/attack_effect + execute unless entity @s[tag=CO.Skill.HalfBeam.IsRight] rotated ~-120 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam/attack_effect diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam/event_attack.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam/event_attack.mcfunction index 605098497d..b374850369 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam/event_attack.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam/event_attack.mcfunction @@ -23,18 +23,15 @@ execute if entity @s[tag=CO.Skill.HalfBeam.IsRight] if score @s CO.EventTimer matches 23 rotated ~90 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam/attack execute unless entity @s[tag=CO.Skill.HalfBeam.IsRight] if score @s CO.EventTimer matches 23 rotated ~-90 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam/attack # 攻撃演出 - execute if score @s CO.EventTimer matches 11 run playsound entity.breeze.jump hostile @a ~ ~ ~ 2 0.5 - execute if score @s CO.EventTimer matches 11 run playsound entity.breeze.jump hostile @a ~ ~ ~ 2 0.6 - execute if entity @s[tag=CO.Skill.HalfBeam.IsRight] if score @s CO.EventTimer matches 23 rotated ~90 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam/attack_effect - execute if entity @s[tag=CO.Skill.HalfBeam.IsRight] if score @s CO.EventTimer matches 25 rotated ~90 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam/attack_effect - execute if entity @s[tag=CO.Skill.HalfBeam.IsRight] if score @s CO.EventTimer matches 27 rotated ~90 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam/attack_effect - execute if entity @s[tag=CO.Skill.HalfBeam.IsRight] if score @s CO.EventTimer matches 29 rotated ~90 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam/attack_effect - execute if entity @s[tag=CO.Skill.HalfBeam.IsRight] if score @s CO.EventTimer matches 31 rotated ~90 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam/attack_effect - execute unless entity @s[tag=CO.Skill.HalfBeam.IsRight] if score @s CO.EventTimer matches 23 rotated ~-90 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam/attack_effect - execute unless entity @s[tag=CO.Skill.HalfBeam.IsRight] if score @s CO.EventTimer matches 25 rotated ~-90 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam/attack_effect - execute unless entity @s[tag=CO.Skill.HalfBeam.IsRight] if score @s CO.EventTimer matches 27 rotated ~-90 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam/attack_effect - execute unless entity @s[tag=CO.Skill.HalfBeam.IsRight] if score @s CO.EventTimer matches 29 rotated ~-90 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam/attack_effect - execute unless entity @s[tag=CO.Skill.HalfBeam.IsRight] if score @s CO.EventTimer matches 31 rotated ~-90 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam/attack_effect + execute if score @s CO.EventTimer matches 11..18 run playsound entity.breeze.jump hostile @a ~ ~ ~ 2 0.5 + execute if score @s CO.EventTimer matches 11..18 run playsound entity.breeze.jump hostile @a ~ ~ ~ 2 0.6 + execute if score @s CO.EventTimer matches 23 run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam/attack_effect_start + execute if score @s CO.EventTimer matches 25 run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam/attack_effect_start + execute if score @s CO.EventTimer matches 27 run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam/attack_effect_start + execute if score @s CO.EventTimer matches 29 run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam/attack_effect_start + execute if score @s CO.EventTimer matches 31 run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam/attack_effect_start + execute if score @s CO.EventTimer matches 33 run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam/attack_effect_start + execute if score @s CO.EventTimer matches 35 run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam/attack_effect_start # 終了 execute if score @s CO.EventTimer matches 95.. run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam/end diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam/event_charging.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam/event_charging.mcfunction index 49dbc6a2e5..07992d0b70 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam/event_charging.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam/event_charging.mcfunction @@ -13,8 +13,8 @@ # モデルを合わせる execute as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run tp @s ~ ~ ~ ~ ~ # 予告 - execute if entity @s[tag=CO.Skill.HalfBeam.IsRight] if score @s CO.EventTimer matches 5 rotated ~90 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam/prediction - execute unless entity @s[tag=CO.Skill.HalfBeam.IsRight] if score @s CO.EventTimer matches 5 rotated ~-90 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam/prediction + execute if entity @s[tag=CO.Skill.HalfBeam.IsRight] if score @s CO.EventTimer matches 55 rotated ~90 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam/prediction + execute unless entity @s[tag=CO.Skill.HalfBeam.IsRight] if score @s CO.EventTimer matches 55 rotated ~-90 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam/prediction # 効果音 execute if score @s CO.EventTimer matches 1..100 positioned ~ ~15 ~ run particle end_rod ~ ~ ~ 2 2 2 0.05 1 diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam/prediction.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam/prediction.mcfunction index 438f4f5488..d2df246106 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam/prediction.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam/prediction.mcfunction @@ -10,5 +10,12 @@ data modify storage api: Argument.FieldOverride.Color set value 3381759 data modify storage api: Argument.FieldOverride.Scale set value [80f,40f] data modify storage api: Argument.FieldOverride.Interpolation set value 5 - data modify storage api: Argument.FieldOverride.Tick set value 118 - execute positioned ^ ^0.1 ^ rotated ~ 0 run function api:object/summon + data modify storage api: Argument.FieldOverride.Tick set value 68 + execute positioned ^ ^0.1 ^ rotated ~-30 0 run function api:object/summon + data modify storage api: Argument.ID set value 2113 + data modify storage api: Argument.FieldOverride.RotationX set from entity @s Rotation[0] + data modify storage api: Argument.FieldOverride.Color set value 3381759 + data modify storage api: Argument.FieldOverride.Scale set value [80f,40f] + data modify storage api: Argument.FieldOverride.Interpolation set value 5 + data modify storage api: Argument.FieldOverride.Tick set value 68 + execute positioned ^ ^0.2 ^ rotated ~30 0 run function api:object/summon From 64106137799e1cdaa5a61755ee70c99370462c14 Mon Sep 17 00:00:00 2001 From: mokkkk Date: Sat, 14 Feb 2026 18:05:17 +0900 Subject: [PATCH 08/98] =?UTF-8?q?=E5=8D=8A=E9=9D=A2=E7=84=BC=E3=81=8D?= =?UTF-8?q?=E3=83=93=E3=83=BC=E3=83=A0=E7=94=A8=E3=81=AE=E6=BC=94=E5=87=BA?= =?UTF-8?q?=E3=82=AA=E3=83=96=E3=82=B8=E3=82=A7=E3=82=AF=E3=83=88=E8=BF=BD?= =?UTF-8?q?=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../tick/event/half_beam/attack.mcfunction | 12 +++++----- .../event/half_beam/event_attack.mcfunction | 17 ++++++------- .../event/half_beam/event_charging.mcfunction | 6 +++-- .../event/half_beam/event_start.mcfunction | 4 ++-- .../event/half_beam/prediction.m.mcfunction | 14 +++++++++++ .../event/half_beam/prediction.mcfunction | 21 ---------------- .../event/half_beam/summon_laser.mcfunction | 11 +++++++++ .../half_beam/summon_laser_start.mcfunction | 24 +++++++++++++++++++ .../tick/util/sound.mcfunction | 10 ++++++++ .../2263.gem_laser_vfx/_index.d.mcfunction | 6 +++++ .../2263.gem_laser_vfx/init/.mcfunction | 8 +++++++ .../object/2263.gem_laser_vfx/load.mcfunction | 9 +++++++ .../2263.gem_laser_vfx/register.mcfunction | 20 ++++++++++++++++ .../2263.gem_laser_vfx/summon/.mcfunction | 8 +++++++ .../summon/debug.mcfunction | 10 ++++++++ .../2263.gem_laser_vfx/summon/m.mcfunction | 8 +++++++ .../2263.gem_laser_vfx/tick/.mcfunction | 24 +++++++++++++++++++ .../object/alias/2263/init.mcfunction | 8 +++++++ .../object/alias/2263/register.mcfunction | 8 +++++++ .../object/alias/2263/summon.mcfunction | 8 +++++++ .../object/alias/2263/tick.mcfunction | 8 +++++++ .../asset/tags/functions/object/load.json | 1 + 22 files changed, 206 insertions(+), 39 deletions(-) create mode 100644 Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam/prediction.m.mcfunction delete mode 100644 Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam/prediction.mcfunction create mode 100644 Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam/summon_laser.mcfunction create mode 100644 Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam/summon_laser_start.mcfunction create mode 100644 Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/util/sound.mcfunction create mode 100644 Asset/data/asset/functions/object/2263.gem_laser_vfx/_index.d.mcfunction create mode 100644 Asset/data/asset/functions/object/2263.gem_laser_vfx/init/.mcfunction create mode 100644 Asset/data/asset/functions/object/2263.gem_laser_vfx/load.mcfunction create mode 100644 Asset/data/asset/functions/object/2263.gem_laser_vfx/register.mcfunction create mode 100644 Asset/data/asset/functions/object/2263.gem_laser_vfx/summon/.mcfunction create mode 100644 Asset/data/asset/functions/object/2263.gem_laser_vfx/summon/debug.mcfunction create mode 100644 Asset/data/asset/functions/object/2263.gem_laser_vfx/summon/m.mcfunction create mode 100644 Asset/data/asset/functions/object/2263.gem_laser_vfx/tick/.mcfunction create mode 100644 Asset/data/asset/functions/object/alias/2263/init.mcfunction create mode 100644 Asset/data/asset/functions/object/alias/2263/register.mcfunction create mode 100644 Asset/data/asset/functions/object/alias/2263/summon.mcfunction create mode 100644 Asset/data/asset/functions/object/alias/2263/tick.mcfunction diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam/attack.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam/attack.mcfunction index 5f69de20f8..16e32cc25b 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam/attack.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam/attack.mcfunction @@ -7,16 +7,16 @@ # ヒット判定 # 直線範囲 tag @a[tag=DXYZ] remove DXYZ - data modify storage lib: args.dx set value 40 + data modify storage lib: args.dx set value 20 data modify storage lib: args.dy set value 5 - data modify storage lib: args.dz set value 20 + data modify storage lib: args.dz set value 40 data modify storage lib: args.selector set value "@a[tag=!PlayerShouldInvulnerable,distance=..50]" - execute rotated ~30 0 positioned ^ ^ ^20 run function lib:rotatable_dxyz/m with storage lib: args - data modify storage lib: args.dx set value 40 + execute rotated ~30 0 positioned ^ ^ ^ run function lib:rotatable_dxyz/m with storage lib: args + data modify storage lib: args.dx set value 20 data modify storage lib: args.dy set value 5 - data modify storage lib: args.dz set value 20 + data modify storage lib: args.dz set value 40 data modify storage lib: args.selector set value "@a[tag=!PlayerShouldInvulnerable,distance=..50]" - execute rotated ~-30 0 positioned ^ ^ ^20 run function lib:rotatable_dxyz/m with storage lib: args + execute rotated ~-30 0 positioned ^ ^ ^ run function lib:rotatable_dxyz/m with storage lib: args # ダメージ data modify storage api: Argument.Damage set from storage asset:context this.Damage.HalfBeam diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam/event_attack.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam/event_attack.mcfunction index b374850369..5b3aa33151 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam/event_attack.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam/event_attack.mcfunction @@ -13,16 +13,17 @@ execute unless entity @s[tag=CO.Skill.HalfBeam.IsRight] if score @s CO.EventTimer matches 1 as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run function animated_java:gargo_ex_machina/animations/beam_attack_left/tween {duration:1, to_frame: 1} execute if score @s CO.EventTimer matches 60 as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run function animated_java:gargo_ex_machina/animations/beam_end/tween {duration:1, to_frame: 1} # 効果音 - execute if score @s CO.EventTimer matches 1 run playsound block.piston.extend hostile @a ~ ~ ~ 2 0.7 - execute if score @s CO.EventTimer matches 10 run playsound block.piston.contract hostile @a ~ ~ ~ 2 0.8 - execute if score @s CO.EventTimer matches 15 run playsound block.piston.contract hostile @a ~ ~ ~ 2 0.8 - execute if score @s CO.EventTimer matches 41 run playsound block.piston.extend hostile @a ~ ~ ~ 2 0.8 - execute if score @s CO.EventTimer matches 60 run playsound block.piston.extend hostile @a ~ ~ ~ 2 0.8 - execute if score @s CO.EventTimer matches 94 run playsound block.piston.extend hostile @a ~ ~ ~ 2 0.8 + execute if score @s CO.EventTimer matches 1 run function asset:mob/0456.gargo_ex_machina/tick/util/sound + execute if score @s CO.EventTimer matches 1 run playsound ui.stonecutter.take_result hostile @a ~ ~ ~ 2 0.5 + execute if score @s CO.EventTimer matches 10 run function asset:mob/0456.gargo_ex_machina/tick/util/sound + execute if score @s CO.EventTimer matches 15 run function asset:mob/0456.gargo_ex_machina/tick/util/sound + execute if score @s CO.EventTimer matches 41 run function asset:mob/0456.gargo_ex_machina/tick/util/sound + execute if score @s CO.EventTimer matches 60 run function asset:mob/0456.gargo_ex_machina/tick/util/sound # 攻撃 - execute if entity @s[tag=CO.Skill.HalfBeam.IsRight] if score @s CO.EventTimer matches 23 rotated ~90 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam/attack - execute unless entity @s[tag=CO.Skill.HalfBeam.IsRight] if score @s CO.EventTimer matches 23 rotated ~-90 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam/attack + execute if entity @s[tag=CO.Skill.HalfBeam.IsRight] if score @s CO.EventTimer matches 23 positioned ^-25 ^ ^ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam/attack + execute unless entity @s[tag=CO.Skill.HalfBeam.IsRight] if score @s CO.EventTimer matches 23 positioned ^25 ^ ^ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam/attack # 攻撃演出 + execute if score @s CO.EventTimer matches 11 positioned ~ ~15 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam/summon_laser_start execute if score @s CO.EventTimer matches 11..18 run playsound entity.breeze.jump hostile @a ~ ~ ~ 2 0.5 execute if score @s CO.EventTimer matches 11..18 run playsound entity.breeze.jump hostile @a ~ ~ ~ 2 0.6 execute if score @s CO.EventTimer matches 23 run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam/attack_effect_start diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam/event_charging.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam/event_charging.mcfunction index 07992d0b70..f6a88413d7 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam/event_charging.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam/event_charging.mcfunction @@ -13,8 +13,10 @@ # モデルを合わせる execute as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run tp @s ~ ~ ~ ~ ~ # 予告 - execute if entity @s[tag=CO.Skill.HalfBeam.IsRight] if score @s CO.EventTimer matches 55 rotated ~90 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam/prediction - execute unless entity @s[tag=CO.Skill.HalfBeam.IsRight] if score @s CO.EventTimer matches 55 rotated ~-90 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam/prediction + execute if entity @s[tag=CO.Skill.HalfBeam.IsRight] if score @s CO.EventTimer matches 35 positioned ^-25 ^ ^ rotated ~-30 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam/prediction.m {Tick:88} + execute if entity @s[tag=CO.Skill.HalfBeam.IsRight] if score @s CO.EventTimer matches 55 positioned ^-25 ^0.05 ^ rotated ~30 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam/prediction.m {Tick:68} + execute unless entity @s[tag=CO.Skill.HalfBeam.IsRight] if score @s CO.EventTimer matches 35 positioned ^25 ^ ^ rotated ~30 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam/prediction.m {Tick:88} + execute unless entity @s[tag=CO.Skill.HalfBeam.IsRight] if score @s CO.EventTimer matches 55 positioned ^25 ^0.05 ^ rotated ~-30 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam/prediction.m {Tick:68} # 効果音 execute if score @s CO.EventTimer matches 1..100 positioned ~ ~15 ~ run particle end_rod ~ ~ ~ 2 2 2 0.05 1 diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam/event_start.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam/event_start.mcfunction index 0648d3940b..c710f40aeb 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam/event_start.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam/event_start.mcfunction @@ -11,11 +11,11 @@ # アニメーション再生 execute if score @s CO.EventTimer matches 1 as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run function animated_java:gargo_ex_machina/animations/beam_start/tween {duration:1, to_frame: 1} # 効果音 - execute if score @s CO.EventTimer matches 1 run playsound block.piston.contract hostile @a ~ ~ ~ 2 0.7 + execute if score @s CO.EventTimer matches 1 run function asset:mob/0456.gargo_ex_machina/tick/util/sound execute if score @s CO.EventTimer matches 22 run playsound entity.ravager.step hostile @a ~ ~ ~ 2 0.7 execute if score @s CO.EventTimer matches 22 run playsound entity.ravager.step hostile @a ~ ~ ~ 2 0.6 execute if score @s CO.EventTimer matches 22 run playsound entity.ravager.step hostile @a ~ ~ ~ 2 0.5 - execute if score @s CO.EventTimer matches 25 run playsound block.piston.extend hostile @a ~ ~ ~ 2 0.7 + execute if score @s CO.EventTimer matches 25 run function asset:mob/0456.gargo_ex_machina/tick/util/sound # モデルを合わせる execute as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run tp @s ~ ~ ~ ~ ~ # 演出 diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam/prediction.m.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam/prediction.m.mcfunction new file mode 100644 index 0000000000..7a3a728e26 --- /dev/null +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam/prediction.m.mcfunction @@ -0,0 +1,14 @@ +#> asset:mob/0456.gargo_ex_machina/tick/event/half_beam/prediction.m +# +# 半面焼きビーム +# +# @within asset:mob/0456.gargo_ex_machina/tick/event/half_beam/event_charging + +# 予告 + data modify storage api: Argument.ID set value 2113 + data modify storage api: Argument.FieldOverride.RotationX set from entity @s Rotation[0] + data modify storage api: Argument.FieldOverride.Color set value 3381759 + data modify storage api: Argument.FieldOverride.Scale set value [40f,80f] + data modify storage api: Argument.FieldOverride.Interpolation set value 20 + $data modify storage api: Argument.FieldOverride.Tick set value $(Tick) + execute positioned ^ ^0.1 ^40 rotated ~180 0 run function api:object/summon diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam/prediction.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam/prediction.mcfunction deleted file mode 100644 index d2df246106..0000000000 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam/prediction.mcfunction +++ /dev/null @@ -1,21 +0,0 @@ -#> asset:mob/0456.gargo_ex_machina/tick/event/half_beam/prediction -# -# 半面焼きビーム -# -# @within asset:mob/0456.gargo_ex_machina/tick/event/half_beam/event_charging - -# 予告 - data modify storage api: Argument.ID set value 2113 - data modify storage api: Argument.FieldOverride.RotationX set from entity @s Rotation[0] - data modify storage api: Argument.FieldOverride.Color set value 3381759 - data modify storage api: Argument.FieldOverride.Scale set value [80f,40f] - data modify storage api: Argument.FieldOverride.Interpolation set value 5 - data modify storage api: Argument.FieldOverride.Tick set value 68 - execute positioned ^ ^0.1 ^ rotated ~-30 0 run function api:object/summon - data modify storage api: Argument.ID set value 2113 - data modify storage api: Argument.FieldOverride.RotationX set from entity @s Rotation[0] - data modify storage api: Argument.FieldOverride.Color set value 3381759 - data modify storage api: Argument.FieldOverride.Scale set value [80f,40f] - data modify storage api: Argument.FieldOverride.Interpolation set value 5 - data modify storage api: Argument.FieldOverride.Tick set value 68 - execute positioned ^ ^0.2 ^ rotated ~30 0 run function api:object/summon diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam/summon_laser.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam/summon_laser.mcfunction new file mode 100644 index 0000000000..650882ea3f --- /dev/null +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam/summon_laser.mcfunction @@ -0,0 +1,11 @@ +#> asset:mob/0456.gargo_ex_machina/tick/event/half_beam/summon_laser +# +# 半面焼きビーム +# +# @within asset:mob/0456.gargo_ex_machina/tick/event/half_beam/summon_laser_start + +# 演出 + data modify storage api: Argument.ID set value 2263 + data modify storage api: Argument.FieldOverride.Rotation set from entity @s Rotation + execute if entity @s[tag=CO.Skill.HalfBeam.IsRight] run data modify storage api: Argument.FieldOverride.IsRight set value true + function api:object/summon diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam/summon_laser_start.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam/summon_laser_start.mcfunction new file mode 100644 index 0000000000..f1efaebe01 --- /dev/null +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam/summon_laser_start.mcfunction @@ -0,0 +1,24 @@ +#> asset:mob/0456.gargo_ex_machina/tick/event/half_beam/summon_laser_start +# +# 半面焼きビーム +# +# @within asset:mob/0456.gargo_ex_machina/tick/event/half_beam/event_attack + +# 基準用AEC召喚 + summon area_effect_cloud ~ ~ ~ {Tags:["CO.Aec.Target"]} + execute if entity @s[tag=CO.Skill.HalfBeam.IsRight] run tag @e[type=area_effect_cloud,tag=CO.Aec.Target,distance=..10,limit=1] add CO.Skill.HalfBeam.IsRight + +# 演出 + execute if entity @s[tag=CO.Skill.HalfBeam.IsRight] run tp @e[type=area_effect_cloud,tag=CO.Aec.Target,distance=..10,limit=1] ^-2 ^ ^ ~-30 60 + execute unless entity @s[tag=CO.Skill.HalfBeam.IsRight] run tp @e[type=area_effect_cloud,tag=CO.Aec.Target,distance=..10,limit=1] ^2 ^ ^ ~30 60 + execute as @e[type=area_effect_cloud,tag=CO.Aec.Target,distance=..10,limit=1] at @s positioned ^-2 ^ ^ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam/summon_laser + execute as @e[type=area_effect_cloud,tag=CO.Aec.Target,distance=..10,limit=1] at @s positioned ^2 ^ ^ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam/summon_laser + execute as @e[type=area_effect_cloud,tag=CO.Aec.Target,distance=..10,limit=1] at @s run tp @s ~ ~ ~ ~ 45 + execute as @e[type=area_effect_cloud,tag=CO.Aec.Target,distance=..10,limit=1] at @s positioned ^-2 ^ ^ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam/summon_laser + execute as @e[type=area_effect_cloud,tag=CO.Aec.Target,distance=..10,limit=1] at @s positioned ^2 ^ ^ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam/summon_laser + execute as @e[type=area_effect_cloud,tag=CO.Aec.Target,distance=..10,limit=1] at @s run tp @s ~ ~ ~ ~ 30 + execute as @e[type=area_effect_cloud,tag=CO.Aec.Target,distance=..10,limit=1] at @s positioned ^-2 ^ ^ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam/summon_laser + execute as @e[type=area_effect_cloud,tag=CO.Aec.Target,distance=..10,limit=1] at @s positioned ^2 ^ ^ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam/summon_laser + +# 終了 + kill @e[type=area_effect_cloud,tag=CO.Aec.Target,distance=..10,limit=1] diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/util/sound.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/util/sound.mcfunction new file mode 100644 index 0000000000..ad63bd4d84 --- /dev/null +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/util/sound.mcfunction @@ -0,0 +1,10 @@ +#> asset:mob/0456.gargo_ex_machina/tick/util/sound +# +# 駆動音 +# +# @within asset:mob/0456.gargo_ex_machina/tick/** + +# 効果音 + playsound block.piston.extend hostile @a ~ ~ ~ 2 0.9 + playsound block.grindstone.use hostile @a ~ ~ ~ 3 0.5 + playsound ui.stonecutter.take_result hostile @a ~ ~ ~ 3 0.5 diff --git a/Asset/data/asset/functions/object/2263.gem_laser_vfx/_index.d.mcfunction b/Asset/data/asset/functions/object/2263.gem_laser_vfx/_index.d.mcfunction new file mode 100644 index 0000000000..501aa8f726 --- /dev/null +++ b/Asset/data/asset/functions/object/2263.gem_laser_vfx/_index.d.mcfunction @@ -0,0 +1,6 @@ +#> asset:object/2263.gem_laser_vfx/_index.d +# @private + +#> tag +# @within function asset:object/2263.gem_laser_vfx/** + #declare tag 2263.IsRight diff --git a/Asset/data/asset/functions/object/2263.gem_laser_vfx/init/.mcfunction b/Asset/data/asset/functions/object/2263.gem_laser_vfx/init/.mcfunction new file mode 100644 index 0000000000..7b0a62342c --- /dev/null +++ b/Asset/data/asset/functions/object/2263.gem_laser_vfx/init/.mcfunction @@ -0,0 +1,8 @@ +#> asset:object/2263.gem_laser_vfx/init/ +# +# Objectのinit時の処理 +# +# @within asset:object/alias/2263/init + +# 左右 + execute if data storage asset:context this{IsRight:true} run tag @s add 2263.IsRight diff --git a/Asset/data/asset/functions/object/2263.gem_laser_vfx/load.mcfunction b/Asset/data/asset/functions/object/2263.gem_laser_vfx/load.mcfunction new file mode 100644 index 0000000000..bb68e9f7bd --- /dev/null +++ b/Asset/data/asset/functions/object/2263.gem_laser_vfx/load.mcfunction @@ -0,0 +1,9 @@ +#> asset:object/2263.gem_laser_vfx/load +# +# Objectに利用するスコアボード等の初期化処理 +# +# @within tag/function asset:object/load + +#> 定義類はここに +# @within function asset:object/2263.gem_laser_vfx/** + scoreboard objectives add \ No newline at end of file diff --git a/Asset/data/asset/functions/object/2263.gem_laser_vfx/register.mcfunction b/Asset/data/asset/functions/object/2263.gem_laser_vfx/register.mcfunction new file mode 100644 index 0000000000..38a17f7c4a --- /dev/null +++ b/Asset/data/asset/functions/object/2263.gem_laser_vfx/register.mcfunction @@ -0,0 +1,20 @@ +#> asset:object/2263.gem_laser_vfx/register +# +# Objectのデータを指定 +# +# @within function asset:object/alias/2263/register + +# 継承(オプション) + # data modify storage asset:object Extends append value + # function asset:object/extends +# 他のObjectに継承されることを許可するか (boolean) (オプション) + # data modify storage asset:object ExtendsSafe set value +# 継承されることを前提とした、抽象的なObjectであるかどうか(boolean) + data modify storage asset:object IsAbstract set value false +# Tickするかどうか(boolean) (オプション) + # data modify storage asset:object IsTicking set value + +# ID (int) + data modify storage asset:object ID set value 2263 +# フィールド(オプション) + # data modify storage asset:object Field.myValue set value \ No newline at end of file diff --git a/Asset/data/asset/functions/object/2263.gem_laser_vfx/summon/.mcfunction b/Asset/data/asset/functions/object/2263.gem_laser_vfx/summon/.mcfunction new file mode 100644 index 0000000000..35998bcbd8 --- /dev/null +++ b/Asset/data/asset/functions/object/2263.gem_laser_vfx/summon/.mcfunction @@ -0,0 +1,8 @@ +#> asset:object/2263.gem_laser_vfx/summon/ +# +# Object召喚処理の呼び出し時に実行されるfunction +# +# @within asset:object/alias/2263/summon + +# 元となるEntityを召喚する + function asset:object/2263.gem_laser_vfx/summon/m with storage asset:context this diff --git a/Asset/data/asset/functions/object/2263.gem_laser_vfx/summon/debug.mcfunction b/Asset/data/asset/functions/object/2263.gem_laser_vfx/summon/debug.mcfunction new file mode 100644 index 0000000000..a17a0bd1a8 --- /dev/null +++ b/Asset/data/asset/functions/object/2263.gem_laser_vfx/summon/debug.mcfunction @@ -0,0 +1,10 @@ +#> asset:object/2263.gem_laser_vfx/summon/debug +# +# 動作チェック用の召喚処理 使い終わったら消してもいいかも +# +# @user +# @private + +# 召喚 + data modify storage api: Argument.ID set value 2263 + function api:object/summon \ No newline at end of file diff --git a/Asset/data/asset/functions/object/2263.gem_laser_vfx/summon/m.mcfunction b/Asset/data/asset/functions/object/2263.gem_laser_vfx/summon/m.mcfunction new file mode 100644 index 0000000000..1f249e9884 --- /dev/null +++ b/Asset/data/asset/functions/object/2263.gem_laser_vfx/summon/m.mcfunction @@ -0,0 +1,8 @@ +#> asset:object/2263.gem_laser_vfx/summon/m +# +# Object召喚処理の呼び出し時に実行されるfunction +# +# @within asset:object/2263.gem_laser_vfx/summon/ + +# 元となるEntityを召喚する + $summon minecraft:item_display ~ ~ ~ {Rotation:$(Rotation),brightness:{sky:15,block:15},Tags:["ObjectInit"],interpolation_duration:3,teleport_duration:1,item:{id:"stick",Count:1b,tag:{CustomModelData:20588}},transformation:{left_rotation:[0.0f,0.0f,0.0f,1.0f],right_rotation:[0.0f,0.0f,0.0f,1.0f],translation:[0.0f,0.0f,0.0f],scale:[0.0f,0.0f,50.0f]}} diff --git a/Asset/data/asset/functions/object/2263.gem_laser_vfx/tick/.mcfunction b/Asset/data/asset/functions/object/2263.gem_laser_vfx/tick/.mcfunction new file mode 100644 index 0000000000..32e242abe1 --- /dev/null +++ b/Asset/data/asset/functions/object/2263.gem_laser_vfx/tick/.mcfunction @@ -0,0 +1,24 @@ +#> asset:object/2263.gem_laser_vfx/tick/ +# +# Objectのtick時の処理 +# +# @within asset:object/alias/2263/tick + +# Tick加算 + scoreboard players add @s General.Object.Tick 1 + +# 拡大 + execute if score @s General.Object.Tick matches 3 run data modify entity @s start_interpolation set value -1 + execute if score @s General.Object.Tick matches 3 run data modify entity @s transformation.scale set value [5.0f,5.0f,100.0f] + execute if score @s General.Object.Tick matches 8 run data modify entity @s start_interpolation set value -1 + execute if score @s General.Object.Tick matches 8 run data modify entity @s transformation.scale set value [0.0f,0.0f,100.0f] + execute if score @s General.Object.Tick matches 3..12 run particle flash ~ ~ ~ 0 0 0 0 1 + +# 移動 + execute if entity @s[tag=2263.IsRight] if score @s General.Object.Tick matches 3.. run tp @s ~ ~ ~ ~35 ~ + execute unless entity @s[tag=2263.IsRight] if score @s General.Object.Tick matches 3.. run tp @s ~ ~ ~ ~-35 ~ + execute if score @s General.Object.Tick matches 3..5 at @s run tp @s ~ ~ ~ ~ ~-4 + execute if score @s General.Object.Tick matches 12..14 at @s run tp @s ~ ~ ~ ~ ~4 + +# 消滅処理 + kill @s[scores={General.Object.Tick=14..}] diff --git a/Asset/data/asset/functions/object/alias/2263/init.mcfunction b/Asset/data/asset/functions/object/alias/2263/init.mcfunction new file mode 100644 index 0000000000..1c9387d6b1 --- /dev/null +++ b/Asset/data/asset/functions/object/alias/2263/init.mcfunction @@ -0,0 +1,8 @@ +#> asset:object/alias/2263/init +# +# Init処理のエイリアス +# +# @within asset_manager:object/init/init.m + +# 元のInit処理を呼び出す + function asset:object/2263.gem_laser_vfx/init/ \ No newline at end of file diff --git a/Asset/data/asset/functions/object/alias/2263/register.mcfunction b/Asset/data/asset/functions/object/alias/2263/register.mcfunction new file mode 100644 index 0000000000..4feb95cde5 --- /dev/null +++ b/Asset/data/asset/functions/object/alias/2263/register.mcfunction @@ -0,0 +1,8 @@ +#> asset:object/alias/2263/register +# +# Objectのデータ指定処理のエイリアス +# +# @within asset_manager:object/summon/register.m + +# 元の登録処理を呼び出す + function asset:object/2263.gem_laser_vfx/register \ No newline at end of file diff --git a/Asset/data/asset/functions/object/alias/2263/summon.mcfunction b/Asset/data/asset/functions/object/alias/2263/summon.mcfunction new file mode 100644 index 0000000000..0aa4e472c7 --- /dev/null +++ b/Asset/data/asset/functions/object/alias/2263/summon.mcfunction @@ -0,0 +1,8 @@ +#> asset:object/alias/2263/summon +# +# Object召喚処理のエイリアス +# +# @within asset_manager:object/summon/summon.m + +# 元の召喚処理を呼び出す + function asset:object/2263.gem_laser_vfx/summon/ \ No newline at end of file diff --git a/Asset/data/asset/functions/object/alias/2263/tick.mcfunction b/Asset/data/asset/functions/object/alias/2263/tick.mcfunction new file mode 100644 index 0000000000..3cd21ea852 --- /dev/null +++ b/Asset/data/asset/functions/object/alias/2263/tick.mcfunction @@ -0,0 +1,8 @@ +#> asset:object/alias/2263/tick +# +# Tick時処理のエイリアス +# +# @within asset_manager:object/tick/tick.m + +# 元のTick処理を呼び出す + function asset:object/2263.gem_laser_vfx/tick/ \ No newline at end of file diff --git a/Asset/data/asset/tags/functions/object/load.json b/Asset/data/asset/tags/functions/object/load.json index 7046352e61..f36945a885 100644 --- a/Asset/data/asset/tags/functions/object/load.json +++ b/Asset/data/asset/tags/functions/object/load.json @@ -1,5 +1,6 @@ { "values": [ + "asset:object/2263.gem_laser_vfx/load", "asset:object/2251.wall_laser_clock/load", "asset:object/2212.eclael_upper_shot/load", "asset:object/2187.heiloang_ff_main/load", From 0eb85871906ab8eb71a00add101b06d032a46752 Mon Sep 17 00:00:00 2001 From: mokkkk Date: Sun, 15 Feb 2026 13:45:34 +0900 Subject: [PATCH 09/98] =?UTF-8?q?=E7=99=BB=E5=A0=B4=E6=BC=94=E5=87=BA?= =?UTF-8?q?=E6=9A=AB=E5=AE=9A=E4=BD=9C=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../0456.gargo_ex_machina/_index.d.mcfunction | 11 ++ .../0456.gargo_ex_machina/init/.mcfunction | 4 + .../0456.gargo_ex_machina/register.mcfunction | 13 +- .../tick/event/.mcfunction | 7 + .../tick/event/activate/.mcfunction | 48 +++-- .../tick/event/half_beam/attack.mcfunction | 18 +- .../event/half_beam/attack_effect.mcfunction | 3 - .../half_beam/attack_effect_start.mcfunction | 4 + .../event/half_beam/event_attack.mcfunction | 4 +- .../event/half_beam/event_charging.mcfunction | 19 +- .../event/half_beam/prediction.m.mcfunction | 6 +- .../event/half_beam_sword/attack.mcfunction | 30 ++++ .../half_beam_sword/attack_effect.mcfunction | 167 ++++++++++++++++++ .../attack_effect_start.mcfunction | 11 ++ .../tick/event/half_beam_sword/end.mcfunction | 16 ++ .../half_beam_sword/event_attack.mcfunction | 37 ++++ .../half_beam_sword/event_charging.mcfunction | 54 ++++++ .../half_beam_sword/event_start.mcfunction | 20 +++ .../half_beam_sword/prediction.m.mcfunction | 14 ++ .../prediction_circle.m.mcfunction | 13 ++ .../half_beam_sword/start_attack.mcfunction | 10 ++ .../half_beam_sword/start_charging.mcfunction | 10 ++ .../half_beam_sword/summon_laser.mcfunction | 11 ++ .../summon_laser_start.mcfunction | 24 +++ .../tick/event/sword_attack/attack.mcfunction | 6 +- .../sword_attack/attack_effect.mcfunction | 3 +- .../sword_attack/event_attack.mcfunction | 20 ++- .../event/sword_attack/prediction.mcfunction | 14 +- .../util/change_bossbar_name.m.mcfunction | 8 + .../tick/util/change_bossbar_name.mcfunction | 10 ++ 30 files changed, 559 insertions(+), 56 deletions(-) create mode 100644 Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam_sword/attack.mcfunction create mode 100644 Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam_sword/attack_effect.mcfunction create mode 100644 Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam_sword/attack_effect_start.mcfunction create mode 100644 Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam_sword/end.mcfunction create mode 100644 Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam_sword/event_attack.mcfunction create mode 100644 Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam_sword/event_charging.mcfunction create mode 100644 Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam_sword/event_start.mcfunction create mode 100644 Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam_sword/prediction.m.mcfunction create mode 100644 Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam_sword/prediction_circle.m.mcfunction create mode 100644 Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam_sword/start_attack.mcfunction create mode 100644 Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam_sword/start_charging.mcfunction create mode 100644 Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam_sword/summon_laser.mcfunction create mode 100644 Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam_sword/summon_laser_start.mcfunction create mode 100644 Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/util/change_bossbar_name.m.mcfunction create mode 100644 Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/util/change_bossbar_name.mcfunction diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/_index.d.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/_index.d.mcfunction index 9e35919a87..578b535328 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/_index.d.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/_index.d.mcfunction @@ -17,10 +17,15 @@ #declare tag CO.Skill.HalfBeam.Charge 半面焼きビーム #declare tag CO.Skill.HalfBeam.Attack 半面焼きビーム #declare tag CO.Skill.HalfBeam.IsRight 半面焼きビーム + #declare tag CO.Skill.HalfBeamSword 半面焼きビーム + #declare tag CO.Skill.HalfBeamSword.Charge 半面焼きビーム + #declare tag CO.Skill.HalfBeamSword.Attack 半面焼きビーム + #declare tag CO.Skill.HalfBeamSword.IsRight 半面焼きビーム # - オブジェクト用 #declare tag CO.Object #declare tag CO.Shadow # - 汎用 + #declare tag CO.ScapeSheep #declare tag CO.MainTarget #declare tag CO.Aec.Target #declare tag @@ -42,7 +47,9 @@ #declare function animated_java:gargo_ex_machina/animations/pause_all #declare function animated_java:gargo_ex_machina/animations/idle/tween #declare function animated_java:gargo_ex_machina/animations/activation/tween + #declare function animated_java:gargo_ex_machina/animations/move_to_field_fast/resume #declare function animated_java:gargo_ex_machina/animations/move_to_field_fast/tween + #declare function animated_java:gargo_ex_machina/animations/move_to_field_fast/pause #declare function animated_java:gargo_ex_machina/animations/sword_smash_start/tween #declare function animated_java:gargo_ex_machina/animations/sword_smash_charge/tween #declare function animated_java:gargo_ex_machina/animations/sword_smash_attack/tween @@ -53,4 +60,8 @@ #declare function animated_java:gargo_ex_machina/animations/beam_attack_right/tween #declare function animated_java:gargo_ex_machina/animations/beam_attack_left/tween #declare function animated_java:gargo_ex_machina/animations/beam_end/tween + #declare function animated_java:gargo_ex_machina/animations/beam_sword_start/tween + #declare function animated_java:gargo_ex_machina/animations/beam_sword_charge/tween + #declare function animated_java:gargo_ex_machina/animations/beam_sword_attack_right/tween + #declare function animated_java:gargo_ex_machina/animations/beam_sword_attack_left/tween #declare function animated_java:gargo_ex_machina/remove/all diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/init/.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/init/.mcfunction index 854930de4a..28ad474371 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/init/.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/init/.mcfunction @@ -27,6 +27,10 @@ # 移動 # execute at @s run tp @s ^ ^ ^ ~ 0 +# ダミー用ひつじ召喚 + summon sheep ~ ~ ~ {Tags:["CO.ScapeSheep","Uninterferable"],NoAI:1b,Invulnerable:1b} + playsound entity.sheep.hurt hostile @a ~ ~ ~ 2 0.7 + # 登場モーション再生 tag @s add CO.Skill.Activate diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/register.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/register.mcfunction index 8c7d9926cf..cb94491e00 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/register.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/register.mcfunction @@ -17,7 +17,7 @@ data modify storage asset:mob Interferable set value false data modify storage asset:mob IsForwardTarget set value true # 名前 (TextComponentString) (オプション) - data modify storage asset:mob Name set value '{"text":"セキゾー"}' + data modify storage asset:mob Name set value '{"text":"逆襲のひつじしゃん"}' # Mobの説明文 (TextComponentString[]) (オプション) data modify storage asset:mob Lore set value ['{"text":"ほげ"}'] # 体力 (double) (オプション) @@ -34,10 +34,11 @@ # 雷倍率 (float) (オプション) data modify storage asset:mob Resist.Thunder set value 1.0f # フィールド - data modify storage asset:mob Field.FirstPos.X set value 527.5 - data modify storage asset:mob Field.FirstPos.Y set value 91.0 - data modify storage asset:mob Field.FirstPos.Z set value 836.0 + # 石像の初期位置 + data modify storage asset:mob Field.FirstPos.X set value 527.5 + data modify storage asset:mob Field.FirstPos.Y set value 91.0 + data modify storage asset:mob Field.FirstPos.Z set value 836.0 # 剣叩きつけ - data modify storage asset:mob Field.Damage.SwordAttack set value 50.0 + data modify storage asset:mob Field.Damage.SwordAttack set value {Amount:80.0,Type:"Physical",Element:"None"} # 半面焼きビーム - data modify storage asset:mob Field.Damage.HalfBeam set value 50.0 + data modify storage asset:mob Field.Damage.HalfBeam set value {Amount:80.0,Type:"Physical",Element:"None"} diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/.mcfunction index 18e43bc61c..2de5922175 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/.mcfunction @@ -7,6 +7,8 @@ # 起動 execute if entity @s[tag=CO.Skill.Activate] run function asset:mob/0456.gargo_ex_machina/tick/event/activate/ +# 移動 + # 剣叩きつけ execute if entity @s[tag=CO.Skill.SwordAttack] run function asset:mob/0456.gargo_ex_machina/tick/event/sword_attack/event_start execute if entity @s[tag=CO.Skill.SwordAttack.Charge] run function asset:mob/0456.gargo_ex_machina/tick/event/sword_attack/event_charging @@ -16,3 +18,8 @@ execute if entity @s[tag=CO.Skill.HalfBeam] run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam/event_start execute if entity @s[tag=CO.Skill.HalfBeam.Charge] run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam/event_charging execute if entity @s[tag=CO.Skill.HalfBeam.Attack] run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam/event_attack + +# # 半面焼きビーム + 回転斬り +# execute if entity @s[tag=CO.Skill.HalfBeamSword] run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_sword/event_start +# execute if entity @s[tag=CO.Skill.HalfBeamSword.Charge] run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_sword/event_charging +# execute if entity @s[tag=CO.Skill.HalfBeamSword.Attack] run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_sword/event_attack diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/activate/.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/activate/.mcfunction index 67cb76a07e..7a126f0480 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/activate/.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/activate/.mcfunction @@ -15,16 +15,28 @@ # 影 execute if score @s CO.EventTimer matches 1 as @e[type=item_display,tag=CO.Shadow] run function asset:mob/0456.gargo_ex_machina/tick/util/hide_shadow # 効果音 - execute if score @s CO.EventTimer matches 60 positioned as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run playsound block.piston.contract hostile @a ~ ~ ~ 2 1.2 - execute if score @s CO.EventTimer matches 118 positioned as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run playsound block.piston.extend hostile @a ~ ~ ~ 2 1.2 - execute if score @s CO.EventTimer matches 125 positioned as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run playsound block.piston.extend hostile @a ~ ~ ~ 2 1.2 - execute if score @s CO.EventTimer matches 155 positioned as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run playsound block.beacon.activate hostile @a ~ ~ ~ 2 2.0 - -# 起動 + execute if score @s CO.EventTimer matches 60 positioned as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run function asset:mob/0456.gargo_ex_machina/tick/util/sound + execute if score @s CO.EventTimer matches 118 positioned as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run function asset:mob/0456.gargo_ex_machina/tick/util/sound + execute if score @s CO.EventTimer matches 125 positioned as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run function asset:mob/0456.gargo_ex_machina/tick/util/sound + execute if score @s CO.EventTimer matches 155 positioned as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run function asset:mob/0456.gargo_ex_machina/tick/util/sound + # ひつじ演出 + execute if score @s CO.EventTimer matches 40..80 as @e[type=sheep,tag=CO.ScapeSheep] at @s run tp @s ^ ^ ^0.3 + execute if score @s CO.EventTimer matches 90..100 as @e[type=sheep,tag=CO.ScapeSheep] at @s run tp @s ^ ^ ^ ~9 ~ + execute if score @s CO.EventTimer matches 90..100 as @e[type=sheep,tag=CO.ScapeSheep] at @s run tp @s ^ ^ ^ ~9 ~ + execute if score @s CO.EventTimer matches 101..140 as @e[type=sheep,tag=CO.ScapeSheep] at @s run particle angry_villager ~ ~1 ~ 1 1 1 0.1 1 + execute if score @s CO.EventTimer matches 145..230 as @e[type=sheep,tag=CO.ScapeSheep] at @s run particle firework ~ ~1 ~ 1 1 1 0.1 1 + execute if score @s CO.EventTimer matches 145..180 as @e[type=sheep,tag=CO.ScapeSheep] at @s run tp @s ^ ^0.06 ^ + execute if score @s CO.EventTimer matches 195..230 as @e[type=sheep,tag=CO.ScapeSheep] at @s run particle trial_spawner_detection ~ ~1 ~ 1 1 1 0.0 3 + execute if score @s CO.EventTimer matches 195 run playsound entity.goat.screaming.hurt hostile @a ~ ~ ~ 2 0.7 + execute if score @s CO.EventTimer matches 231 as @e[type=sheep,tag=CO.ScapeSheep] at @s run tp @s ^ ^-2.16 ^ + +# 移動 # アニメーション再生 execute if score @s CO.EventTimer matches 185 as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run function animated_java:gargo_ex_machina/animations/move_to_field_fast/tween {duration:1, to_frame: 1} + execute if score @s CO.EventTimer matches 245 as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run function animated_java:gargo_ex_machina/animations/move_to_field_fast/pause + execute if score @s CO.EventTimer matches 285 as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run function animated_java:gargo_ex_machina/animations/move_to_field_fast/resume # フィールドに移動 - execute if score @s CO.EventTimer matches 210 positioned as @e[type=marker,tag=CO.CenterPosition,distance=..100,limit=1] run tp @s ~ ~-0.5 ~ 180 0 + execute if score @s CO.EventTimer matches 144 positioned as @e[type=sheep,tag=CO.ScapeSheep] run tp @s ~ ~ ~ 180 0 # モデルを合わせる execute if score @s CO.EventTimer matches 211.. as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run tp @s ~ ~ ~ ~ ~ # 影 @@ -33,13 +45,25 @@ execute if score @s CO.EventTimer matches 231 run particle explosion ~ ~1 ~ 4 0.1 4 0 30 execute if score @s CO.EventTimer matches 231 run particle campfire_cosy_smoke ~ ~1 ~ 4 0.1 4 0.05 100 # 効果音 - execute if score @s CO.EventTimer matches 185 positioned as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run playsound block.piston.contract hostile @a ~ ~ ~ 2 0.8 - execute if score @s CO.EventTimer matches 207 positioned as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run playsound block.piston.contract hostile @a ~ ~ ~ 2 0.7 + execute if score @s CO.EventTimer matches 185 positioned as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run function asset:mob/0456.gargo_ex_machina/tick/util/sound + execute if score @s CO.EventTimer matches 207 positioned as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run function asset:mob/0456.gargo_ex_machina/tick/util/sound execute if score @s CO.EventTimer matches 231 run playsound entity.ravager.step hostile @a ~ ~ ~ 2 0.7 execute if score @s CO.EventTimer matches 231 run playsound entity.ravager.step hostile @a ~ ~ ~ 2 0.6 execute if score @s CO.EventTimer matches 231 run playsound entity.ravager.step hostile @a ~ ~ ~ 2 0.5 - execute if score @s CO.EventTimer matches 261 run playsound block.piston.extend hostile @a ~ ~ ~ 2 0.8 - execute if score @s CO.EventTimer matches 285 run playsound block.piston.contract hostile @a ~ ~ ~ 2 0.8 + execute if score @s CO.EventTimer matches 231 run playsound entity.generic.explode hostile @a ~ ~ ~ 2 0.8 + execute if score @s CO.EventTimer matches 231 as @a[distance=..80] at @s run tp @s ~ ~ ~ ~ ~2 + execute if score @s CO.EventTimer matches 232 as @a[distance=..80] at @s run tp @s ~ ~ ~ ~ ~-4 + execute if score @s CO.EventTimer matches 233 as @a[distance=..80] at @s run tp @s ~ ~ ~ ~ ~4 + execute if score @s CO.EventTimer matches 234 as @a[distance=..80] at @s run tp @s ~ ~ ~ ~ ~-4 + execute if score @s CO.EventTimer matches 235 as @a[distance=..80] at @s run tp @s ~ ~ ~ ~ ~3 + execute if score @s CO.EventTimer matches 236 as @a[distance=..80] at @s run tp @s ~ ~ ~ ~ ~-3 + execute if score @s CO.EventTimer matches 237 as @a[distance=..80] at @s run tp @s ~ ~ ~ ~ ~3 + execute if score @s CO.EventTimer matches 238 as @a[distance=..80] at @s run tp @s ~ ~ ~ ~ ~-1 + execute if score @s CO.EventTimer matches 301 run function asset:mob/0456.gargo_ex_machina/tick/util/sound + execute if score @s CO.EventTimer matches 325 run function asset:mob/0456.gargo_ex_machina/tick/util/sound + # ボス名変更 + execute if score @s CO.EventTimer matches 231 run kill @e[type=sheep,tag=CO.ScapeSheep] + execute if score @s CO.EventTimer matches 231 run function asset:mob/0456.gargo_ex_machina/tick/util/change_bossbar_name # 終了 - execute if score @s CO.EventTimer matches 291.. run function asset:mob/0456.gargo_ex_machina/tick/event/activate/end + execute if score @s CO.EventTimer matches 331.. run function asset:mob/0456.gargo_ex_machina/tick/event/activate/end diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam/attack.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam/attack.mcfunction index 16e32cc25b..30a41f7619 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam/attack.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam/attack.mcfunction @@ -7,21 +7,21 @@ # ヒット判定 # 直線範囲 tag @a[tag=DXYZ] remove DXYZ - data modify storage lib: args.dx set value 20 + data modify storage lib: args.dx set value 30 data modify storage lib: args.dy set value 5 - data modify storage lib: args.dz set value 40 + data modify storage lib: args.dz set value 50 data modify storage lib: args.selector set value "@a[tag=!PlayerShouldInvulnerable,distance=..50]" - execute rotated ~30 0 positioned ^ ^ ^ run function lib:rotatable_dxyz/m with storage lib: args - data modify storage lib: args.dx set value 20 + execute rotated ~20 0 positioned ^ ^ ^ run function lib:rotatable_dxyz/m with storage lib: args + data modify storage lib: args.dx set value 30 data modify storage lib: args.dy set value 5 - data modify storage lib: args.dz set value 40 + data modify storage lib: args.dz set value 50 data modify storage lib: args.selector set value "@a[tag=!PlayerShouldInvulnerable,distance=..50]" - execute rotated ~-30 0 positioned ^ ^ ^ run function lib:rotatable_dxyz/m with storage lib: args + execute rotated ~-20 0 positioned ^ ^ ^ run function lib:rotatable_dxyz/m with storage lib: args # ダメージ - data modify storage api: Argument.Damage set from storage asset:context this.Damage.HalfBeam - data modify storage api: Argument.AttackType set value "Physical" - data modify storage api: Argument.ElementType set value "None" + data modify storage api: Argument.Damage set from storage asset:context this.Damage.HalfBeam.Amount + data modify storage api: Argument.AttackType set from storage asset:context this.Damage.HalfBeam.Type + data modify storage api: Argument.ElementType set from storage asset:context this.Damage.HalfBeam.Element function api:damage/modifier execute as @a[tag=DXYZ] run function api:damage/ function api:damage/reset diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam/attack_effect.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam/attack_effect.mcfunction index 2b2d3bfc47..41aaf99635 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam/attack_effect.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam/attack_effect.mcfunction @@ -4,9 +4,6 @@ # # @within asset:mob/0456.gargo_ex_machina/tick/event/half_beam/attack_effect_start -# 効果音 - playsound entity.generic.explode hostile @a ~ ~ ~ 2 0.7 - # パーティクル # [ImportKey]: NobwRALgngDgpmAXGANgSwHYIDRgK55oAmSYATAOxEAcAbACwBmFAtAMa1Uv0CsAzERYAjWgAZGLHkICMAQwCc1PrOrSOYXBlkBbBMkBbvgAJpGsDFkAnHQGck4NgHs8GCEmk9cjCw+12wAN1kUPD1wAA8kFjIPMCgkUQBfBNwIBz9A4NCwCMRo3DjEROSwB0ZGazhXQtwhOAAvNDgLeNw0awAhesaLAFEARzwglCgAZXM2OBJERiCKpOxwaHhSdCxTAmJSOFl6Pmp5Hmp2AR5uajhToSkyFlEyeVEeMgE+DjZTLV1SI2l2Bxg4rhzFZtLZEPYnC43DEvD50kEQn4clEYgUePNIGlwQEEVkcnlYkh0cVSuVKi0wLUGk0KW1OtTegMhqNxpMkDMUHNkotYHpUJgcPhCFMwDt5GxZHxaLIWPJOKxeLJWDtpKIWNIGERGHKVEJZEIPjo+T8-gDTYCzJYbH5HM4qu5PN5fNiMojsciCQVVRjUvDMkikJ63EVcKSKlVRDUujTqmA6dHGYMUMMxrIJlMOVyFpBeSsBethVs4BQpBQ+Gq4DIbvQhHqWLIyEQZfI4NJ5EIm7Q2EJRKJDV8DMZzebTMDrdjbVDEA6wLDneBXXjIkHp8SUliF7iA7lUdCMWHybGqd1aR0E-0kynWRnZnB5jzlshVoKNiKiDw4HwmIw2MJ6BwzmUWV5AoVgyA7ahDilHheANTQjW+IdHDNZCLTHUEbUhe0YSdP03XCZdd1yENMTwpcd3yQMSIPCMowZU96W6C9mVTdN2VvJIAF0gA_3 # 線 1-copy-copy diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam/attack_effect_start.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam/attack_effect_start.mcfunction index 164f6a7874..a4129c98ca 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam/attack_effect_start.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam/attack_effect_start.mcfunction @@ -9,3 +9,7 @@ execute if entity @s[tag=CO.Skill.HalfBeam.IsRight] rotated ~120 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam/attack_effect execute unless entity @s[tag=CO.Skill.HalfBeam.IsRight] rotated ~-60 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam/attack_effect execute unless entity @s[tag=CO.Skill.HalfBeam.IsRight] rotated ~-120 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam/attack_effect + +# 効果音 + execute if entity @s[tag=CO.Skill.HalfBeam.IsRight] rotated ~90 ~ run playsound entity.generic.explode hostile @a ^ ^ ^10 2 0.7 + execute unless entity @s[tag=CO.Skill.HalfBeam.IsRight] rotated ~-90 ~ run playsound entity.generic.explode hostile @a ^ ^ ^10 2 0.7 diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam/event_attack.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam/event_attack.mcfunction index 5b3aa33151..0da4f8dfe7 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam/event_attack.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam/event_attack.mcfunction @@ -20,8 +20,8 @@ execute if score @s CO.EventTimer matches 41 run function asset:mob/0456.gargo_ex_machina/tick/util/sound execute if score @s CO.EventTimer matches 60 run function asset:mob/0456.gargo_ex_machina/tick/util/sound # 攻撃 - execute if entity @s[tag=CO.Skill.HalfBeam.IsRight] if score @s CO.EventTimer matches 23 positioned ^-25 ^ ^ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam/attack - execute unless entity @s[tag=CO.Skill.HalfBeam.IsRight] if score @s CO.EventTimer matches 23 positioned ^25 ^ ^ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam/attack + execute if entity @s[tag=CO.Skill.HalfBeam.IsRight] if score @s CO.EventTimer matches 23 positioned ^-30 ^ ^ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam/attack + execute unless entity @s[tag=CO.Skill.HalfBeam.IsRight] if score @s CO.EventTimer matches 23 positioned ^30 ^ ^ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam/attack # 攻撃演出 execute if score @s CO.EventTimer matches 11 positioned ~ ~15 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam/summon_laser_start execute if score @s CO.EventTimer matches 11..18 run playsound entity.breeze.jump hostile @a ~ ~ ~ 2 0.5 diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam/event_charging.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam/event_charging.mcfunction index f6a88413d7..c07e83c233 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam/event_charging.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam/event_charging.mcfunction @@ -13,10 +13,21 @@ # モデルを合わせる execute as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run tp @s ~ ~ ~ ~ ~ # 予告 - execute if entity @s[tag=CO.Skill.HalfBeam.IsRight] if score @s CO.EventTimer matches 35 positioned ^-25 ^ ^ rotated ~-30 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam/prediction.m {Tick:88} - execute if entity @s[tag=CO.Skill.HalfBeam.IsRight] if score @s CO.EventTimer matches 55 positioned ^-25 ^0.05 ^ rotated ~30 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam/prediction.m {Tick:68} - execute unless entity @s[tag=CO.Skill.HalfBeam.IsRight] if score @s CO.EventTimer matches 35 positioned ^25 ^ ^ rotated ~30 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam/prediction.m {Tick:88} - execute unless entity @s[tag=CO.Skill.HalfBeam.IsRight] if score @s CO.EventTimer matches 55 positioned ^25 ^0.05 ^ rotated ~-30 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam/prediction.m {Tick:68} + # ノーマル + execute if entity @s[tag=CO.Skill.HalfBeam.IsRight] if predicate api:global_vars/difficulty/1_normal if score @s CO.EventTimer matches 15 positioned ^-30 ^ ^ rotated ~-20 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam/prediction.m {Interpolation:20,Tick:108} + execute if entity @s[tag=CO.Skill.HalfBeam.IsRight] if predicate api:global_vars/difficulty/1_normal if score @s CO.EventTimer matches 35 positioned ^-30 ^0.05 ^ rotated ~20 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam/prediction.m {Interpolation:20,Tick:88} + execute unless entity @s[tag=CO.Skill.HalfBeam.IsRight] if predicate api:global_vars/difficulty/1_normal if score @s CO.EventTimer matches 15 positioned ^30 ^ ^ rotated ~20 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam/prediction.m {Interpolation:20,Tick:108} + execute unless entity @s[tag=CO.Skill.HalfBeam.IsRight] if predicate api:global_vars/difficulty/1_normal if score @s CO.EventTimer matches 35 positioned ^30 ^0.05 ^ rotated ~-20 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam/prediction.m {Interpolation:20,Tick:88} + # ハード + execute if entity @s[tag=CO.Skill.HalfBeam.IsRight] if predicate api:global_vars/difficulty/2_hard if score @s CO.EventTimer matches 35 positioned ^-30 ^ ^ rotated ~-20 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam/prediction.m {Interpolation:20,Tick:88} + execute if entity @s[tag=CO.Skill.HalfBeam.IsRight] if predicate api:global_vars/difficulty/2_hard if score @s CO.EventTimer matches 55 positioned ^-30 ^0.05 ^ rotated ~20 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam/prediction.m {Interpolation:20,Tick:68} + execute unless entity @s[tag=CO.Skill.HalfBeam.IsRight] if predicate api:global_vars/difficulty/2_hard if score @s CO.EventTimer matches 35 positioned ^30 ^ ^ rotated ~20 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam/prediction.m {Interpolation:20,Tick:88} + execute unless entity @s[tag=CO.Skill.HalfBeam.IsRight] if predicate api:global_vars/difficulty/2_hard if score @s CO.EventTimer matches 55 positioned ^30 ^0.05 ^ rotated ~-20 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam/prediction.m {Interpolation:20,Tick:68} + # ブレスレス + execute if entity @s[tag=CO.Skill.HalfBeam.IsRight] if predicate api:global_vars/difficulty/min/3_blessless if score @s CO.EventTimer matches 90 positioned ^-30 ^ ^ rotated ~-20 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam/prediction.m {Interpolation:2,Tick:33} + execute if entity @s[tag=CO.Skill.HalfBeam.IsRight] if predicate api:global_vars/difficulty/min/3_blessless if score @s CO.EventTimer matches 95 positioned ^-30 ^0.05 ^ rotated ~20 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam/prediction.m {Interpolation:2,Tick:28} + execute unless entity @s[tag=CO.Skill.HalfBeam.IsRight] if predicate api:global_vars/difficulty/min/3_blessless if score @s CO.EventTimer matches 90 positioned ^30 ^ ^ rotated ~20 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam/prediction.m {Interpolation:2,Tick:33} + execute unless entity @s[tag=CO.Skill.HalfBeam.IsRight] if predicate api:global_vars/difficulty/min/3_blessless if score @s CO.EventTimer matches 95 positioned ^30 ^0.05 ^ rotated ~-20 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam/prediction.m {Interpolation:2,Tick:28} # 効果音 execute if score @s CO.EventTimer matches 1..100 positioned ~ ~15 ~ run particle end_rod ~ ~ ~ 2 2 2 0.05 1 diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam/prediction.m.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam/prediction.m.mcfunction index 7a3a728e26..bc11d494ed 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam/prediction.m.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam/prediction.m.mcfunction @@ -8,7 +8,7 @@ data modify storage api: Argument.ID set value 2113 data modify storage api: Argument.FieldOverride.RotationX set from entity @s Rotation[0] data modify storage api: Argument.FieldOverride.Color set value 3381759 - data modify storage api: Argument.FieldOverride.Scale set value [40f,80f] - data modify storage api: Argument.FieldOverride.Interpolation set value 20 + data modify storage api: Argument.FieldOverride.Scale set value [60f,100f] + $data modify storage api: Argument.FieldOverride.Interpolation set value $(Interpolation) $data modify storage api: Argument.FieldOverride.Tick set value $(Tick) - execute positioned ^ ^0.1 ^40 rotated ~180 0 run function api:object/summon + execute positioned ^ ^0.1 ^50 rotated ~180 0 run function api:object/summon diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam_sword/attack.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam_sword/attack.mcfunction new file mode 100644 index 0000000000..6ae95d5840 --- /dev/null +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam_sword/attack.mcfunction @@ -0,0 +1,30 @@ +#> asset:mob/0456.gargo_ex_machina/tick/event/half_beam_sword/attack +# +# 半面焼きビーム +# +# @within asset:mob/0456.gargo_ex_machina/tick/event/half_beam_sword/event_attack + +# ヒット判定 + # 直線範囲 + tag @a[tag=DXYZ] remove DXYZ + data modify storage lib: args.dx set value 20 + data modify storage lib: args.dy set value 5 + data modify storage lib: args.dz set value 40 + data modify storage lib: args.selector set value "@a[tag=!PlayerShouldInvulnerable,distance=..50]" + execute rotated ~30 0 positioned ^ ^ ^ run function lib:rotatable_dxyz/m with storage lib: args + data modify storage lib: args.dx set value 20 + data modify storage lib: args.dy set value 5 + data modify storage lib: args.dz set value 40 + data modify storage lib: args.selector set value "@a[tag=!PlayerShouldInvulnerable,distance=..50]" + execute rotated ~-30 0 positioned ^ ^ ^ run function lib:rotatable_dxyz/m with storage lib: args + +# ダメージ + data modify storage api: Argument.Damage set from storage asset:context this.Damage.HalfBeam.Amount + data modify storage api: Argument.AttackType set from storage asset:context this.Damage.HalfBeam.Type + data modify storage api: Argument.ElementType set from storage asset:context this.Damage.HalfBeam.Element + function api:damage/modifier + execute as @a[tag=DXYZ] run function api:damage/ + function api:damage/reset + +# 終了 + tag @a[tag=DXYZ] remove DXYZ diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam_sword/attack_effect.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam_sword/attack_effect.mcfunction new file mode 100644 index 0000000000..e3ddc68791 --- /dev/null +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam_sword/attack_effect.mcfunction @@ -0,0 +1,167 @@ +#> asset:mob/0456.gargo_ex_machina/tick/event/half_beam_sword/attack_effect +# +# 剣叩きつけ +# +# @within asset:mob/0456.gargo_ex_machina/tick/event/half_beam_sword/attack_effect_start + +# 効果音 + playsound entity.generic.explode hostile @a ~ ~ ~ 2 0.7 + +# パーティクル + # [ImportKey]: NobwRALgngDgpmAXGANgSwHYIDRgK55oAmSYATAOxEAcAbACwBmFAtAMa1Uv0CsAzERYAjWgAZGLHkICMAQwCc1PrOrSOYXBlkBbBMkBbvgAJpGsDFkAnHQGck4NgHs8GCEmk9cjCw+12wAN1kUPD1wAA8kFjIPMCgkUQBfBNwIBz9A4NCwCMRo3DjEROSwB0ZGazhXQtwhOAAvNDgLeNw0awAhesaLAFEARzwglCgAZXM2OBJERiCKpOxwaHhSdCxTAmJSOFl6Pmp5Hmp2AR5uajhToSkyFlEyeVEeMgE+DjZTLV1SI2l2Bxg4rhzFZtLZEPYnC43DEvD50kEQn4clEYgUePNIGlwQEEVkcnlYkh0cVSuVKi0wLUGk0KW1OtTegMhqNxpMkDMUHNkotYHpUJgcPhCFMwDt5GxZHxaLIWPJOKxeLJWDtpKIWNIGERGHKVEJZEIPjo+T8-gDTYCzJYbH5HM4qu5PN5fNiMojsciCQVVRjUvDMkikJ63EVcKSKlVRDUujTqmA6dHGYMUMMxrIJlMOVyFpBeSsBethVs4BQpBQ+Gq4DIbvQhHqWLIyEQZfI4NJ5EIm7Q2EJRKJDV8DMZzebTMDrdjbVDEA6wLDneBXXjIkHp8SUliF7iA7lUdCMWHybGqd1aR0E-0kynWRnZnB5jzlshVoKNiKiDw4HwmIw2MJ6BwzmUWV5AoVgyA7ahDilHheANTQjW+IdHDNZCLTHUEbUhe0YSdP03XCZdd1yENMTwpcd3yQMSIPCMowZU96W6C9mVTdN2VvJIAF0gA_3 + # 線 1-copy-copy + particle explosion ^-25 ^ ^20 3 2 3 0 1 + particle explosion ^-21.42857 ^ ^20 3 2 3 0 1 + particle explosion ^-17.85714 ^ ^20 3 2 3 0 1 + particle explosion ^-14.28571 ^ ^20 3 2 3 0 1 + particle explosion ^-10.71429 ^ ^20 3 2 3 0 1 + particle explosion ^-7.14286 ^ ^20 3 2 3 0 1 + particle explosion ^-3.57143 ^ ^20 3 2 3 0 1 + particle explosion ^0 ^ ^20 3 2 3 0 1 + particle explosion ^3.57143 ^ ^20 3 2 3 0 1 + particle explosion ^7.14286 ^ ^20 3 2 3 0 1 + particle explosion ^10.71429 ^ ^20 3 2 3 0 1 + particle explosion ^14.28571 ^ ^20 3 2 3 0 1 + particle explosion ^17.85714 ^ ^20 3 2 3 0 1 + particle explosion ^21.42857 ^ ^20 3 2 3 0 1 + particle explosion ^25 ^ ^20 3 2 3 0 1 + # 線 1 + particle explosion ^-25 ^ ^0 3 2 3 0 1 + particle explosion ^-21.42857 ^ ^0 3 2 3 0 1 + particle explosion ^-17.85714 ^ ^0 3 2 3 0 1 + particle explosion ^-14.28571 ^ ^0 3 2 3 0 1 + particle explosion ^-10.71429 ^ ^0 3 2 3 0 1 + particle explosion ^-7.14286 ^ ^0 3 2 3 0 1 + particle explosion ^-3.57143 ^ ^0 3 2 3 0 1 + particle explosion ^0 ^ ^0 3 2 3 0 1 + particle explosion ^3.57143 ^ ^0 3 2 3 0 1 + particle explosion ^7.14286 ^ ^0 3 2 3 0 1 + particle explosion ^10.71429 ^ ^0 3 2 3 0 1 + particle explosion ^14.28571 ^ ^0 3 2 3 0 1 + particle explosion ^17.85714 ^ ^0 3 2 3 0 1 + particle explosion ^21.42857 ^ ^0 3 2 3 0 1 + particle explosion ^25 ^ ^0 3 2 3 0 1 + # 線 1-copy + particle explosion ^-25 ^ ^5 3 2 3 0 1 + particle explosion ^-21.42857 ^ ^5 3 2 3 0 1 + particle explosion ^-17.85714 ^ ^5 3 2 3 0 1 + particle explosion ^-14.28571 ^ ^5 3 2 3 0 1 + particle explosion ^-10.71429 ^ ^5 3 2 3 0 1 + particle explosion ^-7.14286 ^ ^5 3 2 3 0 1 + particle explosion ^-3.57143 ^ ^5 3 2 3 0 1 + particle explosion ^0 ^ ^5 3 2 3 0 1 + particle explosion ^3.57143 ^ ^5 3 2 3 0 1 + particle explosion ^7.14286 ^ ^5 3 2 3 0 1 + particle explosion ^10.71429 ^ ^5 3 2 3 0 1 + particle explosion ^14.28571 ^ ^5 3 2 3 0 1 + particle explosion ^17.85714 ^ ^5 3 2 3 0 1 + particle explosion ^21.42857 ^ ^5 3 2 3 0 1 + particle explosion ^25 ^ ^5 3 2 3 0 1 + # 線 1-copy-copy + particle explosion ^-25 ^ ^10 3 2 3 0 1 + particle explosion ^-21.42857 ^ ^10 3 2 3 0 1 + particle explosion ^-17.85714 ^ ^10 3 2 3 0 1 + particle explosion ^-14.28571 ^ ^10 3 2 3 0 1 + particle explosion ^-10.71429 ^ ^10 3 2 3 0 1 + particle explosion ^-7.14286 ^ ^10 3 2 3 0 1 + particle explosion ^-3.57143 ^ ^10 3 2 3 0 1 + particle explosion ^0 ^ ^10 3 2 3 0 1 + particle explosion ^3.57143 ^ ^10 3 2 3 0 1 + particle explosion ^7.14286 ^ ^10 3 2 3 0 1 + particle explosion ^10.71429 ^ ^10 3 2 3 0 1 + particle explosion ^14.28571 ^ ^10 3 2 3 0 1 + particle explosion ^17.85714 ^ ^10 3 2 3 0 1 + particle explosion ^21.42857 ^ ^10 3 2 3 0 1 + particle explosion ^25 ^ ^10 3 2 3 0 1 + # 線 1-copy-copy + particle explosion ^-25 ^ ^15 3 2 3 0 1 + particle explosion ^-21.42857 ^ ^15 3 2 3 0 1 + particle explosion ^-17.85714 ^ ^15 3 2 3 0 1 + particle explosion ^-14.28571 ^ ^15 3 2 3 0 1 + particle explosion ^-10.71429 ^ ^15 3 2 3 0 1 + particle explosion ^-7.14286 ^ ^15 3 2 3 0 1 + particle explosion ^-3.57143 ^ ^15 3 2 3 0 1 + particle explosion ^0 ^ ^15 3 2 3 0 1 + particle explosion ^3.57143 ^ ^15 3 2 3 0 1 + particle explosion ^7.14286 ^ ^15 3 2 3 0 1 + particle explosion ^10.71429 ^ ^15 3 2 3 0 1 + particle explosion ^14.28571 ^ ^15 3 2 3 0 1 + particle explosion ^17.85714 ^ ^15 3 2 3 0 1 + particle explosion ^21.42857 ^ ^15 3 2 3 0 1 + particle explosion ^25 ^ ^15 3 2 3 0 1 + # [ImportKey]: NobwRALgngDgpmAXGANgSwHYIDRgK55oAmSYATAOxEAcAbACwBmFAtAMa1Uv0CsAzERYAjWgAZGLHkICMAQwCc1PrOrSOYXBlkBbBMkBbvgAJpGsDFkAnHQGck4NgHs8GCEgq5GFh9rtgAbrIoeHrgAB5ILGQ8uFBIogC+8bgQDr4BQSFg4YhRMXGJuA6MjNZwroiiuEJwAF5ocBZxuGjWAEK19RYAogCOeIEoUADK5mxwJIiMgaUF4NDwpOhYpgTEpHCy9HzU8jzU7AI83NRwR0JSZCyiZPKiPGQCfBxsplq6pEbS7A4wsbjmVm0tkQ9icLiQtA8Xh8IP8gWCvmykWiYFiiB4BUgqVh6QRsOyuVRSAxSTARRKZSaYGqdQaVJa7Vp3T6A2Go3GSCmKBmSTmsD0qEwOHwhAmYE28jYsj4tFkLHknFYvFkrE20lELGkDCIjAVKiEsiErx0As+31+5r+ZksNl8jmc5RRnm8aXhmSRhLR6sxKVdGURSE9SG9pPJpXKlWpHTpFWabWjzP6KEGI1kYwmXJ52D5C2QS2FqzFcDgFCkFD4GrgMku9CEBpYsjIRDl8jg0nkQmbtDYQlEomN7wMxktltMANtsPt4MQ1ChLpxboDiGReUQ0hJyWx4Fx7sDKK9G7JxXDVJpnXp8aZvSTKfZGemcFmkH5iyFK1FpCIPDgfCYjDYwj0BwxzKPK8gUKwZCdtQewyjwvBGpoJofMOjgWmhVrjkCdpguUkJgM6MLbou+IREGOQJKSvoLv6pE5PugaUYUx6UrGUZMhejKdNerKpumnIPokAC6QA_3 + # 線 1-copy-copy + particle flash ^-25 ^ ^20 3 1 3 0 1 + particle flash ^-15 ^ ^20 3 1 3 0 1 + particle flash ^-5 ^ ^20 3 1 3 0 1 + particle flash ^5 ^ ^20 3 1 3 0 1 + particle flash ^15 ^ ^20 3 1 3 0 1 + particle flash ^25 ^ ^20 3 1 3 0 1 + # 線 1 + particle flash ^-25 ^ ^0 3 1 3 0 1 + particle flash ^-16.66667 ^ ^0 3 1 3 0 1 + particle flash ^-8.33333 ^ ^0 3 1 3 0 1 + particle flash ^0 ^ ^0 3 1 3 0 1 + particle flash ^8.33333 ^ ^0 3 1 3 0 1 + particle flash ^16.66667 ^ ^0 3 1 3 0 1 + particle flash ^25 ^ ^0 3 1 3 0 1 + # 線 1-copy + particle flash ^-25 ^ ^5 3 1 3 0 1 + particle flash ^-15 ^ ^5 3 1 3 0 1 + particle flash ^-5 ^ ^5 3 1 3 0 1 + particle flash ^5 ^ ^5 3 1 3 0 1 + particle flash ^15 ^ ^5 3 1 3 0 1 + particle flash ^25 ^ ^5 3 1 3 0 1 + # 線 1-copy-copy + particle flash ^-25 ^ ^10 3 1 3 0 1 + particle flash ^-12.5 ^ ^10 3 1 3 0 1 + particle flash ^0 ^ ^10 3 1 3 0 1 + particle flash ^12.5 ^ ^10 3 1 3 0 1 + particle flash ^25 ^ ^10 3 1 3 0 1 + # 線 1-copy-copy + particle flash ^-25 ^ ^15 3 1 3 0 1 + particle flash ^-17.85714 ^ ^15 3 1 3 0 1 + particle flash ^-10.71429 ^ ^15 3 1 3 0 1 + particle flash ^-3.57143 ^ ^15 3 1 3 0 1 + particle flash ^3.57143 ^ ^15 3 1 3 0 1 + particle flash ^10.71429 ^ ^15 3 1 3 0 1 + particle flash ^17.85714 ^ ^15 3 1 3 0 1 + particle flash ^25 ^ ^15 3 1 3 0 1 + # [ImportKey]: NobwRALgngDgpmAXGANgSwHYIDRgK55oAmSYATAOxEAcAbACwBmFAtAMa1Uv0CsAzERYAjWgAZGLHkICMAQwCc1PrOrSOYXBlkBbBMkBbvgAJpGsDFkAnHQGck4NgHs8GCEgq5GFh9rtgAbrIoeHrgAB5ILGQ8uFBIogC+8bgQDr4BQSFg4YhRMXGJuA6MjNZwroiiuEJwAF5ocBZxuGjWAEK19RYAogCOeIEoUADK5mxwJIiMgaUF4NDwpOhYpgTEpHCy9HzU8jzU7AI83NRwR0JSZCyiZPKiPGQCfBxsplq6pEbS7A4wsbjmVm0tkQ9icLiQtA8Xh8IP8gWCvmykWiYFiiB4BUgqVh6QRsOyuVRSAxSTARRKZSaYGqdQaVJa7Vp3T6A2Go3GSCmKBmSTmsD0qEwOHwhAmYE28jYsj4tFkLHknFYvFkrE20lELGkDCIjAVKiEsiErx0As+31+5r+ZksNl8jmc5RRnm8aXhmSRhLR6sxKVdGURSE9SG9pPJpXKlWpHTpFWabWjzP6KEGI1kYwmXJ52D5C2QS2FqzFcDgFCkFD4GrgMku9CEBpYsjIRDl8jg0nkQmbtDYQlEomN7wMxktltMANtsPt4MQ1ChLpxboDiGReUQ0hJyWx4Fx7sDKK9G7JxXDVJpnXp8aZvSTKfZGemcFmkH5iyFK1FpCIPDgfCYjDYwj0BwxzKPK8gUKwZCdtQewyjwvBGpoJofMOjgWmhVrjkCdpguUkJgM6MLbou+IREGOQJKSvoLv6pE5PugaUYUx6UrGUZMhejKdNerKpumnIPokAC6QA_3 + # 線 1-copy-copy + particle lava ^-25 ^ ^20 3 1 3 0 1 + particle lava ^-15 ^ ^20 3 1 3 0 1 + particle lava ^-5 ^ ^20 3 1 3 0 1 + particle lava ^5 ^ ^20 3 1 3 0 1 + particle lava ^15 ^ ^20 3 1 3 0 1 + particle lava ^25 ^ ^20 3 1 3 0 1 + # 線 1 + particle lava ^-25 ^ ^0 3 1 3 0 1 + particle lava ^-16.66667 ^ ^0 3 1 3 0 1 + particle lava ^-8.33333 ^ ^0 3 1 3 0 1 + particle lava ^0 ^ ^0 3 1 3 0 1 + particle lava ^8.33333 ^ ^0 3 1 3 0 1 + particle lava ^16.66667 ^ ^0 3 1 3 0 1 + particle lava ^25 ^ ^0 3 1 3 0 1 + # 線 1-copy + particle lava ^-25 ^ ^5 3 1 3 0 1 + particle lava ^-15 ^ ^5 3 1 3 0 1 + particle lava ^-5 ^ ^5 3 1 3 0 1 + particle lava ^5 ^ ^5 3 1 3 0 1 + particle lava ^15 ^ ^5 3 1 3 0 1 + particle lava ^25 ^ ^5 3 1 3 0 1 + # 線 1-copy-copy + particle lava ^-25 ^ ^10 3 1 3 0 1 + particle lava ^-12.5 ^ ^10 3 1 3 0 1 + particle lava ^0 ^ ^10 3 1 3 0 1 + particle lava ^12.5 ^ ^10 3 1 3 0 1 + particle lava ^25 ^ ^10 3 1 3 0 1 + # 線 1-copy-copy + particle lava ^-25 ^ ^15 3 1 3 0 1 + particle lava ^-17.85714 ^ ^15 3 1 3 0 1 + particle lava ^-10.71429 ^ ^15 3 1 3 0 1 + particle lava ^-3.57143 ^ ^15 3 1 3 0 1 + particle lava ^3.57143 ^ ^15 3 1 3 0 1 + particle lava ^10.71429 ^ ^15 3 1 3 0 1 + particle lava ^17.85714 ^ ^15 3 1 3 0 1 + particle lava ^25 ^ ^15 3 1 3 0 1 diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam_sword/attack_effect_start.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam_sword/attack_effect_start.mcfunction new file mode 100644 index 0000000000..d115fac3ff --- /dev/null +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam_sword/attack_effect_start.mcfunction @@ -0,0 +1,11 @@ +#> asset:mob/0456.gargo_ex_machina/tick/event/half_beam_sword/attack_effect_start +# +# 剣叩きつけ +# +# @within asset:mob/0456.gargo_ex_machina/tick/event/half_beam_sword/event_attack + +# 演出 + execute if entity @s[tag=CO.Skill.HalfBeam.IsRight] rotated ~60 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_sword/attack_effect + execute if entity @s[tag=CO.Skill.HalfBeam.IsRight] rotated ~120 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_sword/attack_effect + execute unless entity @s[tag=CO.Skill.HalfBeam.IsRight] rotated ~-60 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_sword/attack_effect + execute unless entity @s[tag=CO.Skill.HalfBeam.IsRight] rotated ~-120 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_sword/attack_effect diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam_sword/end.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam_sword/end.mcfunction new file mode 100644 index 0000000000..8692bdb8a4 --- /dev/null +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam_sword/end.mcfunction @@ -0,0 +1,16 @@ +#> asset:mob/0456.gargo_ex_machina/tick/event/half_beam_sword/end +# +# 半面焼きビーム +# +# @within asset:mob/0456.gargo_ex_machina/tick/event/half_beam_sword/event_attack + +# タグ消去 + scoreboard players set @s CO.EventTimer 0 + tag @s remove CO.Skill.HalfBeamSword.Attack + tag @s remove CO.Skill.HalfBeam.IsRight + +# 待機モーション再生 + execute as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run function animated_java:gargo_ex_machina/animations/idle/tween {duration:1, to_frame: 1} + +# 行動 + # function asset:mob/0410.heiloang/tick/act/ diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam_sword/event_attack.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam_sword/event_attack.mcfunction new file mode 100644 index 0000000000..d7bcb21a9c --- /dev/null +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam_sword/event_attack.mcfunction @@ -0,0 +1,37 @@ +#> asset:mob/0456.gargo_ex_machina/tick/event/half_beam_sword/event_attack +# +# 半面焼きビーム +# +# @within asset:mob/0456.gargo_ex_machina/tick/event/ + +# タイマー増加 + scoreboard players add @s CO.EventTimer 1 + +# 攻撃 + # アニメーション再生 + execute if entity @s[tag=CO.Skill.HalfBeam.IsRight] if score @s CO.EventTimer matches 1 as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run function animated_java:gargo_ex_machina/animations/beam_sword_attack_right/tween {duration:1, to_frame: 1} + execute unless entity @s[tag=CO.Skill.HalfBeam.IsRight] if score @s CO.EventTimer matches 1 as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run function animated_java:gargo_ex_machina/animations/beam_sword_attack_left/tween {duration:1, to_frame: 1} + # 効果音 + execute if score @s CO.EventTimer matches 1 run function asset:mob/0456.gargo_ex_machina/tick/util/sound + execute if score @s CO.EventTimer matches 1 run playsound ui.stonecutter.take_result hostile @a ~ ~ ~ 2 0.5 + execute if score @s CO.EventTimer matches 10 run function asset:mob/0456.gargo_ex_machina/tick/util/sound + execute if score @s CO.EventTimer matches 15 run function asset:mob/0456.gargo_ex_machina/tick/util/sound + execute if score @s CO.EventTimer matches 32 run function asset:mob/0456.gargo_ex_machina/tick/util/sound + execute if score @s CO.EventTimer matches 50 run function asset:mob/0456.gargo_ex_machina/tick/util/sound + # 攻撃 + execute if entity @s[tag=CO.Skill.HalfBeam.IsRight] if score @s CO.EventTimer matches 23 positioned ^-25 ^ ^ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_sword/attack + execute unless entity @s[tag=CO.Skill.HalfBeam.IsRight] if score @s CO.EventTimer matches 23 positioned ^25 ^ ^ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_sword/attack + # 攻撃演出 + execute if score @s CO.EventTimer matches 11 positioned ~ ~12 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_sword/summon_laser_start + execute if score @s CO.EventTimer matches 11..18 run playsound entity.breeze.jump hostile @a ~ ~ ~ 2 0.5 + execute if score @s CO.EventTimer matches 11..18 run playsound entity.breeze.jump hostile @a ~ ~ ~ 2 0.6 + execute if score @s CO.EventTimer matches 23 run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_sword/attack_effect_start + execute if score @s CO.EventTimer matches 25 run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_sword/attack_effect_start + execute if score @s CO.EventTimer matches 27 run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_sword/attack_effect_start + execute if score @s CO.EventTimer matches 29 run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_sword/attack_effect_start + execute if score @s CO.EventTimer matches 31 run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_sword/attack_effect_start + execute if score @s CO.EventTimer matches 33 run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_sword/attack_effect_start + execute if score @s CO.EventTimer matches 35 run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_sword/attack_effect_start + +# 終了 + execute if score @s CO.EventTimer matches 61.. run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_sword/end diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam_sword/event_charging.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam_sword/event_charging.mcfunction new file mode 100644 index 0000000000..67b2933e8c --- /dev/null +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam_sword/event_charging.mcfunction @@ -0,0 +1,54 @@ +#> asset:mob/0456.gargo_ex_machina/tick/event/half_beam_sword/event_charging +# +# 半面焼きビーム +# +# @within asset:mob/0456.gargo_ex_machina/tick/event/ + +# タイマー増加 + scoreboard players add @s CO.EventTimer 1 + +# 溜め + # アニメーション再生 + execute if score @s CO.EventTimer matches 1 as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run function animated_java:gargo_ex_machina/animations/beam_sword_charge/tween {duration:1, to_frame: 1} + # モデルを合わせる + execute as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run tp @s ~ ~ ~ ~ ~ + # 予告 + # ノーマル + execute if predicate api:global_vars/difficulty/1_normal if score @s CO.EventTimer matches 15 run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_sword/prediction_circle.m {Tick:108} + execute if entity @s[tag=CO.Skill.HalfBeam.IsRight] if predicate api:global_vars/difficulty/1_normal if score @s CO.EventTimer matches 15 positioned ^-25 ^ ^ rotated ~-30 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_sword/prediction.m {Interpolation:20,Tick:108} + execute if entity @s[tag=CO.Skill.HalfBeam.IsRight] if predicate api:global_vars/difficulty/1_normal if score @s CO.EventTimer matches 35 positioned ^-25 ^0.05 ^ rotated ~30 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_sword/prediction.m {Interpolation:20,Tick:88} + execute unless entity @s[tag=CO.Skill.HalfBeam.IsRight] if predicate api:global_vars/difficulty/1_normal if score @s CO.EventTimer matches 15 positioned ^25 ^ ^ rotated ~30 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_sword/prediction.m {Interpolation:20,Tick:108} + execute unless entity @s[tag=CO.Skill.HalfBeam.IsRight] if predicate api:global_vars/difficulty/1_normal if score @s CO.EventTimer matches 35 positioned ^25 ^0.05 ^ rotated ~-30 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_sword/prediction.m {Interpolation:20,Tick:88} + # ハード + execute if predicate api:global_vars/difficulty/2_hard if score @s CO.EventTimer matches 35 run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_sword/prediction_circle.m {Tick:88} + execute if entity @s[tag=CO.Skill.HalfBeam.IsRight] if predicate api:global_vars/difficulty/2_hard if score @s CO.EventTimer matches 35 positioned ^-25 ^ ^ rotated ~-30 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_sword/prediction.m {Interpolation:20,Tick:88} + execute if entity @s[tag=CO.Skill.HalfBeam.IsRight] if predicate api:global_vars/difficulty/2_hard if score @s CO.EventTimer matches 55 positioned ^-25 ^0.05 ^ rotated ~30 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_sword/prediction.m {Interpolation:20,Tick:68} + execute unless entity @s[tag=CO.Skill.HalfBeam.IsRight] if predicate api:global_vars/difficulty/2_hard if score @s CO.EventTimer matches 35 positioned ^25 ^ ^ rotated ~30 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_sword/prediction.m {Interpolation:20,Tick:88} + execute unless entity @s[tag=CO.Skill.HalfBeam.IsRight] if predicate api:global_vars/difficulty/2_hard if score @s CO.EventTimer matches 55 positioned ^25 ^0.05 ^ rotated ~-30 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_sword/prediction.m {Interpolation:20,Tick:68} + # ブレスレス + execute if predicate api:global_vars/difficulty/min/3_blessless if score @s CO.EventTimer matches 90 run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_sword/prediction_circle.m {Tick:33} + execute if entity @s[tag=CO.Skill.HalfBeam.IsRight] if predicate api:global_vars/difficulty/min/3_blessless if score @s CO.EventTimer matches 90 positioned ^-25 ^ ^ rotated ~-30 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_sword/prediction.m {Interpolation:2,Tick:33} + execute if entity @s[tag=CO.Skill.HalfBeam.IsRight] if predicate api:global_vars/difficulty/min/3_blessless if score @s CO.EventTimer matches 95 positioned ^-25 ^0.05 ^ rotated ~30 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_sword/prediction.m {Interpolation:2,Tick:28} + execute unless entity @s[tag=CO.Skill.HalfBeam.IsRight] if predicate api:global_vars/difficulty/min/3_blessless if score @s CO.EventTimer matches 90 positioned ^25 ^ ^ rotated ~30 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_sword/prediction.m {Interpolation:2,Tick:33} + execute unless entity @s[tag=CO.Skill.HalfBeam.IsRight] if predicate api:global_vars/difficulty/min/3_blessless if score @s CO.EventTimer matches 95 positioned ^25 ^0.05 ^ rotated ~-30 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_sword/prediction.m {Interpolation:2,Tick:28} + # 効果音 + execute if score @s CO.EventTimer matches 1..100 positioned ~ ~15 ~ run particle end_rod ~ ~ ~ 2 2 2 0.05 1 + +# 予告 + # 攻撃方向をランダムに決定 + execute if score @s CO.EventTimer matches 1 if predicate lib:random_pass_per/50 run tag @s add CO.Skill.HalfBeam.IsRight + execute if entity @s[tag=CO.Skill.HalfBeam.IsRight] if score @s CO.EventTimer matches 1 run tellraw @a [{"text":"【石像の","color": "dark_purple","bold": true},{"text":" 右眼 ","color": "red","bold": true},{"text":"が光り始めた!!】","color": "dark_purple","bold": true}] + execute unless entity @s[tag=CO.Skill.HalfBeam.IsRight] if score @s CO.EventTimer matches 1 run tellraw @a [{"text":"【石像の","color": "dark_purple","bold": true},{"text":" 左眼 ","color": "blue","bold": true},{"text":"が光り始めた!!】","color": "dark_purple","bold": true}] + execute if score @s CO.EventTimer matches 1 run playsound block.beacon.activate hostile @a ~ ~ ~ 2 1.5 + execute if score @s CO.EventTimer matches 1 run playsound block.beacon.activate hostile @a ~ ~ ~ 2 1.5 + execute if score @s CO.EventTimer matches 20 run playsound block.beacon.activate hostile @a ~ ~ ~ 2 1.6 + execute if score @s CO.EventTimer matches 20 run playsound block.beacon.activate hostile @a ~ ~ ~ 2 1.6 + execute if score @s CO.EventTimer matches 40 run playsound block.beacon.activate hostile @a ~ ~ ~ 2 1.7 + execute if score @s CO.EventTimer matches 40 run playsound block.beacon.activate hostile @a ~ ~ ~ 2 1.7 + execute if score @s CO.EventTimer matches 60 run playsound block.beacon.activate hostile @a ~ ~ ~ 2 1.8 + execute if score @s CO.EventTimer matches 60 run playsound block.beacon.activate hostile @a ~ ~ ~ 2 1.8 + execute if score @s CO.EventTimer matches 80 run playsound block.beacon.activate hostile @a ~ ~ ~ 2 2 + execute if score @s CO.EventTimer matches 80 run playsound block.beacon.activate hostile @a ~ ~ ~ 2 2 + +# 終了 + execute if score @s CO.EventTimer matches 100.. run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_sword/start_attack diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam_sword/event_start.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam_sword/event_start.mcfunction new file mode 100644 index 0000000000..56aedff00e --- /dev/null +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam_sword/event_start.mcfunction @@ -0,0 +1,20 @@ +#> asset:mob/0456.gargo_ex_machina/tick/event/half_beam_sword/event_start +# +# 半面焼きビーム + 回転斬り +# +# @within asset:mob/0456.gargo_ex_machina/tick/event/ + +# タイマー増加 + scoreboard players add @s CO.EventTimer 1 + +# 構え + # アニメーション再生 + execute if score @s CO.EventTimer matches 1 as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run function animated_java:gargo_ex_machina/animations/beam_sword_start/tween {duration:1, to_frame: 1} + # 効果音 + execute if score @s CO.EventTimer matches 1 run function asset:mob/0456.gargo_ex_machina/tick/util/sound + execute if score @s CO.EventTimer matches 24 run function asset:mob/0456.gargo_ex_machina/tick/util/sound + # モデルを合わせる + execute as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run tp @s ~ ~ ~ ~ ~ + +# 溜めに移行 + execute if score @s CO.EventTimer matches 26.. run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_sword/start_charging diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam_sword/prediction.m.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam_sword/prediction.m.mcfunction new file mode 100644 index 0000000000..5b7a830d8d --- /dev/null +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam_sword/prediction.m.mcfunction @@ -0,0 +1,14 @@ +#> asset:mob/0456.gargo_ex_machina/tick/event/half_beam_sword/prediction.m +# +# 半面焼きビーム +# +# @within asset:mob/0456.gargo_ex_machina/tick/event/half_beam_sword/event_charging + +# 予告 + data modify storage api: Argument.ID set value 2113 + data modify storage api: Argument.FieldOverride.RotationX set from entity @s Rotation[0] + data modify storage api: Argument.FieldOverride.Color set value 3381759 + data modify storage api: Argument.FieldOverride.Scale set value [40f,80f] + $data modify storage api: Argument.FieldOverride.Interpolation set value $(Interpolation) + $data modify storage api: Argument.FieldOverride.Tick set value $(Tick) + execute positioned ^ ^0.1 ^40 rotated ~180 0 run function api:object/summon diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam_sword/prediction_circle.m.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam_sword/prediction_circle.m.mcfunction new file mode 100644 index 0000000000..b5c4f734a9 --- /dev/null +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam_sword/prediction_circle.m.mcfunction @@ -0,0 +1,13 @@ +#> asset:mob/0456.gargo_ex_machina/tick/event/half_beam_sword/prediction_circle.m +# +# 半面焼きビーム +# +# @within asset:mob/0456.gargo_ex_machina/tick/event/half_beam_sword/event_charging + +# 予告:円範囲 + data modify storage api: Argument.ID set value 2063 + execute store result storage api: Argument.FieldOverride.MobUUID int 1 run scoreboard players get @s MobUUID + data modify storage api: Argument.FieldOverride.Color set value 3381759 + data modify storage api: Argument.FieldOverride.Scale set value [40f, 40f, 0.05f] + $data modify storage api: Argument.FieldOverride.Tick set value $(Tick) + execute positioned ^ ^0.2 ^ rotated ~ 0 run function api:object/summon diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam_sword/start_attack.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam_sword/start_attack.mcfunction new file mode 100644 index 0000000000..b88d4a8b58 --- /dev/null +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam_sword/start_attack.mcfunction @@ -0,0 +1,10 @@ +#> asset:mob/0456.gargo_ex_machina/tick/event/half_beam_sword/start_attack +# +# 半面焼きビーム +# +# @within asset:mob/0456.gargo_ex_machina/tick/event/half_beam_sword/event_charging + +# タグ更新 + scoreboard players set @s CO.EventTimer 0 + tag @s remove CO.Skill.HalfBeamSword.Charge + tag @s add CO.Skill.HalfBeamSword.Attack diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam_sword/start_charging.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam_sword/start_charging.mcfunction new file mode 100644 index 0000000000..7c65afdc88 --- /dev/null +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam_sword/start_charging.mcfunction @@ -0,0 +1,10 @@ +#> asset:mob/0456.gargo_ex_machina/tick/event/half_beam_sword/start_charging +# +# 半面焼きビーム + 回転斬り +# +# @within asset:mob/0456.gargo_ex_machina/tick/event/half_beam_sword/event_start + +# タグ更新 + scoreboard players set @s CO.EventTimer 0 + tag @s remove CO.Skill.HalfBeamSword + tag @s add CO.Skill.HalfBeamSword.Charge diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam_sword/summon_laser.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam_sword/summon_laser.mcfunction new file mode 100644 index 0000000000..9e6a47aabb --- /dev/null +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam_sword/summon_laser.mcfunction @@ -0,0 +1,11 @@ +#> asset:mob/0456.gargo_ex_machina/tick/event/half_beam_sword/summon_laser +# +# 半面焼きビーム +# +# @within asset:mob/0456.gargo_ex_machina/tick/event/half_beam_sword/summon_laser_start + +# 演出 + data modify storage api: Argument.ID set value 2263 + data modify storage api: Argument.FieldOverride.Rotation set from entity @s Rotation + execute if entity @s[tag=CO.Skill.HalfBeam.IsRight] run data modify storage api: Argument.FieldOverride.IsRight set value true + function api:object/summon diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam_sword/summon_laser_start.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam_sword/summon_laser_start.mcfunction new file mode 100644 index 0000000000..d94b3b95e6 --- /dev/null +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam_sword/summon_laser_start.mcfunction @@ -0,0 +1,24 @@ +#> asset:mob/0456.gargo_ex_machina/tick/event/half_beam_sword/summon_laser_start +# +# 半面焼きビーム +# +# @within asset:mob/0456.gargo_ex_machina/tick/event/half_beam_sword/event_attack + +# 基準用AEC召喚 + summon area_effect_cloud ~ ~ ~ {Tags:["CO.Aec.Target"]} + execute if entity @s[tag=CO.Skill.HalfBeam.IsRight] run tag @e[type=area_effect_cloud,tag=CO.Aec.Target,distance=..10,limit=1] add CO.Skill.HalfBeam.IsRight + +# 演出 + execute if entity @s[tag=CO.Skill.HalfBeam.IsRight] run tp @e[type=area_effect_cloud,tag=CO.Aec.Target,distance=..10,limit=1] ^-2 ^ ^ ~-30 60 + execute unless entity @s[tag=CO.Skill.HalfBeam.IsRight] run tp @e[type=area_effect_cloud,tag=CO.Aec.Target,distance=..10,limit=1] ^2 ^ ^ ~30 60 + execute as @e[type=area_effect_cloud,tag=CO.Aec.Target,distance=..10,limit=1] at @s positioned ^-2 ^ ^ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_sword/summon_laser + execute as @e[type=area_effect_cloud,tag=CO.Aec.Target,distance=..10,limit=1] at @s positioned ^2 ^ ^ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_sword/summon_laser + execute as @e[type=area_effect_cloud,tag=CO.Aec.Target,distance=..10,limit=1] at @s run tp @s ~ ~ ~ ~ 45 + execute as @e[type=area_effect_cloud,tag=CO.Aec.Target,distance=..10,limit=1] at @s positioned ^-2 ^ ^ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_sword/summon_laser + execute as @e[type=area_effect_cloud,tag=CO.Aec.Target,distance=..10,limit=1] at @s positioned ^2 ^ ^ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_sword/summon_laser + execute as @e[type=area_effect_cloud,tag=CO.Aec.Target,distance=..10,limit=1] at @s run tp @s ~ ~ ~ ~ 30 + execute as @e[type=area_effect_cloud,tag=CO.Aec.Target,distance=..10,limit=1] at @s positioned ^-2 ^ ^ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_sword/summon_laser + execute as @e[type=area_effect_cloud,tag=CO.Aec.Target,distance=..10,limit=1] at @s positioned ^2 ^ ^ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_sword/summon_laser + +# 終了 + kill @e[type=area_effect_cloud,tag=CO.Aec.Target,distance=..10,limit=1] diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/sword_attack/attack.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/sword_attack/attack.mcfunction index 6910f62f1c..449f6384a1 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/sword_attack/attack.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/sword_attack/attack.mcfunction @@ -26,9 +26,9 @@ execute rotated ~120 0 run function lib:rotatable_dxyz/m with storage lib: args # ダメージ - data modify storage api: Argument.Damage set from storage asset:context this.Damage.SwordAttack - data modify storage api: Argument.AttackType set value "Physical" - data modify storage api: Argument.ElementType set value "None" + data modify storage api: Argument.Damage set from storage asset:context this.Damage.SwordAttack.Amount + data modify storage api: Argument.AttackType set from storage asset:context this.Damage.SwordAttack.Type + data modify storage api: Argument.ElementType set from storage asset:context this.Damage.SwordAttack.Element function api:damage/modifier execute as @a[tag=DXYZ] run function api:damage/ function api:damage/reset diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/sword_attack/attack_effect.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/sword_attack/attack_effect.mcfunction index 151e256fec..1f961c953d 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/sword_attack/attack_effect.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/sword_attack/attack_effect.mcfunction @@ -5,7 +5,8 @@ # @within asset:mob/0456.gargo_ex_machina/tick/event/sword_attack/attack # 効果音 - playsound entity.generic.explode hostile @a ~ ~ ~ 2 0.7 + playsound entity.generic.explode hostile @a ~ ~ ~ 2 0.5 + playsound entity.iron_golem.death hostile @a ~ ~ ~ 2 0.5 playsound entity.wither.break_block hostile @a ~ ~ ~ 2 0.7 # パーティクル diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/sword_attack/event_attack.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/sword_attack/event_attack.mcfunction index 7f9a572d72..30f267e703 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/sword_attack/event_attack.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/sword_attack/event_attack.mcfunction @@ -10,19 +10,27 @@ # 攻撃 # アニメーション再生 execute if score @s CO.EventTimer matches 1 as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run function animated_java:gargo_ex_machina/animations/sword_smash_attack/tween {duration:1, to_frame: 1} - execute if score @s CO.EventTimer matches 30 as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run function animated_java:gargo_ex_machina/animations/sword_smash_attack/pause + execute if score @s CO.EventTimer matches 35 as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run function animated_java:gargo_ex_machina/animations/sword_smash_attack/pause execute if score @s CO.EventTimer matches 60 as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run function animated_java:gargo_ex_machina/animations/sword_smash_attack/resume # 効果音 execute if score @s CO.EventTimer matches 1 positioned as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run playsound block.piston.contract hostile @a ~ ~ ~ 2 0.9 execute if score @s CO.EventTimer matches 65 positioned as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run playsound block.piston.contract hostile @a ~ ~ ~ 2 0.9 execute if score @s CO.EventTimer matches 93 positioned as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run playsound block.piston.contract hostile @a ~ ~ ~ 2 0.9 # 攻撃 - execute if score @s CO.EventTimer matches 10 positioned ^ ^ ^25 run function asset:mob/0456.gargo_ex_machina/tick/event/sword_attack/attack + execute if score @s CO.EventTimer matches 15 positioned ^ ^ ^25 run function asset:mob/0456.gargo_ex_machina/tick/event/sword_attack/attack # 攻撃演出 - execute if score @s CO.EventTimer matches 12 positioned ^ ^ ^25 positioned as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run playsound entity.breeze.shoot hostile @a ~ ~ ~ 2 0.9 - execute if score @s CO.EventTimer matches 12 positioned ^ ^ ^25 run function asset:mob/0456.gargo_ex_machina/tick/event/sword_attack/attack_effect_line.m {Dist:0} - execute if score @s CO.EventTimer matches 14 positioned ^ ^ ^25 run function asset:mob/0456.gargo_ex_machina/tick/event/sword_attack/attack_effect_line.m {Dist:15} - execute if score @s CO.EventTimer matches 16 positioned ^ ^ ^25 run function asset:mob/0456.gargo_ex_machina/tick/event/sword_attack/attack_effect_line.m {Dist:30} + execute if score @s CO.EventTimer matches 17 positioned ^ ^ ^25 positioned as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run playsound entity.breeze.shoot hostile @a ~ ~ ~ 2 0.9 + execute if score @s CO.EventTimer matches 17 positioned ^ ^ ^25 run function asset:mob/0456.gargo_ex_machina/tick/event/sword_attack/attack_effect_line.m {Dist:0} + execute if score @s CO.EventTimer matches 19 positioned ^ ^ ^25 run function asset:mob/0456.gargo_ex_machina/tick/event/sword_attack/attack_effect_line.m {Dist:15} + execute if score @s CO.EventTimer matches 21 positioned ^ ^ ^25 run function asset:mob/0456.gargo_ex_machina/tick/event/sword_attack/attack_effect_line.m {Dist:30} + execute if score @s CO.EventTimer matches 16 as @a[distance=..80] at @s run tp @s ~ ~ ~ ~ ~2 + execute if score @s CO.EventTimer matches 17 as @a[distance=..80] at @s run tp @s ~ ~ ~ ~ ~-4 + execute if score @s CO.EventTimer matches 18 as @a[distance=..80] at @s run tp @s ~ ~ ~ ~ ~4 + execute if score @s CO.EventTimer matches 19 as @a[distance=..80] at @s run tp @s ~ ~ ~ ~ ~-4 + execute if score @s CO.EventTimer matches 20 as @a[distance=..80] at @s run tp @s ~ ~ ~ ~ ~3 + execute if score @s CO.EventTimer matches 21 as @a[distance=..80] at @s run tp @s ~ ~ ~ ~ ~-3 + execute if score @s CO.EventTimer matches 22 as @a[distance=..80] at @s run tp @s ~ ~ ~ ~ ~3 + execute if score @s CO.EventTimer matches 23 as @a[distance=..80] at @s run tp @s ~ ~ ~ ~ ~-1 # 終了 execute if score @s CO.EventTimer matches 95.. run function asset:mob/0456.gargo_ex_machina/tick/event/sword_attack/end diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/sword_attack/prediction.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/sword_attack/prediction.mcfunction index abab180ff7..566f5a3001 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/sword_attack/prediction.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/sword_attack/prediction.mcfunction @@ -9,7 +9,7 @@ execute store result storage api: Argument.FieldOverride.MobUUID int 1 run scoreboard players get @s MobUUID data modify storage api: Argument.FieldOverride.Color set value 3381759 data modify storage api: Argument.FieldOverride.Scale set value [20f, 20f, 0.05f] - data modify storage api: Argument.FieldOverride.Tick set value 50 + data modify storage api: Argument.FieldOverride.Tick set value 55 execute positioned ^ ^0.2 ^ rotated ~ 0 run function api:object/summon # 予告 @@ -18,40 +18,40 @@ data modify storage api: Argument.FieldOverride.Color set value 3381759 data modify storage api: Argument.FieldOverride.Scale set value [8f,50f] data modify storage api: Argument.FieldOverride.Interpolation set value 30 - data modify storage api: Argument.FieldOverride.Tick set value 50 + data modify storage api: Argument.FieldOverride.Tick set value 55 execute positioned ^ ^0.1 ^ rotated ~ 0 run function api:object/summon data modify storage api: Argument.ID set value 2113 data modify storage api: Argument.FieldOverride.RotationX set from entity @s Rotation[0] data modify storage api: Argument.FieldOverride.Color set value 3381759 data modify storage api: Argument.FieldOverride.Scale set value [8f,50f] data modify storage api: Argument.FieldOverride.Interpolation set value 30 - data modify storage api: Argument.FieldOverride.Tick set value 50 + data modify storage api: Argument.FieldOverride.Tick set value 55 execute positioned ^ ^0.1 ^ rotated ~60 0 run function api:object/summon data modify storage api: Argument.ID set value 2113 data modify storage api: Argument.FieldOverride.RotationX set from entity @s Rotation[0] data modify storage api: Argument.FieldOverride.Color set value 3381759 data modify storage api: Argument.FieldOverride.Scale set value [8f,50f] data modify storage api: Argument.FieldOverride.Interpolation set value 30 - data modify storage api: Argument.FieldOverride.Tick set value 50 + data modify storage api: Argument.FieldOverride.Tick set value 55 execute positioned ^ ^0.1 ^ rotated ~-60 0 run function api:object/summon data modify storage api: Argument.ID set value 2113 data modify storage api: Argument.FieldOverride.RotationX set from entity @s Rotation[0] data modify storage api: Argument.FieldOverride.Color set value 3381759 data modify storage api: Argument.FieldOverride.Scale set value [8f,50f] data modify storage api: Argument.FieldOverride.Interpolation set value 30 - data modify storage api: Argument.FieldOverride.Tick set value 50 + data modify storage api: Argument.FieldOverride.Tick set value 55 execute positioned ^ ^0.1 ^ rotated ~120 0 run function api:object/summon data modify storage api: Argument.ID set value 2113 data modify storage api: Argument.FieldOverride.RotationX set from entity @s Rotation[0] data modify storage api: Argument.FieldOverride.Color set value 3381759 data modify storage api: Argument.FieldOverride.Scale set value [8f,50f] data modify storage api: Argument.FieldOverride.Interpolation set value 30 - data modify storage api: Argument.FieldOverride.Tick set value 50 + data modify storage api: Argument.FieldOverride.Tick set value 55 execute positioned ^ ^0.1 ^ rotated ~-120 0 run function api:object/summon data modify storage api: Argument.ID set value 2113 data modify storage api: Argument.FieldOverride.RotationX set from entity @s Rotation[0] data modify storage api: Argument.FieldOverride.Color set value 3381759 data modify storage api: Argument.FieldOverride.Scale set value [8f,50f] data modify storage api: Argument.FieldOverride.Interpolation set value 30 - data modify storage api: Argument.FieldOverride.Tick set value 50 + data modify storage api: Argument.FieldOverride.Tick set value 55 execute positioned ^ ^0.1 ^ rotated ~180 0 run function api:object/summon diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/util/change_bossbar_name.m.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/util/change_bossbar_name.m.mcfunction new file mode 100644 index 0000000000..0a321e8cb7 --- /dev/null +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/util/change_bossbar_name.m.mcfunction @@ -0,0 +1,8 @@ +#> asset:mob/0456.gargo_ex_machina/tick/util/change_bossbar_name.m +# +# ボス名変更 +# +# @within asset:mob/0456.gargo_ex_machina/tick/util/change_bossbar_name + +# bossbar変更 + $bossbar set asset:angel$(MobUUID) name {"text":"絡繰仕掛の石像"} diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/util/change_bossbar_name.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/util/change_bossbar_name.mcfunction new file mode 100644 index 0000000000..1165acc61e --- /dev/null +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/util/change_bossbar_name.mcfunction @@ -0,0 +1,10 @@ +#> asset:mob/0456.gargo_ex_machina/tick/util/change_bossbar_name +# +# ボス名変更 +# +# @within asset:mob/0456.gargo_ex_machina/tick/** + +# bossbar消去 + execute store result storage asset:temp CO.MobUUID int 1 run scoreboard players get @s MobUUID + function asset:mob/0456.gargo_ex_machina/tick/util/change_bossbar_name.m with storage asset:temp CO + data remove storage asset:temp CO From 999d608c488ccb07115d4920acade3fe3a0acdd0 Mon Sep 17 00:00:00 2001 From: mokkkk Date: Sun, 15 Feb 2026 14:08:32 +0900 Subject: [PATCH 10/98] =?UTF-8?q?=E5=90=8D=E5=89=8D=E5=A4=89=E6=9B=B4?= =?UTF-8?q?=E5=87=A6=E7=90=86=E3=81=AE=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../0456.gargo_ex_machina/register.mcfunction | 2 +- .../tick/event/activate/.mcfunction | 3 ++- .../event/half_beam/event_attack.mcfunction | 2 +- .../tick/event/move/.mcfunction | 26 +++++++++++++++++++ .../tick/event/move/end.mcfunction | 16 ++++++++++++ .../util/change_bossbar_name.m.mcfunction | 9 ++++--- .../tick/util/change_bossbar_name.mcfunction | 10 ------- .../change_bossbar_name_apply.m.mcfunction | 8 ++++++ 8 files changed, 60 insertions(+), 16 deletions(-) create mode 100644 Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/move/.mcfunction create mode 100644 Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/move/end.mcfunction delete mode 100644 Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/util/change_bossbar_name.mcfunction create mode 100644 Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/util/change_bossbar_name_apply.m.mcfunction diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/register.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/register.mcfunction index cb94491e00..aaf635c848 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/register.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/register.mcfunction @@ -17,7 +17,7 @@ data modify storage asset:mob Interferable set value false data modify storage asset:mob IsForwardTarget set value true # 名前 (TextComponentString) (オプション) - data modify storage asset:mob Name set value '{"text":"逆襲のひつじしゃん"}' + data modify storage asset:mob Name set value '{"text":"絡繰仕掛の石像"}' # Mobの説明文 (TextComponentString[]) (オプション) data modify storage asset:mob Lore set value ['{"text":"ほげ"}'] # 体力 (double) (オプション) diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/activate/.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/activate/.mcfunction index 7a126f0480..0c4d938950 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/activate/.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/activate/.mcfunction @@ -62,8 +62,9 @@ execute if score @s CO.EventTimer matches 301 run function asset:mob/0456.gargo_ex_machina/tick/util/sound execute if score @s CO.EventTimer matches 325 run function asset:mob/0456.gargo_ex_machina/tick/util/sound # ボス名変更 + execute if score @s CO.EventTimer matches 1 run function asset:mob/0456.gargo_ex_machina/tick/util/change_bossbar_name.m {Name:"逆襲のひつじしゃん"} execute if score @s CO.EventTimer matches 231 run kill @e[type=sheep,tag=CO.ScapeSheep] - execute if score @s CO.EventTimer matches 231 run function asset:mob/0456.gargo_ex_machina/tick/util/change_bossbar_name + execute if score @s CO.EventTimer matches 231 run function asset:mob/0456.gargo_ex_machina/tick/util/change_bossbar_name.m {Name:"絡繰仕掛の石像"} # 終了 execute if score @s CO.EventTimer matches 331.. run function asset:mob/0456.gargo_ex_machina/tick/event/activate/end diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam/event_attack.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam/event_attack.mcfunction index 0da4f8dfe7..698e4941f4 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam/event_attack.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam/event_attack.mcfunction @@ -23,7 +23,7 @@ execute if entity @s[tag=CO.Skill.HalfBeam.IsRight] if score @s CO.EventTimer matches 23 positioned ^-30 ^ ^ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam/attack execute unless entity @s[tag=CO.Skill.HalfBeam.IsRight] if score @s CO.EventTimer matches 23 positioned ^30 ^ ^ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam/attack # 攻撃演出 - execute if score @s CO.EventTimer matches 11 positioned ~ ~15 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam/summon_laser_start + execute if score @s CO.EventTimer matches 9 positioned ~ ~15 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam/summon_laser_start execute if score @s CO.EventTimer matches 11..18 run playsound entity.breeze.jump hostile @a ~ ~ ~ 2 0.5 execute if score @s CO.EventTimer matches 11..18 run playsound entity.breeze.jump hostile @a ~ ~ ~ 2 0.6 execute if score @s CO.EventTimer matches 23 run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam/attack_effect_start diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/move/.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/move/.mcfunction new file mode 100644 index 0000000000..fc969572db --- /dev/null +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/move/.mcfunction @@ -0,0 +1,26 @@ +#> asset:mob/0456.gargo_ex_machina/tick/event/move/ +# +# 移動 +# +# @within asset:mob/0456.gargo_ex_machina/tick/event/ + +# タイマー増加 + scoreboard players add @s CO.EventTimer 1 + +# 移動 + # アニメーション再生 + execute if score @s CO.EventTimer matches 1 as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run function animated_java:gargo_ex_machina/animations/beam_start/tween {duration:1, to_frame: 1} + # 効果音 + execute if score @s CO.EventTimer matches 1 run function asset:mob/0456.gargo_ex_machina/tick/util/sound + execute if score @s CO.EventTimer matches 22 run playsound entity.ravager.step hostile @a ~ ~ ~ 2 0.7 + execute if score @s CO.EventTimer matches 22 run playsound entity.ravager.step hostile @a ~ ~ ~ 2 0.6 + execute if score @s CO.EventTimer matches 22 run playsound entity.ravager.step hostile @a ~ ~ ~ 2 0.5 + execute if score @s CO.EventTimer matches 25 run function asset:mob/0456.gargo_ex_machina/tick/util/sound + # モデルを合わせる + execute as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run tp @s ~ ~ ~ ~ ~ + # 演出 + execute if score @s CO.EventTimer matches 21 positioned ^ ^ ^6 run particle explosion ~ ~ ~ 1 0.5 1 0 6 + execute if score @s CO.EventTimer matches 21 positioned ^ ^ ^6 run particle block quartz_block ~ ~ ~ 1 0.5 1 0 100 + +# 終了 + execute if score @s CO.EventTimer matches 36.. run function asset:mob/0456.gargo_ex_machina/tick/event/move/end diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/move/end.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/move/end.mcfunction new file mode 100644 index 0000000000..8c6544349f --- /dev/null +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/move/end.mcfunction @@ -0,0 +1,16 @@ +#> asset:mob/0456.gargo_ex_machina/tick/event/half_beam/end +# +# 半面焼きビーム +# +# @within asset:mob/0456.gargo_ex_machina/tick/event/half_beam/event_attack + +# タグ消去 + scoreboard players set @s CO.EventTimer 0 + tag @s remove CO.Skill.HalfBeam.Attack + tag @s remove CO.Skill.HalfBeam.IsRight + +# 待機モーション再生 + execute as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run function animated_java:gargo_ex_machina/animations/idle/tween {duration:1, to_frame: 1} + +# 行動 + # function asset:mob/0410.heiloang/tick/act/ diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/util/change_bossbar_name.m.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/util/change_bossbar_name.m.mcfunction index 0a321e8cb7..58879a6b73 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/util/change_bossbar_name.m.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/util/change_bossbar_name.m.mcfunction @@ -2,7 +2,10 @@ # # ボス名変更 # -# @within asset:mob/0456.gargo_ex_machina/tick/util/change_bossbar_name +# @within asset:mob/0456.gargo_ex_machina/tick/** -# bossbar変更 - $bossbar set asset:angel$(MobUUID) name {"text":"絡繰仕掛の石像"} +# bossbar消去 + $data modify storage asset:temp CO.Name set value "$(Name)" + execute store result storage asset:temp CO.MobUUID int 1 run scoreboard players get @s MobUUID + function asset:mob/0456.gargo_ex_machina/tick/util/change_bossbar_name_apply.m with storage asset:temp CO + data remove storage asset:temp CO diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/util/change_bossbar_name.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/util/change_bossbar_name.mcfunction deleted file mode 100644 index 1165acc61e..0000000000 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/util/change_bossbar_name.mcfunction +++ /dev/null @@ -1,10 +0,0 @@ -#> asset:mob/0456.gargo_ex_machina/tick/util/change_bossbar_name -# -# ボス名変更 -# -# @within asset:mob/0456.gargo_ex_machina/tick/** - -# bossbar消去 - execute store result storage asset:temp CO.MobUUID int 1 run scoreboard players get @s MobUUID - function asset:mob/0456.gargo_ex_machina/tick/util/change_bossbar_name.m with storage asset:temp CO - data remove storage asset:temp CO diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/util/change_bossbar_name_apply.m.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/util/change_bossbar_name_apply.m.mcfunction new file mode 100644 index 0000000000..2cd9efbb6b --- /dev/null +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/util/change_bossbar_name_apply.m.mcfunction @@ -0,0 +1,8 @@ +#> asset:mob/0456.gargo_ex_machina/tick/util/change_bossbar_name_apply.m +# +# ボス名変更 +# +# @within asset:mob/0456.gargo_ex_machina/tick/util/change_bossbar_name.m + +# bossbar変更 + $bossbar set asset:angel$(MobUUID) name {"text":"$(Name)"} From fad4e3898682205a92effe6fdb93a0887dbf26d1 Mon Sep 17 00:00:00 2001 From: mokkkk Date: Sun, 15 Feb 2026 15:00:52 +0900 Subject: [PATCH 11/98] =?UTF-8?q?=E7=A7=BB=E5=8B=95=E5=87=A6=E7=90=86?= =?UTF-8?q?=E4=BD=9C=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../0456.gargo_ex_machina/_index.d.mcfunction | 15 ++++- .../tick/debug/interrupt.mcfunction | 2 +- .../tick/event/.mcfunction | 2 + .../tick/event/move/.mcfunction | 56 ++++++++++++++----- .../tick/event/move/end.mcfunction | 13 +++-- .../tick/event/move/event_end.mcfunction | 18 ++++++ .../tick/event/move/start_end.mcfunction | 10 ++++ .../tick/event/move/step_sound.mcfunction | 11 ++++ .../tick/event/move/sword_sound.mcfunction | 9 +++ .../tick/util/move.m.mcfunction | 8 +++ .../tick/util/move.mcfunction | 8 +++ .../tick/util/move_calc.m.mcfunction | 31 ++++++++++ .../util/rotate_to_destination.mcfunction | 8 +++ 13 files changed, 170 insertions(+), 21 deletions(-) create mode 100644 Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/move/event_end.mcfunction create mode 100644 Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/move/start_end.mcfunction create mode 100644 Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/move/step_sound.mcfunction create mode 100644 Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/move/sword_sound.mcfunction create mode 100644 Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/util/move.m.mcfunction create mode 100644 Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/util/move.mcfunction create mode 100644 Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/util/move_calc.m.mcfunction create mode 100644 Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/util/rotate_to_destination.mcfunction diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/_index.d.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/_index.d.mcfunction index 578b535328..4de77c6c01 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/_index.d.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/_index.d.mcfunction @@ -10,6 +10,9 @@ #declare tag CO.CenterPosition 中心点 # - スキル #declare tag CO.Skill.Activate 起動 + #declare tag CO.Skill.Move 移動 + #declare tag CO.Skill.Move.End 移動 + #declare tag CO.Skill.Move.Near 近距離移動 #declare tag CO.Skill.SwordAttack 剣叩きつけ #declare tag CO.Skill.SwordAttack.Charge 剣叩きつけ #declare tag CO.Skill.SwordAttack.Attack 剣叩きつけ @@ -28,7 +31,7 @@ #declare tag CO.ScapeSheep #declare tag CO.MainTarget #declare tag CO.Aec.Target - #declare tag + #declare tag CO.Aec.Destination #declare tag #declare tag #declare tag @@ -64,4 +67,14 @@ #declare function animated_java:gargo_ex_machina/animations/beam_sword_charge/tween #declare function animated_java:gargo_ex_machina/animations/beam_sword_attack_right/tween #declare function animated_java:gargo_ex_machina/animations/beam_sword_attack_left/tween + #declare function animated_java:gargo_ex_machina/animations/walk_start/tween + #declare function animated_java:gargo_ex_machina/animations/walk/tween + #declare function animated_java:gargo_ex_machina/animations/walk_end/tween + #declare function + #declare function + #declare function + #declare function + #declare function + #declare function + #declare function #declare function animated_java:gargo_ex_machina/remove/all diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/debug/interrupt.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/debug/interrupt.mcfunction index c116e7ccd3..e4c9e182a5 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/debug/interrupt.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/debug/interrupt.mcfunction @@ -19,5 +19,5 @@ # イベント実行 # scoreboard players set @s BE.EventTimer 0 - tag @s add CO.Skill.HalfBeam + tag @s add CO.Skill.Move # scoreboard players set @s BE.Pb.Count 5 diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/.mcfunction index 2de5922175..82be3df826 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/.mcfunction @@ -8,6 +8,8 @@ execute if entity @s[tag=CO.Skill.Activate] run function asset:mob/0456.gargo_ex_machina/tick/event/activate/ # 移動 + execute if entity @s[tag=CO.Skill.Move] run function asset:mob/0456.gargo_ex_machina/tick/event/move/ + execute if entity @s[tag=CO.Skill.Move.End] run function asset:mob/0456.gargo_ex_machina/tick/event/move/event_end # 剣叩きつけ execute if entity @s[tag=CO.Skill.SwordAttack] run function asset:mob/0456.gargo_ex_machina/tick/event/sword_attack/event_start diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/move/.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/move/.mcfunction index fc969572db..dfcd2acb67 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/move/.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/move/.mcfunction @@ -7,20 +7,48 @@ # タイマー増加 scoreboard players add @s CO.EventTimer 1 +# 目的地決定 + # 目的地が指定されていない場合 + # 中心地から遠い場合、中心地に召喚 + execute if score @s CO.EventTimer matches 1 unless entity @e[type=area_effect_cloud,tag=CO.Aec.Destination,distance=..80] unless entity @e[type=marker,tag=CO.CenterPosition,distance=..8] positioned as @e[type=marker,tag=CO.CenterPosition,distance=..80] run summon area_effect_cloud ~ ~ ~ {Tags:["CO.Aec.Destination"],Duration:80} + # 中心地から近い場合、ターゲット位置に移動 + execute if score @s CO.EventTimer matches 1 unless entity @e[type=area_effect_cloud,tag=CO.Aec.Destination,distance=..80] if entity @e[type=marker,tag=CO.CenterPosition,distance=..8] positioned as @p[tag=CO.MainTarget] run summon area_effect_cloud ~ ~ ~ {Tags:["CO.Aec.Destination"],Duration:80} + # 移動アニメーション再生回数決定 + execute if score @s CO.EventTimer matches 1 if entity @e[type=area_effect_cloud,tag=CO.Aec.Destination,distance=..22] run tag @s add CO.Skill.Move.Near + # 計算 + execute if entity @s[tag=CO.Skill.Move.Near] if score @s CO.EventTimer matches 1 run function asset:mob/0456.gargo_ex_machina/tick/util/move_calc.m {Tick:38} + execute unless entity @s[tag=CO.Skill.Move.Near] if score @s CO.EventTimer matches 1 run function asset:mob/0456.gargo_ex_machina/tick/util/move_calc.m {Tick:61} + # 移動 # アニメーション再生 - execute if score @s CO.EventTimer matches 1 as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run function animated_java:gargo_ex_machina/animations/beam_start/tween {duration:1, to_frame: 1} - # 効果音 - execute if score @s CO.EventTimer matches 1 run function asset:mob/0456.gargo_ex_machina/tick/util/sound - execute if score @s CO.EventTimer matches 22 run playsound entity.ravager.step hostile @a ~ ~ ~ 2 0.7 - execute if score @s CO.EventTimer matches 22 run playsound entity.ravager.step hostile @a ~ ~ ~ 2 0.6 - execute if score @s CO.EventTimer matches 22 run playsound entity.ravager.step hostile @a ~ ~ ~ 2 0.5 - execute if score @s CO.EventTimer matches 25 run function asset:mob/0456.gargo_ex_machina/tick/util/sound - # モデルを合わせる - execute as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run tp @s ~ ~ ~ ~ ~ - # 演出 - execute if score @s CO.EventTimer matches 21 positioned ^ ^ ^6 run particle explosion ~ ~ ~ 1 0.5 1 0 6 - execute if score @s CO.EventTimer matches 21 positioned ^ ^ ^6 run particle block quartz_block ~ ~ ~ 1 0.5 1 0 100 - + execute if score @s CO.EventTimer matches 1 as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run function animated_java:gargo_ex_machina/animations/walk_start/tween {duration:1, to_frame: 1} + execute if score @s CO.EventTimer matches 10 as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run function animated_java:gargo_ex_machina/animations/walk/tween {duration:1, to_frame: 1} + # 効果音・演出 + execute if score @s CO.EventTimer matches 24 positioned ^-2.5 ^ ^3 run function asset:mob/0456.gargo_ex_machina/tick/event/move/step_sound + execute if score @s CO.EventTimer matches 39 positioned ^2.5 ^ ^3 run function asset:mob/0456.gargo_ex_machina/tick/event/move/step_sound + execute if score @s CO.EventTimer matches 54 positioned ^-2.5 ^ ^3 run function asset:mob/0456.gargo_ex_machina/tick/event/move/step_sound + execute if score @s CO.EventTimer matches 69 positioned ^2.5 ^ ^3 run function asset:mob/0456.gargo_ex_machina/tick/event/move/step_sound + execute if score @s CO.EventTimer matches 10..65 positioned ^-13 ^ ^-11 run particle crit ~ ~0.5 ~ 0.5 0.1 0.5 0.5 3 force @a[distance=..80] + execute if score @s CO.EventTimer matches 10..65 positioned ^-13 ^ ^-11 run particle block quartz_block ~ ~ ~ 0.5 0.1 0.5 0 5 force @a[distance=..80] + execute if score @s CO.EventTimer matches 10 positioned ^-12 ^ ^-10 run function asset:mob/0456.gargo_ex_machina/tick/event/move/sword_sound + execute if score @s CO.EventTimer matches 15 positioned ^-12 ^ ^-10 run function asset:mob/0456.gargo_ex_machina/tick/event/move/sword_sound + execute if score @s CO.EventTimer matches 25 positioned ^-12 ^ ^-10 run function asset:mob/0456.gargo_ex_machina/tick/event/move/sword_sound + execute if score @s CO.EventTimer matches 30 positioned ^-12 ^ ^-10 run function asset:mob/0456.gargo_ex_machina/tick/event/move/sword_sound + execute if score @s CO.EventTimer matches 40 positioned ^-12 ^ ^-10 run function asset:mob/0456.gargo_ex_machina/tick/event/move/sword_sound + execute if score @s CO.EventTimer matches 45 positioned ^-12 ^ ^-10 run function asset:mob/0456.gargo_ex_machina/tick/event/move/sword_sound + execute if score @s CO.EventTimer matches 55 positioned ^-12 ^ ^-10 run function asset:mob/0456.gargo_ex_machina/tick/event/move/sword_sound + execute if score @s CO.EventTimer matches 60 positioned ^-12 ^ ^-10 run function asset:mob/0456.gargo_ex_machina/tick/event/move/sword_sound + # 移動 + execute if score @s CO.EventTimer matches 2..23 run function asset:mob/0456.gargo_ex_machina/tick/util/move + execute if score @s CO.EventTimer matches 26..38 run function asset:mob/0456.gargo_ex_machina/tick/util/move + execute if score @s CO.EventTimer matches 41..53 run function asset:mob/0456.gargo_ex_machina/tick/util/move + execute if score @s CO.EventTimer matches 56..68 run function asset:mob/0456.gargo_ex_machina/tick/util/move + # 目的地を見る + execute if score @s CO.EventTimer matches 1..40 at @s run function asset:mob/0456.gargo_ex_machina/tick/util/rotate_to_destination + +# モデルを合わせる + execute as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run tp @s ~ ~ ~ ~ ~ + # 終了 - execute if score @s CO.EventTimer matches 36.. run function asset:mob/0456.gargo_ex_machina/tick/event/move/end + execute if entity @s[tag=CO.Skill.Move.Near] if score @s CO.EventTimer matches 40.. run function asset:mob/0456.gargo_ex_machina/tick/event/move/start_end + execute if score @s CO.EventTimer matches 70.. run function asset:mob/0456.gargo_ex_machina/tick/event/move/start_end diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/move/end.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/move/end.mcfunction index 8c6544349f..6af24cb1bd 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/move/end.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/move/end.mcfunction @@ -1,13 +1,16 @@ -#> asset:mob/0456.gargo_ex_machina/tick/event/half_beam/end +#> asset:mob/0456.gargo_ex_machina/tick/event/move/end # -# 半面焼きビーム +# 移動 # -# @within asset:mob/0456.gargo_ex_machina/tick/event/half_beam/event_attack +# @within asset:mob/0456.gargo_ex_machina/tick/event/move/event_end # タグ消去 scoreboard players set @s CO.EventTimer 0 - tag @s remove CO.Skill.HalfBeam.Attack - tag @s remove CO.Skill.HalfBeam.IsRight + tag @s remove CO.Skill.Move.End + tag @s remove CO.Skill.Move.Near + +# 目的地消去 + kill @e[type=area_effect_cloud,tag=CO.Aec.Destination,distance=..80] # 待機モーション再生 execute as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run function animated_java:gargo_ex_machina/animations/idle/tween {duration:1, to_frame: 1} diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/move/event_end.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/move/event_end.mcfunction new file mode 100644 index 0000000000..0e8ffddcc3 --- /dev/null +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/move/event_end.mcfunction @@ -0,0 +1,18 @@ +#> asset:mob/0456.gargo_ex_machina/tick/event/move/event_end +# +# 移動 +# +# @within asset:mob/0456.gargo_ex_machina/tick/event/ + +# タイマー増加 + scoreboard players add @s CO.EventTimer 1 + +# 移動 + # アニメーション再生 + execute if score @s CO.EventTimer matches 1 as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run function animated_java:gargo_ex_machina/animations/walk_end/tween {duration:1, to_frame: 1} + +# モデルを合わせる + execute as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run tp @s ~ ~ ~ ~ ~ + +# 終了 + execute if score @s CO.EventTimer matches 15.. run function asset:mob/0456.gargo_ex_machina/tick/event/move/end diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/move/start_end.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/move/start_end.mcfunction new file mode 100644 index 0000000000..96f2c21fca --- /dev/null +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/move/start_end.mcfunction @@ -0,0 +1,10 @@ +#> asset:mob/0456.gargo_ex_machina/tick/event/move/start_end +# +# 移動 +# +# @within asset:mob/0456.gargo_ex_machina/tick/event/move/ + +# タグ更新 + scoreboard players set @s CO.EventTimer 0 + tag @s remove CO.Skill.Move + tag @s add CO.Skill.Move.End diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/move/step_sound.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/move/step_sound.mcfunction new file mode 100644 index 0000000000..6f46407d8d --- /dev/null +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/move/step_sound.mcfunction @@ -0,0 +1,11 @@ +#> asset:mob/0456.gargo_ex_machina/tick/event/move/step_sound +# +# 移動 +# +# @within asset:mob/0456.gargo_ex_machina/tick/event/move/ + +# 演出 + playsound entity.ravager.step hostile @a ~ ~ ~ 2 0.7 + playsound entity.ravager.step hostile @a ~ ~ ~ 2 0.8 + particle block quartz_block ~ ~ ~ 1 0.1 1 0 15 force @a[distance=..80] + particle explosion ~ ~ ~ 1 0.1 1 0 2 force @a[distance=..80] diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/move/sword_sound.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/move/sword_sound.mcfunction new file mode 100644 index 0000000000..bbb419496c --- /dev/null +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/move/sword_sound.mcfunction @@ -0,0 +1,9 @@ +#> asset:mob/0456.gargo_ex_machina/tick/event/move/sword_sound +# +# 移動 +# +# @within asset:mob/0456.gargo_ex_machina/tick/event/move/ + +# 演出 + playsound block.grindstone.use hostile @a ~ ~ ~ 3 0.7 + playsound block.grindstone.use hostile @a ~ ~ ~ 3 0.8 diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/util/move.m.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/util/move.m.mcfunction new file mode 100644 index 0000000000..5ab5c82895 --- /dev/null +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/util/move.m.mcfunction @@ -0,0 +1,8 @@ +#> asset:mob/0456.gargo_ex_machina/tick/util/move.m +# +# 移動実行 +# +# @within asset:mob/0456.gargo_ex_machina/tick/util/move + +# 移動 + $execute positioned ~$(X) ~ ~$(Z) run tp @s ~ ~ ~ ~ ~ diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/util/move.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/util/move.mcfunction new file mode 100644 index 0000000000..227a43d4c7 --- /dev/null +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/util/move.mcfunction @@ -0,0 +1,8 @@ +#> asset:mob/0456.gargo_ex_machina/tick/util/move +# +# 移動実行 +# +# @within asset:mob/0456.gargo_ex_machina/tick/** + +# 移動実行 + function asset:mob/0456.gargo_ex_machina/tick/util/move.m with storage asset:context this.Move diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/util/move_calc.m.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/util/move_calc.m.mcfunction new file mode 100644 index 0000000000..2db9fe99ba --- /dev/null +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/util/move_calc.m.mcfunction @@ -0,0 +1,31 @@ +#> asset:mob/0456.gargo_ex_machina/tick/util/move_calc.m +# +# 移動距離計算 +# +# @within asset:mob/0456.gargo_ex_machina/tick/** +# @private + #declare score_holder $TempPos.X + #declare score_holder $TempPos.Z + +# 目的地 + data modify storage asset:temp CO.Pos set from entity @e[type=area_effect_cloud,tag=CO.Aec.Destination,distance=..80,sort=nearest,limit=1] Pos + execute store result score $TempPos.X Temporary run data get storage asset:temp CO.Pos[0] 1000 + execute store result score $TempPos.Z Temporary run data get storage asset:temp CO.Pos[2] 1000 + +# 自身の位置との差を計算 + data modify storage asset:temp CO.Pos set from entity @s Pos + execute store result score @s Temporary run data get storage asset:temp CO.Pos[0] 1000 + scoreboard players operation $TempPos.X Temporary -= @s Temporary + execute store result score @s Temporary run data get storage asset:temp CO.Pos[2] 1000 + scoreboard players operation $TempPos.Z Temporary -= @s Temporary + +# vector/tickを計算 + $scoreboard players set @s Temporary $(Tick) + execute store result storage asset:context this.Move.X float 0.001 run scoreboard players operation $TempPos.X Temporary /= @s Temporary + execute store result storage asset:context this.Move.Z float 0.001 run scoreboard players operation $TempPos.Z Temporary /= @s Temporary + +# 終了 + scoreboard players reset $TempPos.X Temporary + scoreboard players reset $TempPos.Z Temporary + scoreboard players reset @s Temporary + data remove storage asset:temp CO diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/util/rotate_to_destination.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/util/rotate_to_destination.mcfunction new file mode 100644 index 0000000000..d2e047b935 --- /dev/null +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/util/rotate_to_destination.mcfunction @@ -0,0 +1,8 @@ +#> asset:mob/0456.gargo_ex_machina/tick/util/rotate_to_destination +# +# 目的地を向く +# +# @within asset:mob/0456.gargo_ex_machina/tick/** + +# 目的地の方を向く + execute rotated ~ 0 positioned ^ ^ ^-1 facing entity @e[type=area_effect_cloud,tag=CO.Aec.Destination,distance=..80,limit=1] feet rotated ~ 0 positioned ^ ^ ^-1 facing entity @s feet positioned as @s positioned ^ ^ ^-1 rotated as @s rotated ~ 0 positioned ^ ^ ^-1 facing entity @s feet positioned as @s run tp @s ^ ^ ^ ~ 0 From e29afdec86b6a7b3a21a7e6c0fe4983d96173b87 Mon Sep 17 00:00:00 2001 From: mokkkk Date: Sun, 15 Feb 2026 15:51:02 +0900 Subject: [PATCH 12/98] =?UTF-8?q?=E3=82=B9=E3=83=BC=E3=83=91=E3=83=BC?= =?UTF-8?q?=E3=82=B8=E3=83=A3=E3=83=B3=E3=83=97=E5=AE=9F=E8=A3=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../0456.gargo_ex_machina/_index.d.mcfunction | 6 +- .../0456.gargo_ex_machina/register.mcfunction | 4 +- .../tick/debug/interrupt.mcfunction | 2 - .../tick/event/.mcfunction | 4 + .../tick/event/move/.mcfunction | 6 +- .../tick/event/super_jump/attack.mcfunction | 23 +++++ .../event/super_jump/attack_effect.mcfunction | 87 +++++++++++++++++++ .../tick/event/super_jump/end.mcfunction | 15 ++++ .../event/super_jump/event_attack.mcfunction | 31 +++++++ .../event/super_jump/event_start.mcfunction | 27 ++++++ .../event/super_jump/prediction.m.mcfunction | 13 +++ .../event/super_jump/start_attack.mcfunction | 10 +++ .../sword_attack/event_attack.mcfunction | 6 +- .../event/sword_attack/event_start.mcfunction | 4 +- 14 files changed, 226 insertions(+), 12 deletions(-) create mode 100644 Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/super_jump/attack.mcfunction create mode 100644 Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/super_jump/attack_effect.mcfunction create mode 100644 Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/super_jump/end.mcfunction create mode 100644 Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/super_jump/event_attack.mcfunction create mode 100644 Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/super_jump/event_start.mcfunction create mode 100644 Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/super_jump/prediction.m.mcfunction create mode 100644 Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/super_jump/start_attack.mcfunction diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/_index.d.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/_index.d.mcfunction index 4de77c6c01..5ff5ab6d10 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/_index.d.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/_index.d.mcfunction @@ -24,6 +24,8 @@ #declare tag CO.Skill.HalfBeamSword.Charge 半面焼きビーム #declare tag CO.Skill.HalfBeamSword.Attack 半面焼きビーム #declare tag CO.Skill.HalfBeamSword.IsRight 半面焼きビーム + #declare tag CO.Skill.SuperJump スーパージャンプ + #declare tag CO.Skill.SuperJump.Attack スーパージャンプ # - オブジェクト用 #declare tag CO.Object #declare tag CO.Shadow @@ -70,8 +72,8 @@ #declare function animated_java:gargo_ex_machina/animations/walk_start/tween #declare function animated_java:gargo_ex_machina/animations/walk/tween #declare function animated_java:gargo_ex_machina/animations/walk_end/tween - #declare function - #declare function + #declare function animated_java:gargo_ex_machina/animations/super_jump_start/tween + #declare function animated_java:gargo_ex_machina/animations/super_jump_end/tween #declare function #declare function #declare function diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/register.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/register.mcfunction index aaf635c848..a1db1b361b 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/register.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/register.mcfunction @@ -41,4 +41,6 @@ # 剣叩きつけ data modify storage asset:mob Field.Damage.SwordAttack set value {Amount:80.0,Type:"Physical",Element:"None"} # 半面焼きビーム - data modify storage asset:mob Field.Damage.HalfBeam set value {Amount:80.0,Type:"Physical",Element:"None"} + data modify storage asset:mob Field.Damage.HalfBeam set value {Amount:80.0,Type:"Magic",Element:"None"} + # スーパージャンプ + data modify storage asset:mob Field.Damage.SuperJump set value {Amount:70.0,Type:"Physical",Element:"None"} diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/debug/interrupt.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/debug/interrupt.mcfunction index e4c9e182a5..45103bd1c9 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/debug/interrupt.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/debug/interrupt.mcfunction @@ -18,6 +18,4 @@ # execute at @s run tp @e[type=item_display,tag=CO.ModelRoot] ~ ~ ~ ~ 0 # イベント実行 - # scoreboard players set @s BE.EventTimer 0 tag @s add CO.Skill.Move - # scoreboard players set @s BE.Pb.Count 5 diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/.mcfunction index 82be3df826..327e112d17 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/.mcfunction @@ -25,3 +25,7 @@ # execute if entity @s[tag=CO.Skill.HalfBeamSword] run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_sword/event_start # execute if entity @s[tag=CO.Skill.HalfBeamSword.Charge] run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_sword/event_charging # execute if entity @s[tag=CO.Skill.HalfBeamSword.Attack] run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_sword/event_attack + +# スーパージャンプ + execute if entity @s[tag=CO.Skill.SuperJump] run function asset:mob/0456.gargo_ex_machina/tick/event/super_jump/event_start + execute if entity @s[tag=CO.Skill.SuperJump.Attack] run function asset:mob/0456.gargo_ex_machina/tick/event/super_jump/event_attack diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/move/.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/move/.mcfunction index dfcd2acb67..3f07d23836 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/move/.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/move/.mcfunction @@ -28,8 +28,10 @@ execute if score @s CO.EventTimer matches 39 positioned ^2.5 ^ ^3 run function asset:mob/0456.gargo_ex_machina/tick/event/move/step_sound execute if score @s CO.EventTimer matches 54 positioned ^-2.5 ^ ^3 run function asset:mob/0456.gargo_ex_machina/tick/event/move/step_sound execute if score @s CO.EventTimer matches 69 positioned ^2.5 ^ ^3 run function asset:mob/0456.gargo_ex_machina/tick/event/move/step_sound - execute if score @s CO.EventTimer matches 10..65 positioned ^-13 ^ ^-11 run particle crit ~ ~0.5 ~ 0.5 0.1 0.5 0.5 3 force @a[distance=..80] - execute if score @s CO.EventTimer matches 10..65 positioned ^-13 ^ ^-11 run particle block quartz_block ~ ~ ~ 0.5 0.1 0.5 0 5 force @a[distance=..80] + execute if score @s CO.EventTimer matches 10..65 positioned ^-14 ^ ^-10 run particle crit ~ ~0.5 ~ 0.5 0.1 0.5 0.5 3 force @a[distance=..80] + execute if score @s CO.EventTimer matches 10..65 positioned ^-14 ^ ^-10 run particle block quartz_block ~ ~ ~ 0.5 0.1 0.5 0 5 force @a[distance=..80] + execute if score @s CO.EventTimer matches 10..65 positioned ^-14 ^ ^-10 run particle explosion ~ ~0.5 ~ 0.5 0.1 0.5 0.5 1 force @a[distance=..80] + execute if score @s CO.EventTimer matches 10..65 positioned ^-14 ^ ^-10 run particle lava ~ ~0.5 ~ 0.5 0.1 0.5 0.5 1 force @a[distance=..80] execute if score @s CO.EventTimer matches 10 positioned ^-12 ^ ^-10 run function asset:mob/0456.gargo_ex_machina/tick/event/move/sword_sound execute if score @s CO.EventTimer matches 15 positioned ^-12 ^ ^-10 run function asset:mob/0456.gargo_ex_machina/tick/event/move/sword_sound execute if score @s CO.EventTimer matches 25 positioned ^-12 ^ ^-10 run function asset:mob/0456.gargo_ex_machina/tick/event/move/sword_sound diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/super_jump/attack.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/super_jump/attack.mcfunction new file mode 100644 index 0000000000..35dfe12785 --- /dev/null +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/super_jump/attack.mcfunction @@ -0,0 +1,23 @@ +#> asset:mob/0456.gargo_ex_machina/tick/event/super_jump/attack +# +# スーパージャンプ +# +# @within asset:mob/0456.gargo_ex_machina/tick/event/super_jump/event_attack + +# ヒット判定 + # 円範囲 + tag @a[distance=..15] add DXYZ + +# ダメージ + data modify storage api: Argument.Damage set from storage asset:context this.Damage.SuperJump.Amount + data modify storage api: Argument.AttackType set from storage asset:context this.Damage.SuperJump.Type + data modify storage api: Argument.ElementType set from storage asset:context this.Damage.SuperJump.Element + function api:damage/modifier + execute as @a[tag=DXYZ] run function api:damage/ + function api:damage/reset + +# 演出 + function asset:mob/0456.gargo_ex_machina/tick/event/super_jump/attack_effect + +# 終了 + tag @a[tag=DXYZ] remove DXYZ diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/super_jump/attack_effect.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/super_jump/attack_effect.mcfunction new file mode 100644 index 0000000000..a1054764c6 --- /dev/null +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/super_jump/attack_effect.mcfunction @@ -0,0 +1,87 @@ +#> asset:mob/0456.gargo_ex_machina/tick/event/super_jump/attack_effect +# +# スーパージャンプ +# +# @within asset:mob/0456.gargo_ex_machina/tick/event/super_jump/attack + +# 効果音 + playsound entity.generic.explode hostile @a ~ ~ ~ 2 0.5 + playsound entity.iron_golem.death hostile @a ~ ~ ~ 2 0.5 + playsound entity.wither.break_block hostile @a ~ ~ ~ 2 0.7 + +# パーティクル + particle explosion ~ ~1 ~ 5 2 5 0 30 + # 円型ベクトルパーティクル + execute rotated ~00 0 positioned ^ ^-0.3 ^ run particle cloud ~ ~ ~ ^ ^ ^100000000 0.000000015 0 + execute rotated ~10 0 positioned ^ ^-0.3 ^ run particle cloud ~ ~ ~ ^ ^ ^100000000 0.000000015 0 + execute rotated ~20 0 positioned ^ ^-0.3 ^ run particle cloud ~ ~ ~ ^ ^ ^100000000 0.000000015 0 + execute rotated ~30 0 positioned ^ ^-0.3 ^ run particle cloud ~ ~ ~ ^ ^ ^100000000 0.000000015 0 + execute rotated ~40 0 positioned ^ ^-0.3 ^ run particle cloud ~ ~ ~ ^ ^ ^100000000 0.000000015 0 + execute rotated ~50 0 positioned ^ ^-0.3 ^ run particle cloud ~ ~ ~ ^ ^ ^100000000 0.000000015 0 + execute rotated ~60 0 positioned ^ ^-0.3 ^ run particle cloud ~ ~ ~ ^ ^ ^100000000 0.000000015 0 + execute rotated ~70 0 positioned ^ ^-0.3 ^ run particle cloud ~ ~ ~ ^ ^ ^100000000 0.000000015 0 + execute rotated ~80 0 positioned ^ ^-0.3 ^ run particle cloud ~ ~ ~ ^ ^ ^100000000 0.000000015 0 + execute rotated ~90 0 positioned ^ ^-0.3 ^ run particle cloud ~ ~ ~ ^ ^ ^100000000 0.000000015 0 + execute rotated ~100 0 positioned ^ ^-0.3 ^ run particle cloud ~ ~ ~ ^ ^ ^100000000 0.000000015 0 + execute rotated ~110 0 positioned ^ ^-0.3 ^ run particle cloud ~ ~ ~ ^ ^ ^100000000 0.000000015 0 + execute rotated ~120 0 positioned ^ ^-0.3 ^ run particle cloud ~ ~ ~ ^ ^ ^100000000 0.000000015 0 + execute rotated ~130 0 positioned ^ ^-0.3 ^ run particle cloud ~ ~ ~ ^ ^ ^100000000 0.000000015 0 + execute rotated ~140 0 positioned ^ ^-0.3 ^ run particle cloud ~ ~ ~ ^ ^ ^100000000 0.000000015 0 + execute rotated ~150 0 positioned ^ ^-0.3 ^ run particle cloud ~ ~ ~ ^ ^ ^100000000 0.000000015 0 + execute rotated ~160 0 positioned ^ ^-0.3 ^ run particle cloud ~ ~ ~ ^ ^ ^100000000 0.000000015 0 + execute rotated ~170 0 positioned ^ ^-0.3 ^ run particle cloud ~ ~ ~ ^ ^ ^100000000 0.000000015 0 + execute rotated ~180 0 positioned ^ ^-0.3 ^ run particle cloud ~ ~ ~ ^ ^ ^100000000 0.000000015 0 + execute rotated ~190 0 positioned ^ ^-0.3 ^ run particle cloud ~ ~ ~ ^ ^ ^100000000 0.000000015 0 + execute rotated ~200 0 positioned ^ ^-0.3 ^ run particle cloud ~ ~ ~ ^ ^ ^100000000 0.000000015 0 + execute rotated ~210 0 positioned ^ ^-0.3 ^ run particle cloud ~ ~ ~ ^ ^ ^100000000 0.000000015 0 + execute rotated ~220 0 positioned ^ ^-0.3 ^ run particle cloud ~ ~ ~ ^ ^ ^100000000 0.000000015 0 + execute rotated ~230 0 positioned ^ ^-0.3 ^ run particle cloud ~ ~ ~ ^ ^ ^100000000 0.000000015 0 + execute rotated ~240 0 positioned ^ ^-0.3 ^ run particle cloud ~ ~ ~ ^ ^ ^100000000 0.000000015 0 + execute rotated ~250 0 positioned ^ ^-0.3 ^ run particle cloud ~ ~ ~ ^ ^ ^100000000 0.000000015 0 + execute rotated ~260 0 positioned ^ ^-0.3 ^ run particle cloud ~ ~ ~ ^ ^ ^100000000 0.000000015 0 + execute rotated ~270 0 positioned ^ ^-0.3 ^ run particle cloud ~ ~ ~ ^ ^ ^100000000 0.000000015 0 + execute rotated ~280 0 positioned ^ ^-0.3 ^ run particle cloud ~ ~ ~ ^ ^ ^100000000 0.000000015 0 + execute rotated ~290 0 positioned ^ ^-0.3 ^ run particle cloud ~ ~ ~ ^ ^ ^100000000 0.000000015 0 + execute rotated ~300 0 positioned ^ ^-0.3 ^ run particle cloud ~ ~ ~ ^ ^ ^100000000 0.000000015 0 + execute rotated ~310 0 positioned ^ ^-0.3 ^ run particle cloud ~ ~ ~ ^ ^ ^100000000 0.000000015 0 + execute rotated ~320 0 positioned ^ ^-0.3 ^ run particle cloud ~ ~ ~ ^ ^ ^100000000 0.000000015 0 + execute rotated ~330 0 positioned ^ ^-0.3 ^ run particle cloud ~ ~ ~ ^ ^ ^100000000 0.000000015 0 + execute rotated ~340 0 positioned ^ ^-0.3 ^ run particle cloud ~ ~ ~ ^ ^ ^100000000 0.000000015 0 + execute rotated ~350 0 positioned ^ ^-0.3 ^ run particle cloud ~ ~ ~ ^ ^ ^100000000 0.000000015 0 + # 円型ベクトルパーティクル + execute rotated ~00 0 positioned ^ ^-0.3 ^ run particle cloud ~ ~ ~ ^ ^ ^100000000 0.000000025 0 + execute rotated ~10 0 positioned ^ ^-0.3 ^ run particle cloud ~ ~ ~ ^ ^ ^100000000 0.000000025 0 + execute rotated ~20 0 positioned ^ ^-0.3 ^ run particle cloud ~ ~ ~ ^ ^ ^100000000 0.000000025 0 + execute rotated ~30 0 positioned ^ ^-0.3 ^ run particle cloud ~ ~ ~ ^ ^ ^100000000 0.000000025 0 + execute rotated ~40 0 positioned ^ ^-0.3 ^ run particle cloud ~ ~ ~ ^ ^ ^100000000 0.000000025 0 + execute rotated ~50 0 positioned ^ ^-0.3 ^ run particle cloud ~ ~ ~ ^ ^ ^100000000 0.000000025 0 + execute rotated ~60 0 positioned ^ ^-0.3 ^ run particle cloud ~ ~ ~ ^ ^ ^100000000 0.000000025 0 + execute rotated ~70 0 positioned ^ ^-0.3 ^ run particle cloud ~ ~ ~ ^ ^ ^100000000 0.000000025 0 + execute rotated ~80 0 positioned ^ ^-0.3 ^ run particle cloud ~ ~ ~ ^ ^ ^100000000 0.000000025 0 + execute rotated ~90 0 positioned ^ ^-0.3 ^ run particle cloud ~ ~ ~ ^ ^ ^100000000 0.000000025 0 + execute rotated ~100 0 positioned ^ ^-0.3 ^ run particle cloud ~ ~ ~ ^ ^ ^100000000 0.000000025 0 + execute rotated ~110 0 positioned ^ ^-0.3 ^ run particle cloud ~ ~ ~ ^ ^ ^100000000 0.000000025 0 + execute rotated ~120 0 positioned ^ ^-0.3 ^ run particle cloud ~ ~ ~ ^ ^ ^100000000 0.000000025 0 + execute rotated ~130 0 positioned ^ ^-0.3 ^ run particle cloud ~ ~ ~ ^ ^ ^100000000 0.000000025 0 + execute rotated ~140 0 positioned ^ ^-0.3 ^ run particle cloud ~ ~ ~ ^ ^ ^100000000 0.000000025 0 + execute rotated ~150 0 positioned ^ ^-0.3 ^ run particle cloud ~ ~ ~ ^ ^ ^100000000 0.000000025 0 + execute rotated ~160 0 positioned ^ ^-0.3 ^ run particle cloud ~ ~ ~ ^ ^ ^100000000 0.000000025 0 + execute rotated ~170 0 positioned ^ ^-0.3 ^ run particle cloud ~ ~ ~ ^ ^ ^100000000 0.000000025 0 + execute rotated ~180 0 positioned ^ ^-0.3 ^ run particle cloud ~ ~ ~ ^ ^ ^100000000 0.000000025 0 + execute rotated ~190 0 positioned ^ ^-0.3 ^ run particle cloud ~ ~ ~ ^ ^ ^100000000 0.000000025 0 + execute rotated ~200 0 positioned ^ ^-0.3 ^ run particle cloud ~ ~ ~ ^ ^ ^100000000 0.000000025 0 + execute rotated ~210 0 positioned ^ ^-0.3 ^ run particle cloud ~ ~ ~ ^ ^ ^100000000 0.000000025 0 + execute rotated ~220 0 positioned ^ ^-0.3 ^ run particle cloud ~ ~ ~ ^ ^ ^100000000 0.000000025 0 + execute rotated ~230 0 positioned ^ ^-0.3 ^ run particle cloud ~ ~ ~ ^ ^ ^100000000 0.000000025 0 + execute rotated ~240 0 positioned ^ ^-0.3 ^ run particle cloud ~ ~ ~ ^ ^ ^100000000 0.000000025 0 + execute rotated ~250 0 positioned ^ ^-0.3 ^ run particle cloud ~ ~ ~ ^ ^ ^100000000 0.000000025 0 + execute rotated ~260 0 positioned ^ ^-0.3 ^ run particle cloud ~ ~ ~ ^ ^ ^100000000 0.000000025 0 + execute rotated ~270 0 positioned ^ ^-0.3 ^ run particle cloud ~ ~ ~ ^ ^ ^100000000 0.000000025 0 + execute rotated ~280 0 positioned ^ ^-0.3 ^ run particle cloud ~ ~ ~ ^ ^ ^100000000 0.000000025 0 + execute rotated ~290 0 positioned ^ ^-0.3 ^ run particle cloud ~ ~ ~ ^ ^ ^100000000 0.000000025 0 + execute rotated ~300 0 positioned ^ ^-0.3 ^ run particle cloud ~ ~ ~ ^ ^ ^100000000 0.000000025 0 + execute rotated ~310 0 positioned ^ ^-0.3 ^ run particle cloud ~ ~ ~ ^ ^ ^100000000 0.000000025 0 + execute rotated ~320 0 positioned ^ ^-0.3 ^ run particle cloud ~ ~ ~ ^ ^ ^100000000 0.000000025 0 + execute rotated ~330 0 positioned ^ ^-0.3 ^ run particle cloud ~ ~ ~ ^ ^ ^100000000 0.000000025 0 + execute rotated ~340 0 positioned ^ ^-0.3 ^ run particle cloud ~ ~ ~ ^ ^ ^100000000 0.000000025 0 + execute rotated ~350 0 positioned ^ ^-0.3 ^ run particle cloud ~ ~ ~ ^ ^ ^100000000 0.000000025 0 diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/super_jump/end.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/super_jump/end.mcfunction new file mode 100644 index 0000000000..080cac4552 --- /dev/null +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/super_jump/end.mcfunction @@ -0,0 +1,15 @@ +#> asset:mob/0456.gargo_ex_machina/tick/event/super_jump/end +# +# 剣叩きつけ +# +# @within asset:mob/0456.gargo_ex_machina/tick/event/super_jump/event_attack + +# タグ消去 + scoreboard players set @s CO.EventTimer 0 + tag @s remove CO.Skill.SuperJump.Attack + +# 待機モーション再生 + execute as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run function animated_java:gargo_ex_machina/animations/idle/tween {duration:1, to_frame: 1} + +# 行動 + # function asset:mob/0410.heiloang/tick/act/ diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/super_jump/event_attack.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/super_jump/event_attack.mcfunction new file mode 100644 index 0000000000..24a393e3b6 --- /dev/null +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/super_jump/event_attack.mcfunction @@ -0,0 +1,31 @@ +#> asset:mob/0456.gargo_ex_machina/tick/event/super_jump/event_attack +# +# スーパージャンプ +# +# @within asset:mob/0456.gargo_ex_machina/tick/event/ + +# タイマー増加 + scoreboard players add @s CO.EventTimer 1 + +# 攻撃 + # アニメーション再生 + execute if score @s CO.EventTimer matches 1 as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run function animated_java:gargo_ex_machina/animations/super_jump_end/tween {duration:1, to_frame: 1} + # 効果音 + execute if score @s CO.EventTimer matches 38 run function asset:mob/0456.gargo_ex_machina/tick/util/sound + execute if score @s CO.EventTimer matches 63 run function asset:mob/0456.gargo_ex_machina/tick/util/sound + # 攻撃 + execute if score @s CO.EventTimer matches 10 run function asset:mob/0456.gargo_ex_machina/tick/event/super_jump/attack + # 攻撃演出 + execute if score @s CO.EventTimer matches 10 as @a[distance=..80] at @s run tp @s ~ ~ ~ ~ ~2 + execute if score @s CO.EventTimer matches 11 as @a[distance=..80] at @s run tp @s ~ ~ ~ ~ ~-4 + execute if score @s CO.EventTimer matches 12 as @a[distance=..80] at @s run tp @s ~ ~ ~ ~ ~4 + execute if score @s CO.EventTimer matches 13 as @a[distance=..80] at @s run tp @s ~ ~ ~ ~ ~-4 + execute if score @s CO.EventTimer matches 14 as @a[distance=..80] at @s run tp @s ~ ~ ~ ~ ~3 + execute if score @s CO.EventTimer matches 15 as @a[distance=..80] at @s run tp @s ~ ~ ~ ~ ~-3 + execute if score @s CO.EventTimer matches 16 as @a[distance=..80] at @s run tp @s ~ ~ ~ ~ ~3 + execute if score @s CO.EventTimer matches 17 as @a[distance=..80] at @s run tp @s ~ ~ ~ ~ ~-1 + # モデルを合わせる + execute as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run tp @s ~ ~ ~ ~ ~ + +# 終了 + execute if score @s CO.EventTimer matches 69.. run function asset:mob/0456.gargo_ex_machina/tick/event/super_jump/end diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/super_jump/event_start.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/super_jump/event_start.mcfunction new file mode 100644 index 0000000000..62e646f5fd --- /dev/null +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/super_jump/event_start.mcfunction @@ -0,0 +1,27 @@ +#> asset:mob/0456.gargo_ex_machina/tick/event/super_jump/event_start +# +# スーパージャンプ +# +# @within asset:mob/0456.gargo_ex_machina/tick/event/ + +# タイマー増加 + scoreboard players add @s CO.EventTimer 1 + +# 構え + # アニメーション再生 + execute if score @s CO.EventTimer matches 1 as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run function animated_java:gargo_ex_machina/animations/super_jump_start/tween {duration:1, to_frame: 1} + # 効果音 + execute if score @s CO.EventTimer matches 1 run function asset:mob/0456.gargo_ex_machina/tick/util/sound + execute if score @s CO.EventTimer matches 13 run function asset:mob/0456.gargo_ex_machina/tick/util/sound + # 演出 + execute if score @s CO.EventTimer matches 15 run particle block quartz_block ~ ~0.5 ~ 2 0.1 2 0 30 + # 影 + execute if score @s CO.EventTimer matches 18 as @e[type=item_display,tag=CO.Shadow] run function asset:mob/0456.gargo_ex_machina/tick/util/hide_shadow + execute if score @s CO.EventTimer matches 40 as @e[type=item_display,tag=CO.Shadow] run function asset:mob/0456.gargo_ex_machina/tick/util/show_shadow + # モデルを合わせる + execute as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run tp @s ~ ~ ~ ~ ~ + # 予兆 + execute if score @s CO.EventTimer matches 41 run function asset:mob/0456.gargo_ex_machina/tick/event/super_jump/prediction.m {Tick:69} + +# 攻撃に移行 + execute if score @s CO.EventTimer matches 100.. run function asset:mob/0456.gargo_ex_machina/tick/event/super_jump/start_attack diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/super_jump/prediction.m.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/super_jump/prediction.m.mcfunction new file mode 100644 index 0000000000..97777bc9e3 --- /dev/null +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/super_jump/prediction.m.mcfunction @@ -0,0 +1,13 @@ +#> asset:mob/0456.gargo_ex_machina/tick/event/super_jump/prediction.m +# +# スーパージャンプ +# +# @within asset:mob/0456.gargo_ex_machina/tick/event/super_jump/event_start + +# 予告:円範囲 + data modify storage api: Argument.ID set value 2063 + execute store result storage api: Argument.FieldOverride.MobUUID int 1 run scoreboard players get @s MobUUID + data modify storage api: Argument.FieldOverride.Color set value 3381759 + data modify storage api: Argument.FieldOverride.Scale set value [30f, 30f, 0.05f] + $data modify storage api: Argument.FieldOverride.Tick set value $(Tick) + execute positioned ^ ^0.1 ^ rotated ~ 0 run function api:object/summon diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/super_jump/start_attack.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/super_jump/start_attack.mcfunction new file mode 100644 index 0000000000..7206d40a25 --- /dev/null +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/super_jump/start_attack.mcfunction @@ -0,0 +1,10 @@ +#> asset:mob/0456.gargo_ex_machina/tick/event/super_jump/start_attack +# +# スーパージャンプ +# +# @within asset:mob/0456.gargo_ex_machina/tick/event/super_jump/event_start + +# タグ更新 + scoreboard players set @s CO.EventTimer 0 + tag @s remove CO.Skill.SuperJump + tag @s add CO.Skill.SuperJump.Attack diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/sword_attack/event_attack.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/sword_attack/event_attack.mcfunction index 30f267e703..24daedc15c 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/sword_attack/event_attack.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/sword_attack/event_attack.mcfunction @@ -13,9 +13,9 @@ execute if score @s CO.EventTimer matches 35 as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run function animated_java:gargo_ex_machina/animations/sword_smash_attack/pause execute if score @s CO.EventTimer matches 60 as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run function animated_java:gargo_ex_machina/animations/sword_smash_attack/resume # 効果音 - execute if score @s CO.EventTimer matches 1 positioned as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run playsound block.piston.contract hostile @a ~ ~ ~ 2 0.9 - execute if score @s CO.EventTimer matches 65 positioned as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run playsound block.piston.contract hostile @a ~ ~ ~ 2 0.9 - execute if score @s CO.EventTimer matches 93 positioned as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run playsound block.piston.contract hostile @a ~ ~ ~ 2 0.9 + execute if score @s CO.EventTimer matches 1 run function asset:mob/0456.gargo_ex_machina/tick/util/sound + execute if score @s CO.EventTimer matches 65 run function asset:mob/0456.gargo_ex_machina/tick/util/sound + execute if score @s CO.EventTimer matches 93 run function asset:mob/0456.gargo_ex_machina/tick/util/sound # 攻撃 execute if score @s CO.EventTimer matches 15 positioned ^ ^ ^25 run function asset:mob/0456.gargo_ex_machina/tick/event/sword_attack/attack # 攻撃演出 diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/sword_attack/event_start.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/sword_attack/event_start.mcfunction index 0d92e59863..bbdac9bc65 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/sword_attack/event_start.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/sword_attack/event_start.mcfunction @@ -11,8 +11,8 @@ # アニメーション再生 execute if score @s CO.EventTimer matches 1 as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run function animated_java:gargo_ex_machina/animations/sword_smash_start/tween {duration:1, to_frame: 1} # 効果音 - execute if score @s CO.EventTimer matches 1 positioned as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run playsound block.piston.contract hostile @a ~ ~ ~ 2 0.7 - execute if score @s CO.EventTimer matches 25 positioned as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run playsound block.piston.extend hostile @a ~ ~ ~ 2 0.7 + execute if score @s CO.EventTimer matches 1 run function asset:mob/0456.gargo_ex_machina/tick/util/sound + execute if score @s CO.EventTimer matches 25 run function asset:mob/0456.gargo_ex_machina/tick/util/sound # 対象を向く function asset:mob/0456.gargo_ex_machina/tick/util/rotate_to_target # モデルを合わせる From e55df0a5a72e99e7336ee8cf57af73812f93df29 Mon Sep 17 00:00:00 2001 From: mokkkk Date: Sun, 15 Feb 2026 17:08:39 +0900 Subject: [PATCH 13/98] =?UTF-8?q?field=5Fmodify=E3=81=AEbossbar=E5=87=A6?= =?UTF-8?q?=E7=90=86=E5=AE=9F=E8=A3=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../0456.gargo_ex_machina/_index.d.mcfunction | 11 +++++++- .../tick/debug/interrupt.mcfunction | 2 +- .../tick/event/.mcfunction | 3 +++ .../tick/event/field_modify/end.mcfunction | 15 +++++++++++ .../event/field_modify/event_start.mcfunction | 22 ++++++++++++++++ .../field_modify/summon_manager.mcfunction | 10 +++++++ .../2263.gem_laser_vfx/_index.d.mcfunction | 1 + .../object/2263.gem_laser_vfx/load.mcfunction | 2 +- .../2263.gem_laser_vfx/summon/m.mcfunction | 2 +- .../_index.d.mcfunction | 12 +++++++++ .../init/.mcfunction | 20 ++++++++++++++ .../init/decide_color.mcfunction | 21 +++++++++++++++ .../init/decide_color_loop.mcfunction | 26 +++++++++++++++++++ .../2265.field_modify_manager/load.mcfunction | 12 +++++++++ .../register.mcfunction | 20 ++++++++++++++ .../summon/.mcfunction | 8 ++++++ .../summon/debug.mcfunction | 10 +++++++ .../tick/.mcfunction | 17 ++++++++++++ .../tick/kill.mcfunction | 11 ++++++++ .../tick/set_bossbar_name.mcfunction | 15 +++++++++++ .../tick/show_bossbar.mcfunction | 11 ++++++++ .../object/alias/2265/init.mcfunction | 8 ++++++ .../object/alias/2265/register.mcfunction | 8 ++++++ .../object/alias/2265/summon.mcfunction | 8 ++++++ .../object/alias/2265/tick.mcfunction | 8 ++++++ .../asset/tags/functions/object/load.json | 1 + 26 files changed, 280 insertions(+), 4 deletions(-) create mode 100644 Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/field_modify/end.mcfunction create mode 100644 Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/field_modify/event_start.mcfunction create mode 100644 Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/field_modify/summon_manager.mcfunction create mode 100644 Asset/data/asset/functions/object/2265.field_modify_manager/_index.d.mcfunction create mode 100644 Asset/data/asset/functions/object/2265.field_modify_manager/init/.mcfunction create mode 100644 Asset/data/asset/functions/object/2265.field_modify_manager/init/decide_color.mcfunction create mode 100644 Asset/data/asset/functions/object/2265.field_modify_manager/init/decide_color_loop.mcfunction create mode 100644 Asset/data/asset/functions/object/2265.field_modify_manager/load.mcfunction create mode 100644 Asset/data/asset/functions/object/2265.field_modify_manager/register.mcfunction create mode 100644 Asset/data/asset/functions/object/2265.field_modify_manager/summon/.mcfunction create mode 100644 Asset/data/asset/functions/object/2265.field_modify_manager/summon/debug.mcfunction create mode 100644 Asset/data/asset/functions/object/2265.field_modify_manager/tick/.mcfunction create mode 100644 Asset/data/asset/functions/object/2265.field_modify_manager/tick/kill.mcfunction create mode 100644 Asset/data/asset/functions/object/2265.field_modify_manager/tick/set_bossbar_name.mcfunction create mode 100644 Asset/data/asset/functions/object/2265.field_modify_manager/tick/show_bossbar.mcfunction create mode 100644 Asset/data/asset/functions/object/alias/2265/init.mcfunction create mode 100644 Asset/data/asset/functions/object/alias/2265/register.mcfunction create mode 100644 Asset/data/asset/functions/object/alias/2265/summon.mcfunction create mode 100644 Asset/data/asset/functions/object/alias/2265/tick.mcfunction diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/_index.d.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/_index.d.mcfunction index 5ff5ab6d10..28b26a0a2a 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/_index.d.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/_index.d.mcfunction @@ -26,6 +26,15 @@ #declare tag CO.Skill.HalfBeamSword.IsRight 半面焼きビーム #declare tag CO.Skill.SuperJump スーパージャンプ #declare tag CO.Skill.SuperJump.Attack スーパージャンプ + #declare tag CO.Skill.FieldModify + #declare tag + #declare tag + #declare tag + #declare tag + #declare tag + #declare tag + #declare tag + #declare tag # - オブジェクト用 #declare tag CO.Object #declare tag CO.Shadow @@ -74,7 +83,7 @@ #declare function animated_java:gargo_ex_machina/animations/walk_end/tween #declare function animated_java:gargo_ex_machina/animations/super_jump_start/tween #declare function animated_java:gargo_ex_machina/animations/super_jump_end/tween - #declare function + #declare function animated_java:gargo_ex_machina/animations/call_drone/tween #declare function #declare function #declare function diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/debug/interrupt.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/debug/interrupt.mcfunction index 45103bd1c9..4df7d8c269 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/debug/interrupt.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/debug/interrupt.mcfunction @@ -18,4 +18,4 @@ # execute at @s run tp @e[type=item_display,tag=CO.ModelRoot] ~ ~ ~ ~ 0 # イベント実行 - tag @s add CO.Skill.Move + tag @s add CO.Skill.FieldModify diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/.mcfunction index 327e112d17..ee0cddc72d 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/.mcfunction @@ -29,3 +29,6 @@ # スーパージャンプ execute if entity @s[tag=CO.Skill.SuperJump] run function asset:mob/0456.gargo_ex_machina/tick/event/super_jump/event_start execute if entity @s[tag=CO.Skill.SuperJump.Attack] run function asset:mob/0456.gargo_ex_machina/tick/event/super_jump/event_attack + +# フィールド・モディファイ + execute if entity @s[tag=CO.Skill.FieldModify] run function asset:mob/0456.gargo_ex_machina/tick/event/field_modify/event_start diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/field_modify/end.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/field_modify/end.mcfunction new file mode 100644 index 0000000000..cd55636cb4 --- /dev/null +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/field_modify/end.mcfunction @@ -0,0 +1,15 @@ +#> asset:mob/0456.gargo_ex_machina/tick/event/field_modify/end +# +# フィールド・モディファイ +# +# @within asset:mob/0456.gargo_ex_machina/tick/event/field_modify/event_start + +# タグ消去 + scoreboard players set @s CO.EventTimer 0 + tag @s remove CO.Skill.FieldModify + +# 待機モーション再生 + execute as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run function animated_java:gargo_ex_machina/animations/idle/tween {duration:1, to_frame: 1} + +# 行動 + # function asset:mob/0410.heiloang/tick/act/ diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/field_modify/event_start.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/field_modify/event_start.mcfunction new file mode 100644 index 0000000000..1661cf2f7f --- /dev/null +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/field_modify/event_start.mcfunction @@ -0,0 +1,22 @@ +#> asset:mob/0456.gargo_ex_machina/tick/event/field_modify/event_start +# +# フィールド・モディファイ +# +# @within asset:mob/0456.gargo_ex_machina/tick/event/ + +# タイマー増加 + scoreboard players add @s CO.EventTimer 1 + +# 構え + # アニメーション再生 + execute if score @s CO.EventTimer matches 1 as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run function animated_java:gargo_ex_machina/animations/call_drone/tween {duration:1, to_frame: 1} + # 効果音 + execute if score @s CO.EventTimer matches 1 run function asset:mob/0456.gargo_ex_machina/tick/util/sound + execute if score @s CO.EventTimer matches 50 run function asset:mob/0456.gargo_ex_machina/tick/util/sound + # モデルを合わせる + execute as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run tp @s ~ ~ ~ ~ ~ + # 召喚 + execute if score @s CO.EventTimer matches 25 run function asset:mob/0456.gargo_ex_machina/tick/event/field_modify/summon_manager + +# 終了 + execute if score @s CO.EventTimer matches 65.. run function asset:mob/0456.gargo_ex_machina/tick/event/field_modify/end diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/field_modify/summon_manager.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/field_modify/summon_manager.mcfunction new file mode 100644 index 0000000000..5fe602e104 --- /dev/null +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/field_modify/summon_manager.mcfunction @@ -0,0 +1,10 @@ +#> asset:mob/0456.gargo_ex_machina/tick/event/field_modify/summon_manager +# +# フィールド・モディファイ +# +# @within asset:mob/0456.gargo_ex_machina/tick/event/field_modify/event_start + +# マネージャー召喚 + data modify storage api: Argument.ID set value 2265 + data modify storage api: Argument.FieldOverride.AttackCount set value 3 + function api:object/summon diff --git a/Asset/data/asset/functions/object/2263.gem_laser_vfx/_index.d.mcfunction b/Asset/data/asset/functions/object/2263.gem_laser_vfx/_index.d.mcfunction index 501aa8f726..94fa09a309 100644 --- a/Asset/data/asset/functions/object/2263.gem_laser_vfx/_index.d.mcfunction +++ b/Asset/data/asset/functions/object/2263.gem_laser_vfx/_index.d.mcfunction @@ -3,4 +3,5 @@ #> tag # @within function asset:object/2263.gem_laser_vfx/** + #declare tag CO.Object #declare tag 2263.IsRight diff --git a/Asset/data/asset/functions/object/2263.gem_laser_vfx/load.mcfunction b/Asset/data/asset/functions/object/2263.gem_laser_vfx/load.mcfunction index bb68e9f7bd..603380bb2a 100644 --- a/Asset/data/asset/functions/object/2263.gem_laser_vfx/load.mcfunction +++ b/Asset/data/asset/functions/object/2263.gem_laser_vfx/load.mcfunction @@ -6,4 +6,4 @@ #> 定義類はここに # @within function asset:object/2263.gem_laser_vfx/** - scoreboard objectives add \ No newline at end of file + # scoreboard objectives add diff --git a/Asset/data/asset/functions/object/2263.gem_laser_vfx/summon/m.mcfunction b/Asset/data/asset/functions/object/2263.gem_laser_vfx/summon/m.mcfunction index 1f249e9884..52c8e42e83 100644 --- a/Asset/data/asset/functions/object/2263.gem_laser_vfx/summon/m.mcfunction +++ b/Asset/data/asset/functions/object/2263.gem_laser_vfx/summon/m.mcfunction @@ -5,4 +5,4 @@ # @within asset:object/2263.gem_laser_vfx/summon/ # 元となるEntityを召喚する - $summon minecraft:item_display ~ ~ ~ {Rotation:$(Rotation),brightness:{sky:15,block:15},Tags:["ObjectInit"],interpolation_duration:3,teleport_duration:1,item:{id:"stick",Count:1b,tag:{CustomModelData:20588}},transformation:{left_rotation:[0.0f,0.0f,0.0f,1.0f],right_rotation:[0.0f,0.0f,0.0f,1.0f],translation:[0.0f,0.0f,0.0f],scale:[0.0f,0.0f,50.0f]}} + $summon minecraft:item_display ~ ~ ~ {Rotation:$(Rotation),brightness:{sky:15,block:15},Tags:["ObjectInit","CO.Object"],interpolation_duration:3,teleport_duration:1,item:{id:"stick",Count:1b,tag:{CustomModelData:20588}},transformation:{left_rotation:[0.0f,0.0f,0.0f,1.0f],right_rotation:[0.0f,0.0f,0.0f,1.0f],translation:[0.0f,0.0f,0.0f],scale:[0.0f,0.0f,50.0f]}} diff --git a/Asset/data/asset/functions/object/2265.field_modify_manager/_index.d.mcfunction b/Asset/data/asset/functions/object/2265.field_modify_manager/_index.d.mcfunction new file mode 100644 index 0000000000..73205591b6 --- /dev/null +++ b/Asset/data/asset/functions/object/2265.field_modify_manager/_index.d.mcfunction @@ -0,0 +1,12 @@ +#> asset:object/2265.field_modify_manager/_index.d +# @private + +#> tag +# @within function asset:object/2265.field_modify_manager/** + #declare tag CO.Object + #declare tag 2265.Aec + #declare tag 2265.Aec.Target + #declare tag 2265.Aec.Red + #declare tag 2265.Aec.Blue + #declare tag 2265.Aec.Green + #declare tag 2265.Aec.Yellow diff --git a/Asset/data/asset/functions/object/2265.field_modify_manager/init/.mcfunction b/Asset/data/asset/functions/object/2265.field_modify_manager/init/.mcfunction new file mode 100644 index 0000000000..57bb519ad6 --- /dev/null +++ b/Asset/data/asset/functions/object/2265.field_modify_manager/init/.mcfunction @@ -0,0 +1,20 @@ +#> asset:object/2265.field_modify_manager/init/ +# +# Objectのinit時の処理 +# +# @within asset:object/alias/2265/init +# @private + #declare score_holder $Temp.Count + +# 攻撃回数決定 + execute store result score @s 2265.AttackCount store result score $Temp.Count 2265.AttackCount run data get storage asset:context this.AttackCount + +# Progressバーの最大値を決定 + scoreboard players set @s 2265.Progress.Current 0 + scoreboard players set @s 2265.Progress.Max 200 + +# 攻撃対象決定 + function asset:object/2265.field_modify_manager/init/decide_color + +# 終了 + scoreboard players reset $Temp.Count diff --git a/Asset/data/asset/functions/object/2265.field_modify_manager/init/decide_color.mcfunction b/Asset/data/asset/functions/object/2265.field_modify_manager/init/decide_color.mcfunction new file mode 100644 index 0000000000..35a309ca3b --- /dev/null +++ b/Asset/data/asset/functions/object/2265.field_modify_manager/init/decide_color.mcfunction @@ -0,0 +1,21 @@ +#> asset:object/2265.field_modify_manager/init/decide_color +# +# Objectのtick時の処理 +# +# @within asset:object/2265.field_modify_manager/init/ +# @private + #declare score_holder $Temp.Count + +# 決定用AEC召喚 + summon area_effect_cloud ~ ~ ~ {Tags:["2265.Aec","2265.Aec.Red"]} + summon area_effect_cloud ~ ~ ~ {Tags:["2265.Aec","2265.Aec.Blue"]} + summon area_effect_cloud ~ ~ ~ {Tags:["2265.Aec","2265.Aec.Green"]} + summon area_effect_cloud ~ ~ ~ {Tags:["2265.Aec","2265.Aec.Yellow"]} + +# 決定処理 + data modify storage asset:context this.Target set value [] + data modify storage asset:context this.BossBar.Color set value [] + execute if score $Temp.Count 2265.AttackCount matches 1.. run function asset:object/2265.field_modify_manager/init/decide_color_loop + +# 終了 + kill @e[type=area_effect_cloud,tag=2265.Aec,distance=..10] diff --git a/Asset/data/asset/functions/object/2265.field_modify_manager/init/decide_color_loop.mcfunction b/Asset/data/asset/functions/object/2265.field_modify_manager/init/decide_color_loop.mcfunction new file mode 100644 index 0000000000..65b4a04a2f --- /dev/null +++ b/Asset/data/asset/functions/object/2265.field_modify_manager/init/decide_color_loop.mcfunction @@ -0,0 +1,26 @@ +#> asset:object/2265.field_modify_manager/init/decide_color_loop +# +# Objectのtick時の処理 +# +# @within asset:object/2265.field_modify_manager/init/decide_color +# @private + #declare score_holder $Temp.Count + +# デクリメント + scoreboard players remove $Temp.Count 2265.AttackCount 1 + +# ランダムに1つ取り出し、storageに保管 + tag @e[type=area_effect_cloud,tag=2265.Aec,distance=..10,sort=random,limit=1] add 2265.Aec.Target + execute if entity @e[type=area_effect_cloud,tag=2265.Aec.Target,tag=2265.Aec.Red,distance=..10,limit=1] run data modify storage asset:context this.Target append value 0 + execute if entity @e[type=area_effect_cloud,tag=2265.Aec.Target,tag=2265.Aec.Blue,distance=..10,limit=1] run data modify storage asset:context this.Target append value 1 + execute if entity @e[type=area_effect_cloud,tag=2265.Aec.Target,tag=2265.Aec.Green,distance=..10,limit=1] run data modify storage asset:context this.Target append value 2 + execute if entity @e[type=area_effect_cloud,tag=2265.Aec.Target,tag=2265.Aec.Yellow,distance=..10,limit=1] run data modify storage asset:context this.Target append value 3 + execute if entity @e[type=area_effect_cloud,tag=2265.Aec.Target,tag=2265.Aec.Red,distance=..10,limit=1] run data modify storage asset:context this.BossBar.Color append value '{"text":"■","color":"red"}' + execute if entity @e[type=area_effect_cloud,tag=2265.Aec.Target,tag=2265.Aec.Blue,distance=..10,limit=1] run data modify storage asset:context this.BossBar.Color append value '{"text":"■","color":"blue"}' + execute if entity @e[type=area_effect_cloud,tag=2265.Aec.Target,tag=2265.Aec.Green,distance=..10,limit=1] run data modify storage asset:context this.BossBar.Color append value '{"text":"■","color":"green"}' + execute if entity @e[type=area_effect_cloud,tag=2265.Aec.Target,tag=2265.Aec.Yellow,distance=..10,limit=1] run data modify storage asset:context this.BossBar.Color append value '{"text":"■","color":"gold"}' + kill @e[type=area_effect_cloud,tag=2265.Aec.Target,distance=..10] + +# 繰り返す + execute if score $Temp.Count 2265.AttackCount matches 1.. run data modify storage asset:context this.BossBar.Color append value '{"text":"->","color":"white"}' + execute if score $Temp.Count 2265.AttackCount matches 1.. run function asset:object/2265.field_modify_manager/init/decide_color_loop diff --git a/Asset/data/asset/functions/object/2265.field_modify_manager/load.mcfunction b/Asset/data/asset/functions/object/2265.field_modify_manager/load.mcfunction new file mode 100644 index 0000000000..7a91bc94e2 --- /dev/null +++ b/Asset/data/asset/functions/object/2265.field_modify_manager/load.mcfunction @@ -0,0 +1,12 @@ +#> asset:object/2265.field_modify_manager/load +# +# Objectに利用するスコアボード等の初期化処理 +# +# @within tag/function asset:object/load + +#> 定義類はここに +# @within function asset:object/2265.field_modify_manager/** + scoreboard objectives add 2265.AttackCount dummy + scoreboard objectives add 2265.Period dummy + scoreboard objectives add 2265.Progress.Current dummy + scoreboard objectives add 2265.Progress.Max dummy diff --git a/Asset/data/asset/functions/object/2265.field_modify_manager/register.mcfunction b/Asset/data/asset/functions/object/2265.field_modify_manager/register.mcfunction new file mode 100644 index 0000000000..189df179ca --- /dev/null +++ b/Asset/data/asset/functions/object/2265.field_modify_manager/register.mcfunction @@ -0,0 +1,20 @@ +#> asset:object/2265.field_modify_manager/register +# +# Objectのデータを指定 +# +# @within function asset:object/alias/2265/register + +# 継承(オプション) + # data modify storage asset:object Extends append value + # function asset:object/extends +# 他のObjectに継承されることを許可するか (boolean) (オプション) + # data modify storage asset:object ExtendsSafe set value +# 継承されることを前提とした、抽象的なObjectであるかどうか(boolean) + data modify storage asset:object IsAbstract set value false +# Tickするかどうか(boolean) (オプション) + # data modify storage asset:object IsTicking set value + +# ID (int) + data modify storage asset:object ID set value 2265 +# フィールド(オプション) + # data modify storage asset:object Field.myValue set value \ No newline at end of file diff --git a/Asset/data/asset/functions/object/2265.field_modify_manager/summon/.mcfunction b/Asset/data/asset/functions/object/2265.field_modify_manager/summon/.mcfunction new file mode 100644 index 0000000000..255832cfcc --- /dev/null +++ b/Asset/data/asset/functions/object/2265.field_modify_manager/summon/.mcfunction @@ -0,0 +1,8 @@ +#> asset:object/2265.field_modify_manager/summon/ +# +# Object召喚処理の呼び出し時に実行されるfunction +# +# @within asset:object/alias/2265/summon + +# 元となるEntityを召喚する + summon marker ~ ~ ~ {Tags:["ObjectInit","CO.Object"]} diff --git a/Asset/data/asset/functions/object/2265.field_modify_manager/summon/debug.mcfunction b/Asset/data/asset/functions/object/2265.field_modify_manager/summon/debug.mcfunction new file mode 100644 index 0000000000..63a504c84e --- /dev/null +++ b/Asset/data/asset/functions/object/2265.field_modify_manager/summon/debug.mcfunction @@ -0,0 +1,10 @@ +#> asset:object/2265.field_modify_manager/summon/debug +# +# 動作チェック用の召喚処理 使い終わったら消してもいいかも +# +# @user +# @private + +# 召喚 + data modify storage api: Argument.ID set value 2265 + function api:object/summon \ No newline at end of file diff --git a/Asset/data/asset/functions/object/2265.field_modify_manager/tick/.mcfunction b/Asset/data/asset/functions/object/2265.field_modify_manager/tick/.mcfunction new file mode 100644 index 0000000000..7668f63719 --- /dev/null +++ b/Asset/data/asset/functions/object/2265.field_modify_manager/tick/.mcfunction @@ -0,0 +1,17 @@ +#> asset:object/2265.field_modify_manager/tick/ +# +# Objectのtick時の処理 +# +# @within asset:object/alias/2265/tick + +# Tick加算 + scoreboard players add @s General.Object.Tick 1 + +# Progress進行 + execute if score @s General.Object.Tick matches 1 run function asset:object/2265.field_modify_manager/tick/show_bossbar + execute if score @s General.Object.Tick matches 1.. run function asset:object/2265.field_modify_manager/tick/set_bossbar_name + execute if score @s General.Object.Tick matches 100.. store result bossbar asset:co_field_modify value run scoreboard players add @s 2265.Progress.Current 1 + +# 消滅処理 + execute if score @s 2265.Progress.Current >= @s 2265.Progress.Max run function asset:object/2265.field_modify_manager/tick/kill + execute if entity @s[scores={General.Object.Tick=2000..}] run function asset:object/2265.field_modify_manager/tick/kill diff --git a/Asset/data/asset/functions/object/2265.field_modify_manager/tick/kill.mcfunction b/Asset/data/asset/functions/object/2265.field_modify_manager/tick/kill.mcfunction new file mode 100644 index 0000000000..be9c8b68e3 --- /dev/null +++ b/Asset/data/asset/functions/object/2265.field_modify_manager/tick/kill.mcfunction @@ -0,0 +1,11 @@ +#> asset:object/2265.field_modify_manager/tick/kill +# +# Objectのtick時の処理 +# +# @within asset:object/2265.field_modify_manager/tick/ + +# ボスバー消去 + bossbar remove asset:co_field_modify + +# 消去 + kill @s diff --git a/Asset/data/asset/functions/object/2265.field_modify_manager/tick/set_bossbar_name.mcfunction b/Asset/data/asset/functions/object/2265.field_modify_manager/tick/set_bossbar_name.mcfunction new file mode 100644 index 0000000000..4071b7d10d --- /dev/null +++ b/Asset/data/asset/functions/object/2265.field_modify_manager/tick/set_bossbar_name.mcfunction @@ -0,0 +1,15 @@ +#> asset:object/2265.field_modify_manager/tick/set_bossbar_name +# +# Objectのtick時の処理 +# +# @within asset:object/2265.field_modify_manager/tick/ + +# ピリオド + scoreboard players add @s 2265.Period 1 + execute if score @s 2265.Period matches 30.. run scoreboard players set @s 2265.Period 0 + execute if score @s 2265.Period matches ..9 run data modify storage asset:context this.BossBar.Period set value ['{"text":"."}','{"text":"\\u0005","font":"space"}'] + execute if score @s 2265.Period matches 10..19 run data modify storage asset:context this.BossBar.Period set value ['{"text":".."}','{"text":"\\u0002","font":"space"}'] + execute if score @s 2265.Period matches 20.. run data modify storage asset:context this.BossBar.Period set value ['{"text":"..."}'] + +# ボスバー表示 + bossbar set asset:co_field_modify name [{"text":"> FIELD MODIFY PROCEEDING","color": "white","bold": true},{"storage":"asset:context","nbt":"this.BossBar.Period[]","interpret":true,"separator":""},{"text":" ","color": "white","bold": true},{"storage":"asset:context","nbt":"this.BossBar.Color[]","interpret":true,"separator":" "},{"text":" <","color": "white","bold": true}] diff --git a/Asset/data/asset/functions/object/2265.field_modify_manager/tick/show_bossbar.mcfunction b/Asset/data/asset/functions/object/2265.field_modify_manager/tick/show_bossbar.mcfunction new file mode 100644 index 0000000000..8b543fa151 --- /dev/null +++ b/Asset/data/asset/functions/object/2265.field_modify_manager/tick/show_bossbar.mcfunction @@ -0,0 +1,11 @@ +#> asset:object/2265.field_modify_manager/tick/show_bossbar +# +# Objectのtick時の処理 +# +# @within asset:object/2265.field_modify_manager/tick/ + +# ボスバー表示 + bossbar add asset:co_field_modify {"text":""} + bossbar set asset:co_field_modify color blue + bossbar set asset:co_field_modify players @a[distance=..80] + execute store result bossbar asset:co_field_modify max run scoreboard players get @s 2265.Progress.Max diff --git a/Asset/data/asset/functions/object/alias/2265/init.mcfunction b/Asset/data/asset/functions/object/alias/2265/init.mcfunction new file mode 100644 index 0000000000..145536e553 --- /dev/null +++ b/Asset/data/asset/functions/object/alias/2265/init.mcfunction @@ -0,0 +1,8 @@ +#> asset:object/alias/2265/init +# +# Init処理のエイリアス +# +# @within asset_manager:object/init/init.m + +# 元のInit処理を呼び出す + function asset:object/2265.field_modify_manager/init/ \ No newline at end of file diff --git a/Asset/data/asset/functions/object/alias/2265/register.mcfunction b/Asset/data/asset/functions/object/alias/2265/register.mcfunction new file mode 100644 index 0000000000..b6ba0ad5b1 --- /dev/null +++ b/Asset/data/asset/functions/object/alias/2265/register.mcfunction @@ -0,0 +1,8 @@ +#> asset:object/alias/2265/register +# +# Objectのデータ指定処理のエイリアス +# +# @within asset_manager:object/summon/register.m + +# 元の登録処理を呼び出す + function asset:object/2265.field_modify_manager/register \ No newline at end of file diff --git a/Asset/data/asset/functions/object/alias/2265/summon.mcfunction b/Asset/data/asset/functions/object/alias/2265/summon.mcfunction new file mode 100644 index 0000000000..07bbfcfa2e --- /dev/null +++ b/Asset/data/asset/functions/object/alias/2265/summon.mcfunction @@ -0,0 +1,8 @@ +#> asset:object/alias/2265/summon +# +# Object召喚処理のエイリアス +# +# @within asset_manager:object/summon/summon.m + +# 元の召喚処理を呼び出す + function asset:object/2265.field_modify_manager/summon/ \ No newline at end of file diff --git a/Asset/data/asset/functions/object/alias/2265/tick.mcfunction b/Asset/data/asset/functions/object/alias/2265/tick.mcfunction new file mode 100644 index 0000000000..726ae8bf50 --- /dev/null +++ b/Asset/data/asset/functions/object/alias/2265/tick.mcfunction @@ -0,0 +1,8 @@ +#> asset:object/alias/2265/tick +# +# Tick時処理のエイリアス +# +# @within asset_manager:object/tick/tick.m + +# 元のTick処理を呼び出す + function asset:object/2265.field_modify_manager/tick/ \ No newline at end of file diff --git a/Asset/data/asset/tags/functions/object/load.json b/Asset/data/asset/tags/functions/object/load.json index f36945a885..ab408e0958 100644 --- a/Asset/data/asset/tags/functions/object/load.json +++ b/Asset/data/asset/tags/functions/object/load.json @@ -1,5 +1,6 @@ { "values": [ + "asset:object/2265.field_modify_manager/load", "asset:object/2263.gem_laser_vfx/load", "asset:object/2251.wall_laser_clock/load", "asset:object/2212.eclael_upper_shot/load", From cabbfeee94155529645202213793f071ef5bc982 Mon Sep 17 00:00:00 2001 From: mokkkk Date: Sun, 15 Feb 2026 17:58:29 +0900 Subject: [PATCH 14/98] =?UTF-8?q?=E9=80=86=E8=A5=B2=E3=81=AE=E7=BE=8A?= =?UTF-8?q?=E3=82=B7=E3=83=A3=E3=83=B3=E8=BF=BD=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../0456.gargo_ex_machina/init/.mcfunction | 6 +- .../tick/event/activate/.mcfunction | 73 +++++++++---------- .../2264.sheep_avenger/_index.d.mcfunction | 13 ++++ .../2264.sheep_avenger/init/.mcfunction | 9 +++ .../object/2264.sheep_avenger/load.mcfunction | 9 +++ .../2264.sheep_avenger/register.mcfunction | 20 +++++ .../2264.sheep_avenger/summon/.mcfunction | 8 ++ .../summon/debug.mcfunction | 10 +++ .../2264.sheep_avenger/tick/.mcfunction | 34 +++++++++ .../2264.sheep_avenger/tick/kill.mcfunction | 12 +++ .../2264.sheep_avenger/tick/step.mcfunction | 10 +++ .../object/alias/2264/init.mcfunction | 8 ++ .../object/alias/2264/register.mcfunction | 8 ++ .../object/alias/2264/summon.mcfunction | 8 ++ .../object/alias/2264/tick.mcfunction | 8 ++ .../asset/tags/functions/object/load.json | 1 + 16 files changed, 198 insertions(+), 39 deletions(-) create mode 100644 Asset/data/asset/functions/object/2264.sheep_avenger/_index.d.mcfunction create mode 100644 Asset/data/asset/functions/object/2264.sheep_avenger/init/.mcfunction create mode 100644 Asset/data/asset/functions/object/2264.sheep_avenger/load.mcfunction create mode 100644 Asset/data/asset/functions/object/2264.sheep_avenger/register.mcfunction create mode 100644 Asset/data/asset/functions/object/2264.sheep_avenger/summon/.mcfunction create mode 100644 Asset/data/asset/functions/object/2264.sheep_avenger/summon/debug.mcfunction create mode 100644 Asset/data/asset/functions/object/2264.sheep_avenger/tick/.mcfunction create mode 100644 Asset/data/asset/functions/object/2264.sheep_avenger/tick/kill.mcfunction create mode 100644 Asset/data/asset/functions/object/2264.sheep_avenger/tick/step.mcfunction create mode 100644 Asset/data/asset/functions/object/alias/2264/init.mcfunction create mode 100644 Asset/data/asset/functions/object/alias/2264/register.mcfunction create mode 100644 Asset/data/asset/functions/object/alias/2264/summon.mcfunction create mode 100644 Asset/data/asset/functions/object/alias/2264/tick.mcfunction diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/init/.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/init/.mcfunction index 28ad474371..e5af55f93c 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/init/.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/init/.mcfunction @@ -28,8 +28,10 @@ # execute at @s run tp @s ^ ^ ^ ~ 0 # ダミー用ひつじ召喚 - summon sheep ~ ~ ~ {Tags:["CO.ScapeSheep","Uninterferable"],NoAI:1b,Invulnerable:1b} - playsound entity.sheep.hurt hostile @a ~ ~ ~ 2 0.7 + data modify storage api: Argument.ID set value 2264 + function api:object/summon + # summon sheep ~ ~ ~ {Tags:["CO.ScapeSheep","Uninterferable"],NoAI:1b,Invulnerable:1b} + # playsound entity.sheep.hurt hostile @a ~ ~ ~ 2 0.7 # 登場モーション再生 tag @s add CO.Skill.Activate diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/activate/.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/activate/.mcfunction index 0c4d938950..cb6ffc1460 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/activate/.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/activate/.mcfunction @@ -9,7 +9,7 @@ # 起動 # アニメーション再生 - execute if score @s CO.EventTimer matches 60 as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run function animated_java:gargo_ex_machina/animations/activation/tween {duration:1, to_frame: 1} + execute if score @s CO.EventTimer matches 80 as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run function animated_java:gargo_ex_machina/animations/activation/tween {duration:1, to_frame: 1} # 石像移動 execute if score @s CO.EventTimer matches 2 run function asset:mob/0456.gargo_ex_machina/tick/event/activate/clone_statue # 影 @@ -20,51 +20,50 @@ execute if score @s CO.EventTimer matches 125 positioned as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run function asset:mob/0456.gargo_ex_machina/tick/util/sound execute if score @s CO.EventTimer matches 155 positioned as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run function asset:mob/0456.gargo_ex_machina/tick/util/sound # ひつじ演出 - execute if score @s CO.EventTimer matches 40..80 as @e[type=sheep,tag=CO.ScapeSheep] at @s run tp @s ^ ^ ^0.3 - execute if score @s CO.EventTimer matches 90..100 as @e[type=sheep,tag=CO.ScapeSheep] at @s run tp @s ^ ^ ^ ~9 ~ - execute if score @s CO.EventTimer matches 90..100 as @e[type=sheep,tag=CO.ScapeSheep] at @s run tp @s ^ ^ ^ ~9 ~ - execute if score @s CO.EventTimer matches 101..140 as @e[type=sheep,tag=CO.ScapeSheep] at @s run particle angry_villager ~ ~1 ~ 1 1 1 0.1 1 - execute if score @s CO.EventTimer matches 145..230 as @e[type=sheep,tag=CO.ScapeSheep] at @s run particle firework ~ ~1 ~ 1 1 1 0.1 1 - execute if score @s CO.EventTimer matches 145..180 as @e[type=sheep,tag=CO.ScapeSheep] at @s run tp @s ^ ^0.06 ^ - execute if score @s CO.EventTimer matches 195..230 as @e[type=sheep,tag=CO.ScapeSheep] at @s run particle trial_spawner_detection ~ ~1 ~ 1 1 1 0.0 3 - execute if score @s CO.EventTimer matches 195 run playsound entity.goat.screaming.hurt hostile @a ~ ~ ~ 2 0.7 - execute if score @s CO.EventTimer matches 231 as @e[type=sheep,tag=CO.ScapeSheep] at @s run tp @s ^ ^-2.16 ^ + # execute if score @s CO.EventTimer matches 40..80 as @e[type=sheep,tag=CO.ScapeSheep] at @s run tp @s ^ ^ ^0.3 + # execute if score @s CO.EventTimer matches 90..100 as @e[type=sheep,tag=CO.ScapeSheep] at @s run tp @s ^ ^ ^ ~9 ~ + # execute if score @s CO.EventTimer matches 90..100 as @e[type=sheep,tag=CO.ScapeSheep] at @s run tp @s ^ ^ ^ ~9 ~ + # execute if score @s CO.EventTimer matches 101..140 as @e[type=sheep,tag=CO.ScapeSheep] at @s run particle angry_villager ~ ~1 ~ 1 1 1 0.1 1 + # execute if score @s CO.EventTimer matches 145..230 as @e[type=sheep,tag=CO.ScapeSheep] at @s run particle firework ~ ~1 ~ 1 1 1 0.1 1 + # execute if score @s CO.EventTimer matches 145..180 as @e[type=sheep,tag=CO.ScapeSheep] at @s run tp @s ^ ^0.06 ^ + # execute if score @s CO.EventTimer matches 195..230 as @e[type=sheep,tag=CO.ScapeSheep] at @s run particle trial_spawner_detection ~ ~1 ~ 1 1 1 0.0 3 + # execute if score @s CO.EventTimer matches 195 run playsound entity.goat.screaming.hurt hostile @a ~ ~ ~ 2 0.7 + # execute if score @s CO.EventTimer matches 231 as @e[type=sheep,tag=CO.ScapeSheep] at @s run tp @s ^ ^-2.16 ^ # 移動 # アニメーション再生 - execute if score @s CO.EventTimer matches 185 as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run function animated_java:gargo_ex_machina/animations/move_to_field_fast/tween {duration:1, to_frame: 1} - execute if score @s CO.EventTimer matches 245 as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run function animated_java:gargo_ex_machina/animations/move_to_field_fast/pause - execute if score @s CO.EventTimer matches 285 as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run function animated_java:gargo_ex_machina/animations/move_to_field_fast/resume + execute if score @s CO.EventTimer matches 205 as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run function animated_java:gargo_ex_machina/animations/move_to_field_fast/tween {duration:1, to_frame: 1} + execute if score @s CO.EventTimer matches 265 as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run function animated_java:gargo_ex_machina/animations/move_to_field_fast/pause + execute if score @s CO.EventTimer matches 305 as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run function animated_java:gargo_ex_machina/animations/move_to_field_fast/resume # フィールドに移動 - execute if score @s CO.EventTimer matches 144 positioned as @e[type=sheep,tag=CO.ScapeSheep] run tp @s ~ ~ ~ 180 0 + execute if score @s CO.EventTimer matches 231 positioned as @e[type=item_display,tag=CO.ScapeSheep] run tp @s ~ ~ ~ 180 0 # モデルを合わせる - execute if score @s CO.EventTimer matches 211.. as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run tp @s ~ ~ ~ ~ ~ + execute if score @s CO.EventTimer matches 231.. as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run tp @s ~ ~ ~ ~ ~ # 影 - execute if score @s CO.EventTimer matches 212 as @e[type=item_display,tag=CO.Shadow] run function asset:mob/0456.gargo_ex_machina/tick/util/show_shadow + execute if score @s CO.EventTimer matches 232 as @e[type=item_display,tag=CO.Shadow] run function asset:mob/0456.gargo_ex_machina/tick/util/show_shadow # 演出 - execute if score @s CO.EventTimer matches 231 run particle explosion ~ ~1 ~ 4 0.1 4 0 30 - execute if score @s CO.EventTimer matches 231 run particle campfire_cosy_smoke ~ ~1 ~ 4 0.1 4 0.05 100 + execute if score @s CO.EventTimer matches 251 run particle explosion ~ ~1 ~ 4 0.1 4 0 30 + execute if score @s CO.EventTimer matches 251 run particle campfire_cosy_smoke ~ ~1 ~ 4 0.1 4 0.05 100 # 効果音 - execute if score @s CO.EventTimer matches 185 positioned as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run function asset:mob/0456.gargo_ex_machina/tick/util/sound - execute if score @s CO.EventTimer matches 207 positioned as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run function asset:mob/0456.gargo_ex_machina/tick/util/sound - execute if score @s CO.EventTimer matches 231 run playsound entity.ravager.step hostile @a ~ ~ ~ 2 0.7 - execute if score @s CO.EventTimer matches 231 run playsound entity.ravager.step hostile @a ~ ~ ~ 2 0.6 - execute if score @s CO.EventTimer matches 231 run playsound entity.ravager.step hostile @a ~ ~ ~ 2 0.5 - execute if score @s CO.EventTimer matches 231 run playsound entity.generic.explode hostile @a ~ ~ ~ 2 0.8 - execute if score @s CO.EventTimer matches 231 as @a[distance=..80] at @s run tp @s ~ ~ ~ ~ ~2 - execute if score @s CO.EventTimer matches 232 as @a[distance=..80] at @s run tp @s ~ ~ ~ ~ ~-4 - execute if score @s CO.EventTimer matches 233 as @a[distance=..80] at @s run tp @s ~ ~ ~ ~ ~4 - execute if score @s CO.EventTimer matches 234 as @a[distance=..80] at @s run tp @s ~ ~ ~ ~ ~-4 - execute if score @s CO.EventTimer matches 235 as @a[distance=..80] at @s run tp @s ~ ~ ~ ~ ~3 - execute if score @s CO.EventTimer matches 236 as @a[distance=..80] at @s run tp @s ~ ~ ~ ~ ~-3 - execute if score @s CO.EventTimer matches 237 as @a[distance=..80] at @s run tp @s ~ ~ ~ ~ ~3 - execute if score @s CO.EventTimer matches 238 as @a[distance=..80] at @s run tp @s ~ ~ ~ ~ ~-1 - execute if score @s CO.EventTimer matches 301 run function asset:mob/0456.gargo_ex_machina/tick/util/sound - execute if score @s CO.EventTimer matches 325 run function asset:mob/0456.gargo_ex_machina/tick/util/sound + execute if score @s CO.EventTimer matches 205 positioned as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run function asset:mob/0456.gargo_ex_machina/tick/util/sound + execute if score @s CO.EventTimer matches 227 positioned as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run function asset:mob/0456.gargo_ex_machina/tick/util/sound + execute if score @s CO.EventTimer matches 251 run playsound entity.ravager.step hostile @a ~ ~ ~ 2 0.7 + execute if score @s CO.EventTimer matches 251 run playsound entity.ravager.step hostile @a ~ ~ ~ 2 0.6 + execute if score @s CO.EventTimer matches 251 run playsound entity.ravager.step hostile @a ~ ~ ~ 2 0.5 + execute if score @s CO.EventTimer matches 251 run playsound entity.generic.explode hostile @a ~ ~ ~ 2 0.8 + execute if score @s CO.EventTimer matches 251 as @a[distance=..80] at @s run tp @s ~ ~ ~ ~ ~2 + execute if score @s CO.EventTimer matches 252 as @a[distance=..80] at @s run tp @s ~ ~ ~ ~ ~-4 + execute if score @s CO.EventTimer matches 253 as @a[distance=..80] at @s run tp @s ~ ~ ~ ~ ~4 + execute if score @s CO.EventTimer matches 254 as @a[distance=..80] at @s run tp @s ~ ~ ~ ~ ~-4 + execute if score @s CO.EventTimer matches 255 as @a[distance=..80] at @s run tp @s ~ ~ ~ ~ ~3 + execute if score @s CO.EventTimer matches 256 as @a[distance=..80] at @s run tp @s ~ ~ ~ ~ ~-3 + execute if score @s CO.EventTimer matches 257 as @a[distance=..80] at @s run tp @s ~ ~ ~ ~ ~3 + execute if score @s CO.EventTimer matches 258 as @a[distance=..80] at @s run tp @s ~ ~ ~ ~ ~-1 + execute if score @s CO.EventTimer matches 321 run function asset:mob/0456.gargo_ex_machina/tick/util/sound + execute if score @s CO.EventTimer matches 345 run function asset:mob/0456.gargo_ex_machina/tick/util/sound # ボス名変更 execute if score @s CO.EventTimer matches 1 run function asset:mob/0456.gargo_ex_machina/tick/util/change_bossbar_name.m {Name:"逆襲のひつじしゃん"} - execute if score @s CO.EventTimer matches 231 run kill @e[type=sheep,tag=CO.ScapeSheep] - execute if score @s CO.EventTimer matches 231 run function asset:mob/0456.gargo_ex_machina/tick/util/change_bossbar_name.m {Name:"絡繰仕掛の石像"} + execute if score @s CO.EventTimer matches 251 run function asset:mob/0456.gargo_ex_machina/tick/util/change_bossbar_name.m {Name:"絡繰仕掛の石像"} # 終了 - execute if score @s CO.EventTimer matches 331.. run function asset:mob/0456.gargo_ex_machina/tick/event/activate/end + execute if score @s CO.EventTimer matches 351.. run function asset:mob/0456.gargo_ex_machina/tick/event/activate/end diff --git a/Asset/data/asset/functions/object/2264.sheep_avenger/_index.d.mcfunction b/Asset/data/asset/functions/object/2264.sheep_avenger/_index.d.mcfunction new file mode 100644 index 0000000000..049bedd424 --- /dev/null +++ b/Asset/data/asset/functions/object/2264.sheep_avenger/_index.d.mcfunction @@ -0,0 +1,13 @@ +#> asset:object/2264.sheep_avenger/_index.d +# @private + +#> tag +# @within function asset:object/2264.sheep_avenger/** + #declare tag CO.Object + #declare tag CO.ScapeSheep + #declare tag 2264.Model + #declare function animated_java:sheep_avenger/summon + #declare function animated_java:sheep_avenger/animations/transform/play + #declare function animated_java:sheep_avenger/animations/walk/play + #declare function animated_java:sheep_avenger/animations/turn/play + #declare function animated_java:sheep_avenger/remove/all diff --git a/Asset/data/asset/functions/object/2264.sheep_avenger/init/.mcfunction b/Asset/data/asset/functions/object/2264.sheep_avenger/init/.mcfunction new file mode 100644 index 0000000000..5cf098dabd --- /dev/null +++ b/Asset/data/asset/functions/object/2264.sheep_avenger/init/.mcfunction @@ -0,0 +1,9 @@ +#> asset:object/2264.sheep_avenger/init/ +# +# Objectのinit時の処理 +# +# @within asset:object/alias/2264/init + +# AJモデル召喚 + function animated_java:sheep_avenger/summon {args: {animation: 'transform'}} + execute as @e[type=item_display,tag=2264.Model,distance=..10,limit=1] run data merge entity @s {view_range:16f,width:0f,height:0f,teleport_duration:2} diff --git a/Asset/data/asset/functions/object/2264.sheep_avenger/load.mcfunction b/Asset/data/asset/functions/object/2264.sheep_avenger/load.mcfunction new file mode 100644 index 0000000000..e19f3943a9 --- /dev/null +++ b/Asset/data/asset/functions/object/2264.sheep_avenger/load.mcfunction @@ -0,0 +1,9 @@ +#> asset:object/2264.sheep_avenger/load +# +# Objectに利用するスコアボード等の初期化処理 +# +# @within tag/function asset:object/load + +#> 定義類はここに +# @within function asset:object/2264.sheep_avenger/** + scoreboard objectives add 2264.EventTimer dummy diff --git a/Asset/data/asset/functions/object/2264.sheep_avenger/register.mcfunction b/Asset/data/asset/functions/object/2264.sheep_avenger/register.mcfunction new file mode 100644 index 0000000000..241c6a2205 --- /dev/null +++ b/Asset/data/asset/functions/object/2264.sheep_avenger/register.mcfunction @@ -0,0 +1,20 @@ +#> asset:object/2264.sheep_avenger/register +# +# Objectのデータを指定 +# +# @within function asset:object/alias/2264/register + +# 継承(オプション) + # data modify storage asset:object Extends append value + # function asset:object/extends +# 他のObjectに継承されることを許可するか (boolean) (オプション) + # data modify storage asset:object ExtendsSafe set value +# 継承されることを前提とした、抽象的なObjectであるかどうか(boolean) + data modify storage asset:object IsAbstract set value false +# Tickするかどうか(boolean) (オプション) + # data modify storage asset:object IsTicking set value + +# ID (int) + data modify storage asset:object ID set value 2264 +# フィールド(オプション) + # data modify storage asset:object Field.myValue set value \ No newline at end of file diff --git a/Asset/data/asset/functions/object/2264.sheep_avenger/summon/.mcfunction b/Asset/data/asset/functions/object/2264.sheep_avenger/summon/.mcfunction new file mode 100644 index 0000000000..83dfcfe4c3 --- /dev/null +++ b/Asset/data/asset/functions/object/2264.sheep_avenger/summon/.mcfunction @@ -0,0 +1,8 @@ +#> asset:object/2264.sheep_avenger/summon/ +# +# Object召喚処理の呼び出し時に実行されるfunction +# +# @within asset:object/alias/2264/summon + +# 元となるEntityを召喚する + summon item_display ~ ~ ~ {Tags:["ObjectInit","CO.Object","CO.ScapeSheep"]} diff --git a/Asset/data/asset/functions/object/2264.sheep_avenger/summon/debug.mcfunction b/Asset/data/asset/functions/object/2264.sheep_avenger/summon/debug.mcfunction new file mode 100644 index 0000000000..1d21a97bcb --- /dev/null +++ b/Asset/data/asset/functions/object/2264.sheep_avenger/summon/debug.mcfunction @@ -0,0 +1,10 @@ +#> asset:object/2264.sheep_avenger/summon/debug +# +# 動作チェック用の召喚処理 使い終わったら消してもいいかも +# +# @user +# @private + +# 召喚 + data modify storage api: Argument.ID set value 2264 + function api:object/summon \ No newline at end of file diff --git a/Asset/data/asset/functions/object/2264.sheep_avenger/tick/.mcfunction b/Asset/data/asset/functions/object/2264.sheep_avenger/tick/.mcfunction new file mode 100644 index 0000000000..f5e557483b --- /dev/null +++ b/Asset/data/asset/functions/object/2264.sheep_avenger/tick/.mcfunction @@ -0,0 +1,34 @@ +#> asset:object/2264.sheep_avenger/tick/ +# +# Objectのtick時の処理 +# +# @within asset:object/alias/2264/tick + +# Tick加算 + scoreboard players add @s General.Object.Tick 1 + +# 変形 + execute if score @s General.Object.Tick matches 1 run playsound entity.sheep.ambient hostile @a ~ ~ ~ 2 1 + execute if score @s General.Object.Tick matches 31 as @e[type=item_display,tag=2264.Model,distance=..10,limit=1] run function animated_java:sheep_avenger/animations/transform/play + execute if score @s General.Object.Tick matches 63 run playsound entity.puffer_fish.blow_up hostile @a ~ ~ ~ 2 1 + execute if score @s General.Object.Tick matches 63 run playsound entity.sheep.hurt hostile @a ~ ~ ~ 2 0.7 + execute if score @s General.Object.Tick matches 63..251 run particle trial_spawner_detection ~ ~1.5 ~ 1 1.5 1 0.0 3 + +# 移動 + execute if score @s General.Object.Tick matches 91 as @e[type=item_display,tag=2264.Model,distance=..10,limit=1] run function animated_java:sheep_avenger/animations/walk/play + execute if score @s General.Object.Tick matches 91..210 run tp @s ^ ^ ^0.08 ~ 0 + execute if score @s General.Object.Tick matches 91..215 as @e[type=item_display,tag=2264.Model,distance=..10,limit=1] run tp @s ~ ~ ~ ~ ~ + execute if score @s General.Object.Tick matches 111 run function asset:object/2264.sheep_avenger/tick/step + execute if score @s General.Object.Tick matches 131 run function asset:object/2264.sheep_avenger/tick/step + execute if score @s General.Object.Tick matches 151 run function asset:object/2264.sheep_avenger/tick/step + execute if score @s General.Object.Tick matches 171 run function asset:object/2264.sheep_avenger/tick/step + execute if score @s General.Object.Tick matches 191 run function asset:object/2264.sheep_avenger/tick/step + execute if score @s General.Object.Tick matches 211 run function asset:object/2264.sheep_avenger/tick/step + +# 振り向き + execute if score @s General.Object.Tick matches 231 as @e[type=item_display,tag=2264.Model,distance=..10,limit=1] run function animated_java:sheep_avenger/animations/turn/play + execute if score @s General.Object.Tick matches 231 run playsound entity.sheep.death hostile @a ~ ~ ~ 2 1 + execute if score @s General.Object.Tick matches 234 as @e[type=item_display,tag=2264.Model,distance=..10,limit=1] on passengers if entity @s[type=item_display] run data modify entity @s brightness set value {sky:7,block:7} + +# 消滅処理 + execute if entity @s[scores={General.Object.Tick=350..}] run function asset:object/2264.sheep_avenger/tick/kill diff --git a/Asset/data/asset/functions/object/2264.sheep_avenger/tick/kill.mcfunction b/Asset/data/asset/functions/object/2264.sheep_avenger/tick/kill.mcfunction new file mode 100644 index 0000000000..605b820500 --- /dev/null +++ b/Asset/data/asset/functions/object/2264.sheep_avenger/tick/kill.mcfunction @@ -0,0 +1,12 @@ +#> asset:object/2264.sheep_avenger/tick/kill +# +# Objectのtick時の処理 +# +# @within asset:object/2264.sheep_avenger/tick/ + +# モデル消去 + particle poof ~ ~0.3 ~ 0.5 0.5 0.5 0.1 10 + function animated_java:sheep_avenger/remove/all + +# 消滅 + kill @s diff --git a/Asset/data/asset/functions/object/2264.sheep_avenger/tick/step.mcfunction b/Asset/data/asset/functions/object/2264.sheep_avenger/tick/step.mcfunction new file mode 100644 index 0000000000..5d44cd34c1 --- /dev/null +++ b/Asset/data/asset/functions/object/2264.sheep_avenger/tick/step.mcfunction @@ -0,0 +1,10 @@ +#> asset:object/2264.sheep_avenger/tick/step +# +# Objectのtick時の処理 +# +# @within asset:object/2264.sheep_avenger/tick/ + +# 演出 + playsound entity.hoglin.step hostile @a ~ ~ ~ 2 0.5 + playsound entity.hoglin.step hostile @a ~ ~ ~ 2 0.6 + particle block quartz_block ~ ~0.1 ~ 0.7 0.1 0.7 0 10 diff --git a/Asset/data/asset/functions/object/alias/2264/init.mcfunction b/Asset/data/asset/functions/object/alias/2264/init.mcfunction new file mode 100644 index 0000000000..fb5c1f7284 --- /dev/null +++ b/Asset/data/asset/functions/object/alias/2264/init.mcfunction @@ -0,0 +1,8 @@ +#> asset:object/alias/2264/init +# +# Init処理のエイリアス +# +# @within asset_manager:object/init/init.m + +# 元のInit処理を呼び出す + function asset:object/2264.sheep_avenger/init/ \ No newline at end of file diff --git a/Asset/data/asset/functions/object/alias/2264/register.mcfunction b/Asset/data/asset/functions/object/alias/2264/register.mcfunction new file mode 100644 index 0000000000..d6dd5f7dca --- /dev/null +++ b/Asset/data/asset/functions/object/alias/2264/register.mcfunction @@ -0,0 +1,8 @@ +#> asset:object/alias/2264/register +# +# Objectのデータ指定処理のエイリアス +# +# @within asset_manager:object/summon/register.m + +# 元の登録処理を呼び出す + function asset:object/2264.sheep_avenger/register \ No newline at end of file diff --git a/Asset/data/asset/functions/object/alias/2264/summon.mcfunction b/Asset/data/asset/functions/object/alias/2264/summon.mcfunction new file mode 100644 index 0000000000..d498fed7fa --- /dev/null +++ b/Asset/data/asset/functions/object/alias/2264/summon.mcfunction @@ -0,0 +1,8 @@ +#> asset:object/alias/2264/summon +# +# Object召喚処理のエイリアス +# +# @within asset_manager:object/summon/summon.m + +# 元の召喚処理を呼び出す + function asset:object/2264.sheep_avenger/summon/ \ No newline at end of file diff --git a/Asset/data/asset/functions/object/alias/2264/tick.mcfunction b/Asset/data/asset/functions/object/alias/2264/tick.mcfunction new file mode 100644 index 0000000000..70d5d079f8 --- /dev/null +++ b/Asset/data/asset/functions/object/alias/2264/tick.mcfunction @@ -0,0 +1,8 @@ +#> asset:object/alias/2264/tick +# +# Tick時処理のエイリアス +# +# @within asset_manager:object/tick/tick.m + +# 元のTick処理を呼び出す + function asset:object/2264.sheep_avenger/tick/ \ No newline at end of file diff --git a/Asset/data/asset/tags/functions/object/load.json b/Asset/data/asset/tags/functions/object/load.json index ab408e0958..17ee59e2d0 100644 --- a/Asset/data/asset/tags/functions/object/load.json +++ b/Asset/data/asset/tags/functions/object/load.json @@ -1,5 +1,6 @@ { "values": [ + "asset:object/2264.sheep_avenger/load", "asset:object/2265.field_modify_manager/load", "asset:object/2263.gem_laser_vfx/load", "asset:object/2251.wall_laser_clock/load", From 91bc61176492ef0bf98a7ea8cc51233b66480155 Mon Sep 17 00:00:00 2001 From: mokkkk Date: Sun, 15 Feb 2026 18:21:14 +0900 Subject: [PATCH 15/98] =?UTF-8?q?=E7=99=BB=E5=A0=B4=E6=BC=94=E5=87=BA?= =?UTF-8?q?=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../tick/event/activate/.mcfunction | 17 +++++------------ .../activate/clear_dummy_bossbar.mcfunction | 12 ++++++++++++ .../activate/show_dummy_bossbar.mcfunction | 13 +++++++++++++ .../tick/util/change_bossbar_name.m.mcfunction | 3 ++- .../util/change_bossbar_name_apply.m.mcfunction | 1 + .../object/2263.gem_laser_vfx/load.mcfunction | 9 --------- .../object/2264.sheep_avenger/load.mcfunction | 9 --------- 7 files changed, 33 insertions(+), 31 deletions(-) create mode 100644 Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/activate/clear_dummy_bossbar.mcfunction create mode 100644 Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/activate/show_dummy_bossbar.mcfunction delete mode 100644 Asset/data/asset/functions/object/2263.gem_laser_vfx/load.mcfunction delete mode 100644 Asset/data/asset/functions/object/2264.sheep_avenger/load.mcfunction diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/activate/.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/activate/.mcfunction index cb6ffc1460..ac33dceb77 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/activate/.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/activate/.mcfunction @@ -19,16 +19,6 @@ execute if score @s CO.EventTimer matches 118 positioned as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run function asset:mob/0456.gargo_ex_machina/tick/util/sound execute if score @s CO.EventTimer matches 125 positioned as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run function asset:mob/0456.gargo_ex_machina/tick/util/sound execute if score @s CO.EventTimer matches 155 positioned as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run function asset:mob/0456.gargo_ex_machina/tick/util/sound - # ひつじ演出 - # execute if score @s CO.EventTimer matches 40..80 as @e[type=sheep,tag=CO.ScapeSheep] at @s run tp @s ^ ^ ^0.3 - # execute if score @s CO.EventTimer matches 90..100 as @e[type=sheep,tag=CO.ScapeSheep] at @s run tp @s ^ ^ ^ ~9 ~ - # execute if score @s CO.EventTimer matches 90..100 as @e[type=sheep,tag=CO.ScapeSheep] at @s run tp @s ^ ^ ^ ~9 ~ - # execute if score @s CO.EventTimer matches 101..140 as @e[type=sheep,tag=CO.ScapeSheep] at @s run particle angry_villager ~ ~1 ~ 1 1 1 0.1 1 - # execute if score @s CO.EventTimer matches 145..230 as @e[type=sheep,tag=CO.ScapeSheep] at @s run particle firework ~ ~1 ~ 1 1 1 0.1 1 - # execute if score @s CO.EventTimer matches 145..180 as @e[type=sheep,tag=CO.ScapeSheep] at @s run tp @s ^ ^0.06 ^ - # execute if score @s CO.EventTimer matches 195..230 as @e[type=sheep,tag=CO.ScapeSheep] at @s run particle trial_spawner_detection ~ ~1 ~ 1 1 1 0.0 3 - # execute if score @s CO.EventTimer matches 195 run playsound entity.goat.screaming.hurt hostile @a ~ ~ ~ 2 0.7 - # execute if score @s CO.EventTimer matches 231 as @e[type=sheep,tag=CO.ScapeSheep] at @s run tp @s ^ ^-2.16 ^ # 移動 # アニメーション再生 @@ -62,8 +52,11 @@ execute if score @s CO.EventTimer matches 321 run function asset:mob/0456.gargo_ex_machina/tick/util/sound execute if score @s CO.EventTimer matches 345 run function asset:mob/0456.gargo_ex_machina/tick/util/sound # ボス名変更 - execute if score @s CO.EventTimer matches 1 run function asset:mob/0456.gargo_ex_machina/tick/util/change_bossbar_name.m {Name:"逆襲のひつじしゃん"} - execute if score @s CO.EventTimer matches 251 run function asset:mob/0456.gargo_ex_machina/tick/util/change_bossbar_name.m {Name:"絡繰仕掛の石像"} + execute if score @s CO.EventTimer matches 1 run function asset:mob/0456.gargo_ex_machina/tick/util/change_bossbar_name.m {Name:"絡繰仕掛の石像",Visible:"false"} + execute if score @s CO.EventTimer matches 350 run function asset:mob/0456.gargo_ex_machina/tick/util/change_bossbar_name.m {Name:"絡繰仕掛の石像",Visible:"true"} + execute if score @s CO.EventTimer matches 1 run function asset:mob/0456.gargo_ex_machina/tick/event/activate/show_dummy_bossbar + execute if score @s CO.EventTimer matches 251 run function asset:mob/0456.gargo_ex_machina/tick/event/activate/clear_dummy_bossbar + execute if score @s CO.EventTimer matches 350 run bossbar remove asset:co_scape_sheep # 終了 execute if score @s CO.EventTimer matches 351.. run function asset:mob/0456.gargo_ex_machina/tick/event/activate/end diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/activate/clear_dummy_bossbar.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/activate/clear_dummy_bossbar.mcfunction new file mode 100644 index 0000000000..83619099f4 --- /dev/null +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/activate/clear_dummy_bossbar.mcfunction @@ -0,0 +1,12 @@ +#> asset:mob/0456.gargo_ex_machina/tick/event/activate/clear_dummy_bossbar +# +# 起動 +# +# @within asset:mob/0456.gargo_ex_machina/tick/event/activate/ +# @private + #declare score_holder $TempValue + +# ひつじBossbar表示 + scoreboard players set $TempValue Global 0 + execute store result bossbar asset:co_scape_sheep value run scoreboard players get $TempValue Global + scoreboard players reset $TempValue diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/activate/show_dummy_bossbar.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/activate/show_dummy_bossbar.mcfunction new file mode 100644 index 0000000000..9bf9ffed24 --- /dev/null +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/activate/show_dummy_bossbar.mcfunction @@ -0,0 +1,13 @@ +#> asset:mob/0456.gargo_ex_machina/tick/event/activate/show_dummy_bossbar +# +# 起動 +# +# @within asset:mob/0456.gargo_ex_machina/tick/event/activate/ + +# ひつじBossbar表示 + bossbar add asset:co_scape_sheep {"text":"逆襲のひつじしゃん"} + bossbar set asset:co_scape_sheep players @a[distance=..80] + bossbar set asset:co_scape_sheep color pink + bossbar set asset:co_scape_sheep style notched_10 + bossbar set asset:co_scape_sheep max 1 + execute store result bossbar asset:co_scape_sheep value run scoreboard players get @s CO.EventTimer diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/util/change_bossbar_name.m.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/util/change_bossbar_name.m.mcfunction index 58879a6b73..0cd5789c91 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/util/change_bossbar_name.m.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/util/change_bossbar_name.m.mcfunction @@ -4,8 +4,9 @@ # # @within asset:mob/0456.gargo_ex_machina/tick/** -# bossbar消去 +# bossbar変更準備 $data modify storage asset:temp CO.Name set value "$(Name)" + $data modify storage asset:temp CO.Visible set value "$(Visible)" execute store result storage asset:temp CO.MobUUID int 1 run scoreboard players get @s MobUUID function asset:mob/0456.gargo_ex_machina/tick/util/change_bossbar_name_apply.m with storage asset:temp CO data remove storage asset:temp CO diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/util/change_bossbar_name_apply.m.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/util/change_bossbar_name_apply.m.mcfunction index 2cd9efbb6b..049a0ba117 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/util/change_bossbar_name_apply.m.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/util/change_bossbar_name_apply.m.mcfunction @@ -6,3 +6,4 @@ # bossbar変更 $bossbar set asset:angel$(MobUUID) name {"text":"$(Name)"} + $bossbar set asset:angel$(MobUUID) visible $(Visible) diff --git a/Asset/data/asset/functions/object/2263.gem_laser_vfx/load.mcfunction b/Asset/data/asset/functions/object/2263.gem_laser_vfx/load.mcfunction deleted file mode 100644 index 603380bb2a..0000000000 --- a/Asset/data/asset/functions/object/2263.gem_laser_vfx/load.mcfunction +++ /dev/null @@ -1,9 +0,0 @@ -#> asset:object/2263.gem_laser_vfx/load -# -# Objectに利用するスコアボード等の初期化処理 -# -# @within tag/function asset:object/load - -#> 定義類はここに -# @within function asset:object/2263.gem_laser_vfx/** - # scoreboard objectives add diff --git a/Asset/data/asset/functions/object/2264.sheep_avenger/load.mcfunction b/Asset/data/asset/functions/object/2264.sheep_avenger/load.mcfunction deleted file mode 100644 index e19f3943a9..0000000000 --- a/Asset/data/asset/functions/object/2264.sheep_avenger/load.mcfunction +++ /dev/null @@ -1,9 +0,0 @@ -#> asset:object/2264.sheep_avenger/load -# -# Objectに利用するスコアボード等の初期化処理 -# -# @within tag/function asset:object/load - -#> 定義類はここに -# @within function asset:object/2264.sheep_avenger/** - scoreboard objectives add 2264.EventTimer dummy From cb4bd0efc8cb2ae3bcb9c8c2b30df5bb0a3077b5 Mon Sep 17 00:00:00 2001 From: mokkkk Date: Sun, 15 Feb 2026 18:29:31 +0900 Subject: [PATCH 16/98] =?UTF-8?q?=E5=8A=B9=E6=9E=9C=E9=9F=B3=E4=BF=AE?= =?UTF-8?q?=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../0456.gargo_ex_machina/tick/event/activate/.mcfunction | 2 +- .../functions/object/2264.sheep_avenger/tick/.mcfunction | 5 +++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/activate/.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/activate/.mcfunction index ac33dceb77..a042fc0d44 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/activate/.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/activate/.mcfunction @@ -56,7 +56,7 @@ execute if score @s CO.EventTimer matches 350 run function asset:mob/0456.gargo_ex_machina/tick/util/change_bossbar_name.m {Name:"絡繰仕掛の石像",Visible:"true"} execute if score @s CO.EventTimer matches 1 run function asset:mob/0456.gargo_ex_machina/tick/event/activate/show_dummy_bossbar execute if score @s CO.EventTimer matches 251 run function asset:mob/0456.gargo_ex_machina/tick/event/activate/clear_dummy_bossbar - execute if score @s CO.EventTimer matches 350 run bossbar remove asset:co_scape_sheep + execute if score @s CO.EventTimer matches 300 run bossbar remove asset:co_scape_sheep # 終了 execute if score @s CO.EventTimer matches 351.. run function asset:mob/0456.gargo_ex_machina/tick/event/activate/end diff --git a/Asset/data/asset/functions/object/2264.sheep_avenger/tick/.mcfunction b/Asset/data/asset/functions/object/2264.sheep_avenger/tick/.mcfunction index f5e557483b..edcdfb26df 100644 --- a/Asset/data/asset/functions/object/2264.sheep_avenger/tick/.mcfunction +++ b/Asset/data/asset/functions/object/2264.sheep_avenger/tick/.mcfunction @@ -10,7 +10,8 @@ # 変形 execute if score @s General.Object.Tick matches 1 run playsound entity.sheep.ambient hostile @a ~ ~ ~ 2 1 execute if score @s General.Object.Tick matches 31 as @e[type=item_display,tag=2264.Model,distance=..10,limit=1] run function animated_java:sheep_avenger/animations/transform/play - execute if score @s General.Object.Tick matches 63 run playsound entity.puffer_fish.blow_up hostile @a ~ ~ ~ 2 1 + execute if score @s General.Object.Tick matches 63 run playsound minecraft:block.end_portal.spawn hostile @a[distance=..80] ~ ~ ~ 0.2 1 0.2 + execute if score @s General.Object.Tick matches 63 run playsound entity.puffer_fish.blow_up hostile @a[distance=..80] ~ ~ ~ 1 0.7 execute if score @s General.Object.Tick matches 63 run playsound entity.sheep.hurt hostile @a ~ ~ ~ 2 0.7 execute if score @s General.Object.Tick matches 63..251 run particle trial_spawner_detection ~ ~1.5 ~ 1 1.5 1 0.0 3 @@ -31,4 +32,4 @@ execute if score @s General.Object.Tick matches 234 as @e[type=item_display,tag=2264.Model,distance=..10,limit=1] on passengers if entity @s[type=item_display] run data modify entity @s brightness set value {sky:7,block:7} # 消滅処理 - execute if entity @s[scores={General.Object.Tick=350..}] run function asset:object/2264.sheep_avenger/tick/kill + execute if entity @s[scores={General.Object.Tick=300..}] run function asset:object/2264.sheep_avenger/tick/kill From 662e9942708e75aa261cd1b308ff8c1c885c4219 Mon Sep 17 00:00:00 2001 From: mokkkk Date: Sun, 15 Feb 2026 19:05:51 +0900 Subject: [PATCH 17/98] =?UTF-8?q?=E3=83=95=E3=82=A3=E3=83=BC=E3=83=AB?= =?UTF-8?q?=E3=83=89=E7=94=A8=E3=82=AA=E3=83=96=E3=82=B8=E3=82=A7=E3=82=AF?= =?UTF-8?q?=E3=83=88=E8=BF=BD=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../0456.gargo_ex_machina/_index.d.mcfunction | 7 ++-- .../mob/0456.gargo_ex_machina/load.mcfunction | 1 + .../event/field_modify/event_start.mcfunction | 1 + .../field_modify/summon_field.m.mcfunction | 14 +++++++ .../summon_field_start.mcfunction | 37 +++++++++++++++++++ .../field_modify/summon_manager.mcfunction | 2 +- .../tick/event/field_modify/test.mcfunction | 27 ++++++++++++++ .../2264.sheep_avenger/tick/.mcfunction | 1 + .../init/decide_color_loop.mcfunction | 2 +- .../tick/.mcfunction | 2 +- .../tick/attack.mcfunction | 15 ++++++++ .../tick/kill.mcfunction | 1 + .../2266.field_modify/_index.d.mcfunction | 6 +++ .../object/2266.field_modify/init/.mcfunction | 11 ++++++ .../object/2266.field_modify/load.mcfunction | 9 +++++ .../2266.field_modify/register.mcfunction | 20 ++++++++++ .../2266.field_modify/summon/.mcfunction | 8 ++++ .../2266.field_modify/summon/debug.mcfunction | 10 +++++ .../object/2266.field_modify/tick/.mcfunction | 15 ++++++++ .../object/alias/2266/init.mcfunction | 8 ++++ .../object/alias/2266/register.mcfunction | 8 ++++ .../object/alias/2266/summon.mcfunction | 8 ++++ .../object/alias/2266/tick.mcfunction | 8 ++++ .../asset/tags/functions/object/load.json | 1 + 24 files changed, 215 insertions(+), 7 deletions(-) create mode 100644 Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/field_modify/summon_field.m.mcfunction create mode 100644 Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/field_modify/summon_field_start.mcfunction create mode 100644 Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/field_modify/test.mcfunction create mode 100644 Asset/data/asset/functions/object/2265.field_modify_manager/tick/attack.mcfunction create mode 100644 Asset/data/asset/functions/object/2266.field_modify/_index.d.mcfunction create mode 100644 Asset/data/asset/functions/object/2266.field_modify/init/.mcfunction create mode 100644 Asset/data/asset/functions/object/2266.field_modify/load.mcfunction create mode 100644 Asset/data/asset/functions/object/2266.field_modify/register.mcfunction create mode 100644 Asset/data/asset/functions/object/2266.field_modify/summon/.mcfunction create mode 100644 Asset/data/asset/functions/object/2266.field_modify/summon/debug.mcfunction create mode 100644 Asset/data/asset/functions/object/2266.field_modify/tick/.mcfunction create mode 100644 Asset/data/asset/functions/object/alias/2266/init.mcfunction create mode 100644 Asset/data/asset/functions/object/alias/2266/register.mcfunction create mode 100644 Asset/data/asset/functions/object/alias/2266/summon.mcfunction create mode 100644 Asset/data/asset/functions/object/alias/2266/tick.mcfunction diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/_index.d.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/_index.d.mcfunction index 28b26a0a2a..76bd1d5b58 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/_index.d.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/_index.d.mcfunction @@ -26,7 +26,7 @@ #declare tag CO.Skill.HalfBeamSword.IsRight 半面焼きビーム #declare tag CO.Skill.SuperJump スーパージャンプ #declare tag CO.Skill.SuperJump.Attack スーパージャンプ - #declare tag CO.Skill.FieldModify + #declare tag CO.Skill.FieldModify フィールド・モディファイ #declare tag #declare tag #declare tag @@ -43,9 +43,8 @@ #declare tag CO.MainTarget #declare tag CO.Aec.Target #declare tag CO.Aec.Destination - #declare tag - #declare tag - #declare tag + #declare tag CO.Aec.FieldModify + #declare tag CO.Aec.FieldModify.Init #declare tag #declare tag #declare tag diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/load.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/load.mcfunction index e137d5a21c..045596e731 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/load.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/load.mcfunction @@ -7,3 +7,4 @@ #> 定義類はここに # @within function asset:mob/0456.gargo_ex_machina/** scoreboard objectives add CO.EventTimer dummy + scoreboard objectives add CO.FieldModify.Color dummy diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/field_modify/event_start.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/field_modify/event_start.mcfunction index 1661cf2f7f..c592eaea02 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/field_modify/event_start.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/field_modify/event_start.mcfunction @@ -17,6 +17,7 @@ execute as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run tp @s ~ ~ ~ ~ ~ # 召喚 execute if score @s CO.EventTimer matches 25 run function asset:mob/0456.gargo_ex_machina/tick/event/field_modify/summon_manager + execute if score @s CO.EventTimer matches 22 positioned as @e[type=marker,tag=CO.CenterPosition,sort=nearest,limit=1] rotated 0 0 run function asset:mob/0456.gargo_ex_machina/tick/event/field_modify/summon_field_start # 終了 execute if score @s CO.EventTimer matches 65.. run function asset:mob/0456.gargo_ex_machina/tick/event/field_modify/end diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/field_modify/summon_field.m.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/field_modify/summon_field.m.mcfunction new file mode 100644 index 0000000000..81d49d9114 --- /dev/null +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/field_modify/summon_field.m.mcfunction @@ -0,0 +1,14 @@ +#> asset:mob/0456.gargo_ex_machina/tick/event/field_modify/summon_field.m +# +# フィールド・モディファイ +# +# @within asset:mob/0456.gargo_ex_machina/tick/event/field_modify/summon_field_start + +# マネージャー召喚 + data modify storage api: Argument.ID set value 2266 + $data modify storage api: Argument.FieldOverride.Model set value "$(Model)" + $data modify storage api: Argument.FieldOverride.Color set value $(Color) + function api:object/summon + +# 終了 + kill @s diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/field_modify/summon_field_start.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/field_modify/summon_field_start.mcfunction new file mode 100644 index 0000000000..2bab175822 --- /dev/null +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/field_modify/summon_field_start.mcfunction @@ -0,0 +1,37 @@ +#> asset:mob/0456.gargo_ex_machina/tick/event/field_modify/summon_field_start +# +# フィールド・モディファイ +# +# @within asset:mob/0456.gargo_ex_machina/tick/event/field_modify/event_start + +# 位置決定用AEC召喚 + # [ImportKey]: NobwRALgngDgpmAXGANgSwHYIDRgK55oAmSYcRADEQExwAsAnALQBGRA7C03Ve0wIYA2dkSYV2dAGYAOFhRZ0406mFwZ+AWwTJAW74ACAIyqwMfgCdNAZyTgAxgHs8GCEjq5JZ+xptgAbvxQ8bXAADyQmamoAOgBWXCgkSNiAX2TcCHsff0DgsDDEJLiwBILomNTce0lJSzgXRApcFjgALzQ4MyRGsDRLACFW9rMAUQBHPACUKABlU1tyJEkA2orwaHhSdCxjAmJSWwN2AGYj-mpmSRiKA25BalsmBkkjikeGfgoGA0ijuEkVNSabRgfQ3BwwBK4UwWDTWRB2RzOVzuTzeeF+AJBHz5CJleJIdgpNKQTLo7JY9H5Qr4xCE8rEqo1OpdJqDDosnr9NkjcaTGZzBaIJYoFZpNawYFbHD4QgkZBHGiHThHATfGLcOhEfgCaRwagCGInfhEQS2SS2BjS9RaUigpjgqD2+wQ4zQqw+BxOepuMAeLxZTG5HHU4rhOkVEkBnLYxJ40OIJjhhnVWr1brNNrshq4XoDTM8iYoKazfjzOXC0XYcUbZBSnay0iHFhLAwWpgmuh0bj8I76hjUQQ3CQxAwMXUxf6COjGa3Au0Op0QxeQkzmd3oz1IxA+v1o8DkoPhEMlXFE9Kk-eBmOlWI00-0yop5nZsAZoYc3PcsaF4sC8vLOBUgAXSAA_3 + # 線 1-copy + summon area_effect_cloud ^-22.5 ^ ^7.5 {Tags:["CO.Aec.FieldModify","CO.Aec.FieldModify.Init"]} + summon area_effect_cloud ^-7.5 ^ ^7.5 {Tags:["CO.Aec.FieldModify","CO.Aec.FieldModify.Init"]} + summon area_effect_cloud ^7.5 ^ ^7.5 {Tags:["CO.Aec.FieldModify","CO.Aec.FieldModify.Init"]} + summon area_effect_cloud ^22.5 ^ ^7.5 {Tags:["CO.Aec.FieldModify","CO.Aec.FieldModify.Init"]} + # 線 1 + summon area_effect_cloud ^-22.5 ^ ^22.5 {Tags:["CO.Aec.FieldModify","CO.Aec.FieldModify.Init"]} + summon area_effect_cloud ^-7.5 ^ ^22.5 {Tags:["CO.Aec.FieldModify","CO.Aec.FieldModify.Init"]} + summon area_effect_cloud ^7.5 ^ ^22.5 {Tags:["CO.Aec.FieldModify","CO.Aec.FieldModify.Init"]} + summon area_effect_cloud ^22.5 ^ ^22.5 {Tags:["CO.Aec.FieldModify","CO.Aec.FieldModify.Init"]} + # 線 1-copy-copy + summon area_effect_cloud ^-22.5 ^ ^-7.5 {Tags:["CO.Aec.FieldModify","CO.Aec.FieldModify.Init"]} + summon area_effect_cloud ^-7.5 ^ ^-7.5 {Tags:["CO.Aec.FieldModify","CO.Aec.FieldModify.Init"]} + summon area_effect_cloud ^7.5 ^ ^-7.5 {Tags:["CO.Aec.FieldModify","CO.Aec.FieldModify.Init"]} + summon area_effect_cloud ^22.5 ^ ^-7.5 {Tags:["CO.Aec.FieldModify","CO.Aec.FieldModify.Init"]} + # 線 1-copy-copy-copy + summon area_effect_cloud ^-22.5 ^ ^-22.5 {Tags:["CO.Aec.FieldModify","CO.Aec.FieldModify.Init"]} + summon area_effect_cloud ^-7.5 ^ ^-22.5 {Tags:["CO.Aec.FieldModify","CO.Aec.FieldModify.Init"]} + summon area_effect_cloud ^7.5 ^ ^-22.5 {Tags:["CO.Aec.FieldModify","CO.Aec.FieldModify.Init"]} + summon area_effect_cloud ^22.5 ^ ^-22.5 {Tags:["CO.Aec.FieldModify","CO.Aec.FieldModify.Init"]} + +# 初期化 + execute as @e[type=area_effect_cloud,tag=CO.Aec.FieldModify.Init,distance=..80,sort=random,limit=4] at @s run function asset:mob/0456.gargo_ex_machina/tick/event/field_modify/summon_field.m {Model:"minecraft:red_stained_glass",Color:0} + execute as @e[type=area_effect_cloud,tag=CO.Aec.FieldModify.Init,distance=..80,sort=random,limit=4] at @s run function asset:mob/0456.gargo_ex_machina/tick/event/field_modify/summon_field.m {Model:"minecraft:blue_stained_glass",Color:1} + execute as @e[type=area_effect_cloud,tag=CO.Aec.FieldModify.Init,distance=..80,sort=random,limit=4] at @s run function asset:mob/0456.gargo_ex_machina/tick/event/field_modify/summon_field.m {Model:"minecraft:green_stained_glass",Color:2} + execute as @e[type=area_effect_cloud,tag=CO.Aec.FieldModify.Init,distance=..80,sort=random,limit=4] at @s run function asset:mob/0456.gargo_ex_machina/tick/event/field_modify/summon_field.m {Model:"minecraft:yellow_stained_glass",Color:3} + +# 終了 + kill @e[type=area_effect_cloud,tag=CO.Aec.FieldModify,distance=..80] diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/field_modify/summon_manager.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/field_modify/summon_manager.mcfunction index 5fe602e104..fbaae6b744 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/field_modify/summon_manager.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/field_modify/summon_manager.mcfunction @@ -6,5 +6,5 @@ # マネージャー召喚 data modify storage api: Argument.ID set value 2265 - data modify storage api: Argument.FieldOverride.AttackCount set value 3 + data modify storage api: Argument.FieldOverride.AttackCount set value 2 function api:object/summon diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/field_modify/test.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/field_modify/test.mcfunction new file mode 100644 index 0000000000..040fb0f11d --- /dev/null +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/field_modify/test.mcfunction @@ -0,0 +1,27 @@ +#> asset:mob/0456.gargo_ex_machina/tick/event/field_modify/test +# +# フィールド・モディファイ +# +# @within asset:mob/0456.gargo_ex_machina/tick/event/field_modify/event_start + +# [ImportKey]: NobwRALgngDgpmAXGANgSwHYIDRgK55oAmSYcRADEQExwAsAnALQBGRA7C03Ve0wIYA2dkSYV2dAGYAOFhRZ0406mFwZ+AWwTJAW74ACAIyqwMfgCdNAZyTgAxgHs8GCEjq5JZ+xptgAbvxQ8bXAADyQmamoAOgBWXCgkSNiAX2TcCHsff0DgsDDEJLiwBILomNTce0lJSzgXRApcFjgALzQ4MyRGsDRLACFW9rMAUQBHPACUKABlU1tyJEkA2orwaHhSdCxjAmJSWwN2AGYj-mpmSRiKA25BalsmBkkjikeGfgoGA0ijuEkVNSabRgfQ3BwwBK4UwWDTWRB2RzOVzuTzeeF+AJBHz5CJleJIdgpNKQTLo7JY9H5Qr4xCE8rEqo1OpdJqDDosnr9NkjcaTGZzBaIJYoFZpNawYFbHD4QgkZBHGiHThHATfGLcOhEfgCaRwagCGInfhEQS2SS2BjS9RaUigpjgqD2+wQ4zQqw+BxOepuMAeLxZTG5HHU4rhOkVEkBnLYxJ40OIJjhhnVWr1brNNrshq4XoDTM8iYoKazfjzOXC0XYcUbZBSnay0iHFhLAwWpgmuh0bj8I76hjUQQ3CQxAwMXUxf6COjGa3Au0Op0QxeQkzmd3oz1IxA+v1o8DkoPhEMlXFE9Kk-eBmOlWI00-0yop5nZsAZoYc3PcsaF4sC8vLOBUgAXSAA_3 +# 線 1-copy +particle flame ^-22.5 ^ ^7.5 0 0 0 0 1 +particle flame ^-7.5 ^ ^7.5 0 0 0 0 1 +particle flame ^7.5 ^ ^7.5 0 0 0 0 1 +particle flame ^22.5 ^ ^7.5 0 0 0 0 1 +# 線 1 +particle flame ^-22.5 ^ ^22.5 0 0 0 0 1 +particle flame ^-7.5 ^ ^22.5 0 0 0 0 1 +particle flame ^7.5 ^ ^22.5 0 0 0 0 1 +particle flame ^22.5 ^ ^22.5 0 0 0 0 1 +# 線 1-copy-copy +particle flame ^-22.5 ^ ^-7.5 0 0 0 0 1 +particle flame ^-7.5 ^ ^-7.5 0 0 0 0 1 +particle flame ^7.5 ^ ^-7.5 0 0 0 0 1 +particle flame ^22.5 ^ ^-7.5 0 0 0 0 1 +# 線 1-copy-copy-copy +particle flame ^-22.5 ^ ^-22.5 0 0 0 0 1 +particle flame ^-7.5 ^ ^-22.5 0 0 0 0 1 +particle flame ^7.5 ^ ^-22.5 0 0 0 0 1 +particle flame ^22.5 ^ ^-22.5 0 0 0 0 1 diff --git a/Asset/data/asset/functions/object/2264.sheep_avenger/tick/.mcfunction b/Asset/data/asset/functions/object/2264.sheep_avenger/tick/.mcfunction index edcdfb26df..70214ab37d 100644 --- a/Asset/data/asset/functions/object/2264.sheep_avenger/tick/.mcfunction +++ b/Asset/data/asset/functions/object/2264.sheep_avenger/tick/.mcfunction @@ -13,6 +13,7 @@ execute if score @s General.Object.Tick matches 63 run playsound minecraft:block.end_portal.spawn hostile @a[distance=..80] ~ ~ ~ 0.2 1 0.2 execute if score @s General.Object.Tick matches 63 run playsound entity.puffer_fish.blow_up hostile @a[distance=..80] ~ ~ ~ 1 0.7 execute if score @s General.Object.Tick matches 63 run playsound entity.sheep.hurt hostile @a ~ ~ ~ 2 0.7 + execute if score @s General.Object.Tick matches 63 run particle flash ~ ~2 ~ 2 2 2 0 50 execute if score @s General.Object.Tick matches 63..251 run particle trial_spawner_detection ~ ~1.5 ~ 1 1.5 1 0.0 3 # 移動 diff --git a/Asset/data/asset/functions/object/2265.field_modify_manager/init/decide_color_loop.mcfunction b/Asset/data/asset/functions/object/2265.field_modify_manager/init/decide_color_loop.mcfunction index 65b4a04a2f..0fc390aac2 100644 --- a/Asset/data/asset/functions/object/2265.field_modify_manager/init/decide_color_loop.mcfunction +++ b/Asset/data/asset/functions/object/2265.field_modify_manager/init/decide_color_loop.mcfunction @@ -22,5 +22,5 @@ kill @e[type=area_effect_cloud,tag=2265.Aec.Target,distance=..10] # 繰り返す - execute if score $Temp.Count 2265.AttackCount matches 1.. run data modify storage asset:context this.BossBar.Color append value '{"text":"->","color":"white"}' + execute if score $Temp.Count 2265.AttackCount matches 1.. run data modify storage asset:context this.BossBar.Color append value '{"text":"→","color":"white"}' execute if score $Temp.Count 2265.AttackCount matches 1.. run function asset:object/2265.field_modify_manager/init/decide_color_loop diff --git a/Asset/data/asset/functions/object/2265.field_modify_manager/tick/.mcfunction b/Asset/data/asset/functions/object/2265.field_modify_manager/tick/.mcfunction index 7668f63719..be0a767628 100644 --- a/Asset/data/asset/functions/object/2265.field_modify_manager/tick/.mcfunction +++ b/Asset/data/asset/functions/object/2265.field_modify_manager/tick/.mcfunction @@ -13,5 +13,5 @@ execute if score @s General.Object.Tick matches 100.. store result bossbar asset:co_field_modify value run scoreboard players add @s 2265.Progress.Current 1 # 消滅処理 - execute if score @s 2265.Progress.Current >= @s 2265.Progress.Max run function asset:object/2265.field_modify_manager/tick/kill + execute if score @s 2265.Progress.Current >= @s 2265.Progress.Max run function asset:object/2265.field_modify_manager/tick/attack execute if entity @s[scores={General.Object.Tick=2000..}] run function asset:object/2265.field_modify_manager/tick/kill diff --git a/Asset/data/asset/functions/object/2265.field_modify_manager/tick/attack.mcfunction b/Asset/data/asset/functions/object/2265.field_modify_manager/tick/attack.mcfunction new file mode 100644 index 0000000000..5a8e107ae6 --- /dev/null +++ b/Asset/data/asset/functions/object/2265.field_modify_manager/tick/attack.mcfunction @@ -0,0 +1,15 @@ +#> asset:object/2265.field_modify_manager/tick/attack +# +# Objectのtick時の処理 +# +# @within asset:object/2265.field_modify_manager/tick/ + +# 攻撃適用 + say こうげき + +# リセット + scoreboard players set @s 2265.Progress.Current 0 + +# カウントを減らし、攻撃が終了した場合自身を消去 + scoreboard players remove @s 2265.AttackCount 1 + execute if score @s 2265.AttackCount matches ..0 run function asset:object/2265.field_modify_manager/tick/kill diff --git a/Asset/data/asset/functions/object/2265.field_modify_manager/tick/kill.mcfunction b/Asset/data/asset/functions/object/2265.field_modify_manager/tick/kill.mcfunction index be9c8b68e3..15c37d2356 100644 --- a/Asset/data/asset/functions/object/2265.field_modify_manager/tick/kill.mcfunction +++ b/Asset/data/asset/functions/object/2265.field_modify_manager/tick/kill.mcfunction @@ -3,6 +3,7 @@ # Objectのtick時の処理 # # @within asset:object/2265.field_modify_manager/tick/ +# @within asset:object/2265.field_modify_manager/tick/attack # ボスバー消去 bossbar remove asset:co_field_modify diff --git a/Asset/data/asset/functions/object/2266.field_modify/_index.d.mcfunction b/Asset/data/asset/functions/object/2266.field_modify/_index.d.mcfunction new file mode 100644 index 0000000000..eb39bce36c --- /dev/null +++ b/Asset/data/asset/functions/object/2266.field_modify/_index.d.mcfunction @@ -0,0 +1,6 @@ +#> asset:object/2266.field_modify/_index.d +# @private + +#> tag +# @within function asset:object/2266.field_modify/** + #declare \ No newline at end of file diff --git a/Asset/data/asset/functions/object/2266.field_modify/init/.mcfunction b/Asset/data/asset/functions/object/2266.field_modify/init/.mcfunction new file mode 100644 index 0000000000..94879e1a03 --- /dev/null +++ b/Asset/data/asset/functions/object/2266.field_modify/init/.mcfunction @@ -0,0 +1,11 @@ +#> asset:object/2266.field_modify/init/ +# +# Objectのinit時の処理 +# +# @within asset:object/alias/2266/init + +# モデル上書き + data modify entity @s item.id set from storage asset:context this.Model + +# 色設定 + execute store result score @s 2266.Color run data get storage asset:context this.Color diff --git a/Asset/data/asset/functions/object/2266.field_modify/load.mcfunction b/Asset/data/asset/functions/object/2266.field_modify/load.mcfunction new file mode 100644 index 0000000000..1467f5eba2 --- /dev/null +++ b/Asset/data/asset/functions/object/2266.field_modify/load.mcfunction @@ -0,0 +1,9 @@ +#> asset:object/2266.field_modify/load +# +# Objectに利用するスコアボード等の初期化処理 +# +# @within tag/function asset:object/load + +#> 定義類はここに +# @within function asset:object/2266.field_modify/** + scoreboard objectives add 2266.Color dummy diff --git a/Asset/data/asset/functions/object/2266.field_modify/register.mcfunction b/Asset/data/asset/functions/object/2266.field_modify/register.mcfunction new file mode 100644 index 0000000000..67e57ce006 --- /dev/null +++ b/Asset/data/asset/functions/object/2266.field_modify/register.mcfunction @@ -0,0 +1,20 @@ +#> asset:object/2266.field_modify/register +# +# Objectのデータを指定 +# +# @within function asset:object/alias/2266/register + +# 継承(オプション) + # data modify storage asset:object Extends append value + # function asset:object/extends +# 他のObjectに継承されることを許可するか (boolean) (オプション) + # data modify storage asset:object ExtendsSafe set value +# 継承されることを前提とした、抽象的なObjectであるかどうか(boolean) + data modify storage asset:object IsAbstract set value false +# Tickするかどうか(boolean) (オプション) + # data modify storage asset:object IsTicking set value + +# ID (int) + data modify storage asset:object ID set value 2266 +# フィールド(オプション) + # data modify storage asset:object Field.myValue set value \ No newline at end of file diff --git a/Asset/data/asset/functions/object/2266.field_modify/summon/.mcfunction b/Asset/data/asset/functions/object/2266.field_modify/summon/.mcfunction new file mode 100644 index 0000000000..73f8af9d44 --- /dev/null +++ b/Asset/data/asset/functions/object/2266.field_modify/summon/.mcfunction @@ -0,0 +1,8 @@ +#> asset:object/2266.field_modify/summon/ +# +# Object召喚処理の呼び出し時に実行されるfunction +# +# @within asset:object/alias/2266/summon + +# 元となるEntityを召喚する + summon item_display ~ ~ ~ {Tags:["ObjectInit","CO.Object"],brightness:{sky:15,block:15},interpolation_duration:5,teleport_duration:1,item:{id:"red_stained_glass",Count:1b,tag:{CustomModelData:0}},transformation:{left_rotation:[0.0f,0.0f,0.0f,1.0f],right_rotation:[0.0f,0.0f,0.0f,1.0f],translation:[0.0f,0.0f,0.0f],scale:[0.0f,0.1f,0.0f]}} diff --git a/Asset/data/asset/functions/object/2266.field_modify/summon/debug.mcfunction b/Asset/data/asset/functions/object/2266.field_modify/summon/debug.mcfunction new file mode 100644 index 0000000000..7e823f6bf0 --- /dev/null +++ b/Asset/data/asset/functions/object/2266.field_modify/summon/debug.mcfunction @@ -0,0 +1,10 @@ +#> asset:object/2266.field_modify/summon/debug +# +# 動作チェック用の召喚処理 使い終わったら消してもいいかも +# +# @user +# @private + +# 召喚 + data modify storage api: Argument.ID set value 2266 + function api:object/summon \ No newline at end of file diff --git a/Asset/data/asset/functions/object/2266.field_modify/tick/.mcfunction b/Asset/data/asset/functions/object/2266.field_modify/tick/.mcfunction new file mode 100644 index 0000000000..0fe413174e --- /dev/null +++ b/Asset/data/asset/functions/object/2266.field_modify/tick/.mcfunction @@ -0,0 +1,15 @@ +#> asset:object/2266.field_modify/tick/ +# +# Objectのtick時の処理 +# +# @within asset:object/alias/2266/tick + +# Tick加算 + scoreboard players add @s General.Object.Tick 1 + +# 拡大 + execute if score @s General.Object.Tick matches 3 run data modify entity @s start_interpolation set value -1 + execute if score @s General.Object.Tick matches 3 run data modify entity @s transformation.scale set value [15.0f,0.1f,15.0f] + +# 消滅処理 + kill @s[scores={General.Object.Tick=200..}] diff --git a/Asset/data/asset/functions/object/alias/2266/init.mcfunction b/Asset/data/asset/functions/object/alias/2266/init.mcfunction new file mode 100644 index 0000000000..924096f3fa --- /dev/null +++ b/Asset/data/asset/functions/object/alias/2266/init.mcfunction @@ -0,0 +1,8 @@ +#> asset:object/alias/2266/init +# +# Init処理のエイリアス +# +# @within asset_manager:object/init/init.m + +# 元のInit処理を呼び出す + function asset:object/2266.field_modify/init/ \ No newline at end of file diff --git a/Asset/data/asset/functions/object/alias/2266/register.mcfunction b/Asset/data/asset/functions/object/alias/2266/register.mcfunction new file mode 100644 index 0000000000..163418fc36 --- /dev/null +++ b/Asset/data/asset/functions/object/alias/2266/register.mcfunction @@ -0,0 +1,8 @@ +#> asset:object/alias/2266/register +# +# Objectのデータ指定処理のエイリアス +# +# @within asset_manager:object/summon/register.m + +# 元の登録処理を呼び出す + function asset:object/2266.field_modify/register \ No newline at end of file diff --git a/Asset/data/asset/functions/object/alias/2266/summon.mcfunction b/Asset/data/asset/functions/object/alias/2266/summon.mcfunction new file mode 100644 index 0000000000..efc4c6de8c --- /dev/null +++ b/Asset/data/asset/functions/object/alias/2266/summon.mcfunction @@ -0,0 +1,8 @@ +#> asset:object/alias/2266/summon +# +# Object召喚処理のエイリアス +# +# @within asset_manager:object/summon/summon.m + +# 元の召喚処理を呼び出す + function asset:object/2266.field_modify/summon/ \ No newline at end of file diff --git a/Asset/data/asset/functions/object/alias/2266/tick.mcfunction b/Asset/data/asset/functions/object/alias/2266/tick.mcfunction new file mode 100644 index 0000000000..ce44f05151 --- /dev/null +++ b/Asset/data/asset/functions/object/alias/2266/tick.mcfunction @@ -0,0 +1,8 @@ +#> asset:object/alias/2266/tick +# +# Tick時処理のエイリアス +# +# @within asset_manager:object/tick/tick.m + +# 元のTick処理を呼び出す + function asset:object/2266.field_modify/tick/ \ No newline at end of file diff --git a/Asset/data/asset/tags/functions/object/load.json b/Asset/data/asset/tags/functions/object/load.json index 17ee59e2d0..7c7ae98c3d 100644 --- a/Asset/data/asset/tags/functions/object/load.json +++ b/Asset/data/asset/tags/functions/object/load.json @@ -1,5 +1,6 @@ { "values": [ + "asset:object/2266.field_modify/load", "asset:object/2264.sheep_avenger/load", "asset:object/2265.field_modify_manager/load", "asset:object/2263.gem_laser_vfx/load", From 2178fa927df85c0ca9a1e3f25de016bf982e9c85 Mon Sep 17 00:00:00 2001 From: mokkkk Date: Sun, 15 Feb 2026 22:58:49 +0900 Subject: [PATCH 18/98] =?UTF-8?q?=E5=BA=8A=E6=94=BB=E6=92=83=E3=81=AE?= =?UTF-8?q?=E3=83=80=E3=83=A1=E3=83=BC=E3=82=B8=E5=87=A6=E7=90=86=E5=AE=9F?= =?UTF-8?q?=E8=A3=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../0456.gargo_ex_machina/_index.d.mcfunction | 3 +- .../0456.gargo_ex_machina/register.mcfunction | 2 + .../event/field_modify/event_start.mcfunction | 2 +- .../field_modify/summon_manager.mcfunction | 1 + .../tick/event/field_modify/test.mcfunction | 27 -------- .../half_beam/attack_effect_start.mcfunction | 2 +- .../_index.d.mcfunction | 3 + .../tick/.mcfunction | 2 +- .../tick/attack.mcfunction | 24 +++++++- .../tick/attack_vfx.mcfunction | 61 +++++++++++++++++++ .../tick/kill.mcfunction | 3 + .../tick/set_bossbar_name.mcfunction | 2 +- .../2266.field_modify/_index.d.mcfunction | 4 +- .../object/2266.field_modify/load.mcfunction | 1 + .../2266.field_modify/summon/.mcfunction | 2 +- .../object/2266.field_modify/tick/.mcfunction | 6 +- .../asset/tags/functions/object/load.json | 4 +- 17 files changed, 109 insertions(+), 40 deletions(-) delete mode 100644 Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/field_modify/test.mcfunction create mode 100644 Asset/data/asset/functions/object/2265.field_modify_manager/tick/attack_vfx.mcfunction diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/_index.d.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/_index.d.mcfunction index 76bd1d5b58..3f063c56c9 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/_index.d.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/_index.d.mcfunction @@ -36,8 +36,9 @@ #declare tag #declare tag # - オブジェクト用 - #declare tag CO.Object #declare tag CO.Shadow + #declare tag CO.Object + #declare tag CO.Object.FieldModify # - 汎用 #declare tag CO.ScapeSheep #declare tag CO.MainTarget diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/register.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/register.mcfunction index a1db1b361b..e23925f7d2 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/register.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/register.mcfunction @@ -44,3 +44,5 @@ data modify storage asset:mob Field.Damage.HalfBeam set value {Amount:80.0,Type:"Magic",Element:"None"} # スーパージャンプ data modify storage asset:mob Field.Damage.SuperJump set value {Amount:70.0,Type:"Physical",Element:"None"} + # フィールド・モディファイ + data modify storage asset:mob Field.Damage.FieldModify set value {Amount:90.0,Type:"Magic",Element:"None"} diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/field_modify/event_start.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/field_modify/event_start.mcfunction index c592eaea02..0f5db61536 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/field_modify/event_start.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/field_modify/event_start.mcfunction @@ -17,7 +17,7 @@ execute as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run tp @s ~ ~ ~ ~ ~ # 召喚 execute if score @s CO.EventTimer matches 25 run function asset:mob/0456.gargo_ex_machina/tick/event/field_modify/summon_manager - execute if score @s CO.EventTimer matches 22 positioned as @e[type=marker,tag=CO.CenterPosition,sort=nearest,limit=1] rotated 0 0 run function asset:mob/0456.gargo_ex_machina/tick/event/field_modify/summon_field_start + execute if score @s CO.EventTimer matches 22 positioned as @e[type=marker,tag=CO.CenterPosition,sort=nearest,limit=1] positioned ~ ~-0.4 ~ rotated 0 0 run function asset:mob/0456.gargo_ex_machina/tick/event/field_modify/summon_field_start # 終了 execute if score @s CO.EventTimer matches 65.. run function asset:mob/0456.gargo_ex_machina/tick/event/field_modify/end diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/field_modify/summon_manager.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/field_modify/summon_manager.mcfunction index fbaae6b744..0472ec7468 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/field_modify/summon_manager.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/field_modify/summon_manager.mcfunction @@ -7,4 +7,5 @@ # マネージャー召喚 data modify storage api: Argument.ID set value 2265 data modify storage api: Argument.FieldOverride.AttackCount set value 2 + data modify storage api: Argument.FieldOverride.Damage set from storage asset:context this.Damage.FieldModify function api:object/summon diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/field_modify/test.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/field_modify/test.mcfunction deleted file mode 100644 index 040fb0f11d..0000000000 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/field_modify/test.mcfunction +++ /dev/null @@ -1,27 +0,0 @@ -#> asset:mob/0456.gargo_ex_machina/tick/event/field_modify/test -# -# フィールド・モディファイ -# -# @within asset:mob/0456.gargo_ex_machina/tick/event/field_modify/event_start - -# [ImportKey]: NobwRALgngDgpmAXGANgSwHYIDRgK55oAmSYcRADEQExwAsAnALQBGRA7C03Ve0wIYA2dkSYV2dAGYAOFhRZ0406mFwZ+AWwTJAW74ACAIyqwMfgCdNAZyTgAxgHs8GCEjq5JZ+xptgAbvxQ8bXAADyQmamoAOgBWXCgkSNiAX2TcCHsff0DgsDDEJLiwBILomNTce0lJSzgXRApcFjgALzQ4MyRGsDRLACFW9rMAUQBHPACUKABlU1tyJEkA2orwaHhSdCxjAmJSWwN2AGYj-mpmSRiKA25BalsmBkkjikeGfgoGA0ijuEkVNSabRgfQ3BwwBK4UwWDTWRB2RzOVzuTzeeF+AJBHz5CJleJIdgpNKQTLo7JY9H5Qr4xCE8rEqo1OpdJqDDosnr9NkjcaTGZzBaIJYoFZpNawYFbHD4QgkZBHGiHThHATfGLcOhEfgCaRwagCGInfhEQS2SS2BjS9RaUigpjgqD2+wQ4zQqw+BxOepuMAeLxZTG5HHU4rhOkVEkBnLYxJ40OIJjhhnVWr1brNNrshq4XoDTM8iYoKazfjzOXC0XYcUbZBSnay0iHFhLAwWpgmuh0bj8I76hjUQQ3CQxAwMXUxf6COjGa3Au0Op0QxeQkzmd3oz1IxA+v1o8DkoPhEMlXFE9Kk-eBmOlWI00-0yop5nZsAZoYc3PcsaF4sC8vLOBUgAXSAA_3 -# 線 1-copy -particle flame ^-22.5 ^ ^7.5 0 0 0 0 1 -particle flame ^-7.5 ^ ^7.5 0 0 0 0 1 -particle flame ^7.5 ^ ^7.5 0 0 0 0 1 -particle flame ^22.5 ^ ^7.5 0 0 0 0 1 -# 線 1 -particle flame ^-22.5 ^ ^22.5 0 0 0 0 1 -particle flame ^-7.5 ^ ^22.5 0 0 0 0 1 -particle flame ^7.5 ^ ^22.5 0 0 0 0 1 -particle flame ^22.5 ^ ^22.5 0 0 0 0 1 -# 線 1-copy-copy -particle flame ^-22.5 ^ ^-7.5 0 0 0 0 1 -particle flame ^-7.5 ^ ^-7.5 0 0 0 0 1 -particle flame ^7.5 ^ ^-7.5 0 0 0 0 1 -particle flame ^22.5 ^ ^-7.5 0 0 0 0 1 -# 線 1-copy-copy-copy -particle flame ^-22.5 ^ ^-22.5 0 0 0 0 1 -particle flame ^-7.5 ^ ^-22.5 0 0 0 0 1 -particle flame ^7.5 ^ ^-22.5 0 0 0 0 1 -particle flame ^22.5 ^ ^-22.5 0 0 0 0 1 diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam/attack_effect_start.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam/attack_effect_start.mcfunction index a4129c98ca..6860d9d11f 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam/attack_effect_start.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam/attack_effect_start.mcfunction @@ -1,6 +1,6 @@ #> asset:mob/0456.gargo_ex_machina/tick/event/half_beam/attack_effect_start # -# 剣叩きつけ +# 半面焼きビーム # # @within asset:mob/0456.gargo_ex_machina/tick/event/half_beam/event_attack diff --git a/Asset/data/asset/functions/object/2265.field_modify_manager/_index.d.mcfunction b/Asset/data/asset/functions/object/2265.field_modify_manager/_index.d.mcfunction index 73205591b6..6a8cccfe98 100644 --- a/Asset/data/asset/functions/object/2265.field_modify_manager/_index.d.mcfunction +++ b/Asset/data/asset/functions/object/2265.field_modify_manager/_index.d.mcfunction @@ -4,9 +4,12 @@ #> tag # @within function asset:object/2265.field_modify_manager/** #declare tag CO.Object + #declare tag CO.Object.FieldModify #declare tag 2265.Aec #declare tag 2265.Aec.Target #declare tag 2265.Aec.Red #declare tag 2265.Aec.Blue #declare tag 2265.Aec.Green #declare tag 2265.Aec.Yellow + #declare tag 2265.Hit + #declare tag 2266.Remove diff --git a/Asset/data/asset/functions/object/2265.field_modify_manager/tick/.mcfunction b/Asset/data/asset/functions/object/2265.field_modify_manager/tick/.mcfunction index be0a767628..52b36dd765 100644 --- a/Asset/data/asset/functions/object/2265.field_modify_manager/tick/.mcfunction +++ b/Asset/data/asset/functions/object/2265.field_modify_manager/tick/.mcfunction @@ -14,4 +14,4 @@ # 消滅処理 execute if score @s 2265.Progress.Current >= @s 2265.Progress.Max run function asset:object/2265.field_modify_manager/tick/attack - execute if entity @s[scores={General.Object.Tick=2000..}] run function asset:object/2265.field_modify_manager/tick/kill + execute if entity @s[scores={General.Object.Tick=1000..}] run function asset:object/2265.field_modify_manager/tick/kill diff --git a/Asset/data/asset/functions/object/2265.field_modify_manager/tick/attack.mcfunction b/Asset/data/asset/functions/object/2265.field_modify_manager/tick/attack.mcfunction index 5a8e107ae6..5c6b351db3 100644 --- a/Asset/data/asset/functions/object/2265.field_modify_manager/tick/attack.mcfunction +++ b/Asset/data/asset/functions/object/2265.field_modify_manager/tick/attack.mcfunction @@ -3,13 +3,33 @@ # Objectのtick時の処理 # # @within asset:object/2265.field_modify_manager/tick/ +# @private + #declare score_holder $Temp.Color + #declare objective 2266.Color -# 攻撃適用 - say こうげき +# ヒット判定 + execute store result score $Temp.Color Global run data get storage asset:context this.Target[0] + tag @a[tag=!PlayerShouldInvulnerable,distance=..80] add 2265.Hit + execute as @e[type=item_display,tag=CO.Object.FieldModify,distance=..80] if score @s 2266.Color = $Temp.Color Global at @s positioned ^-7.5 ^-1 ^-7.5 run tag @a[dx=15,dy=50,dz=15] remove 2265.Hit + +# 演出 + execute positioned ~ ~100 ~ run playsound entity.generic.explode hostile @a[distance=..200] ~ ~ ~ 2 1 1 + execute as @e[type=item_display,tag=CO.Object.FieldModify,distance=..80] unless score @s 2266.Color = $Temp.Color Global at @s run function asset:object/2265.field_modify_manager/tick/attack_vfx + +# ダメージ + data modify storage api: Argument.Damage set from storage asset:context this.Damage.Amount + data modify storage api: Argument.AttackType set from storage asset:context this.Damage.Type + data modify storage api: Argument.ElementType set from storage asset:context this.Damage.Element + function api:damage/modifier + execute as @a[tag=2265.Hit] run function api:damage/ + function api:damage/reset + tag @a remove 2265.Hit # リセット + scoreboard players reset $Temp.Color Global scoreboard players set @s 2265.Progress.Current 0 # カウントを減らし、攻撃が終了した場合自身を消去 + data remove storage asset:context this.Target[0] scoreboard players remove @s 2265.AttackCount 1 execute if score @s 2265.AttackCount matches ..0 run function asset:object/2265.field_modify_manager/tick/kill diff --git a/Asset/data/asset/functions/object/2265.field_modify_manager/tick/attack_vfx.mcfunction b/Asset/data/asset/functions/object/2265.field_modify_manager/tick/attack_vfx.mcfunction new file mode 100644 index 0000000000..752aeed421 --- /dev/null +++ b/Asset/data/asset/functions/object/2265.field_modify_manager/tick/attack_vfx.mcfunction @@ -0,0 +1,61 @@ +#> asset:object/2265.field_modify_manager/tick/attack_vfx +# +# Objectのtick時の処理 +# +# @within asset:object/2265.field_modify_manager/tick/attack + +# [ImportKey]: NobwRALgngDgpmAXGANgSwHYIDRgK55oAmSYAjAKwBMZcAxlQEYC0AZgMxGvMAsPZANmaMKcAAzMA7K0YBDCnTKMqsugE4wuDLIC2CZIC3fAARlNYGLIBOugM5JwdAPZ4MEJAA5crS4532wAG6yKHj64AAeSFIAdBS4UFGSsQC+ybgQjv5BIWFgkYhJcWAJiDEUqbiOrKw2cG6IYriMcABeaHCWSI1gaDYAQq3tlgCiAI54wShQAMoWdHAkiKzBtRXg0PCk6FhmBMSkdIzsDNJCklREVLxUkixqFAI8zGTuPIystLLu7HCyZtp6UjGMjMJwwBK4CzWHR2RAOZyuDxeHx+OGBYKhfz5MrxJCFCqQTJo7KYtH5Qq4gopNJgKo1OpdJqDDqMnr9ZkjcaTGZzBZIZYoVZpdawfSoTA4fCERZgSS-IiMASybg8OgUIi8WRqISyd6yZgCG7sATVVjq2Rif66MXA0GOcFmKG2fxOFz1Txgby+LIY3LYinFKI8anpIngEl+vGxSm8EO06q1erdZptFkNXC9AapzkTFBTWaqPlLFZwNaQUVbCW7aWkXU8CgUMh0fXvMgSHhEWRwZiyARkfWsOBUHgCRhqW4Cdx-LTWoEmO3ghcQ8xWZ1o12IxAer2o8O+rGJaOB0pkOMZH05A9UoolZ5xumJ1kpoaszMcsa5-O8xYCoXYEWbMg2ySnsMriDwXZqMsPaMEQIIdhQ3BqJw7DMFOk5wB2kijqwVBWoChjzmCUBLkujqrjCLoIu6yLesS+5koeN5IKe5Q0ue9GXox16UqxBIPgy6ZgM+abdG+2YftyBbzD+JZlhsYrAdW+zIHQdAmqwigglQMjdnw7hXGo9AapIYiSGoVDsIwzQjqYM4EWAtrEeR0KwvCbpIp6KIXqSERMZSwZsaGPmRjxx6BfxCaCcmHKvuyElcnmPKFrJgqlskAC6QA_3 + # 線 1-copy + particle explosion ^-7.5 ^ ^4.5 1 0.1 1 0 1 + particle explosion ^-5.35714 ^ ^4.5 1 0.1 1 0 1 + particle explosion ^-3.21429 ^ ^4.5 1 0.1 1 0 1 + particle explosion ^-1.07143 ^ ^4.5 1 0.1 1 0 1 + particle explosion ^1.07143 ^ ^4.5 1 0.1 1 0 1 + particle explosion ^3.21429 ^ ^4.5 1 0.1 1 0 1 + particle explosion ^5.35714 ^ ^4.5 1 0.1 1 0 1 + particle explosion ^7.5 ^ ^4.5 1 0.1 1 0 1 + # 線 1 + particle explosion ^-7.5 ^ ^-7.5 1 0.1 1 0 1 + particle explosion ^-5.35714 ^ ^-7.5 1 0.1 1 0 1 + particle explosion ^-3.21429 ^ ^-7.5 1 0.1 1 0 1 + particle explosion ^-1.07143 ^ ^-7.5 1 0.1 1 0 1 + particle explosion ^1.07143 ^ ^-7.5 1 0.1 1 0 1 + particle explosion ^3.21429 ^ ^-7.5 1 0.1 1 0 1 + particle explosion ^5.35714 ^ ^-7.5 1 0.1 1 0 1 + particle explosion ^7.5 ^ ^-7.5 1 0.1 1 0 1 + # 線 1-copy + particle explosion ^-7.5 ^ ^7.5 1 0.1 1 0 1 + particle explosion ^-5.35714 ^ ^7.5 1 0.1 1 0 1 + particle explosion ^-3.21429 ^ ^7.5 1 0.1 1 0 1 + particle explosion ^-1.07143 ^ ^7.5 1 0.1 1 0 1 + particle explosion ^1.07143 ^ ^7.5 1 0.1 1 0 1 + particle explosion ^3.21429 ^ ^7.5 1 0.1 1 0 1 + particle explosion ^5.35714 ^ ^7.5 1 0.1 1 0 1 + particle explosion ^7.5 ^ ^7.5 1 0.1 1 0 1 + # 線 1-copy + particle explosion ^-7.5 ^ ^-4.5 1 0.1 1 0 1 + particle explosion ^-5.35714 ^ ^-4.5 1 0.1 1 0 1 + particle explosion ^-3.21429 ^ ^-4.5 1 0.1 1 0 1 + particle explosion ^-1.07143 ^ ^-4.5 1 0.1 1 0 1 + particle explosion ^1.07143 ^ ^-4.5 1 0.1 1 0 1 + particle explosion ^3.21429 ^ ^-4.5 1 0.1 1 0 1 + particle explosion ^5.35714 ^ ^-4.5 1 0.1 1 0 1 + particle explosion ^7.5 ^ ^-4.5 1 0.1 1 0 1 + # 線 1-copy-copy + particle explosion ^-7.5 ^ ^-1.5 1 0.1 1 0 1 + particle explosion ^-5.35714 ^ ^-1.5 1 0.1 1 0 1 + particle explosion ^-3.21429 ^ ^-1.5 1 0.1 1 0 1 + particle explosion ^-1.07143 ^ ^-1.5 1 0.1 1 0 1 + particle explosion ^1.07143 ^ ^-1.5 1 0.1 1 0 1 + particle explosion ^3.21429 ^ ^-1.5 1 0.1 1 0 1 + particle explosion ^5.35714 ^ ^-1.5 1 0.1 1 0 1 + particle explosion ^7.5 ^ ^-1.5 1 0.1 1 0 1 + # 線 1-copy-copy-copy + particle explosion ^-7.5 ^ ^1.5 1 0.1 1 0 1 + particle explosion ^-5.35714 ^ ^1.5 1 0.1 1 0 1 + particle explosion ^-3.21429 ^ ^1.5 1 0.1 1 0 1 + particle explosion ^-1.07143 ^ ^1.5 1 0.1 1 0 1 + particle explosion ^1.07143 ^ ^1.5 1 0.1 1 0 1 + particle explosion ^3.21429 ^ ^1.5 1 0.1 1 0 1 + particle explosion ^5.35714 ^ ^1.5 1 0.1 1 0 1 + particle explosion ^7.5 ^ ^1.5 1 0.1 1 0 1 diff --git a/Asset/data/asset/functions/object/2265.field_modify_manager/tick/kill.mcfunction b/Asset/data/asset/functions/object/2265.field_modify_manager/tick/kill.mcfunction index 15c37d2356..8a01b077f2 100644 --- a/Asset/data/asset/functions/object/2265.field_modify_manager/tick/kill.mcfunction +++ b/Asset/data/asset/functions/object/2265.field_modify_manager/tick/kill.mcfunction @@ -8,5 +8,8 @@ # ボスバー消去 bossbar remove asset:co_field_modify +# 床消去 + tag @e[type=item_display,tag=CO.Object.FieldModify,distance=..80] add 2266.Remove + # 消去 kill @s diff --git a/Asset/data/asset/functions/object/2265.field_modify_manager/tick/set_bossbar_name.mcfunction b/Asset/data/asset/functions/object/2265.field_modify_manager/tick/set_bossbar_name.mcfunction index 4071b7d10d..70faf0c7a3 100644 --- a/Asset/data/asset/functions/object/2265.field_modify_manager/tick/set_bossbar_name.mcfunction +++ b/Asset/data/asset/functions/object/2265.field_modify_manager/tick/set_bossbar_name.mcfunction @@ -12,4 +12,4 @@ execute if score @s 2265.Period matches 20.. run data modify storage asset:context this.BossBar.Period set value ['{"text":"..."}'] # ボスバー表示 - bossbar set asset:co_field_modify name [{"text":"> FIELD MODIFY PROCEEDING","color": "white","bold": true},{"storage":"asset:context","nbt":"this.BossBar.Period[]","interpret":true,"separator":""},{"text":" ","color": "white","bold": true},{"storage":"asset:context","nbt":"this.BossBar.Color[]","interpret":true,"separator":" "},{"text":" <","color": "white","bold": true}] + bossbar set asset:co_field_modify name [{"text":"> FIELD MODIFY PROCEEDING","color": "white","bold": true},{"storage":"asset:context","nbt":"this.BossBar.Period[]","interpret":true,"separator":""},{"text":" ","color": "white","bold": true},{"storage":"asset:context","nbt":"this.BossBar.Color[]","interpret":true,"separator":" "}] diff --git a/Asset/data/asset/functions/object/2266.field_modify/_index.d.mcfunction b/Asset/data/asset/functions/object/2266.field_modify/_index.d.mcfunction index eb39bce36c..14f6f0eca7 100644 --- a/Asset/data/asset/functions/object/2266.field_modify/_index.d.mcfunction +++ b/Asset/data/asset/functions/object/2266.field_modify/_index.d.mcfunction @@ -3,4 +3,6 @@ #> tag # @within function asset:object/2266.field_modify/** - #declare \ No newline at end of file + #declare tag CO.Object + #declare tag CO.Object.FieldModify + #declare tag 2266.Remove diff --git a/Asset/data/asset/functions/object/2266.field_modify/load.mcfunction b/Asset/data/asset/functions/object/2266.field_modify/load.mcfunction index 1467f5eba2..86000374b7 100644 --- a/Asset/data/asset/functions/object/2266.field_modify/load.mcfunction +++ b/Asset/data/asset/functions/object/2266.field_modify/load.mcfunction @@ -7,3 +7,4 @@ #> 定義類はここに # @within function asset:object/2266.field_modify/** scoreboard objectives add 2266.Color dummy + scoreboard objectives add 2266.RemoveTimer dummy diff --git a/Asset/data/asset/functions/object/2266.field_modify/summon/.mcfunction b/Asset/data/asset/functions/object/2266.field_modify/summon/.mcfunction index 73f8af9d44..8d2e345f7b 100644 --- a/Asset/data/asset/functions/object/2266.field_modify/summon/.mcfunction +++ b/Asset/data/asset/functions/object/2266.field_modify/summon/.mcfunction @@ -5,4 +5,4 @@ # @within asset:object/alias/2266/summon # 元となるEntityを召喚する - summon item_display ~ ~ ~ {Tags:["ObjectInit","CO.Object"],brightness:{sky:15,block:15},interpolation_duration:5,teleport_duration:1,item:{id:"red_stained_glass",Count:1b,tag:{CustomModelData:0}},transformation:{left_rotation:[0.0f,0.0f,0.0f,1.0f],right_rotation:[0.0f,0.0f,0.0f,1.0f],translation:[0.0f,0.0f,0.0f],scale:[0.0f,0.1f,0.0f]}} + summon item_display ~ ~ ~ {Tags:["ObjectInit","CO.Object","CO.Object.FieldModify"],brightness:{sky:15,block:15},interpolation_duration:5,teleport_duration:1,item:{id:"red_stained_glass",Count:1b,tag:{CustomModelData:0}},transformation:{left_rotation:[0.0f,0.0f,0.0f,1.0f],right_rotation:[0.0f,0.0f,0.0f,1.0f],translation:[0.0f,0.0f,0.0f],scale:[0.0f,0.1f,0.0f]}} diff --git a/Asset/data/asset/functions/object/2266.field_modify/tick/.mcfunction b/Asset/data/asset/functions/object/2266.field_modify/tick/.mcfunction index 0fe413174e..537415f490 100644 --- a/Asset/data/asset/functions/object/2266.field_modify/tick/.mcfunction +++ b/Asset/data/asset/functions/object/2266.field_modify/tick/.mcfunction @@ -6,10 +6,14 @@ # Tick加算 scoreboard players add @s General.Object.Tick 1 + execute if entity @s[tag=2266.Remove] run scoreboard players add @s 2266.RemoveTimer 1 # 拡大 execute if score @s General.Object.Tick matches 3 run data modify entity @s start_interpolation set value -1 execute if score @s General.Object.Tick matches 3 run data modify entity @s transformation.scale set value [15.0f,0.1f,15.0f] + execute if score @s 2266.RemoveTimer matches 3 run data modify entity @s start_interpolation set value -1 + execute if score @s 2266.RemoveTimer matches 3 run data modify entity @s transformation.scale set value [0.0f,0.1f,0.0f] # 消滅処理 - kill @s[scores={General.Object.Tick=200..}] + kill @s[scores={General.Object.Tick=1000..}] + kill @s[scores={2266.RemoveTimer=10..}] diff --git a/Asset/data/asset/tags/functions/object/load.json b/Asset/data/asset/tags/functions/object/load.json index 7c7ae98c3d..b2cb6bff9d 100644 --- a/Asset/data/asset/tags/functions/object/load.json +++ b/Asset/data/asset/tags/functions/object/load.json @@ -1,9 +1,7 @@ { "values": [ "asset:object/2266.field_modify/load", - "asset:object/2264.sheep_avenger/load", "asset:object/2265.field_modify_manager/load", - "asset:object/2263.gem_laser_vfx/load", "asset:object/2251.wall_laser_clock/load", "asset:object/2212.eclael_upper_shot/load", "asset:object/2187.heiloang_ff_main/load", @@ -62,4 +60,4 @@ "asset:object/1059.book_of_hero/load", "asset:object/2031.giant_pumpkin/load" ] -} \ No newline at end of file +} From eb71d3b87f93e87feb0928949169f2831bd97abc Mon Sep 17 00:00:00 2001 From: mokkkk Date: Sun, 15 Feb 2026 23:18:55 +0900 Subject: [PATCH 19/98] =?UTF-8?q?=E3=83=95=E3=82=A3=E3=83=BC=E3=83=AB?= =?UTF-8?q?=E3=83=89=E8=A8=AD=E7=BD=AE=E6=BC=94=E5=87=BA=E4=BD=9C=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../tick/event/field_modify/effect.mcfunction | 81 ++++++++++++++++ .../event/field_modify/event_start.mcfunction | 9 ++ .../field_modify/summon_manager.mcfunction | 2 +- .../tick/attack.mcfunction | 1 + .../tick/attack_vfx.mcfunction | 96 +++++++++---------- 5 files changed, 140 insertions(+), 49 deletions(-) create mode 100644 Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/field_modify/effect.mcfunction diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/field_modify/effect.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/field_modify/effect.mcfunction new file mode 100644 index 0000000000..57460f1b03 --- /dev/null +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/field_modify/effect.mcfunction @@ -0,0 +1,81 @@ +#> asset:mob/0456.gargo_ex_machina/tick/event/field_modify/effect +# +# フィールド・モディファイ +# +# @within asset:mob/0456.gargo_ex_machina/tick/event/field_modify/event_start + +# パーティクル +# 円型ベクトルパーティクル + execute rotated ~00 0 positioned ^ ^-0.3 ^ run particle end_rod ~ ~ ~ ^ ^ ^100000000 0.000000015 0 + execute rotated ~10 0 positioned ^ ^-0.3 ^ run particle end_rod ~ ~ ~ ^ ^ ^100000000 0.000000015 0 + execute rotated ~20 0 positioned ^ ^-0.3 ^ run particle end_rod ~ ~ ~ ^ ^ ^100000000 0.000000015 0 + execute rotated ~30 0 positioned ^ ^-0.3 ^ run particle end_rod ~ ~ ~ ^ ^ ^100000000 0.000000015 0 + execute rotated ~40 0 positioned ^ ^-0.3 ^ run particle end_rod ~ ~ ~ ^ ^ ^100000000 0.000000015 0 + execute rotated ~50 0 positioned ^ ^-0.3 ^ run particle end_rod ~ ~ ~ ^ ^ ^100000000 0.000000015 0 + execute rotated ~60 0 positioned ^ ^-0.3 ^ run particle end_rod ~ ~ ~ ^ ^ ^100000000 0.000000015 0 + execute rotated ~70 0 positioned ^ ^-0.3 ^ run particle end_rod ~ ~ ~ ^ ^ ^100000000 0.000000015 0 + execute rotated ~80 0 positioned ^ ^-0.3 ^ run particle end_rod ~ ~ ~ ^ ^ ^100000000 0.000000015 0 + execute rotated ~90 0 positioned ^ ^-0.3 ^ run particle end_rod ~ ~ ~ ^ ^ ^100000000 0.000000015 0 + execute rotated ~100 0 positioned ^ ^-0.3 ^ run particle end_rod ~ ~ ~ ^ ^ ^100000000 0.000000015 0 + execute rotated ~110 0 positioned ^ ^-0.3 ^ run particle end_rod ~ ~ ~ ^ ^ ^100000000 0.000000015 0 + execute rotated ~120 0 positioned ^ ^-0.3 ^ run particle end_rod ~ ~ ~ ^ ^ ^100000000 0.000000015 0 + execute rotated ~130 0 positioned ^ ^-0.3 ^ run particle end_rod ~ ~ ~ ^ ^ ^100000000 0.000000015 0 + execute rotated ~140 0 positioned ^ ^-0.3 ^ run particle end_rod ~ ~ ~ ^ ^ ^100000000 0.000000015 0 + execute rotated ~150 0 positioned ^ ^-0.3 ^ run particle end_rod ~ ~ ~ ^ ^ ^100000000 0.000000015 0 + execute rotated ~160 0 positioned ^ ^-0.3 ^ run particle end_rod ~ ~ ~ ^ ^ ^100000000 0.000000015 0 + execute rotated ~170 0 positioned ^ ^-0.3 ^ run particle end_rod ~ ~ ~ ^ ^ ^100000000 0.000000015 0 + execute rotated ~180 0 positioned ^ ^-0.3 ^ run particle end_rod ~ ~ ~ ^ ^ ^100000000 0.000000015 0 + execute rotated ~190 0 positioned ^ ^-0.3 ^ run particle end_rod ~ ~ ~ ^ ^ ^100000000 0.000000015 0 + execute rotated ~200 0 positioned ^ ^-0.3 ^ run particle end_rod ~ ~ ~ ^ ^ ^100000000 0.000000015 0 + execute rotated ~210 0 positioned ^ ^-0.3 ^ run particle end_rod ~ ~ ~ ^ ^ ^100000000 0.000000015 0 + execute rotated ~220 0 positioned ^ ^-0.3 ^ run particle end_rod ~ ~ ~ ^ ^ ^100000000 0.000000015 0 + execute rotated ~230 0 positioned ^ ^-0.3 ^ run particle end_rod ~ ~ ~ ^ ^ ^100000000 0.000000015 0 + execute rotated ~240 0 positioned ^ ^-0.3 ^ run particle end_rod ~ ~ ~ ^ ^ ^100000000 0.000000015 0 + execute rotated ~250 0 positioned ^ ^-0.3 ^ run particle end_rod ~ ~ ~ ^ ^ ^100000000 0.000000015 0 + execute rotated ~260 0 positioned ^ ^-0.3 ^ run particle end_rod ~ ~ ~ ^ ^ ^100000000 0.000000015 0 + execute rotated ~270 0 positioned ^ ^-0.3 ^ run particle end_rod ~ ~ ~ ^ ^ ^100000000 0.000000015 0 + execute rotated ~280 0 positioned ^ ^-0.3 ^ run particle end_rod ~ ~ ~ ^ ^ ^100000000 0.000000015 0 + execute rotated ~290 0 positioned ^ ^-0.3 ^ run particle end_rod ~ ~ ~ ^ ^ ^100000000 0.000000015 0 + execute rotated ~300 0 positioned ^ ^-0.3 ^ run particle end_rod ~ ~ ~ ^ ^ ^100000000 0.000000015 0 + execute rotated ~310 0 positioned ^ ^-0.3 ^ run particle end_rod ~ ~ ~ ^ ^ ^100000000 0.000000015 0 + execute rotated ~320 0 positioned ^ ^-0.3 ^ run particle end_rod ~ ~ ~ ^ ^ ^100000000 0.000000015 0 + execute rotated ~330 0 positioned ^ ^-0.3 ^ run particle end_rod ~ ~ ~ ^ ^ ^100000000 0.000000015 0 + execute rotated ~340 0 positioned ^ ^-0.3 ^ run particle end_rod ~ ~ ~ ^ ^ ^100000000 0.000000015 0 + execute rotated ~350 0 positioned ^ ^-0.3 ^ run particle end_rod ~ ~ ~ ^ ^ ^100000000 0.000000015 0 +# 円型ベクトルパーティクル + execute rotated ~00 0 positioned ^ ^-0.3 ^ run particle end_rod ~ ~ ~ ^ ^ ^100000000 0.000000025 0 + execute rotated ~10 0 positioned ^ ^-0.3 ^ run particle end_rod ~ ~ ~ ^ ^ ^100000000 0.000000025 0 + execute rotated ~20 0 positioned ^ ^-0.3 ^ run particle end_rod ~ ~ ~ ^ ^ ^100000000 0.000000025 0 + execute rotated ~30 0 positioned ^ ^-0.3 ^ run particle end_rod ~ ~ ~ ^ ^ ^100000000 0.000000025 0 + execute rotated ~40 0 positioned ^ ^-0.3 ^ run particle end_rod ~ ~ ~ ^ ^ ^100000000 0.000000025 0 + execute rotated ~50 0 positioned ^ ^-0.3 ^ run particle end_rod ~ ~ ~ ^ ^ ^100000000 0.000000025 0 + execute rotated ~60 0 positioned ^ ^-0.3 ^ run particle end_rod ~ ~ ~ ^ ^ ^100000000 0.000000025 0 + execute rotated ~70 0 positioned ^ ^-0.3 ^ run particle end_rod ~ ~ ~ ^ ^ ^100000000 0.000000025 0 + execute rotated ~80 0 positioned ^ ^-0.3 ^ run particle end_rod ~ ~ ~ ^ ^ ^100000000 0.000000025 0 + execute rotated ~90 0 positioned ^ ^-0.3 ^ run particle end_rod ~ ~ ~ ^ ^ ^100000000 0.000000025 0 + execute rotated ~100 0 positioned ^ ^-0.3 ^ run particle end_rod ~ ~ ~ ^ ^ ^100000000 0.000000025 0 + execute rotated ~110 0 positioned ^ ^-0.3 ^ run particle end_rod ~ ~ ~ ^ ^ ^100000000 0.000000025 0 + execute rotated ~120 0 positioned ^ ^-0.3 ^ run particle end_rod ~ ~ ~ ^ ^ ^100000000 0.000000025 0 + execute rotated ~130 0 positioned ^ ^-0.3 ^ run particle end_rod ~ ~ ~ ^ ^ ^100000000 0.000000025 0 + execute rotated ~140 0 positioned ^ ^-0.3 ^ run particle end_rod ~ ~ ~ ^ ^ ^100000000 0.000000025 0 + execute rotated ~150 0 positioned ^ ^-0.3 ^ run particle end_rod ~ ~ ~ ^ ^ ^100000000 0.000000025 0 + execute rotated ~160 0 positioned ^ ^-0.3 ^ run particle end_rod ~ ~ ~ ^ ^ ^100000000 0.000000025 0 + execute rotated ~170 0 positioned ^ ^-0.3 ^ run particle end_rod ~ ~ ~ ^ ^ ^100000000 0.000000025 0 + execute rotated ~180 0 positioned ^ ^-0.3 ^ run particle end_rod ~ ~ ~ ^ ^ ^100000000 0.000000025 0 + execute rotated ~190 0 positioned ^ ^-0.3 ^ run particle end_rod ~ ~ ~ ^ ^ ^100000000 0.000000025 0 + execute rotated ~200 0 positioned ^ ^-0.3 ^ run particle end_rod ~ ~ ~ ^ ^ ^100000000 0.000000025 0 + execute rotated ~210 0 positioned ^ ^-0.3 ^ run particle end_rod ~ ~ ~ ^ ^ ^100000000 0.000000025 0 + execute rotated ~220 0 positioned ^ ^-0.3 ^ run particle end_rod ~ ~ ~ ^ ^ ^100000000 0.000000025 0 + execute rotated ~230 0 positioned ^ ^-0.3 ^ run particle end_rod ~ ~ ~ ^ ^ ^100000000 0.000000025 0 + execute rotated ~240 0 positioned ^ ^-0.3 ^ run particle end_rod ~ ~ ~ ^ ^ ^100000000 0.000000025 0 + execute rotated ~250 0 positioned ^ ^-0.3 ^ run particle end_rod ~ ~ ~ ^ ^ ^100000000 0.000000025 0 + execute rotated ~260 0 positioned ^ ^-0.3 ^ run particle end_rod ~ ~ ~ ^ ^ ^100000000 0.000000025 0 + execute rotated ~270 0 positioned ^ ^-0.3 ^ run particle end_rod ~ ~ ~ ^ ^ ^100000000 0.000000025 0 + execute rotated ~280 0 positioned ^ ^-0.3 ^ run particle end_rod ~ ~ ~ ^ ^ ^100000000 0.000000025 0 + execute rotated ~290 0 positioned ^ ^-0.3 ^ run particle end_rod ~ ~ ~ ^ ^ ^100000000 0.000000025 0 + execute rotated ~300 0 positioned ^ ^-0.3 ^ run particle end_rod ~ ~ ~ ^ ^ ^100000000 0.000000025 0 + execute rotated ~310 0 positioned ^ ^-0.3 ^ run particle end_rod ~ ~ ~ ^ ^ ^100000000 0.000000025 0 + execute rotated ~320 0 positioned ^ ^-0.3 ^ run particle end_rod ~ ~ ~ ^ ^ ^100000000 0.000000025 0 + execute rotated ~330 0 positioned ^ ^-0.3 ^ run particle end_rod ~ ~ ~ ^ ^ ^100000000 0.000000025 0 + execute rotated ~340 0 positioned ^ ^-0.3 ^ run particle end_rod ~ ~ ~ ^ ^ ^100000000 0.000000025 0 + execute rotated ~350 0 positioned ^ ^-0.3 ^ run particle end_rod ~ ~ ~ ^ ^ ^100000000 0.000000025 0 diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/field_modify/event_start.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/field_modify/event_start.mcfunction index 0f5db61536..1fd9433f4b 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/field_modify/event_start.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/field_modify/event_start.mcfunction @@ -13,6 +13,15 @@ # 効果音 execute if score @s CO.EventTimer matches 1 run function asset:mob/0456.gargo_ex_machina/tick/util/sound execute if score @s CO.EventTimer matches 50 run function asset:mob/0456.gargo_ex_machina/tick/util/sound + # 演出 + # 画面エフェクト + execute if score @s CO.EventTimer matches 23 run title @a[distance=..160] times 3 0 5 + execute if score @s CO.EventTimer matches 23 run title @a[distance=..160] title {"text":"\uE010","font":"screen_effect","color":"#E8E8E8"} + execute if score @s CO.EventTimer matches 25 run playsound block.beacon.power_select hostile @a ~ ~ ~ 4 1.5 + execute if score @s CO.EventTimer matches 25 run playsound block.beacon.power_select hostile @a ~ ~ ~ 4 1.7 + execute if score @s CO.EventTimer matches 25 positioned ~ ~1 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/field_modify/effect + execute if score @s CO.EventTimer matches 26 positioned ~ ~6 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/field_modify/effect + execute if score @s CO.EventTimer matches 27 positioned ~ ~11 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/field_modify/effect # モデルを合わせる execute as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run tp @s ~ ~ ~ ~ ~ # 召喚 diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/field_modify/summon_manager.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/field_modify/summon_manager.mcfunction index 0472ec7468..7e19896dd4 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/field_modify/summon_manager.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/field_modify/summon_manager.mcfunction @@ -6,6 +6,6 @@ # マネージャー召喚 data modify storage api: Argument.ID set value 2265 - data modify storage api: Argument.FieldOverride.AttackCount set value 2 + data modify storage api: Argument.FieldOverride.AttackCount set value 4 data modify storage api: Argument.FieldOverride.Damage set from storage asset:context this.Damage.FieldModify function api:object/summon diff --git a/Asset/data/asset/functions/object/2265.field_modify_manager/tick/attack.mcfunction b/Asset/data/asset/functions/object/2265.field_modify_manager/tick/attack.mcfunction index 5c6b351db3..0b570fa778 100644 --- a/Asset/data/asset/functions/object/2265.field_modify_manager/tick/attack.mcfunction +++ b/Asset/data/asset/functions/object/2265.field_modify_manager/tick/attack.mcfunction @@ -14,6 +14,7 @@ # 演出 execute positioned ~ ~100 ~ run playsound entity.generic.explode hostile @a[distance=..200] ~ ~ ~ 2 1 1 + execute positioned ~ ~100 ~ run playsound entity.lightning_bolt.thunder hostile @a[distance=..200] ~ ~ ~ 2 1 1 execute as @e[type=item_display,tag=CO.Object.FieldModify,distance=..80] unless score @s 2266.Color = $Temp.Color Global at @s run function asset:object/2265.field_modify_manager/tick/attack_vfx # ダメージ diff --git a/Asset/data/asset/functions/object/2265.field_modify_manager/tick/attack_vfx.mcfunction b/Asset/data/asset/functions/object/2265.field_modify_manager/tick/attack_vfx.mcfunction index 752aeed421..b6685c8539 100644 --- a/Asset/data/asset/functions/object/2265.field_modify_manager/tick/attack_vfx.mcfunction +++ b/Asset/data/asset/functions/object/2265.field_modify_manager/tick/attack_vfx.mcfunction @@ -6,56 +6,56 @@ # [ImportKey]: NobwRALgngDgpmAXGANgSwHYIDRgK55oAmSYAjAKwBMZcAxlQEYC0AZgMxGvMAsPZANmaMKcAAzMA7K0YBDCnTKMqsugE4wuDLIC2CZIC3fAARlNYGLIBOugM5JwdAPZ4MEJAA5crS4532wAG6yKHj64AAeSFIAdBS4UFGSsQC+ybgQjv5BIWFgkYhJcWAJiDEUqbiOrKw2cG6IYriMcABeaHCWSI1gaDYAQq3tlgCiAI54wShQAMoWdHAkiKzBtRXg0PCk6FhmBMSkdIzsDNJCklREVLxUkixqFAI8zGTuPIystLLu7HCyZtp6UjGMjMJwwBK4CzWHR2RAOZyuDxeHx+OGBYKhfz5MrxJCFCqQTJo7KYtH5Qq4gopNJgKo1OpdJqDDqMnr9ZkjcaTGZzBZIZYoVZpdawfSoTA4fCERZgSS-IiMASybg8OgUIi8WRqISyd6yZgCG7sATVVjq2Rif66MXA0GOcFmKG2fxOFz1Txgby+LIY3LYinFKI8anpIngEl+vGxSm8EO06q1erdZptFkNXC9AapzkTFBTWaqPlLFZwNaQUVbCW7aWkXU8CgUMh0fXvMgSHhEWRwZiyARkfWsOBUHgCRhqW4Cdx-LTWoEmO3ghcQ8xWZ1o12IxAer2o8O+rGJaOB0pkOMZH05A9UoolZ5xumJ1kpoaszMcsa5-O8xYCoXYEWbMg2ySnsMriDwXZqMsPaMEQIIdhQ3BqJw7DMFOk5wB2kijqwVBWoChjzmCUBLkujqrjCLoIu6yLesS+5koeN5IKe5Q0ue9GXox16UqxBIPgy6ZgM+abdG+2YftyBbzD+JZlhsYrAdW+zIHQdAmqwigglQMjdnw7hXGo9AapIYiSGoVDsIwzQjqYM4EWAtrEeR0KwvCbpIp6KIXqSERMZSwZsaGPmRjxx6BfxCaCcmHKvuyElcnmPKFrJgqlskAC6QA_3 # 線 1-copy - particle explosion ^-7.5 ^ ^4.5 1 0.1 1 0 1 - particle explosion ^-5.35714 ^ ^4.5 1 0.1 1 0 1 - particle explosion ^-3.21429 ^ ^4.5 1 0.1 1 0 1 - particle explosion ^-1.07143 ^ ^4.5 1 0.1 1 0 1 - particle explosion ^1.07143 ^ ^4.5 1 0.1 1 0 1 - particle explosion ^3.21429 ^ ^4.5 1 0.1 1 0 1 - particle explosion ^5.35714 ^ ^4.5 1 0.1 1 0 1 - particle explosion ^7.5 ^ ^4.5 1 0.1 1 0 1 + particle explosion ^-7.5 ^ ^4.5 1 1 1 0 1 + particle explosion ^-5.35714 ^ ^4.5 1 1 1 0 1 + particle explosion ^-3.21429 ^ ^4.5 1 1 1 0 1 + particle explosion ^-1.07143 ^ ^4.5 1 1 1 0 1 + particle explosion ^1.07143 ^ ^4.5 1 1 1 0 1 + particle explosion ^3.21429 ^ ^4.5 1 1 1 0 1 + particle explosion ^5.35714 ^ ^4.5 1 1 1 0 1 + particle explosion ^7.5 ^ ^4.5 1 1 1 0 1 # 線 1 - particle explosion ^-7.5 ^ ^-7.5 1 0.1 1 0 1 - particle explosion ^-5.35714 ^ ^-7.5 1 0.1 1 0 1 - particle explosion ^-3.21429 ^ ^-7.5 1 0.1 1 0 1 - particle explosion ^-1.07143 ^ ^-7.5 1 0.1 1 0 1 - particle explosion ^1.07143 ^ ^-7.5 1 0.1 1 0 1 - particle explosion ^3.21429 ^ ^-7.5 1 0.1 1 0 1 - particle explosion ^5.35714 ^ ^-7.5 1 0.1 1 0 1 - particle explosion ^7.5 ^ ^-7.5 1 0.1 1 0 1 + particle explosion ^-7.5 ^ ^-7.5 1 1 1 0 1 + particle explosion ^-5.35714 ^ ^-7.5 1 1 1 0 1 + particle explosion ^-3.21429 ^ ^-7.5 1 1 1 0 1 + particle explosion ^-1.07143 ^ ^-7.5 1 1 1 0 1 + particle explosion ^1.07143 ^ ^-7.5 1 1 1 0 1 + particle explosion ^3.21429 ^ ^-7.5 1 1 1 0 1 + particle explosion ^5.35714 ^ ^-7.5 1 1 1 0 1 + particle explosion ^7.5 ^ ^-7.5 1 1 1 0 1 # 線 1-copy - particle explosion ^-7.5 ^ ^7.5 1 0.1 1 0 1 - particle explosion ^-5.35714 ^ ^7.5 1 0.1 1 0 1 - particle explosion ^-3.21429 ^ ^7.5 1 0.1 1 0 1 - particle explosion ^-1.07143 ^ ^7.5 1 0.1 1 0 1 - particle explosion ^1.07143 ^ ^7.5 1 0.1 1 0 1 - particle explosion ^3.21429 ^ ^7.5 1 0.1 1 0 1 - particle explosion ^5.35714 ^ ^7.5 1 0.1 1 0 1 - particle explosion ^7.5 ^ ^7.5 1 0.1 1 0 1 + particle explosion ^-7.5 ^ ^7.5 1 1 1 0 1 + particle explosion ^-5.35714 ^ ^7.5 1 1 1 0 1 + particle explosion ^-3.21429 ^ ^7.5 1 1 1 0 1 + particle explosion ^-1.07143 ^ ^7.5 1 1 1 0 1 + particle explosion ^1.07143 ^ ^7.5 1 1 1 0 1 + particle explosion ^3.21429 ^ ^7.5 1 1 1 0 1 + particle explosion ^5.35714 ^ ^7.5 1 1 1 0 1 + particle explosion ^7.5 ^ ^7.5 1 1 1 0 1 # 線 1-copy - particle explosion ^-7.5 ^ ^-4.5 1 0.1 1 0 1 - particle explosion ^-5.35714 ^ ^-4.5 1 0.1 1 0 1 - particle explosion ^-3.21429 ^ ^-4.5 1 0.1 1 0 1 - particle explosion ^-1.07143 ^ ^-4.5 1 0.1 1 0 1 - particle explosion ^1.07143 ^ ^-4.5 1 0.1 1 0 1 - particle explosion ^3.21429 ^ ^-4.5 1 0.1 1 0 1 - particle explosion ^5.35714 ^ ^-4.5 1 0.1 1 0 1 - particle explosion ^7.5 ^ ^-4.5 1 0.1 1 0 1 + particle explosion ^-7.5 ^ ^-4.5 1 1 1 0 1 + particle explosion ^-5.35714 ^ ^-4.5 1 1 1 0 1 + particle explosion ^-3.21429 ^ ^-4.5 1 1 1 0 1 + particle explosion ^-1.07143 ^ ^-4.5 1 1 1 0 1 + particle explosion ^1.07143 ^ ^-4.5 1 1 1 0 1 + particle explosion ^3.21429 ^ ^-4.5 1 1 1 0 1 + particle explosion ^5.35714 ^ ^-4.5 1 1 1 0 1 + particle explosion ^7.5 ^ ^-4.5 1 1 1 0 1 # 線 1-copy-copy - particle explosion ^-7.5 ^ ^-1.5 1 0.1 1 0 1 - particle explosion ^-5.35714 ^ ^-1.5 1 0.1 1 0 1 - particle explosion ^-3.21429 ^ ^-1.5 1 0.1 1 0 1 - particle explosion ^-1.07143 ^ ^-1.5 1 0.1 1 0 1 - particle explosion ^1.07143 ^ ^-1.5 1 0.1 1 0 1 - particle explosion ^3.21429 ^ ^-1.5 1 0.1 1 0 1 - particle explosion ^5.35714 ^ ^-1.5 1 0.1 1 0 1 - particle explosion ^7.5 ^ ^-1.5 1 0.1 1 0 1 + particle explosion ^-7.5 ^ ^-1.5 1 1 1 0 1 + particle explosion ^-5.35714 ^ ^-1.5 1 1 1 0 1 + particle explosion ^-3.21429 ^ ^-1.5 1 1 1 0 1 + particle explosion ^-1.07143 ^ ^-1.5 1 1 1 0 1 + particle explosion ^1.07143 ^ ^-1.5 1 1 1 0 1 + particle explosion ^3.21429 ^ ^-1.5 1 1 1 0 1 + particle explosion ^5.35714 ^ ^-1.5 1 1 1 0 1 + particle explosion ^7.5 ^ ^-1.5 1 1 1 0 1 # 線 1-copy-copy-copy - particle explosion ^-7.5 ^ ^1.5 1 0.1 1 0 1 - particle explosion ^-5.35714 ^ ^1.5 1 0.1 1 0 1 - particle explosion ^-3.21429 ^ ^1.5 1 0.1 1 0 1 - particle explosion ^-1.07143 ^ ^1.5 1 0.1 1 0 1 - particle explosion ^1.07143 ^ ^1.5 1 0.1 1 0 1 - particle explosion ^3.21429 ^ ^1.5 1 0.1 1 0 1 - particle explosion ^5.35714 ^ ^1.5 1 0.1 1 0 1 - particle explosion ^7.5 ^ ^1.5 1 0.1 1 0 1 + particle explosion ^-7.5 ^ ^1.5 1 1 1 0 1 + particle explosion ^-5.35714 ^ ^1.5 1 1 1 0 1 + particle explosion ^-3.21429 ^ ^1.5 1 1 1 0 1 + particle explosion ^-1.07143 ^ ^1.5 1 1 1 0 1 + particle explosion ^1.07143 ^ ^1.5 1 1 1 0 1 + particle explosion ^3.21429 ^ ^1.5 1 1 1 0 1 + particle explosion ^5.35714 ^ ^1.5 1 1 1 0 1 + particle explosion ^7.5 ^ ^1.5 1 1 1 0 1 From 6faa5b41f19d22f709d00f36bec13dad2c5c1f56 Mon Sep 17 00:00:00 2001 From: mokkkk Date: Sat, 21 Feb 2026 16:35:26 +0900 Subject: [PATCH 20/98] =?UTF-8?q?=E3=83=93=E3=83=BC=E3=83=A0+=E5=89=A3?= =?UTF-8?q?=E8=A4=87=E5=90=88=E6=94=BB=E6=92=83=E5=AE=9F=E8=A3=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../0456.gargo_ex_machina/register.mcfunction | 2 + .../tick/debug/interrupt.mcfunction | 2 +- .../tick/event/.mcfunction | 8 +- .../event/half_beam/event_charging.mcfunction | 3 - .../event/half_beam/event_start.mcfunction | 7 +- .../event/half_beam_sword/attack.mcfunction | 12 +- .../half_beam_sword/attack_sword.mcfunction | 111 ++++++++++++++++++ .../half_beam_sword/event_attack.mcfunction | 9 +- .../half_beam_sword/event_charging.mcfunction | 45 +++---- .../half_beam_sword/event_start.mcfunction | 7 +- .../half_beam_sword/prediction.m.mcfunction | 4 +- .../tick/event/move/.mcfunction | 8 +- .../sword_attack/attack_effect.mcfunction | 5 + .../move => util}/step_sound.mcfunction | 6 +- 14 files changed, 180 insertions(+), 49 deletions(-) create mode 100644 Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam_sword/attack_sword.mcfunction rename Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/{event/move => util}/step_sound.mcfunction (67%) diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/register.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/register.mcfunction index e23925f7d2..52b070da0d 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/register.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/register.mcfunction @@ -42,6 +42,8 @@ data modify storage asset:mob Field.Damage.SwordAttack set value {Amount:80.0,Type:"Physical",Element:"None"} # 半面焼きビーム data modify storage asset:mob Field.Damage.HalfBeam set value {Amount:80.0,Type:"Magic",Element:"None"} + # 半面焼きビーム・回転斬り部分 + data modify storage asset:mob Field.Damage.HalfBeamSword set value {Amount:80.0,Type:"Physical",Element:"None"} # スーパージャンプ data modify storage asset:mob Field.Damage.SuperJump set value {Amount:70.0,Type:"Physical",Element:"None"} # フィールド・モディファイ diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/debug/interrupt.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/debug/interrupt.mcfunction index 4df7d8c269..ff2693d3f5 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/debug/interrupt.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/debug/interrupt.mcfunction @@ -18,4 +18,4 @@ # execute at @s run tp @e[type=item_display,tag=CO.ModelRoot] ~ ~ ~ ~ 0 # イベント実行 - tag @s add CO.Skill.FieldModify + tag @s add CO.Skill.HalfBeamSword diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/.mcfunction index ee0cddc72d..e8ffc7fb7c 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/.mcfunction @@ -21,10 +21,10 @@ execute if entity @s[tag=CO.Skill.HalfBeam.Charge] run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam/event_charging execute if entity @s[tag=CO.Skill.HalfBeam.Attack] run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam/event_attack -# # 半面焼きビーム + 回転斬り -# execute if entity @s[tag=CO.Skill.HalfBeamSword] run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_sword/event_start -# execute if entity @s[tag=CO.Skill.HalfBeamSword.Charge] run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_sword/event_charging -# execute if entity @s[tag=CO.Skill.HalfBeamSword.Attack] run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_sword/event_attack +# 半面焼きビーム + 回転斬り + execute if entity @s[tag=CO.Skill.HalfBeamSword] run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_sword/event_start + execute if entity @s[tag=CO.Skill.HalfBeamSword.Charge] run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_sword/event_charging + execute if entity @s[tag=CO.Skill.HalfBeamSword.Attack] run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_sword/event_attack # スーパージャンプ execute if entity @s[tag=CO.Skill.SuperJump] run function asset:mob/0456.gargo_ex_machina/tick/event/super_jump/event_start diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam/event_charging.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam/event_charging.mcfunction index c07e83c233..242184132e 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam/event_charging.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam/event_charging.mcfunction @@ -33,9 +33,6 @@ # 予告 # 攻撃方向をランダムに決定 - execute if score @s CO.EventTimer matches 1 if predicate lib:random_pass_per/50 run tag @s add CO.Skill.HalfBeam.IsRight - execute if entity @s[tag=CO.Skill.HalfBeam.IsRight] if score @s CO.EventTimer matches 1 run tellraw @a [{"text":"【石像の","color": "dark_purple","bold": true},{"text":" 右眼 ","color": "red","bold": true},{"text":"が光り始めた!!】","color": "dark_purple","bold": true}] - execute unless entity @s[tag=CO.Skill.HalfBeam.IsRight] if score @s CO.EventTimer matches 1 run tellraw @a [{"text":"【石像の","color": "dark_purple","bold": true},{"text":" 左眼 ","color": "blue","bold": true},{"text":"が光り始めた!!】","color": "dark_purple","bold": true}] execute if score @s CO.EventTimer matches 1 run playsound block.beacon.activate hostile @a ~ ~ ~ 2 1.5 execute if score @s CO.EventTimer matches 1 run playsound block.beacon.activate hostile @a ~ ~ ~ 2 1.5 execute if score @s CO.EventTimer matches 20 run playsound block.beacon.activate hostile @a ~ ~ ~ 2 1.6 diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam/event_start.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam/event_start.mcfunction index c710f40aeb..a7f5621d37 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam/event_start.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam/event_start.mcfunction @@ -21,6 +21,11 @@ # 演出 execute if score @s CO.EventTimer matches 21 positioned ^ ^ ^6 run particle explosion ~ ~ ~ 1 0.5 1 0 6 execute if score @s CO.EventTimer matches 21 positioned ^ ^ ^6 run particle block quartz_block ~ ~ ~ 1 0.5 1 0 100 - + # 攻撃方向をランダムに決定 + execute if score @s CO.EventTimer matches 1 if predicate lib:random_pass_per/50 run tag @s add CO.Skill.HalfBeam.IsRight + # 予告 + execute if entity @s[tag=CO.Skill.HalfBeam.IsRight] if score @s CO.EventTimer matches 1 run tellraw @a [{"text":"【石像の","color": "dark_purple","bold": true},{"text":" 右眼 ","color": "red","bold": true},{"text":"が光り始めた!!】","color": "dark_purple","bold": true}] + execute unless entity @s[tag=CO.Skill.HalfBeam.IsRight] if score @s CO.EventTimer matches 1 run tellraw @a [{"text":"【石像の","color": "dark_purple","bold": true},{"text":" 左眼 ","color": "blue","bold": true},{"text":"が光り始めた!!】","color": "dark_purple","bold": true}] + # 溜めに移行 execute if score @s CO.EventTimer matches 36.. run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam/start_charging diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam_sword/attack.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam_sword/attack.mcfunction index 6ae95d5840..3c27dae70f 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam_sword/attack.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam_sword/attack.mcfunction @@ -7,16 +7,16 @@ # ヒット判定 # 直線範囲 tag @a[tag=DXYZ] remove DXYZ - data modify storage lib: args.dx set value 20 + data modify storage lib: args.dx set value 30 data modify storage lib: args.dy set value 5 - data modify storage lib: args.dz set value 40 + data modify storage lib: args.dz set value 50 data modify storage lib: args.selector set value "@a[tag=!PlayerShouldInvulnerable,distance=..50]" - execute rotated ~30 0 positioned ^ ^ ^ run function lib:rotatable_dxyz/m with storage lib: args - data modify storage lib: args.dx set value 20 + execute rotated ~20 0 positioned ^ ^ ^ run function lib:rotatable_dxyz/m with storage lib: args + data modify storage lib: args.dx set value 30 data modify storage lib: args.dy set value 5 - data modify storage lib: args.dz set value 40 + data modify storage lib: args.dz set value 50 data modify storage lib: args.selector set value "@a[tag=!PlayerShouldInvulnerable,distance=..50]" - execute rotated ~-30 0 positioned ^ ^ ^ run function lib:rotatable_dxyz/m with storage lib: args + execute rotated ~-20 0 positioned ^ ^ ^ run function lib:rotatable_dxyz/m with storage lib: args # ダメージ data modify storage api: Argument.Damage set from storage asset:context this.Damage.HalfBeam.Amount diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam_sword/attack_sword.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam_sword/attack_sword.mcfunction new file mode 100644 index 0000000000..de163adcaa --- /dev/null +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam_sword/attack_sword.mcfunction @@ -0,0 +1,111 @@ +#> asset:mob/0456.gargo_ex_machina/tick/event/half_beam_sword/attack_sword +# +# 半面焼きビーム +# +# @within asset:mob/0456.gargo_ex_machina/tick/event/half_beam_sword/event_attack + +# ヒット判定 + # 円範囲 + tag @a[tag=!PlayerShouldInvulnerable,distance=..20] add DXYZ + +# ダメージ + data modify storage api: Argument.Damage set from storage asset:context this.Damage.HalfBeamSword.Amount + data modify storage api: Argument.AttackType set from storage asset:context this.Damage.HalfBeamSword.Type + data modify storage api: Argument.ElementType set from storage asset:context this.Damage.HalfBeamSword.Element + function api:damage/modifier + execute as @a[tag=DXYZ] run function api:damage/ + function api:damage/reset + +# 斬撃オブジェクト + data modify storage api: Argument.ID set value 2001 + data modify storage api: Argument.FieldOverride set value {Color:9484241,Scale:[40f,40f,7f],Transformation:{left_rotation:[0f,0f,0f,1f],right_rotation:[0f,0f,0f,1f],translation:[0f,0f,0f]}} + execute if entity @s[tag=CO.Skill.HalfBeam.IsRight] positioned ^3 ^4 ^-4 rotated ~ -82 run function api:object/summon + execute unless entity @s[tag=CO.Skill.HalfBeam.IsRight] positioned ^3 ^4 ^4 rotated ~ 82 run function api:object/summon + data modify storage api: Argument.ID set value 2001 + data modify storage api: Argument.FieldOverride set value {Color:9484241,Scale:[40f,40f,7f],Transformation:{left_rotation:[0f,0f,0f,1f],right_rotation:[0f,0f,0f,1f],translation:[0f,0f,0f]}} + execute if entity @s[tag=CO.Skill.HalfBeam.IsRight] positioned ^-3 ^4 ^4 rotated ~180 -82 run function api:object/summon + execute unless entity @s[tag=CO.Skill.HalfBeam.IsRight] positioned ^-3 ^4 ^-4 rotated ~180 82 run function api:object/summon + +# 効果音 + playsound item.trident.throw hostile @a ~ ~ ~ 3 0.7 + playsound item.trident.throw hostile @a ~ ~ ~ 3 0.6 + playsound entity.breeze.shoot hostile @a ~ ~ ~ 3 0.6 + +# パーティクル + # 円型ベクトルパーティクル + execute rotated ~00 0 positioned ^ ^6 ^ run particle cloud ~ ~ ~ ^ ^-15000000 ^100000000 0.000000015 0 + execute rotated ~10 0 positioned ^ ^6 ^ run particle cloud ~ ~ ~ ^ ^-15000000 ^100000000 0.000000015 0 + execute rotated ~20 0 positioned ^ ^6 ^ run particle cloud ~ ~ ~ ^ ^-15000000 ^100000000 0.000000015 0 + execute rotated ~30 0 positioned ^ ^6 ^ run particle cloud ~ ~ ~ ^ ^-15000000 ^100000000 0.000000015 0 + execute rotated ~40 0 positioned ^ ^6 ^ run particle cloud ~ ~ ~ ^ ^-15000000 ^100000000 0.000000015 0 + execute rotated ~50 0 positioned ^ ^6 ^ run particle cloud ~ ~ ~ ^ ^-15000000 ^100000000 0.000000015 0 + execute rotated ~60 0 positioned ^ ^6 ^ run particle cloud ~ ~ ~ ^ ^-15000000 ^100000000 0.000000015 0 + execute rotated ~70 0 positioned ^ ^6 ^ run particle cloud ~ ~ ~ ^ ^-15000000 ^100000000 0.000000015 0 + execute rotated ~80 0 positioned ^ ^6 ^ run particle cloud ~ ~ ~ ^ ^-15000000 ^100000000 0.000000015 0 + execute rotated ~90 0 positioned ^ ^6 ^ run particle cloud ~ ~ ~ ^ ^-15000000 ^100000000 0.000000015 0 + execute rotated ~100 0 positioned ^ ^6 ^ run particle cloud ~ ~ ~ ^ ^-15000000 ^100000000 0.000000015 0 + execute rotated ~110 0 positioned ^ ^6 ^ run particle cloud ~ ~ ~ ^ ^-15000000 ^100000000 0.000000015 0 + execute rotated ~120 0 positioned ^ ^6 ^ run particle cloud ~ ~ ~ ^ ^-15000000 ^100000000 0.000000015 0 + execute rotated ~130 0 positioned ^ ^6 ^ run particle cloud ~ ~ ~ ^ ^-15000000 ^100000000 0.000000015 0 + execute rotated ~140 0 positioned ^ ^6 ^ run particle cloud ~ ~ ~ ^ ^-15000000 ^100000000 0.000000015 0 + execute rotated ~150 0 positioned ^ ^6 ^ run particle cloud ~ ~ ~ ^ ^-15000000 ^100000000 0.000000015 0 + execute rotated ~160 0 positioned ^ ^6 ^ run particle cloud ~ ~ ~ ^ ^-15000000 ^100000000 0.000000015 0 + execute rotated ~170 0 positioned ^ ^6 ^ run particle cloud ~ ~ ~ ^ ^-15000000 ^100000000 0.000000015 0 + execute rotated ~180 0 positioned ^ ^6 ^ run particle cloud ~ ~ ~ ^ ^-15000000 ^100000000 0.000000015 0 + execute rotated ~190 0 positioned ^ ^6 ^ run particle cloud ~ ~ ~ ^ ^-15000000 ^100000000 0.000000015 0 + execute rotated ~200 0 positioned ^ ^6 ^ run particle cloud ~ ~ ~ ^ ^-15000000 ^100000000 0.000000015 0 + execute rotated ~210 0 positioned ^ ^6 ^ run particle cloud ~ ~ ~ ^ ^-15000000 ^100000000 0.000000015 0 + execute rotated ~220 0 positioned ^ ^6 ^ run particle cloud ~ ~ ~ ^ ^-15000000 ^100000000 0.000000015 0 + execute rotated ~230 0 positioned ^ ^6 ^ run particle cloud ~ ~ ~ ^ ^-15000000 ^100000000 0.000000015 0 + execute rotated ~240 0 positioned ^ ^6 ^ run particle cloud ~ ~ ~ ^ ^-15000000 ^100000000 0.000000015 0 + execute rotated ~250 0 positioned ^ ^6 ^ run particle cloud ~ ~ ~ ^ ^-15000000 ^100000000 0.000000015 0 + execute rotated ~260 0 positioned ^ ^6 ^ run particle cloud ~ ~ ~ ^ ^-15000000 ^100000000 0.000000015 0 + execute rotated ~270 0 positioned ^ ^6 ^ run particle cloud ~ ~ ~ ^ ^-15000000 ^100000000 0.000000015 0 + execute rotated ~280 0 positioned ^ ^6 ^ run particle cloud ~ ~ ~ ^ ^-15000000 ^100000000 0.000000015 0 + execute rotated ~290 0 positioned ^ ^6 ^ run particle cloud ~ ~ ~ ^ ^-15000000 ^100000000 0.000000015 0 + execute rotated ~300 0 positioned ^ ^6 ^ run particle cloud ~ ~ ~ ^ ^-15000000 ^100000000 0.000000015 0 + execute rotated ~310 0 positioned ^ ^6 ^ run particle cloud ~ ~ ~ ^ ^-15000000 ^100000000 0.000000015 0 + execute rotated ~320 0 positioned ^ ^6 ^ run particle cloud ~ ~ ~ ^ ^-15000000 ^100000000 0.000000015 0 + execute rotated ~330 0 positioned ^ ^6 ^ run particle cloud ~ ~ ~ ^ ^-15000000 ^100000000 0.000000015 0 + execute rotated ~340 0 positioned ^ ^6 ^ run particle cloud ~ ~ ~ ^ ^-15000000 ^100000000 0.000000015 0 + execute rotated ~350 0 positioned ^ ^6 ^ run particle cloud ~ ~ ~ ^ ^-15000000 ^100000000 0.000000015 0 + # 円型ベクトルパーティクル + execute rotated ~00 0 positioned ^ ^6 ^ run particle cloud ~ ~ ~ ^ ^-15000000 ^100000000 0.000000025 0 + execute rotated ~10 0 positioned ^ ^6 ^ run particle cloud ~ ~ ~ ^ ^-15000000 ^100000000 0.000000025 0 + execute rotated ~20 0 positioned ^ ^6 ^ run particle cloud ~ ~ ~ ^ ^-15000000 ^100000000 0.000000025 0 + execute rotated ~30 0 positioned ^ ^6 ^ run particle cloud ~ ~ ~ ^ ^-15000000 ^100000000 0.000000025 0 + execute rotated ~40 0 positioned ^ ^6 ^ run particle cloud ~ ~ ~ ^ ^-15000000 ^100000000 0.000000025 0 + execute rotated ~50 0 positioned ^ ^6 ^ run particle cloud ~ ~ ~ ^ ^-15000000 ^100000000 0.000000025 0 + execute rotated ~60 0 positioned ^ ^6 ^ run particle cloud ~ ~ ~ ^ ^-15000000 ^100000000 0.000000025 0 + execute rotated ~70 0 positioned ^ ^6 ^ run particle cloud ~ ~ ~ ^ ^-15000000 ^100000000 0.000000025 0 + execute rotated ~80 0 positioned ^ ^6 ^ run particle cloud ~ ~ ~ ^ ^-15000000 ^100000000 0.000000025 0 + execute rotated ~90 0 positioned ^ ^6 ^ run particle cloud ~ ~ ~ ^ ^-15000000 ^100000000 0.000000025 0 + execute rotated ~100 0 positioned ^ ^6 ^ run particle cloud ~ ~ ~ ^ ^-15000000 ^100000000 0.000000025 0 + execute rotated ~110 0 positioned ^ ^6 ^ run particle cloud ~ ~ ~ ^ ^-15000000 ^100000000 0.000000025 0 + execute rotated ~120 0 positioned ^ ^6 ^ run particle cloud ~ ~ ~ ^ ^-15000000 ^100000000 0.000000025 0 + execute rotated ~130 0 positioned ^ ^6 ^ run particle cloud ~ ~ ~ ^ ^-15000000 ^100000000 0.000000025 0 + execute rotated ~140 0 positioned ^ ^6 ^ run particle cloud ~ ~ ~ ^ ^-15000000 ^100000000 0.000000025 0 + execute rotated ~150 0 positioned ^ ^6 ^ run particle cloud ~ ~ ~ ^ ^-15000000 ^100000000 0.000000025 0 + execute rotated ~160 0 positioned ^ ^6 ^ run particle cloud ~ ~ ~ ^ ^-15000000 ^100000000 0.000000025 0 + execute rotated ~170 0 positioned ^ ^6 ^ run particle cloud ~ ~ ~ ^ ^-15000000 ^100000000 0.000000025 0 + execute rotated ~180 0 positioned ^ ^6 ^ run particle cloud ~ ~ ~ ^ ^-15000000 ^100000000 0.000000025 0 + execute rotated ~190 0 positioned ^ ^6 ^ run particle cloud ~ ~ ~ ^ ^-15000000 ^100000000 0.000000025 0 + execute rotated ~200 0 positioned ^ ^6 ^ run particle cloud ~ ~ ~ ^ ^-15000000 ^100000000 0.000000025 0 + execute rotated ~210 0 positioned ^ ^6 ^ run particle cloud ~ ~ ~ ^ ^-15000000 ^100000000 0.000000025 0 + execute rotated ~220 0 positioned ^ ^6 ^ run particle cloud ~ ~ ~ ^ ^-15000000 ^100000000 0.000000025 0 + execute rotated ~230 0 positioned ^ ^6 ^ run particle cloud ~ ~ ~ ^ ^-15000000 ^100000000 0.000000025 0 + execute rotated ~240 0 positioned ^ ^6 ^ run particle cloud ~ ~ ~ ^ ^-15000000 ^100000000 0.000000025 0 + execute rotated ~250 0 positioned ^ ^6 ^ run particle cloud ~ ~ ~ ^ ^-15000000 ^100000000 0.000000025 0 + execute rotated ~260 0 positioned ^ ^6 ^ run particle cloud ~ ~ ~ ^ ^-15000000 ^100000000 0.000000025 0 + execute rotated ~270 0 positioned ^ ^6 ^ run particle cloud ~ ~ ~ ^ ^-15000000 ^100000000 0.000000025 0 + execute rotated ~280 0 positioned ^ ^6 ^ run particle cloud ~ ~ ~ ^ ^-15000000 ^100000000 0.000000025 0 + execute rotated ~290 0 positioned ^ ^6 ^ run particle cloud ~ ~ ~ ^ ^-15000000 ^100000000 0.000000025 0 + execute rotated ~300 0 positioned ^ ^6 ^ run particle cloud ~ ~ ~ ^ ^-15000000 ^100000000 0.000000025 0 + execute rotated ~310 0 positioned ^ ^6 ^ run particle cloud ~ ~ ~ ^ ^-15000000 ^100000000 0.000000025 0 + execute rotated ~320 0 positioned ^ ^6 ^ run particle cloud ~ ~ ~ ^ ^-15000000 ^100000000 0.000000025 0 + execute rotated ~330 0 positioned ^ ^6 ^ run particle cloud ~ ~ ~ ^ ^-15000000 ^100000000 0.000000025 0 + execute rotated ~340 0 positioned ^ ^6 ^ run particle cloud ~ ~ ~ ^ ^-15000000 ^100000000 0.000000025 0 + execute rotated ~350 0 positioned ^ ^6 ^ run particle cloud ~ ~ ~ ^ ^-15000000 ^100000000 0.000000025 0 + +# 終了 + tag @a[tag=DXYZ] remove DXYZ diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam_sword/event_attack.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam_sword/event_attack.mcfunction index d7bcb21a9c..45da0e2afe 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam_sword/event_attack.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam_sword/event_attack.mcfunction @@ -18,9 +18,14 @@ execute if score @s CO.EventTimer matches 15 run function asset:mob/0456.gargo_ex_machina/tick/util/sound execute if score @s CO.EventTimer matches 32 run function asset:mob/0456.gargo_ex_machina/tick/util/sound execute if score @s CO.EventTimer matches 50 run function asset:mob/0456.gargo_ex_machina/tick/util/sound + execute if entity @s[tag=CO.Skill.HalfBeam.IsRight] if score @s CO.EventTimer matches 44 positioned ^-4 ^ ^-3 run function asset:mob/0456.gargo_ex_machina/tick/util/step_sound + execute if entity @s[tag=CO.Skill.HalfBeam.IsRight] if score @s CO.EventTimer matches 60 positioned ^4 ^ ^4 run function asset:mob/0456.gargo_ex_machina/tick/util/step_sound + execute unless entity @s[tag=CO.Skill.HalfBeam.IsRight] if score @s CO.EventTimer matches 44 positioned ^4 ^ ^4 run function asset:mob/0456.gargo_ex_machina/tick/util/step_sound + execute unless entity @s[tag=CO.Skill.HalfBeam.IsRight] if score @s CO.EventTimer matches 60 positioned ^-4 ^ ^-3 run function asset:mob/0456.gargo_ex_machina/tick/util/step_sound # 攻撃 - execute if entity @s[tag=CO.Skill.HalfBeam.IsRight] if score @s CO.EventTimer matches 23 positioned ^-25 ^ ^ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_sword/attack - execute unless entity @s[tag=CO.Skill.HalfBeam.IsRight] if score @s CO.EventTimer matches 23 positioned ^25 ^ ^ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_sword/attack + execute if score @s CO.EventTimer matches 16 run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_sword/attack_sword + execute if entity @s[tag=CO.Skill.HalfBeam.IsRight] if score @s CO.EventTimer matches 23 positioned ^-30 ^ ^ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_sword/attack + execute unless entity @s[tag=CO.Skill.HalfBeam.IsRight] if score @s CO.EventTimer matches 23 positioned ^30 ^ ^ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_sword/attack # 攻撃演出 execute if score @s CO.EventTimer matches 11 positioned ~ ~12 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_sword/summon_laser_start execute if score @s CO.EventTimer matches 11..18 run playsound entity.breeze.jump hostile @a ~ ~ ~ 2 0.5 diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam_sword/event_charging.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam_sword/event_charging.mcfunction index 67b2933e8c..e445659888 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam_sword/event_charging.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam_sword/event_charging.mcfunction @@ -13,32 +13,33 @@ # モデルを合わせる execute as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run tp @s ~ ~ ~ ~ ~ # 予告 - # ノーマル - execute if predicate api:global_vars/difficulty/1_normal if score @s CO.EventTimer matches 15 run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_sword/prediction_circle.m {Tick:108} - execute if entity @s[tag=CO.Skill.HalfBeam.IsRight] if predicate api:global_vars/difficulty/1_normal if score @s CO.EventTimer matches 15 positioned ^-25 ^ ^ rotated ~-30 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_sword/prediction.m {Interpolation:20,Tick:108} - execute if entity @s[tag=CO.Skill.HalfBeam.IsRight] if predicate api:global_vars/difficulty/1_normal if score @s CO.EventTimer matches 35 positioned ^-25 ^0.05 ^ rotated ~30 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_sword/prediction.m {Interpolation:20,Tick:88} - execute unless entity @s[tag=CO.Skill.HalfBeam.IsRight] if predicate api:global_vars/difficulty/1_normal if score @s CO.EventTimer matches 15 positioned ^25 ^ ^ rotated ~30 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_sword/prediction.m {Interpolation:20,Tick:108} - execute unless entity @s[tag=CO.Skill.HalfBeam.IsRight] if predicate api:global_vars/difficulty/1_normal if score @s CO.EventTimer matches 35 positioned ^25 ^0.05 ^ rotated ~-30 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_sword/prediction.m {Interpolation:20,Tick:88} - # ハード - execute if predicate api:global_vars/difficulty/2_hard if score @s CO.EventTimer matches 35 run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_sword/prediction_circle.m {Tick:88} - execute if entity @s[tag=CO.Skill.HalfBeam.IsRight] if predicate api:global_vars/difficulty/2_hard if score @s CO.EventTimer matches 35 positioned ^-25 ^ ^ rotated ~-30 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_sword/prediction.m {Interpolation:20,Tick:88} - execute if entity @s[tag=CO.Skill.HalfBeam.IsRight] if predicate api:global_vars/difficulty/2_hard if score @s CO.EventTimer matches 55 positioned ^-25 ^0.05 ^ rotated ~30 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_sword/prediction.m {Interpolation:20,Tick:68} - execute unless entity @s[tag=CO.Skill.HalfBeam.IsRight] if predicate api:global_vars/difficulty/2_hard if score @s CO.EventTimer matches 35 positioned ^25 ^ ^ rotated ~30 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_sword/prediction.m {Interpolation:20,Tick:88} - execute unless entity @s[tag=CO.Skill.HalfBeam.IsRight] if predicate api:global_vars/difficulty/2_hard if score @s CO.EventTimer matches 55 positioned ^25 ^0.05 ^ rotated ~-30 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_sword/prediction.m {Interpolation:20,Tick:68} - # ブレスレス - execute if predicate api:global_vars/difficulty/min/3_blessless if score @s CO.EventTimer matches 90 run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_sword/prediction_circle.m {Tick:33} - execute if entity @s[tag=CO.Skill.HalfBeam.IsRight] if predicate api:global_vars/difficulty/min/3_blessless if score @s CO.EventTimer matches 90 positioned ^-25 ^ ^ rotated ~-30 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_sword/prediction.m {Interpolation:2,Tick:33} - execute if entity @s[tag=CO.Skill.HalfBeam.IsRight] if predicate api:global_vars/difficulty/min/3_blessless if score @s CO.EventTimer matches 95 positioned ^-25 ^0.05 ^ rotated ~30 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_sword/prediction.m {Interpolation:2,Tick:28} - execute unless entity @s[tag=CO.Skill.HalfBeam.IsRight] if predicate api:global_vars/difficulty/min/3_blessless if score @s CO.EventTimer matches 90 positioned ^25 ^ ^ rotated ~30 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_sword/prediction.m {Interpolation:2,Tick:33} - execute unless entity @s[tag=CO.Skill.HalfBeam.IsRight] if predicate api:global_vars/difficulty/min/3_blessless if score @s CO.EventTimer matches 95 positioned ^25 ^0.05 ^ rotated ~-30 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_sword/prediction.m {Interpolation:2,Tick:28} + # レーザー + # ノーマル + execute if entity @s[tag=CO.Skill.HalfBeam.IsRight] if predicate api:global_vars/difficulty/1_normal if score @s CO.EventTimer matches 15 positioned ^-30 ^ ^ rotated ~-20 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_sword/prediction.m {Interpolation:20,Tick:108} + execute if entity @s[tag=CO.Skill.HalfBeam.IsRight] if predicate api:global_vars/difficulty/1_normal if score @s CO.EventTimer matches 35 positioned ^-30 ^0.05 ^ rotated ~20 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_sword/prediction.m {Interpolation:20,Tick:88} + execute unless entity @s[tag=CO.Skill.HalfBeam.IsRight] if predicate api:global_vars/difficulty/1_normal if score @s CO.EventTimer matches 15 positioned ^30 ^ ^ rotated ~20 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_sword/prediction.m {Interpolation:20,Tick:108} + execute unless entity @s[tag=CO.Skill.HalfBeam.IsRight] if predicate api:global_vars/difficulty/1_normal if score @s CO.EventTimer matches 35 positioned ^30 ^0.05 ^ rotated ~-20 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_sword/prediction.m {Interpolation:20,Tick:88} + # ハード + execute if entity @s[tag=CO.Skill.HalfBeam.IsRight] if predicate api:global_vars/difficulty/2_hard if score @s CO.EventTimer matches 35 positioned ^-30 ^ ^ rotated ~-20 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_sword/prediction.m {Interpolation:20,Tick:88} + execute if entity @s[tag=CO.Skill.HalfBeam.IsRight] if predicate api:global_vars/difficulty/2_hard if score @s CO.EventTimer matches 55 positioned ^-30 ^0.05 ^ rotated ~20 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_sword/prediction.m {Interpolation:20,Tick:68} + execute unless entity @s[tag=CO.Skill.HalfBeam.IsRight] if predicate api:global_vars/difficulty/2_hard if score @s CO.EventTimer matches 35 positioned ^30 ^ ^ rotated ~20 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_sword/prediction.m {Interpolation:20,Tick:88} + execute unless entity @s[tag=CO.Skill.HalfBeam.IsRight] if predicate api:global_vars/difficulty/2_hard if score @s CO.EventTimer matches 55 positioned ^30 ^0.05 ^ rotated ~-20 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_sword/prediction.m {Interpolation:20,Tick:68} + # ブレスレス + execute if entity @s[tag=CO.Skill.HalfBeam.IsRight] if predicate api:global_vars/difficulty/min/3_blessless if score @s CO.EventTimer matches 90 positioned ^-30 ^ ^ rotated ~-20 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_sword/prediction.m {Interpolation:2,Tick:33} + execute if entity @s[tag=CO.Skill.HalfBeam.IsRight] if predicate api:global_vars/difficulty/min/3_blessless if score @s CO.EventTimer matches 95 positioned ^-30 ^0.05 ^ rotated ~20 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_sword/prediction.m {Interpolation:2,Tick:28} + execute unless entity @s[tag=CO.Skill.HalfBeam.IsRight] if predicate api:global_vars/difficulty/min/3_blessless if score @s CO.EventTimer matches 90 positioned ^30 ^ ^ rotated ~20 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_sword/prediction.m {Interpolation:2,Tick:33} + execute unless entity @s[tag=CO.Skill.HalfBeam.IsRight] if predicate api:global_vars/difficulty/min/3_blessless if score @s CO.EventTimer matches 95 positioned ^30 ^0.05 ^ rotated ~-20 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_sword/prediction.m {Interpolation:2,Tick:28} + # 剣 + # ノーマル + execute if predicate api:global_vars/difficulty/1_normal if score @s CO.EventTimer matches 15 run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_sword/prediction_circle.m {Tick:102} + # ハード + execute if predicate api:global_vars/difficulty/2_hard if score @s CO.EventTimer matches 35 run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_sword/prediction_circle.m {Tick:82} + # ブレスレス + execute if predicate api:global_vars/difficulty/min/3_blessless if score @s CO.EventTimer matches 90 run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_sword/prediction_circle.m {Tick:27} # 効果音 execute if score @s CO.EventTimer matches 1..100 positioned ~ ~15 ~ run particle end_rod ~ ~ ~ 2 2 2 0.05 1 # 予告 - # 攻撃方向をランダムに決定 - execute if score @s CO.EventTimer matches 1 if predicate lib:random_pass_per/50 run tag @s add CO.Skill.HalfBeam.IsRight - execute if entity @s[tag=CO.Skill.HalfBeam.IsRight] if score @s CO.EventTimer matches 1 run tellraw @a [{"text":"【石像の","color": "dark_purple","bold": true},{"text":" 右眼 ","color": "red","bold": true},{"text":"が光り始めた!!】","color": "dark_purple","bold": true}] - execute unless entity @s[tag=CO.Skill.HalfBeam.IsRight] if score @s CO.EventTimer matches 1 run tellraw @a [{"text":"【石像の","color": "dark_purple","bold": true},{"text":" 左眼 ","color": "blue","bold": true},{"text":"が光り始めた!!】","color": "dark_purple","bold": true}] execute if score @s CO.EventTimer matches 1 run playsound block.beacon.activate hostile @a ~ ~ ~ 2 1.5 execute if score @s CO.EventTimer matches 1 run playsound block.beacon.activate hostile @a ~ ~ ~ 2 1.5 execute if score @s CO.EventTimer matches 20 run playsound block.beacon.activate hostile @a ~ ~ ~ 2 1.6 diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam_sword/event_start.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam_sword/event_start.mcfunction index 56aedff00e..8b49dc2088 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam_sword/event_start.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam_sword/event_start.mcfunction @@ -15,6 +15,11 @@ execute if score @s CO.EventTimer matches 24 run function asset:mob/0456.gargo_ex_machina/tick/util/sound # モデルを合わせる execute as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run tp @s ~ ~ ~ ~ ~ - + # 攻撃方向をランダムに決定 + execute if score @s CO.EventTimer matches 1 if predicate lib:random_pass_per/50 run tag @s add CO.Skill.HalfBeam.IsRight + # 予告 + execute if entity @s[tag=CO.Skill.HalfBeam.IsRight] if score @s CO.EventTimer matches 1 run tellraw @a [{"text":"【石像の","color": "dark_purple","bold": true},{"text":" 右眼 ","color": "red","bold": true},{"text":"が光り始めた!!】","color": "dark_purple","bold": true}] + execute unless entity @s[tag=CO.Skill.HalfBeam.IsRight] if score @s CO.EventTimer matches 1 run tellraw @a [{"text":"【石像の","color": "dark_purple","bold": true},{"text":" 左眼 ","color": "blue","bold": true},{"text":"が光り始めた!!】","color": "dark_purple","bold": true}] + # 溜めに移行 execute if score @s CO.EventTimer matches 26.. run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_sword/start_charging diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam_sword/prediction.m.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam_sword/prediction.m.mcfunction index 5b7a830d8d..1f38cc9de9 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam_sword/prediction.m.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam_sword/prediction.m.mcfunction @@ -8,7 +8,7 @@ data modify storage api: Argument.ID set value 2113 data modify storage api: Argument.FieldOverride.RotationX set from entity @s Rotation[0] data modify storage api: Argument.FieldOverride.Color set value 3381759 - data modify storage api: Argument.FieldOverride.Scale set value [40f,80f] + data modify storage api: Argument.FieldOverride.Scale set value [60f,100f] $data modify storage api: Argument.FieldOverride.Interpolation set value $(Interpolation) $data modify storage api: Argument.FieldOverride.Tick set value $(Tick) - execute positioned ^ ^0.1 ^40 rotated ~180 0 run function api:object/summon + execute positioned ^ ^0.1 ^50 rotated ~180 0 run function api:object/summon diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/move/.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/move/.mcfunction index 3f07d23836..af2a089575 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/move/.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/move/.mcfunction @@ -24,10 +24,10 @@ execute if score @s CO.EventTimer matches 1 as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run function animated_java:gargo_ex_machina/animations/walk_start/tween {duration:1, to_frame: 1} execute if score @s CO.EventTimer matches 10 as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run function animated_java:gargo_ex_machina/animations/walk/tween {duration:1, to_frame: 1} # 効果音・演出 - execute if score @s CO.EventTimer matches 24 positioned ^-2.5 ^ ^3 run function asset:mob/0456.gargo_ex_machina/tick/event/move/step_sound - execute if score @s CO.EventTimer matches 39 positioned ^2.5 ^ ^3 run function asset:mob/0456.gargo_ex_machina/tick/event/move/step_sound - execute if score @s CO.EventTimer matches 54 positioned ^-2.5 ^ ^3 run function asset:mob/0456.gargo_ex_machina/tick/event/move/step_sound - execute if score @s CO.EventTimer matches 69 positioned ^2.5 ^ ^3 run function asset:mob/0456.gargo_ex_machina/tick/event/move/step_sound + execute if score @s CO.EventTimer matches 24 positioned ^-2.5 ^ ^3 run function asset:mob/0456.gargo_ex_machina/tick/util/step_sound + execute if score @s CO.EventTimer matches 39 positioned ^2.5 ^ ^3 run function asset:mob/0456.gargo_ex_machina/tick/util/step_sound + execute if score @s CO.EventTimer matches 54 positioned ^-2.5 ^ ^3 run function asset:mob/0456.gargo_ex_machina/tick/util/step_sound + execute if score @s CO.EventTimer matches 69 positioned ^2.5 ^ ^3 run function asset:mob/0456.gargo_ex_machina/tick/util/step_sound execute if score @s CO.EventTimer matches 10..65 positioned ^-14 ^ ^-10 run particle crit ~ ~0.5 ~ 0.5 0.1 0.5 0.5 3 force @a[distance=..80] execute if score @s CO.EventTimer matches 10..65 positioned ^-14 ^ ^-10 run particle block quartz_block ~ ~ ~ 0.5 0.1 0.5 0 5 force @a[distance=..80] execute if score @s CO.EventTimer matches 10..65 positioned ^-14 ^ ^-10 run particle explosion ~ ~0.5 ~ 0.5 0.1 0.5 0.5 1 force @a[distance=..80] diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/sword_attack/attack_effect.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/sword_attack/attack_effect.mcfunction index 1f961c953d..3ab00d185f 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/sword_attack/attack_effect.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/sword_attack/attack_effect.mcfunction @@ -9,6 +9,11 @@ playsound entity.iron_golem.death hostile @a ~ ~ ~ 2 0.5 playsound entity.wither.break_block hostile @a ~ ~ ~ 2 0.7 +# 斬撃オブジェクト + data modify storage api: Argument.ID set value 2001 + data modify storage api: Argument.FieldOverride set value {Color:9484241,Scale:[40f,40f,7f],Transformation:{left_rotation:[0f,-0.7068252f,0f,0.7073883f],right_rotation:[0f,0f,0f,1f],translation:[0f,0f,0f]}} + execute positioned ^ ^8 ^-18 run function api:object/summon + # パーティクル particle explosion ~ ~1 ~ 5 2 5 0 30 # 円型ベクトルパーティクル diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/move/step_sound.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/util/step_sound.mcfunction similarity index 67% rename from Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/move/step_sound.mcfunction rename to Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/util/step_sound.mcfunction index 6f46407d8d..2955309988 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/move/step_sound.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/util/step_sound.mcfunction @@ -1,8 +1,8 @@ -#> asset:mob/0456.gargo_ex_machina/tick/event/move/step_sound +#> asset:mob/0456.gargo_ex_machina/tick/util/step_sound # -# 移動 +# 足音 # -# @within asset:mob/0456.gargo_ex_machina/tick/event/move/ +# @within asset:mob/0456.gargo_ex_machina/tick/** # 演出 playsound entity.ravager.step hostile @a ~ ~ ~ 2 0.7 From 011f02f0d2784ed4dd1a5ef08426a92eb4e1f1c4 Mon Sep 17 00:00:00 2001 From: mokkkk Date: Sat, 21 Feb 2026 17:17:21 +0900 Subject: [PATCH 21/98] =?UTF-8?q?=E6=AD=A6=E5=99=A8=E5=A4=89=E5=BD=A2?= =?UTF-8?q?=E5=AE=9F=E8=A3=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../0456.gargo_ex_machina/_index.d.mcfunction | 12 +++++- .../tick/debug/interrupt.mcfunction | 2 +- .../tick/event/.mcfunction | 7 +++ .../tick/event/transform_shoot/.mcfunction | 43 +++++++++++++++++++ .../tick/event/transform_shoot/end.mcfunction | 18 ++++++++ .../tick/event/transform_sword/.mcfunction | 43 +++++++++++++++++++ .../tick/event/transform_sword/end.mcfunction | 18 ++++++++ 7 files changed, 140 insertions(+), 3 deletions(-) create mode 100644 Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/transform_shoot/.mcfunction create mode 100644 Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/transform_shoot/end.mcfunction create mode 100644 Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/transform_sword/.mcfunction create mode 100644 Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/transform_sword/end.mcfunction diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/_index.d.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/_index.d.mcfunction index 3f063c56c9..74a8fbba41 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/_index.d.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/_index.d.mcfunction @@ -27,8 +27,8 @@ #declare tag CO.Skill.SuperJump スーパージャンプ #declare tag CO.Skill.SuperJump.Attack スーパージャンプ #declare tag CO.Skill.FieldModify フィールド・モディファイ - #declare tag - #declare tag + #declare tag CO.Skill.Transform.Shoot 銃変形 + #declare tag CO.Skill.Transform.Sword 剣変形 #declare tag #declare tag #declare tag @@ -84,6 +84,14 @@ #declare function animated_java:gargo_ex_machina/animations/super_jump_start/tween #declare function animated_java:gargo_ex_machina/animations/super_jump_end/tween #declare function animated_java:gargo_ex_machina/animations/call_drone/tween + #declare function animated_java:gargo_ex_machina/animations/change_to_shot/tween + #declare function animated_java:gargo_ex_machina/animations/change_to_sword/tween + #declare function animated_java:gargo_ex_machina/animations/idle_shot/tween + #declare function + #declare function + #declare function + #declare function + #declare function #declare function #declare function #declare function diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/debug/interrupt.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/debug/interrupt.mcfunction index ff2693d3f5..6f8850f375 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/debug/interrupt.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/debug/interrupt.mcfunction @@ -18,4 +18,4 @@ # execute at @s run tp @e[type=item_display,tag=CO.ModelRoot] ~ ~ ~ ~ 0 # イベント実行 - tag @s add CO.Skill.HalfBeamSword + tag @s add CO.Skill.Transform.Sword diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/.mcfunction index e8ffc7fb7c..d965b5bfcf 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/.mcfunction @@ -7,6 +7,10 @@ # 起動 execute if entity @s[tag=CO.Skill.Activate] run function asset:mob/0456.gargo_ex_machina/tick/event/activate/ +# 変形 + execute if entity @s[tag=CO.Skill.Transform.Shoot] run function asset:mob/0456.gargo_ex_machina/tick/event/transform_shoot/ + execute if entity @s[tag=CO.Skill.Transform.Sword] run function asset:mob/0456.gargo_ex_machina/tick/event/transform_sword/ + # 移動 execute if entity @s[tag=CO.Skill.Move] run function asset:mob/0456.gargo_ex_machina/tick/event/move/ execute if entity @s[tag=CO.Skill.Move.End] run function asset:mob/0456.gargo_ex_machina/tick/event/move/event_end @@ -26,6 +30,9 @@ execute if entity @s[tag=CO.Skill.HalfBeamSword.Charge] run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_sword/event_charging execute if entity @s[tag=CO.Skill.HalfBeamSword.Attack] run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_sword/event_attack +# 半面焼きビーム + 上空射撃 + # TODO + # スーパージャンプ execute if entity @s[tag=CO.Skill.SuperJump] run function asset:mob/0456.gargo_ex_machina/tick/event/super_jump/event_start execute if entity @s[tag=CO.Skill.SuperJump.Attack] run function asset:mob/0456.gargo_ex_machina/tick/event/super_jump/event_attack diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/transform_shoot/.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/transform_shoot/.mcfunction new file mode 100644 index 0000000000..13f313a8ca --- /dev/null +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/transform_shoot/.mcfunction @@ -0,0 +1,43 @@ +#> asset:mob/0456.gargo_ex_machina/tick/event/transform_shoot/ +# +# 銃変形 +# +# @within asset:mob/0456.gargo_ex_machina/tick/event/ + +# タイマー増加 + scoreboard players add @s CO.EventTimer 1 + +# 変形 + # アニメーション再生 + execute if score @s CO.EventTimer matches 1 as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run function animated_java:gargo_ex_machina/animations/change_to_shot/tween {duration:1, to_frame: 1} + # 効果音 + execute if score @s CO.EventTimer matches 1 run playsound block.grindstone.use hostile @a ~ ~ ~ 3 0.5 + execute if score @s CO.EventTimer matches 1 run playsound ui.stonecutter.take_result hostile @a ~ ~ ~ 3 0.5 + execute if score @s CO.EventTimer matches 10 run playsound item.crossbow.loading_end hostile @a ~ ~ ~ 3 0.5 + execute if score @s CO.EventTimer matches 10 run playsound item.crossbow.loading_end hostile @a ~ ~ ~ 3 0.5 + execute if score @s CO.EventTimer matches 15 run playsound item.crossbow.loading_end hostile @a ~ ~ ~ 3 0.7 + execute if score @s CO.EventTimer matches 15 run playsound item.crossbow.loading_end hostile @a ~ ~ ~ 3 0.7 + execute if score @s CO.EventTimer matches 20 run playsound block.piston.extend hostile @a ~ ~ ~ 2 1.1 + execute if score @s CO.EventTimer matches 26 run playsound block.piston.contract hostile @a ~ ~ ~ 2 1.2 + execute if score @s CO.EventTimer matches 31 run playsound item.crossbow.loading_end hostile @a ~ ~ ~ 3 0.7 + execute if score @s CO.EventTimer matches 34 run playsound item.crossbow.loading_end hostile @a ~ ~ ~ 3 0.9 + execute if score @s CO.EventTimer matches 37 run playsound item.crossbow.loading_end hostile @a ~ ~ ~ 3 0.7 + execute if score @s CO.EventTimer matches 40 run playsound item.crossbow.loading_end hostile @a ~ ~ ~ 3 0.9 + execute if score @s CO.EventTimer matches 43 run playsound item.crossbow.loading_end hostile @a ~ ~ ~ 3 0.7 + execute if score @s CO.EventTimer matches 31 run playsound item.crossbow.loading_end hostile @a ~ ~ ~ 3 0.5 + execute if score @s CO.EventTimer matches 34 run playsound item.crossbow.loading_end hostile @a ~ ~ ~ 3 0.7 + execute if score @s CO.EventTimer matches 37 run playsound item.crossbow.loading_end hostile @a ~ ~ ~ 3 0.5 + execute if score @s CO.EventTimer matches 40 run playsound item.crossbow.loading_end hostile @a ~ ~ ~ 3 0.7 + execute if score @s CO.EventTimer matches 43 run playsound item.crossbow.loading_end hostile @a ~ ~ ~ 3 0.5 + execute if score @s CO.EventTimer matches 50 run playsound item.crossbow.loading_end hostile @a ~ ~ ~ 3 0.5 + execute if score @s CO.EventTimer matches 50 run playsound item.crossbow.loading_end hostile @a ~ ~ ~ 3 0.7 + execute if score @s CO.EventTimer matches 45 run playsound block.piston.extend hostile @a ~ ~ ~ 2 1.1 + execute if score @s CO.EventTimer matches 58 run playsound block.piston.contract hostile @a ~ ~ ~ 2 1.1 + execute if score @s CO.EventTimer matches 65 run playsound block.grindstone.use hostile @a ~ ~ ~ 3 0.5 + execute if score @s CO.EventTimer matches 65 run playsound ui.stonecutter.take_result hostile @a ~ ~ ~ 3 0.5 + +# モデルを合わせる + execute as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run tp @s ~ ~ ~ ~ ~ + +# 終了 + execute if score @s CO.EventTimer matches 85.. run function asset:mob/0456.gargo_ex_machina/tick/event/transform_shoot/end diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/transform_shoot/end.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/transform_shoot/end.mcfunction new file mode 100644 index 0000000000..71c74b84d2 --- /dev/null +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/transform_shoot/end.mcfunction @@ -0,0 +1,18 @@ +#> asset:mob/0456.gargo_ex_machina/tick/event/transform_shoot/end +# +# 剣変形 +# +# @within asset:mob/0456.gargo_ex_machina/tick/event/transform_shoot/ + +# タグ消去 + scoreboard players set @s CO.EventTimer 0 + tag @s remove CO.Skill.Transform.Shoot + +# 目的地消去 + kill @e[type=area_effect_cloud,tag=CO.Aec.Destination,distance=..80] + +# 待機モーション再生 + execute as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run function animated_java:gargo_ex_machina/animations/idle_shot/tween {duration:1, to_frame: 1} + +# 行動 + # function asset:mob/0410.heiloang/tick/act/ diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/transform_sword/.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/transform_sword/.mcfunction new file mode 100644 index 0000000000..fd9cea63d2 --- /dev/null +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/transform_sword/.mcfunction @@ -0,0 +1,43 @@ +#> asset:mob/0456.gargo_ex_machina/tick/event/transform_sword/ +# +# 剣変形 +# +# @within asset:mob/0456.gargo_ex_machina/tick/event/ + +# タイマー増加 + scoreboard players add @s CO.EventTimer 1 + +# 変形 + # アニメーション再生 + execute if score @s CO.EventTimer matches 1 as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run function animated_java:gargo_ex_machina/animations/change_to_sword/tween {duration:1, to_frame: 1} + # 効果音 + execute if score @s CO.EventTimer matches 1 run playsound block.grindstone.use hostile @a ~ ~ ~ 3 0.5 + execute if score @s CO.EventTimer matches 1 run playsound ui.stonecutter.take_result hostile @a ~ ~ ~ 3 0.5 + execute if score @s CO.EventTimer matches 55 run playsound block.piston.contract hostile @a ~ ~ ~ 2 1.2 + execute if score @s CO.EventTimer matches 51 run playsound block.piston.extend hostile @a ~ ~ ~ 2 1.1 + execute if score @s CO.EventTimer matches 44 run playsound block.piston.contract hostile @a ~ ~ ~ 2 1.2 + execute if score @s CO.EventTimer matches 42 run playsound item.crossbow.loading_end hostile @a ~ ~ ~ 3 0.7 + execute if score @s CO.EventTimer matches 42 run playsound item.crossbow.loading_end hostile @a ~ ~ ~ 3 0.9 + execute if score @s CO.EventTimer matches 39 run playsound item.crossbow.loading_end hostile @a ~ ~ ~ 3 0.7 + execute if score @s CO.EventTimer matches 39 run playsound item.crossbow.loading_end hostile @a ~ ~ ~ 3 0.9 + execute if score @s CO.EventTimer matches 36 run playsound item.crossbow.loading_end hostile @a ~ ~ ~ 3 0.7 + execute if score @s CO.EventTimer matches 36 run playsound item.crossbow.loading_end hostile @a ~ ~ ~ 3 0.9 + execute if score @s CO.EventTimer matches 33 run playsound item.crossbow.loading_end hostile @a ~ ~ ~ 3 0.7 + execute if score @s CO.EventTimer matches 33 run playsound item.crossbow.loading_end hostile @a ~ ~ ~ 3 0.5 + execute if score @s CO.EventTimer matches 32 run playsound item.crossbow.loading_end hostile @a ~ ~ ~ 3 0.7 + execute if score @s CO.EventTimer matches 32 run playsound item.crossbow.loading_end hostile @a ~ ~ ~ 3 0.5 + execute if score @s CO.EventTimer matches 29 run playsound item.crossbow.loading_end hostile @a ~ ~ ~ 3 0.7 + execute if score @s CO.EventTimer matches 29 run playsound item.crossbow.loading_end hostile @a ~ ~ ~ 3 0.5 + execute if score @s CO.EventTimer matches 26 run playsound item.crossbow.loading_end hostile @a ~ ~ ~ 3 0.5 + execute if score @s CO.EventTimer matches 26 run playsound item.crossbow.loading_end hostile @a ~ ~ ~ 3 0.7 + execute if score @s CO.EventTimer matches 21 run playsound block.piston.extend hostile @a ~ ~ ~ 2 1.1 + execute if score @s CO.EventTimer matches 15 run playsound block.piston.contract hostile @a ~ ~ ~ 2 1.1 + execute if score @s CO.EventTimer matches 10 run playsound block.piston.extend hostile @a ~ ~ ~ 2 1.1 + execute if score @s CO.EventTimer matches 65 run playsound block.grindstone.use hostile @a ~ ~ ~ 3 0.5 + execute if score @s CO.EventTimer matches 65 run playsound ui.stonecutter.take_result hostile @a ~ ~ ~ 3 0.5 + +# モデルを合わせる + execute as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run tp @s ~ ~ ~ ~ ~ + +# 終了 + execute if score @s CO.EventTimer matches 85.. run function asset:mob/0456.gargo_ex_machina/tick/event/transform_sword/end diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/transform_sword/end.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/transform_sword/end.mcfunction new file mode 100644 index 0000000000..eb42ed5cdf --- /dev/null +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/transform_sword/end.mcfunction @@ -0,0 +1,18 @@ +#> asset:mob/0456.gargo_ex_machina/tick/event/transform_sword/end +# +# 銃変形 +# +# @within asset:mob/0456.gargo_ex_machina/tick/event/transform_sword/ + +# タグ消去 + scoreboard players set @s CO.EventTimer 0 + tag @s remove CO.Skill.Transform.Sword + +# 目的地消去 + kill @e[type=area_effect_cloud,tag=CO.Aec.Destination,distance=..80] + +# 待機モーション再生 + execute as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run function animated_java:gargo_ex_machina/animations/idle/tween {duration:1, to_frame: 1} + +# 行動 + # function asset:mob/0410.heiloang/tick/act/ From 70e7616ca5ca754bbf8e91dbc3751211f515296d Mon Sep 17 00:00:00 2001 From: mokkkk Date: Mon, 23 Feb 2026 12:22:42 +0900 Subject: [PATCH 22/98] =?UTF-8?q?=E5=B0=84=E6=92=83=E3=83=A1=E3=82=A4?= =?UTF-8?q?=E3=83=B3=E9=83=A8=E5=88=86=E4=BD=9C=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../0456.gargo_ex_machina/_index.d.mcfunction | 7 ++- .../mob/0456.gargo_ex_machina/load.mcfunction | 1 + .../0456.gargo_ex_machina/register.mcfunction | 2 + .../tick/debug/interrupt.mcfunction | 2 +- .../tick/event/.mcfunction | 3 ++ .../event/half_beam/event_charging.mcfunction | 21 ++++---- .../tick/event/shot/.mcfunction | 53 +++++++++++++++++++ .../tick/event/shot/attack.mcfunction | 23 ++++++++ .../tick/event/shot/attack_effect.mcfunction | 13 +++++ .../event/shot/charge_effect.m.mcfunction | 9 ++++ .../tick/event/shot/end.mcfunction | 15 ++++++ .../tick/event/shot/prediction.m.mcfunction | 13 +++++ .../tick/event/shot/summon_laser.m.mcfunction | 15 ++++++ .../tick/util/move_to_ground.mcfunction | 13 +++++ .../tick/util/move_to_ground_loop.mcfunction | 11 ++++ .../2263.gem_laser_vfx/_index.d.mcfunction | 1 + .../2263.gem_laser_vfx/init/.mcfunction | 3 ++ .../2263.gem_laser_vfx/tick/.mcfunction | 8 +-- 18 files changed, 196 insertions(+), 17 deletions(-) create mode 100644 Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/shot/.mcfunction create mode 100644 Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/shot/attack.mcfunction create mode 100644 Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/shot/attack_effect.mcfunction create mode 100644 Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/shot/charge_effect.m.mcfunction create mode 100644 Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/shot/end.mcfunction create mode 100644 Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/shot/prediction.m.mcfunction create mode 100644 Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/shot/summon_laser.m.mcfunction create mode 100644 Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/util/move_to_ground.mcfunction create mode 100644 Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/util/move_to_ground_loop.mcfunction diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/_index.d.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/_index.d.mcfunction index 74a8fbba41..cee940cab9 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/_index.d.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/_index.d.mcfunction @@ -29,6 +29,7 @@ #declare tag CO.Skill.FieldModify フィールド・モディファイ #declare tag CO.Skill.Transform.Shoot 銃変形 #declare tag CO.Skill.Transform.Sword 剣変形 + #declare tag CO.Skill.Shot 射撃 #declare tag #declare tag #declare tag @@ -43,9 +44,12 @@ #declare tag CO.ScapeSheep #declare tag CO.MainTarget #declare tag CO.Aec.Target + #declare tag CO.Temp.Rotation #declare tag CO.Aec.Destination + #declare tag CO.Aec.AttackPosition #declare tag CO.Aec.FieldModify #declare tag CO.Aec.FieldModify.Init + #declare tag CO.Temp.Ground #declare tag #declare tag #declare tag @@ -57,6 +61,7 @@ #declare tag #declare tag # - 自動生成 + #declare tag aj.global.data #declare function animated_java:gargo_ex_machina/summon #declare function animated_java:gargo_ex_machina/animations/pause_all #declare function animated_java:gargo_ex_machina/animations/idle/tween @@ -87,7 +92,7 @@ #declare function animated_java:gargo_ex_machina/animations/change_to_shot/tween #declare function animated_java:gargo_ex_machina/animations/change_to_sword/tween #declare function animated_java:gargo_ex_machina/animations/idle_shot/tween - #declare function + #declare function animated_java:gargo_ex_machina/animations/shot_target_spin/tween #declare function #declare function #declare function diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/load.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/load.mcfunction index 045596e731..b60363f74c 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/load.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/load.mcfunction @@ -8,3 +8,4 @@ # @within function asset:mob/0456.gargo_ex_machina/** scoreboard objectives add CO.EventTimer dummy scoreboard objectives add CO.FieldModify.Color dummy + scoreboard objectives add CO.Counter dummy diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/register.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/register.mcfunction index 52b070da0d..e41e2a4e81 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/register.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/register.mcfunction @@ -48,3 +48,5 @@ data modify storage asset:mob Field.Damage.SuperJump set value {Amount:70.0,Type:"Physical",Element:"None"} # フィールド・モディファイ data modify storage asset:mob Field.Damage.FieldModify set value {Amount:90.0,Type:"Magic",Element:"None"} + # 射撃 + data modify storage asset:mob Field.Damage.Shot set value {Amount:60.0,Type:"Magic",Element:"None"} diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/debug/interrupt.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/debug/interrupt.mcfunction index 6f8850f375..0ad327e5bb 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/debug/interrupt.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/debug/interrupt.mcfunction @@ -18,4 +18,4 @@ # execute at @s run tp @e[type=item_display,tag=CO.ModelRoot] ~ ~ ~ ~ 0 # イベント実行 - tag @s add CO.Skill.Transform.Sword + tag @s add CO.Skill.Shot diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/.mcfunction index d965b5bfcf..804cbc3a56 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/.mcfunction @@ -39,3 +39,6 @@ # フィールド・モディファイ execute if entity @s[tag=CO.Skill.FieldModify] run function asset:mob/0456.gargo_ex_machina/tick/event/field_modify/event_start + +# 射撃 + execute if entity @s[tag=CO.Skill.Shot] run function asset:mob/0456.gargo_ex_machina/tick/event/shot/ diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam/event_charging.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam/event_charging.mcfunction index 242184132e..652cc2f0ca 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam/event_charging.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam/event_charging.mcfunction @@ -32,17 +32,16 @@ execute if score @s CO.EventTimer matches 1..100 positioned ~ ~15 ~ run particle end_rod ~ ~ ~ 2 2 2 0.05 1 # 予告 - # 攻撃方向をランダムに決定 - execute if score @s CO.EventTimer matches 1 run playsound block.beacon.activate hostile @a ~ ~ ~ 2 1.5 - execute if score @s CO.EventTimer matches 1 run playsound block.beacon.activate hostile @a ~ ~ ~ 2 1.5 - execute if score @s CO.EventTimer matches 20 run playsound block.beacon.activate hostile @a ~ ~ ~ 2 1.6 - execute if score @s CO.EventTimer matches 20 run playsound block.beacon.activate hostile @a ~ ~ ~ 2 1.6 - execute if score @s CO.EventTimer matches 40 run playsound block.beacon.activate hostile @a ~ ~ ~ 2 1.7 - execute if score @s CO.EventTimer matches 40 run playsound block.beacon.activate hostile @a ~ ~ ~ 2 1.7 - execute if score @s CO.EventTimer matches 60 run playsound block.beacon.activate hostile @a ~ ~ ~ 2 1.8 - execute if score @s CO.EventTimer matches 60 run playsound block.beacon.activate hostile @a ~ ~ ~ 2 1.8 - execute if score @s CO.EventTimer matches 80 run playsound block.beacon.activate hostile @a ~ ~ ~ 2 2 - execute if score @s CO.EventTimer matches 80 run playsound block.beacon.activate hostile @a ~ ~ ~ 2 2 + execute if score @s CO.EventTimer matches 1 run playsound block.beacon.activate hostile @a ~ ~ ~ 2 1.5 + execute if score @s CO.EventTimer matches 1 run playsound block.beacon.activate hostile @a ~ ~ ~ 2 1.5 + execute if score @s CO.EventTimer matches 20 run playsound block.beacon.activate hostile @a ~ ~ ~ 2 1.6 + execute if score @s CO.EventTimer matches 20 run playsound block.beacon.activate hostile @a ~ ~ ~ 2 1.6 + execute if score @s CO.EventTimer matches 40 run playsound block.beacon.activate hostile @a ~ ~ ~ 2 1.7 + execute if score @s CO.EventTimer matches 40 run playsound block.beacon.activate hostile @a ~ ~ ~ 2 1.7 + execute if score @s CO.EventTimer matches 60 run playsound block.beacon.activate hostile @a ~ ~ ~ 2 1.8 + execute if score @s CO.EventTimer matches 60 run playsound block.beacon.activate hostile @a ~ ~ ~ 2 1.8 + execute if score @s CO.EventTimer matches 80 run playsound block.beacon.activate hostile @a ~ ~ ~ 2 2 + execute if score @s CO.EventTimer matches 80 run playsound block.beacon.activate hostile @a ~ ~ ~ 2 2 # 終了 execute if score @s CO.EventTimer matches 100.. run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam/start_attack diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/shot/.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/shot/.mcfunction new file mode 100644 index 0000000000..6ee9c69b97 --- /dev/null +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/shot/.mcfunction @@ -0,0 +1,53 @@ +#> asset:mob/0456.gargo_ex_machina/tick/event/shot/ +# +# 射撃 +# +# @within asset:mob/0456.gargo_ex_machina/tick/event/ + +# タイマー増加 + scoreboard players add @s CO.EventTimer 1 + +# 構え + # アニメーション再生 + execute if score @s CO.EventTimer matches 1 as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run function animated_java:gargo_ex_machina/animations/shot_target_spin/tween {duration:1, to_frame: 1} + # 効果音 + execute if score @s CO.EventTimer matches 1 run function asset:mob/0456.gargo_ex_machina/tick/util/sound + execute if score @s CO.EventTimer matches 16 positioned ^-4 ^ ^4 run function asset:mob/0456.gargo_ex_machina/tick/util/step_sound + execute if score @s CO.EventTimer matches 72 run function asset:mob/0456.gargo_ex_machina/tick/util/sound + execute if score @s CO.EventTimer matches 84 run playsound block.piston.contract hostile @a ~ ~ ~ 2 0.9 + execute if score @s CO.EventTimer matches 100 run function asset:mob/0456.gargo_ex_machina/tick/util/sound + execute if score @s CO.EventTimer matches 122 positioned ^-4 ^ ^-3 run function asset:mob/0456.gargo_ex_machina/tick/util/step_sound + # モデルを合わせる + execute as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run tp @s ~ ~ ~ ~ ~ + # 対象を向く + execute if score @s CO.EventTimer matches 1..30 run function asset:mob/0456.gargo_ex_machina/tick/util/rotate_to_target + # 攻撃 + # 攻撃位置決定 + execute if score @s CO.EventTimer matches 30 at @p[tag=CO.MainTarget,distance=..80] run summon area_effect_cloud ~ ~ ~ {Tags:["CO.Aec.AttackPosition"],Duration:80} + execute if score @s CO.EventTimer matches 30 as @e[type=area_effect_cloud,tag=CO.Aec.AttackPosition,distance=..80,limit=1] at @s run function asset:mob/0456.gargo_ex_machina/tick/util/move_to_ground + # 予兆 + execute if score @s CO.EventTimer matches 30 at @e[type=area_effect_cloud,tag=CO.Aec.AttackPosition,distance=..80,limit=1] run function asset:mob/0456.gargo_ex_machina/tick/event/shot/prediction.m {Tick:42} + # 演出 + execute if score @s CO.EventTimer matches 5..68 as @e[type=item_display,tag=CO.ModelRoot,distance=..80,sort=nearest,limit=1] at @s on passengers if entity @s[tag=aj.global.data] run function asset:mob/0456.gargo_ex_machina/tick/event/shot/charge_effect.m with entity @s data.locators.muzzle + execute if score @s CO.EventTimer matches 69 as @e[type=item_display,tag=CO.ModelRoot,distance=..80,sort=nearest,limit=1] at @s on passengers if entity @s[tag=aj.global.data] run function asset:mob/0456.gargo_ex_machina/tick/event/shot/summon_laser.m with entity @s data.locators.muzzle + execute if score @s CO.EventTimer matches 1 run playsound block.beacon.activate hostile @a ~ ~ ~ 2 1.4 + execute if score @s CO.EventTimer matches 1 run playsound block.beacon.activate hostile @a ~ ~ ~ 2 1.4 + execute if score @s CO.EventTimer matches 10 run playsound block.beacon.activate hostile @a ~ ~ ~ 2 1.5 + execute if score @s CO.EventTimer matches 10 run playsound block.beacon.activate hostile @a ~ ~ ~ 2 1.5 + execute if score @s CO.EventTimer matches 20 run playsound block.beacon.activate hostile @a ~ ~ ~ 2 1.6 + execute if score @s CO.EventTimer matches 20 run playsound block.beacon.activate hostile @a ~ ~ ~ 2 1.6 + execute if score @s CO.EventTimer matches 30 run playsound block.beacon.activate hostile @a ~ ~ ~ 2 1.7 + execute if score @s CO.EventTimer matches 30 run playsound block.beacon.activate hostile @a ~ ~ ~ 2 1.7 + execute if score @s CO.EventTimer matches 40 run playsound block.beacon.activate hostile @a ~ ~ ~ 2 1.8 + execute if score @s CO.EventTimer matches 40 run playsound block.beacon.activate hostile @a ~ ~ ~ 2 1.8 + execute if score @s CO.EventTimer matches 50 run playsound block.beacon.activate hostile @a ~ ~ ~ 2 1.9 + execute if score @s CO.EventTimer matches 50 run playsound block.beacon.activate hostile @a ~ ~ ~ 2 1.9 + execute if score @s CO.EventTimer matches 60 run playsound block.beacon.activate hostile @a ~ ~ ~ 2 2.0 + execute if score @s CO.EventTimer matches 60 run playsound block.beacon.activate hostile @a ~ ~ ~ 2 2.0 + # 攻撃 + execute if score @s CO.EventTimer matches 72..74 run playsound entity.breeze.jump hostile @a ~ ~ ~ 2 0.5 + execute if score @s CO.EventTimer matches 72..74 run playsound entity.breeze.jump hostile @a ~ ~ ~ 2 0.6 + execute if score @s CO.EventTimer matches 72 at @e[type=area_effect_cloud,tag=CO.Aec.AttackPosition,distance=..80,limit=1] run function asset:mob/0456.gargo_ex_machina/tick/event/shot/attack + +# 終了 + execute if score @s CO.EventTimer matches 126.. run function asset:mob/0456.gargo_ex_machina/tick/event/shot/end diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/shot/attack.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/shot/attack.mcfunction new file mode 100644 index 0000000000..9eccf2716e --- /dev/null +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/shot/attack.mcfunction @@ -0,0 +1,23 @@ +#> asset:mob/0456.gargo_ex_machina/tick/event/shot/attack +# +# 射撃 +# +# @within asset:mob/0456.gargo_ex_machina/tick/event/shot/ + +# ヒット判定 + # 円範囲 + tag @a[tag=!PlayerShouldInvulnerable,distance=..7.5] add DXYZ + +# ダメージ + data modify storage api: Argument.Damage set from storage asset:context this.Damage.Shot.Amount + data modify storage api: Argument.AttackType set from storage asset:context this.Damage.Shot.Type + data modify storage api: Argument.ElementType set from storage asset:context this.Damage.Shot.Element + function api:damage/modifier + execute as @a[tag=DXYZ] run function api:damage/ + function api:damage/reset + +# 演出 + function asset:mob/0456.gargo_ex_machina/tick/event/shot/attack_effect + +# 終了 + tag @a[tag=DXYZ] remove DXYZ diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/shot/attack_effect.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/shot/attack_effect.mcfunction new file mode 100644 index 0000000000..6b2eab2640 --- /dev/null +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/shot/attack_effect.mcfunction @@ -0,0 +1,13 @@ +#> asset:mob/0456.gargo_ex_machina/tick/event/shot/attack_effect +# +# 射撃 +# +# @within asset:mob/0456.gargo_ex_machina/tick/event/shot/attack + +# 効果音 + playsound entity.generic.explode hostile @a ~ ~ ~ 1 0.7 + +# 演出 + particle explosion_emitter ~ ~1 ~ 0 0 0 0 1 + particle explosion ~ ~1 ~ 1.5 1.5 1.5 0 20 + particle lava ~ ~ ~ 1 1 1 0 15 diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/shot/charge_effect.m.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/shot/charge_effect.m.mcfunction new file mode 100644 index 0000000000..48eb51ccab --- /dev/null +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/shot/charge_effect.m.mcfunction @@ -0,0 +1,9 @@ +#> asset:mob/0456.gargo_ex_machina/tick/event/shot/charge_effect.m +# +# 射撃 +# +# @within asset:mob/0456.gargo_ex_machina/tick/event/shot/ + + +# 演出 + $particle end_rod ^$(posx) ^$(posy) ^$(posz) 0 0 0 0.5 3 diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/shot/end.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/shot/end.mcfunction new file mode 100644 index 0000000000..90312377ba --- /dev/null +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/shot/end.mcfunction @@ -0,0 +1,15 @@ +#> asset:mob/0456.gargo_ex_machina/tick/event/shot/end +# +# 射撃 +# +# @within asset:mob/0456.gargo_ex_machina/tick/event/shot/ + +# タグ消去 + scoreboard players set @s CO.EventTimer 0 + tag @s remove CO.Skill.Shot + +# 待機モーション再生 + execute as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run function animated_java:gargo_ex_machina/animations/idle_shot/tween {duration:1, to_frame: 1} + +# 行動 + # function asset:mob/0410.heiloang/tick/act/ diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/shot/prediction.m.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/shot/prediction.m.mcfunction new file mode 100644 index 0000000000..593d8346c3 --- /dev/null +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/shot/prediction.m.mcfunction @@ -0,0 +1,13 @@ +#> asset:mob/0456.gargo_ex_machina/tick/event/shot/prediction.m +# +# 射撃 +# +# @within asset:mob/0456.gargo_ex_machina/tick/event/shot/ + +# 予告:円範囲 + data modify storage api: Argument.ID set value 2063 + execute store result storage api: Argument.FieldOverride.MobUUID int 1 run scoreboard players get @s MobUUID + data modify storage api: Argument.FieldOverride.Color set value 3381759 + data modify storage api: Argument.FieldOverride.Scale set value [15f, 15f, 0.05f] + $data modify storage api: Argument.FieldOverride.Tick set value $(Tick) + execute positioned ^ ^ ^ rotated ~ 0 run function api:object/summon diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/shot/summon_laser.m.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/shot/summon_laser.m.mcfunction new file mode 100644 index 0000000000..8aa1c7d989 --- /dev/null +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/shot/summon_laser.m.mcfunction @@ -0,0 +1,15 @@ +#> asset:mob/0456.gargo_ex_machina/tick/event/shot/summon_laser.m +# +# 射撃 +# +# @within asset:mob/0456.gargo_ex_machina/tick/event/shot/ + + +# 演出 + $summon area_effect_cloud ^$(posx) ^$(posy) ^$(posz) {Tags:["CO.Temp.Rotation"]} + execute as @e[type=area_effect_cloud,tag=CO.Temp.Rotation,distance=..30,limit=1] positioned as @s facing entity @e[type=area_effect_cloud,tag=CO.Aec.AttackPosition,distance=..80,limit=1] feet run tp @s ~ ~ ~ ~ ~ + data modify storage api: Argument.ID set value 2263 + data modify storage api: Argument.FieldOverride.Rotation set from entity @e[type=area_effect_cloud,tag=CO.Temp.Rotation,distance=..30,limit=1] Rotation + data modify storage api: Argument.FieldOverride.IsShot set value true + execute positioned as @e[type=area_effect_cloud,tag=CO.Temp.Rotation,distance=..30,limit=1] run function api:object/summon + kill @e[type=area_effect_cloud,tag=CO.Temp.Rotation,distance=..30,limit=1] diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/util/move_to_ground.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/util/move_to_ground.mcfunction new file mode 100644 index 0000000000..7b47db0660 --- /dev/null +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/util/move_to_ground.mcfunction @@ -0,0 +1,13 @@ +#> asset:mob/0456.gargo_ex_machina/tick/util/move_to_ground +# +# 汎用処理 接地 +# +# @within asset:mob/0456.gargo_ex_machina/tick/event/** + +# 接地 + summon area_effect_cloud ~ ~ ~ {Duration:1,Tags:["CO.Temp.Ground"]} + execute as @e[type=area_effect_cloud,tag=CO.Temp.Ground] run scoreboard players set @s CO.Counter 20 + execute as @e[type=area_effect_cloud,tag=CO.Temp.Ground] at @s align y run tp @s ~ ~ ~ + execute as @e[type=area_effect_cloud,tag=CO.Temp.Ground] at @s run function asset:mob/0456.gargo_ex_machina/tick/util/move_to_ground_loop + execute positioned as @e[type=area_effect_cloud,tag=CO.Temp.Ground] align y run tp @s ~ ~0.5 ~ + kill @e[type=area_effect_cloud,tag=CO.Temp.Ground] diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/util/move_to_ground_loop.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/util/move_to_ground_loop.mcfunction new file mode 100644 index 0000000000..453b0e8310 --- /dev/null +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/util/move_to_ground_loop.mcfunction @@ -0,0 +1,11 @@ +#> asset:mob/0456.gargo_ex_machina/tick/util/move_to_ground_loop +# +# 汎用処理 接地 +# +# @within asset:mob/0456.gargo_ex_machina/tick/util/move_to_ground +# @within asset:mob/0456.gargo_ex_machina/tick/util/move_to_ground_loop + +# 接地するまで繰り返す + scoreboard players remove @s CO.Counter 1 + execute if score @s CO.Counter matches 1.. if block ~ ~-1 ~ #lib:no_collision positioned ~ ~-1 ~ run function asset:mob/0456.gargo_ex_machina/tick/util/move_to_ground_loop + execute unless block ~ ~-1 ~ #lib:no_collision run tp @s ~ ~ ~ diff --git a/Asset/data/asset/functions/object/2263.gem_laser_vfx/_index.d.mcfunction b/Asset/data/asset/functions/object/2263.gem_laser_vfx/_index.d.mcfunction index 94fa09a309..939c7e7283 100644 --- a/Asset/data/asset/functions/object/2263.gem_laser_vfx/_index.d.mcfunction +++ b/Asset/data/asset/functions/object/2263.gem_laser_vfx/_index.d.mcfunction @@ -5,3 +5,4 @@ # @within function asset:object/2263.gem_laser_vfx/** #declare tag CO.Object #declare tag 2263.IsRight + #declare tag 2263.IsShot diff --git a/Asset/data/asset/functions/object/2263.gem_laser_vfx/init/.mcfunction b/Asset/data/asset/functions/object/2263.gem_laser_vfx/init/.mcfunction index 7b0a62342c..e409f40368 100644 --- a/Asset/data/asset/functions/object/2263.gem_laser_vfx/init/.mcfunction +++ b/Asset/data/asset/functions/object/2263.gem_laser_vfx/init/.mcfunction @@ -6,3 +6,6 @@ # 左右 execute if data storage asset:context this{IsRight:true} run tag @s add 2263.IsRight + +# 首振り有無 + execute if data storage asset:context this{IsShot:true} run tag @s add 2263.IsShot diff --git a/Asset/data/asset/functions/object/2263.gem_laser_vfx/tick/.mcfunction b/Asset/data/asset/functions/object/2263.gem_laser_vfx/tick/.mcfunction index 32e242abe1..f6c1fb1bd8 100644 --- a/Asset/data/asset/functions/object/2263.gem_laser_vfx/tick/.mcfunction +++ b/Asset/data/asset/functions/object/2263.gem_laser_vfx/tick/.mcfunction @@ -15,10 +15,10 @@ execute if score @s General.Object.Tick matches 3..12 run particle flash ~ ~ ~ 0 0 0 0 1 # 移動 - execute if entity @s[tag=2263.IsRight] if score @s General.Object.Tick matches 3.. run tp @s ~ ~ ~ ~35 ~ - execute unless entity @s[tag=2263.IsRight] if score @s General.Object.Tick matches 3.. run tp @s ~ ~ ~ ~-35 ~ - execute if score @s General.Object.Tick matches 3..5 at @s run tp @s ~ ~ ~ ~ ~-4 - execute if score @s General.Object.Tick matches 12..14 at @s run tp @s ~ ~ ~ ~ ~4 + execute if entity @s[tag=2263.IsRight] unless entity @s[tag=2263.IsShot] if score @s General.Object.Tick matches 3.. run tp @s ~ ~ ~ ~35 ~ + execute unless entity @s[tag=2263.IsRight] unless entity @s[tag=2263.IsShot] if score @s General.Object.Tick matches 3.. run tp @s ~ ~ ~ ~-35 ~ + execute unless entity @s[tag=2263.IsShot] if score @s General.Object.Tick matches 3..5 at @s run tp @s ~ ~ ~ ~ ~-4 + execute unless entity @s[tag=2263.IsShot] if score @s General.Object.Tick matches 12..14 at @s run tp @s ~ ~ ~ ~ ~4 # 消滅処理 kill @s[scores={General.Object.Tick=14..}] From c5d90aa0d66ce64c26768081a640d267b3beee73 Mon Sep 17 00:00:00 2001 From: mokkkk Date: Mon, 23 Feb 2026 15:39:41 +0900 Subject: [PATCH 23/98] =?UTF-8?q?=E5=B0=84=E6=92=83=E5=BD=93=E3=81=9F?= =?UTF-8?q?=E3=82=8A=E5=88=A4=E5=AE=9A=E9=83=A8=E5=88=86=E5=AE=9F=E8=A3=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../field_modify/summon_manager.mcfunction | 1 + .../tick/event/shot/.mcfunction | 28 +++++++-------- .../tick/event/shot/attack.mcfunction | 18 ++++++---- .../tick/attack.mcfunction | 1 + .../2267.gem_shot_attack/_index.d.mcfunction | 9 +++++ .../2267.gem_shot_attack/init/.mcfunction | 5 +++ .../2267.gem_shot_attack/load.mcfunction | 9 +++++ .../2267.gem_shot_attack/register.mcfunction | 20 +++++++++++ .../2267.gem_shot_attack/summon/.mcfunction | 8 +++++ .../summon/debug.mcfunction | 10 ++++++ .../2267.gem_shot_attack/tick/.mcfunction | 30 ++++++++++++++++ .../tick/damage.mcfunction | 15 ++++++++ .../tick/hit_1.mcfunction | 19 ++++++++++ .../tick/hit_2.mcfunction | 21 +++++++++++ .../tick/hit_3.mcfunction | 21 +++++++++++ .../tick/prediction.mcfunction | 18 ++++++++++ .../tick/set_attack_pos_1.mcfunction | 19 ++++++++++ .../tick/set_attack_pos_2.mcfunction | 27 ++++++++++++++ .../tick/set_attack_pos_3.mcfunction | 35 +++++++++++++++++++ .../object/alias/2267/init.mcfunction | 8 +++++ .../object/alias/2267/register.mcfunction | 8 +++++ .../object/alias/2267/summon.mcfunction | 8 +++++ .../object/alias/2267/tick.mcfunction | 8 +++++ .../asset/tags/functions/object/load.json | 3 +- 24 files changed, 328 insertions(+), 21 deletions(-) create mode 100644 Asset/data/asset/functions/object/2267.gem_shot_attack/_index.d.mcfunction create mode 100644 Asset/data/asset/functions/object/2267.gem_shot_attack/init/.mcfunction create mode 100644 Asset/data/asset/functions/object/2267.gem_shot_attack/load.mcfunction create mode 100644 Asset/data/asset/functions/object/2267.gem_shot_attack/register.mcfunction create mode 100644 Asset/data/asset/functions/object/2267.gem_shot_attack/summon/.mcfunction create mode 100644 Asset/data/asset/functions/object/2267.gem_shot_attack/summon/debug.mcfunction create mode 100644 Asset/data/asset/functions/object/2267.gem_shot_attack/tick/.mcfunction create mode 100644 Asset/data/asset/functions/object/2267.gem_shot_attack/tick/damage.mcfunction create mode 100644 Asset/data/asset/functions/object/2267.gem_shot_attack/tick/hit_1.mcfunction create mode 100644 Asset/data/asset/functions/object/2267.gem_shot_attack/tick/hit_2.mcfunction create mode 100644 Asset/data/asset/functions/object/2267.gem_shot_attack/tick/hit_3.mcfunction create mode 100644 Asset/data/asset/functions/object/2267.gem_shot_attack/tick/prediction.mcfunction create mode 100644 Asset/data/asset/functions/object/2267.gem_shot_attack/tick/set_attack_pos_1.mcfunction create mode 100644 Asset/data/asset/functions/object/2267.gem_shot_attack/tick/set_attack_pos_2.mcfunction create mode 100644 Asset/data/asset/functions/object/2267.gem_shot_attack/tick/set_attack_pos_3.mcfunction create mode 100644 Asset/data/asset/functions/object/alias/2267/init.mcfunction create mode 100644 Asset/data/asset/functions/object/alias/2267/register.mcfunction create mode 100644 Asset/data/asset/functions/object/alias/2267/summon.mcfunction create mode 100644 Asset/data/asset/functions/object/alias/2267/tick.mcfunction diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/field_modify/summon_manager.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/field_modify/summon_manager.mcfunction index 7e19896dd4..89eb24c826 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/field_modify/summon_manager.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/field_modify/summon_manager.mcfunction @@ -8,4 +8,5 @@ data modify storage api: Argument.ID set value 2265 data modify storage api: Argument.FieldOverride.AttackCount set value 4 data modify storage api: Argument.FieldOverride.Damage set from storage asset:context this.Damage.FieldModify + execute store result storage api: Argument.FieldOverride.UUID int 1 run scoreboard players get @s MobUUID function api:object/summon diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/shot/.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/shot/.mcfunction index 6ee9c69b97..d8bea17f1c 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/shot/.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/shot/.mcfunction @@ -30,20 +30,20 @@ # 演出 execute if score @s CO.EventTimer matches 5..68 as @e[type=item_display,tag=CO.ModelRoot,distance=..80,sort=nearest,limit=1] at @s on passengers if entity @s[tag=aj.global.data] run function asset:mob/0456.gargo_ex_machina/tick/event/shot/charge_effect.m with entity @s data.locators.muzzle execute if score @s CO.EventTimer matches 69 as @e[type=item_display,tag=CO.ModelRoot,distance=..80,sort=nearest,limit=1] at @s on passengers if entity @s[tag=aj.global.data] run function asset:mob/0456.gargo_ex_machina/tick/event/shot/summon_laser.m with entity @s data.locators.muzzle - execute if score @s CO.EventTimer matches 1 run playsound block.beacon.activate hostile @a ~ ~ ~ 2 1.4 - execute if score @s CO.EventTimer matches 1 run playsound block.beacon.activate hostile @a ~ ~ ~ 2 1.4 - execute if score @s CO.EventTimer matches 10 run playsound block.beacon.activate hostile @a ~ ~ ~ 2 1.5 - execute if score @s CO.EventTimer matches 10 run playsound block.beacon.activate hostile @a ~ ~ ~ 2 1.5 - execute if score @s CO.EventTimer matches 20 run playsound block.beacon.activate hostile @a ~ ~ ~ 2 1.6 - execute if score @s CO.EventTimer matches 20 run playsound block.beacon.activate hostile @a ~ ~ ~ 2 1.6 - execute if score @s CO.EventTimer matches 30 run playsound block.beacon.activate hostile @a ~ ~ ~ 2 1.7 - execute if score @s CO.EventTimer matches 30 run playsound block.beacon.activate hostile @a ~ ~ ~ 2 1.7 - execute if score @s CO.EventTimer matches 40 run playsound block.beacon.activate hostile @a ~ ~ ~ 2 1.8 - execute if score @s CO.EventTimer matches 40 run playsound block.beacon.activate hostile @a ~ ~ ~ 2 1.8 - execute if score @s CO.EventTimer matches 50 run playsound block.beacon.activate hostile @a ~ ~ ~ 2 1.9 - execute if score @s CO.EventTimer matches 50 run playsound block.beacon.activate hostile @a ~ ~ ~ 2 1.9 - execute if score @s CO.EventTimer matches 60 run playsound block.beacon.activate hostile @a ~ ~ ~ 2 2.0 - execute if score @s CO.EventTimer matches 60 run playsound block.beacon.activate hostile @a ~ ~ ~ 2 2.0 + execute if score @s CO.EventTimer matches 1 run playsound block.beacon.activate hostile @a ~ ~ ~ 3 1.4 + execute if score @s CO.EventTimer matches 1 run playsound block.beacon.activate hostile @a ~ ~ ~ 3 1.4 + execute if score @s CO.EventTimer matches 10 run playsound block.beacon.activate hostile @a ~ ~ ~ 3 1.5 + execute if score @s CO.EventTimer matches 10 run playsound block.beacon.activate hostile @a ~ ~ ~ 3 1.5 + execute if score @s CO.EventTimer matches 20 run playsound block.beacon.activate hostile @a ~ ~ ~ 3 1.6 + execute if score @s CO.EventTimer matches 20 run playsound block.beacon.activate hostile @a ~ ~ ~ 3 1.6 + execute if score @s CO.EventTimer matches 30 run playsound block.beacon.activate hostile @a ~ ~ ~ 3 1.7 + execute if score @s CO.EventTimer matches 30 run playsound block.beacon.activate hostile @a ~ ~ ~ 3 1.7 + execute if score @s CO.EventTimer matches 40 run playsound block.beacon.activate hostile @a ~ ~ ~ 3 1.8 + execute if score @s CO.EventTimer matches 40 run playsound block.beacon.activate hostile @a ~ ~ ~ 3 1.8 + execute if score @s CO.EventTimer matches 50 run playsound block.beacon.activate hostile @a ~ ~ ~ 3 1.9 + execute if score @s CO.EventTimer matches 50 run playsound block.beacon.activate hostile @a ~ ~ ~ 3 1.9 + execute if score @s CO.EventTimer matches 60 run playsound block.beacon.activate hostile @a ~ ~ ~ 3 2.0 + execute if score @s CO.EventTimer matches 60 run playsound block.beacon.activate hostile @a ~ ~ ~ 3 2.0 # 攻撃 execute if score @s CO.EventTimer matches 72..74 run playsound entity.breeze.jump hostile @a ~ ~ ~ 2 0.5 execute if score @s CO.EventTimer matches 72..74 run playsound entity.breeze.jump hostile @a ~ ~ ~ 2 0.6 diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/shot/attack.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/shot/attack.mcfunction index 9eccf2716e..158a7a83d8 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/shot/attack.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/shot/attack.mcfunction @@ -9,12 +9,18 @@ tag @a[tag=!PlayerShouldInvulnerable,distance=..7.5] add DXYZ # ダメージ - data modify storage api: Argument.Damage set from storage asset:context this.Damage.Shot.Amount - data modify storage api: Argument.AttackType set from storage asset:context this.Damage.Shot.Type - data modify storage api: Argument.ElementType set from storage asset:context this.Damage.Shot.Element - function api:damage/modifier - execute as @a[tag=DXYZ] run function api:damage/ - function api:damage/reset + # 円範囲 + data modify storage api: Argument.Damage set from storage asset:context this.Damage.Shot.Amount + data modify storage api: Argument.AttackType set from storage asset:context this.Damage.Shot.Type + data modify storage api: Argument.ElementType set from storage asset:context this.Damage.Shot.Element + function api:damage/modifier + execute as @a[tag=DXYZ] run function api:damage/ + function api:damage/reset + # 広がるドーナツ範囲 + data modify storage api: Argument.ID set value 2267 + data modify storage api: Argument.FieldOverride.Damage set from storage asset:context this.Damage.Shot + execute store result storage api: Argument.FieldOverride.MobUUID int 1 run scoreboard players get @s MobUUID + execute positioned ~ ~-0.3 ~ run function api:object/summon # 演出 function asset:mob/0456.gargo_ex_machina/tick/event/shot/attack_effect diff --git a/Asset/data/asset/functions/object/2265.field_modify_manager/tick/attack.mcfunction b/Asset/data/asset/functions/object/2265.field_modify_manager/tick/attack.mcfunction index 0b570fa778..da71219edc 100644 --- a/Asset/data/asset/functions/object/2265.field_modify_manager/tick/attack.mcfunction +++ b/Asset/data/asset/functions/object/2265.field_modify_manager/tick/attack.mcfunction @@ -21,6 +21,7 @@ data modify storage api: Argument.Damage set from storage asset:context this.Damage.Amount data modify storage api: Argument.AttackType set from storage asset:context this.Damage.Type data modify storage api: Argument.ElementType set from storage asset:context this.Damage.Element + data modify storage api: Argument.MobUUID set from storage asset:context this.MobUUID function api:damage/modifier execute as @a[tag=2265.Hit] run function api:damage/ function api:damage/reset diff --git a/Asset/data/asset/functions/object/2267.gem_shot_attack/_index.d.mcfunction b/Asset/data/asset/functions/object/2267.gem_shot_attack/_index.d.mcfunction new file mode 100644 index 0000000000..ad2e83c8c5 --- /dev/null +++ b/Asset/data/asset/functions/object/2267.gem_shot_attack/_index.d.mcfunction @@ -0,0 +1,9 @@ +#> asset:object/2267.gem_shot_attack/_index.d +# @private + +#> tag +# @within function asset:object/2267.gem_shot_attack/** + #declare tag CO.Object + #declare tag 2267.Root + #declare tag 2267.AttackPosition + #declare tag 2267.Hit diff --git a/Asset/data/asset/functions/object/2267.gem_shot_attack/init/.mcfunction b/Asset/data/asset/functions/object/2267.gem_shot_attack/init/.mcfunction new file mode 100644 index 0000000000..538d1011a3 --- /dev/null +++ b/Asset/data/asset/functions/object/2267.gem_shot_attack/init/.mcfunction @@ -0,0 +1,5 @@ +#> asset:object/2267.gem_shot_attack/init/ +# +# Objectのinit時の処理 +# +# @within asset:object/alias/2267/init diff --git a/Asset/data/asset/functions/object/2267.gem_shot_attack/load.mcfunction b/Asset/data/asset/functions/object/2267.gem_shot_attack/load.mcfunction new file mode 100644 index 0000000000..b167a91701 --- /dev/null +++ b/Asset/data/asset/functions/object/2267.gem_shot_attack/load.mcfunction @@ -0,0 +1,9 @@ +#> asset:object/2267.gem_shot_attack/load +# +# Objectに利用するスコアボード等の初期化処理 +# +# @within tag/function asset:object/load + +#> 定義類はここに +# @within function asset:object/2267.gem_shot_attack/** + # scoreboard objectives add diff --git a/Asset/data/asset/functions/object/2267.gem_shot_attack/register.mcfunction b/Asset/data/asset/functions/object/2267.gem_shot_attack/register.mcfunction new file mode 100644 index 0000000000..6c73dddb4b --- /dev/null +++ b/Asset/data/asset/functions/object/2267.gem_shot_attack/register.mcfunction @@ -0,0 +1,20 @@ +#> asset:object/2267.gem_shot_attack/register +# +# Objectのデータを指定 +# +# @within function asset:object/alias/2267/register + +# 継承(オプション) + # data modify storage asset:object Extends append value + # function asset:object/extends +# 他のObjectに継承されることを許可するか (boolean) (オプション) + # data modify storage asset:object ExtendsSafe set value +# 継承されることを前提とした、抽象的なObjectであるかどうか(boolean) + data modify storage asset:object IsAbstract set value false +# Tickするかどうか(boolean) (オプション) + # data modify storage asset:object IsTicking set value + +# ID (int) + data modify storage asset:object ID set value 2267 +# フィールド(オプション) + # data modify storage asset:object Field.myValue set value \ No newline at end of file diff --git a/Asset/data/asset/functions/object/2267.gem_shot_attack/summon/.mcfunction b/Asset/data/asset/functions/object/2267.gem_shot_attack/summon/.mcfunction new file mode 100644 index 0000000000..5bbff39f74 --- /dev/null +++ b/Asset/data/asset/functions/object/2267.gem_shot_attack/summon/.mcfunction @@ -0,0 +1,8 @@ +#> asset:object/2267.gem_shot_attack/summon/ +# +# Object召喚処理の呼び出し時に実行されるfunction +# +# @within asset:object/alias/2267/summon + +# 元となるEntityを召喚する + summon marker ~ ~ ~ {Tags:["ObjectInit","CO.Object","2267.Root"]} diff --git a/Asset/data/asset/functions/object/2267.gem_shot_attack/summon/debug.mcfunction b/Asset/data/asset/functions/object/2267.gem_shot_attack/summon/debug.mcfunction new file mode 100644 index 0000000000..283a50ff29 --- /dev/null +++ b/Asset/data/asset/functions/object/2267.gem_shot_attack/summon/debug.mcfunction @@ -0,0 +1,10 @@ +#> asset:object/2267.gem_shot_attack/summon/debug +# +# 動作チェック用の召喚処理 使い終わったら消してもいいかも +# +# @user +# @private + +# 召喚 + data modify storage api: Argument.ID set value 2267 + function api:object/summon \ No newline at end of file diff --git a/Asset/data/asset/functions/object/2267.gem_shot_attack/tick/.mcfunction b/Asset/data/asset/functions/object/2267.gem_shot_attack/tick/.mcfunction new file mode 100644 index 0000000000..8ae61578f8 --- /dev/null +++ b/Asset/data/asset/functions/object/2267.gem_shot_attack/tick/.mcfunction @@ -0,0 +1,30 @@ +#> asset:object/2267.gem_shot_attack/tick/ +# +# Objectのtick時の処理 +# +# @within asset:object/alias/2267/tick + +# Tick加算 + scoreboard players add @s General.Object.Tick 1 + +# 攻撃 + execute if entity @s[scores={General.Object.Tick=6}] run function asset:object/2267.gem_shot_attack/tick/set_attack_pos_1 + execute if entity @s[scores={General.Object.Tick=6}] as @e[type=area_effect_cloud,tag=2267.AttackPosition,distance=..50] at @s run function asset:object/2267.gem_shot_attack/tick/prediction + execute if entity @s[scores={General.Object.Tick=37}] run playsound entity.generic.explode hostile @a ~ ~ ~ 0.5 0.7 0.5 + execute if entity @s[scores={General.Object.Tick=37}] at @e[type=area_effect_cloud,tag=2267.AttackPosition,distance=..50] run function asset:object/2267.gem_shot_attack/tick/hit_1 + execute if entity @s[scores={General.Object.Tick=37}] run function asset:object/2267.gem_shot_attack/tick/damage + + execute if entity @s[scores={General.Object.Tick=39}] run function asset:object/2267.gem_shot_attack/tick/set_attack_pos_2 + execute if entity @s[scores={General.Object.Tick=39}] as @e[type=area_effect_cloud,tag=2267.AttackPosition,distance=..50] at @s run function asset:object/2267.gem_shot_attack/tick/prediction + execute if entity @s[scores={General.Object.Tick=70}] run playsound entity.generic.explode hostile @a[distance=..80] ~ ~ ~ 0.5 0.8 0.5 + execute if entity @s[scores={General.Object.Tick=70}] at @e[type=area_effect_cloud,tag=2267.AttackPosition,distance=..50] run function asset:object/2267.gem_shot_attack/tick/hit_2 + execute if entity @s[scores={General.Object.Tick=70}] run function asset:object/2267.gem_shot_attack/tick/damage + + execute if entity @s[scores={General.Object.Tick=72}] run function asset:object/2267.gem_shot_attack/tick/set_attack_pos_3 + execute if entity @s[scores={General.Object.Tick=72}] as @e[type=area_effect_cloud,tag=2267.AttackPosition,distance=..50] at @s run function asset:object/2267.gem_shot_attack/tick/prediction + execute if entity @s[scores={General.Object.Tick=103}] run playsound entity.generic.explode hostile @a[distance=..80] ~ ~ ~ 0.5 0.8 0.5 + execute if entity @s[scores={General.Object.Tick=103}] at @e[type=area_effect_cloud,tag=2267.AttackPosition,distance=..50] run function asset:object/2267.gem_shot_attack/tick/hit_3 + execute if entity @s[scores={General.Object.Tick=103}] run function asset:object/2267.gem_shot_attack/tick/damage + +# 消滅処理 + kill @s[scores={General.Object.Tick=106..}] diff --git a/Asset/data/asset/functions/object/2267.gem_shot_attack/tick/damage.mcfunction b/Asset/data/asset/functions/object/2267.gem_shot_attack/tick/damage.mcfunction new file mode 100644 index 0000000000..697eb18fcb --- /dev/null +++ b/Asset/data/asset/functions/object/2267.gem_shot_attack/tick/damage.mcfunction @@ -0,0 +1,15 @@ +#> asset:object/2267.gem_shot_attack/tick/damage +# +# Objectのtick時の処理 +# +# @within asset:object/2267.gem_shot_attack/tick/ + +# ダメージ + data modify storage api: Argument.Damage set from storage asset:context this.Damage.Amount + data modify storage api: Argument.AttackType set from storage asset:context this.Damage.Type + data modify storage api: Argument.ElementType set from storage asset:context this.Damage.Element + data modify storage api: Argument.MobUUID set from storage asset:context this.MobUUID + function api:damage/modifier_manual + execute as @a[tag=2267.Hit] run function api:damage/ + function api:damage/reset + tag @a remove 2267.Hit diff --git a/Asset/data/asset/functions/object/2267.gem_shot_attack/tick/hit_1.mcfunction b/Asset/data/asset/functions/object/2267.gem_shot_attack/tick/hit_1.mcfunction new file mode 100644 index 0000000000..3d3b369da0 --- /dev/null +++ b/Asset/data/asset/functions/object/2267.gem_shot_attack/tick/hit_1.mcfunction @@ -0,0 +1,19 @@ +#> asset:object/2267.gem_shot_attack/tick/hit_1 +# +# Objectのtick時の処理 +# +# @within asset:object/2267.gem_shot_attack/tick/ + +# ヒット判定 + tag @a[tag=DXYZ] remove DXYZ + data modify storage lib: args.dx set value 5 + data modify storage lib: args.dy set value 10 + data modify storage lib: args.dz set value 4 + data modify storage lib: args.selector set value "@a[tag=!PlayerShouldInvulnerable,distance=..10]" + execute positioned ^ ^ ^ run function lib:rotatable_dxyz/m with storage lib: args + tag @a[tag=DXYZ] add 2267.Hit + tag @a[tag=DXYZ] remove DXYZ + +# 演出 + particle explosion ~ ~1 ~ 3 1 3 0 20 force + particle lava ~ ~1 ~ 3 1 3 0.2 10 diff --git a/Asset/data/asset/functions/object/2267.gem_shot_attack/tick/hit_2.mcfunction b/Asset/data/asset/functions/object/2267.gem_shot_attack/tick/hit_2.mcfunction new file mode 100644 index 0000000000..2fd6658804 --- /dev/null +++ b/Asset/data/asset/functions/object/2267.gem_shot_attack/tick/hit_2.mcfunction @@ -0,0 +1,21 @@ +#> asset:object/2267.gem_shot_attack/tick/hit_2 +# +# Objectのtick時の処理 +# +# @within asset:object/2267.gem_shot_attack/tick/ + +# ヒット判定 + # execute positioned ^1.5 ^ ^ run tag @a[tag=!PlayerShouldInvulnerable,distance=..4] add 2176.Hit + # execute positioned ^-1.5 ^ ^ run tag @a[tag=!PlayerShouldInvulnerable,distance=..4] add 2176.Hit + tag @a[tag=DXYZ] remove DXYZ + data modify storage lib: args.dx set value 5 + data modify storage lib: args.dy set value 10 + data modify storage lib: args.dz set value 4 + data modify storage lib: args.selector set value "@a[tag=!PlayerShouldInvulnerable,distance=..10]" + execute positioned ^ ^ ^ run function lib:rotatable_dxyz/m with storage lib: args + tag @a[tag=DXYZ] add 2267.Hit + tag @a[tag=DXYZ] remove DXYZ + +# 演出 + particle explosion ~ ~1 ~ 3 1 3 0 20 force + particle lava ~ ~1 ~ 3 1 3 0.2 10 diff --git a/Asset/data/asset/functions/object/2267.gem_shot_attack/tick/hit_3.mcfunction b/Asset/data/asset/functions/object/2267.gem_shot_attack/tick/hit_3.mcfunction new file mode 100644 index 0000000000..dd6986e006 --- /dev/null +++ b/Asset/data/asset/functions/object/2267.gem_shot_attack/tick/hit_3.mcfunction @@ -0,0 +1,21 @@ +#> asset:object/2267.gem_shot_attack/tick/hit_3 +# +# Objectのtick時の処理 +# +# @within asset:object/2267.gem_shot_attack/tick/ + +# ヒット判定 + # execute positioned ^1.5 ^ ^ run tag @a[tag=!PlayerShouldInvulnerable,distance=..4] add 2267.Hit + # execute positioned ^-1.5 ^ ^ run tag @a[tag=!PlayerShouldInvulnerable,distance=..4] add 2267.Hit + tag @a[tag=DXYZ] remove DXYZ + data modify storage lib: args.dx set value 5 + data modify storage lib: args.dy set value 10 + data modify storage lib: args.dz set value 4 + data modify storage lib: args.selector set value "@a[tag=!PlayerShouldInvulnerable,distance=..10]" + execute positioned ^ ^ ^ run function lib:rotatable_dxyz/m with storage lib: args + tag @a[tag=DXYZ] add 2267.Hit + tag @a[tag=DXYZ] remove DXYZ + +# 演出 + particle explosion ~ ~1 ~ 3 1 3 0 20 force + particle lava ~ ~1 ~ 3 1 3 0.2 10 diff --git a/Asset/data/asset/functions/object/2267.gem_shot_attack/tick/prediction.mcfunction b/Asset/data/asset/functions/object/2267.gem_shot_attack/tick/prediction.mcfunction new file mode 100644 index 0000000000..29f4d08526 --- /dev/null +++ b/Asset/data/asset/functions/object/2267.gem_shot_attack/tick/prediction.mcfunction @@ -0,0 +1,18 @@ +#> asset:object/2267.gem_shot_attack/tick/prediction +# +# Objectのtick時の処理 +# +# @within asset:object/2267.gem_shot_attack/tick/ + +# 地面が無ければ消す + execute if block ~ ~-1 ~ #lib:no_collision run return run kill @s + +# 予告 + tp @s ~ ~ ~ ~ 0 + data modify storage api: Argument.ID set value 2113 + data modify storage api: Argument.FieldOverride.RotationX set from entity @s Rotation[0] + data modify storage api: Argument.FieldOverride.Color set value 3381759 + data modify storage api: Argument.FieldOverride.Scale set value [10f,8f] + data modify storage api: Argument.FieldOverride.Interpolation set value 10 + data modify storage api: Argument.FieldOverride.Tick set value 35 + execute positioned ^ ^0.5 ^-4 run function api:object/summon diff --git a/Asset/data/asset/functions/object/2267.gem_shot_attack/tick/set_attack_pos_1.mcfunction b/Asset/data/asset/functions/object/2267.gem_shot_attack/tick/set_attack_pos_1.mcfunction new file mode 100644 index 0000000000..e299862491 --- /dev/null +++ b/Asset/data/asset/functions/object/2267.gem_shot_attack/tick/set_attack_pos_1.mcfunction @@ -0,0 +1,19 @@ +#> asset:object/2267.gem_shot_attack/tick/set_attack_pos_1 +# +# Objectのtick時の処理 +# +# @within asset:object/2267.gem_shot_attack/tick/ + +# [ImportKey]: NobwRALgngDgpmAXGAxgSwE4oDYIDRgCuhaAJkmAIyUAMAzAGYBGAHCgLR11N3sAsKOgFZ2AQyZCATOxpCmpFnQDsiunFFgCAO1EBbBMkBhigAJKmsDFEY9AZyTgUAe0JaISFgRRxXcDPbAAbqLYhAbgAB5INARQUQC+cQTWpGiEdoi0BDYQVm6I0WBw2NhoMDYGtAUYjjkQBgVoNgCixaXlTQCOhMHYUADKll7kiAzB5QkAukA_3 +# 円 1 +execute positioned ^0 ^ ^-10 run summon area_effect_cloud ~ ~ ~ {Duration:33,Tags:["2267.AttackPosition"]} +execute positioned ^7.07107 ^ ^-7.07107 run summon area_effect_cloud ~ ~ ~ {Duration:33,Tags:["2267.AttackPosition"]} +execute positioned ^10 ^ ^0 run summon area_effect_cloud ~ ~ ~ {Duration:33,Tags:["2267.AttackPosition"]} +execute positioned ^7.07107 ^ ^7.07107 run summon area_effect_cloud ~ ~ ~ {Duration:33,Tags:["2267.AttackPosition"]} +execute positioned ^0 ^ ^10 run summon area_effect_cloud ~ ~ ~ {Duration:33,Tags:["2267.AttackPosition"]} +execute positioned ^-7.07107 ^ ^7.07107 run summon area_effect_cloud ~ ~ ~ {Duration:33,Tags:["2267.AttackPosition"]} +execute positioned ^-10 ^ ^0 run summon area_effect_cloud ~ ~ ~ {Duration:33,Tags:["2267.AttackPosition"]} +execute positioned ^-7.07107 ^ ^-7.07107 run summon area_effect_cloud ~ ~ ~ {Duration:33,Tags:["2267.AttackPosition"]} + +# 角度調整 + execute as @e[type=area_effect_cloud,tag=2267.AttackPosition,distance=..50] at @s facing entity @e[type=marker,tag=2267.Root,distance=..50,limit=1] feet run tp @s ~ ~ ~ ~180 0 diff --git a/Asset/data/asset/functions/object/2267.gem_shot_attack/tick/set_attack_pos_2.mcfunction b/Asset/data/asset/functions/object/2267.gem_shot_attack/tick/set_attack_pos_2.mcfunction new file mode 100644 index 0000000000..1d6a0b3ffc --- /dev/null +++ b/Asset/data/asset/functions/object/2267.gem_shot_attack/tick/set_attack_pos_2.mcfunction @@ -0,0 +1,27 @@ +#> asset:object/2267.gem_shot_attack/tick/set_attack_pos_2 +# +# Objectのtick時の処理 +# +# @within asset:object/2267.gem_shot_attack/tick/ + +# [ImportKey]: NobwRALgngDgpmAXGAxgSwE4oDYIDRgCuhaAJkmAIyUAMAzAGYBGAHCgLR11N3sAsKOgFZ2AQyZCATOxpCmpFnQDsiunFFgCAO1EBbBMkBhigAJKmsDFEY9AZyTgUAe0JaISSgDYCKOK7gZ7MAA3UWxCA3AADyQaAigYgF8EgmtSNEI7REoWAhsIKzdEWLA4bGw0GBsDWmKMR3yIA2K0GwBRMoqq1oBHQlDsKABlSx9yRAZQqqSAXSA_3 +# 円 1 +execute positioned ^0 ^0.05 ^-18 run summon area_effect_cloud ~ ~ ~ {Duration:33,Tags:["2267.AttackPosition"]} +execute positioned ^6.8883 ^0.1 ^-16.62983 run summon area_effect_cloud ~ ~ ~ {Duration:33,Tags:["2267.AttackPosition"]} +execute positioned ^12.72792 ^ ^-12.72792 run summon area_effect_cloud ~ ~ ~ {Duration:33,Tags:["2267.AttackPosition"]} +execute positioned ^16.62983 ^0.05 ^-6.8883 run summon area_effect_cloud ~ ~ ~ {Duration:33,Tags:["2267.AttackPosition"]} +execute positioned ^18 ^0.1 ^0 run summon area_effect_cloud ~ ~ ~ {Duration:33,Tags:["2267.AttackPosition"]} +execute positioned ^16.62983 ^ ^6.8883 run summon area_effect_cloud ~ ~ ~ {Duration:33,Tags:["2267.AttackPosition"]} +execute positioned ^12.72792 ^0.05 ^12.72792 run summon area_effect_cloud ~ ~ ~ {Duration:33,Tags:["2267.AttackPosition"]} +execute positioned ^6.8883 ^0.1 ^16.62983 run summon area_effect_cloud ~ ~ ~ {Duration:33,Tags:["2267.AttackPosition"]} +execute positioned ^0 ^ ^18 run summon area_effect_cloud ~ ~ ~ {Duration:33,Tags:["2267.AttackPosition"]} +execute positioned ^-6.8883 ^0.05 ^16.62983 run summon area_effect_cloud ~ ~ ~ {Duration:33,Tags:["2267.AttackPosition"]} +execute positioned ^-12.72792 ^0.1 ^12.72792 run summon area_effect_cloud ~ ~ ~ {Duration:33,Tags:["2267.AttackPosition"]} +execute positioned ^-16.62983 ^ ^6.8883 run summon area_effect_cloud ~ ~ ~ {Duration:33,Tags:["2267.AttackPosition"]} +execute positioned ^-18 ^0.05 ^0 run summon area_effect_cloud ~ ~ ~ {Duration:33,Tags:["2267.AttackPosition"]} +execute positioned ^-16.62983 ^0.1 ^-6.8883 run summon area_effect_cloud ~ ~ ~ {Duration:33,Tags:["2267.AttackPosition"]} +execute positioned ^-12.72792 ^ ^-12.72792 run summon area_effect_cloud ~ ~ ~ {Duration:33,Tags:["2267.AttackPosition"]} +execute positioned ^-6.8883 ^0.05 ^-16.62983 run summon area_effect_cloud ~ ~ ~ {Duration:33,Tags:["2267.AttackPosition"]} + +# 角度調整 + execute as @e[type=area_effect_cloud,tag=2267.AttackPosition,distance=..50] at @s facing entity @e[type=marker,tag=2267.Root,distance=..50,limit=1] feet run tp @s ~ ~ ~ ~180 0 diff --git a/Asset/data/asset/functions/object/2267.gem_shot_attack/tick/set_attack_pos_3.mcfunction b/Asset/data/asset/functions/object/2267.gem_shot_attack/tick/set_attack_pos_3.mcfunction new file mode 100644 index 0000000000..d802facb33 --- /dev/null +++ b/Asset/data/asset/functions/object/2267.gem_shot_attack/tick/set_attack_pos_3.mcfunction @@ -0,0 +1,35 @@ +#> asset:object/2267.gem_shot_attack/tick/set_attack_pos_3 +# +# Objectのtick時の処理 +# +# @within asset:object/2267.gem_shot_attack/tick/ + +# [ImportKey]: NobwRALgngDgpmAXGAxgSwE4oDYIDRgCuhaAJkmAIyUAMAzAGYBGAHCgLR11N3sAsKOgFZ2AQyZCATOxpCmpFnQDsiunFFgCAO1EBbBMkBhigAJKmsDFEY9AZyTgUAe0JaISSXwIo4ruBntgAG6i2IQG4AAeSDQEUNEAvvEE1qRohHaIkgBsBDYQVm6IMWBw2NhoMDYGtMUYjvkQBsVoNgCiZRVVrQCOhCHYUADKlt7kiAwhVYkAukA_3 +# 円 1 +execute positioned ^0 ^ ^-26 run summon area_effect_cloud ~ ~ ~ {Duration:33,Tags:["2267.AttackPosition"]} +execute positioned ^6.7293 ^ ^-25.11407 run summon area_effect_cloud ~ ~ ~ {Duration:33,Tags:["2267.AttackPosition"]} +execute positioned ^13 ^ ^-22.51666 run summon area_effect_cloud ~ ~ ~ {Duration:33,Tags:["2267.AttackPosition"]} +execute positioned ^18.38478 ^ ^-18.38478 run summon area_effect_cloud ~ ~ ~ {Duration:33,Tags:["2267.AttackPosition"]} +execute positioned ^22.51666 ^ ^-13 run summon area_effect_cloud ~ ~ ~ {Duration:33,Tags:["2267.AttackPosition"]} +execute positioned ^25.11407 ^ ^-6.7293 run summon area_effect_cloud ~ ~ ~ {Duration:33,Tags:["2267.AttackPosition"]} +execute positioned ^26 ^ ^0 run summon area_effect_cloud ~ ~ ~ {Duration:33,Tags:["2267.AttackPosition"]} +execute positioned ^25.11407 ^ ^6.7293 run summon area_effect_cloud ~ ~ ~ {Duration:33,Tags:["2267.AttackPosition"]} +execute positioned ^22.51666 ^ ^13 run summon area_effect_cloud ~ ~ ~ {Duration:33,Tags:["2267.AttackPosition"]} +execute positioned ^18.38478 ^ ^18.38478 run summon area_effect_cloud ~ ~ ~ {Duration:33,Tags:["2267.AttackPosition"]} +execute positioned ^13 ^ ^22.51666 run summon area_effect_cloud ~ ~ ~ {Duration:33,Tags:["2267.AttackPosition"]} +execute positioned ^6.7293 ^ ^25.11407 run summon area_effect_cloud ~ ~ ~ {Duration:33,Tags:["2267.AttackPosition"]} +execute positioned ^0 ^ ^26 run summon area_effect_cloud ~ ~ ~ {Duration:33,Tags:["2267.AttackPosition"]} +execute positioned ^-6.7293 ^ ^25.11407 run summon area_effect_cloud ~ ~ ~ {Duration:33,Tags:["2267.AttackPosition"]} +execute positioned ^-13 ^ ^22.51666 run summon area_effect_cloud ~ ~ ~ {Duration:33,Tags:["2267.AttackPosition"]} +execute positioned ^-18.38478 ^ ^18.38478 run summon area_effect_cloud ~ ~ ~ {Duration:33,Tags:["2267.AttackPosition"]} +execute positioned ^-22.51666 ^ ^13 run summon area_effect_cloud ~ ~ ~ {Duration:33,Tags:["2267.AttackPosition"]} +execute positioned ^-25.11407 ^ ^6.7293 run summon area_effect_cloud ~ ~ ~ {Duration:33,Tags:["2267.AttackPosition"]} +execute positioned ^-26 ^ ^0 run summon area_effect_cloud ~ ~ ~ {Duration:33,Tags:["2267.AttackPosition"]} +execute positioned ^-25.11407 ^ ^-6.7293 run summon area_effect_cloud ~ ~ ~ {Duration:33,Tags:["2267.AttackPosition"]} +execute positioned ^-22.51666 ^ ^-13 run summon area_effect_cloud ~ ~ ~ {Duration:33,Tags:["2267.AttackPosition"]} +execute positioned ^-18.38478 ^ ^-18.38478 run summon area_effect_cloud ~ ~ ~ {Duration:33,Tags:["2267.AttackPosition"]} +execute positioned ^-13 ^ ^-22.51666 run summon area_effect_cloud ~ ~ ~ {Duration:33,Tags:["2267.AttackPosition"]} +execute positioned ^-6.7293 ^ ^-25.11407 run summon area_effect_cloud ~ ~ ~ {Duration:33,Tags:["2267.AttackPosition"]} + +# 角度調整 + execute as @e[type=area_effect_cloud,tag=2267.AttackPosition,distance=..50] at @s facing entity @e[type=marker,tag=2267.Root,distance=..50,limit=1] feet run tp @s ~ ~ ~ ~180 0 diff --git a/Asset/data/asset/functions/object/alias/2267/init.mcfunction b/Asset/data/asset/functions/object/alias/2267/init.mcfunction new file mode 100644 index 0000000000..f9134e265b --- /dev/null +++ b/Asset/data/asset/functions/object/alias/2267/init.mcfunction @@ -0,0 +1,8 @@ +#> asset:object/alias/2267/init +# +# Init処理のエイリアス +# +# @within asset_manager:object/init/init.m + +# 元のInit処理を呼び出す + function asset:object/2267.gem_shot_attack/init/ \ No newline at end of file diff --git a/Asset/data/asset/functions/object/alias/2267/register.mcfunction b/Asset/data/asset/functions/object/alias/2267/register.mcfunction new file mode 100644 index 0000000000..5f738e6638 --- /dev/null +++ b/Asset/data/asset/functions/object/alias/2267/register.mcfunction @@ -0,0 +1,8 @@ +#> asset:object/alias/2267/register +# +# Objectのデータ指定処理のエイリアス +# +# @within asset_manager:object/summon/register.m + +# 元の登録処理を呼び出す + function asset:object/2267.gem_shot_attack/register \ No newline at end of file diff --git a/Asset/data/asset/functions/object/alias/2267/summon.mcfunction b/Asset/data/asset/functions/object/alias/2267/summon.mcfunction new file mode 100644 index 0000000000..76300bbaf6 --- /dev/null +++ b/Asset/data/asset/functions/object/alias/2267/summon.mcfunction @@ -0,0 +1,8 @@ +#> asset:object/alias/2267/summon +# +# Object召喚処理のエイリアス +# +# @within asset_manager:object/summon/summon.m + +# 元の召喚処理を呼び出す + function asset:object/2267.gem_shot_attack/summon/ \ No newline at end of file diff --git a/Asset/data/asset/functions/object/alias/2267/tick.mcfunction b/Asset/data/asset/functions/object/alias/2267/tick.mcfunction new file mode 100644 index 0000000000..bd3ef95d58 --- /dev/null +++ b/Asset/data/asset/functions/object/alias/2267/tick.mcfunction @@ -0,0 +1,8 @@ +#> asset:object/alias/2267/tick +# +# Tick時処理のエイリアス +# +# @within asset_manager:object/tick/tick.m + +# 元のTick処理を呼び出す + function asset:object/2267.gem_shot_attack/tick/ \ No newline at end of file diff --git a/Asset/data/asset/tags/functions/object/load.json b/Asset/data/asset/tags/functions/object/load.json index b2cb6bff9d..2f912419bc 100644 --- a/Asset/data/asset/tags/functions/object/load.json +++ b/Asset/data/asset/tags/functions/object/load.json @@ -1,5 +1,6 @@ { "values": [ + "asset:object/2267.gem_shot_attack/load", "asset:object/2266.field_modify/load", "asset:object/2265.field_modify_manager/load", "asset:object/2251.wall_laser_clock/load", @@ -60,4 +61,4 @@ "asset:object/1059.book_of_hero/load", "asset:object/2031.giant_pumpkin/load" ] -} +} \ No newline at end of file From 5e2eae8dc10cfb24a8aac9d92a188598f92bb670 Mon Sep 17 00:00:00 2001 From: mokkkk Date: Mon, 23 Feb 2026 16:54:25 +0900 Subject: [PATCH 24/98] =?UTF-8?q?=E4=B8=8A=E7=A9=BA=E5=B0=84=E6=92=83?= =?UTF-8?q?=E5=AE=9F=E8=A3=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../0456.gargo_ex_machina/_index.d.mcfunction | 3 +- .../tick/debug/interrupt.mcfunction | 2 +- .../tick/event/.mcfunction | 3 + .../tick/event/upper_shot/.mcfunction | 31 +++++ .../tick/event/upper_shot/attack.mcfunction | 12 ++ .../tick/event/upper_shot/end.mcfunction | 18 +++ .../event/upper_shot/pattern_mesh.mcfunction | 106 ++++++++++++++++++ .../event/upper_shot/prediction.m.mcfunction | 13 +++ .../upper_shot/summon_laser.m.mcfunction | 15 +++ .../tick/util/move_to_ground.mcfunction | 7 +- .../tick/util/move_to_ground_loop.mcfunction | 11 -- .../2263.gem_laser_vfx/_index.d.mcfunction | 1 + .../2263.gem_laser_vfx/init/.mcfunction | 3 +- .../2263.gem_laser_vfx/tick/.mcfunction | 6 +- .../2267.gem_shot_attack/tick/.mcfunction | 6 +- .../2268.gem_upper_shot/_index.d.mcfunction | 6 + .../2268.gem_upper_shot/init/.mcfunction | 9 ++ .../2268.gem_upper_shot/load.mcfunction | 9 ++ .../2268.gem_upper_shot/register.mcfunction | 20 ++++ .../2268.gem_upper_shot/summon/.mcfunction | 8 ++ .../summon/debug.mcfunction | 10 ++ .../2268.gem_upper_shot/tick/.mcfunction | 18 +++ .../tick/damage.mcfunction | 19 ++++ .../tick/prediction.mcfunction | 13 +++ .../tick/summon_laser.mcfunction | 12 ++ .../object/alias/2268/init.mcfunction | 8 ++ .../object/alias/2268/register.mcfunction | 8 ++ .../object/alias/2268/summon.mcfunction | 8 ++ .../object/alias/2268/tick.mcfunction | 8 ++ .../asset/tags/functions/object/load.json | 1 + 30 files changed, 369 insertions(+), 25 deletions(-) create mode 100644 Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/upper_shot/.mcfunction create mode 100644 Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/upper_shot/attack.mcfunction create mode 100644 Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/upper_shot/end.mcfunction create mode 100644 Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/upper_shot/pattern_mesh.mcfunction create mode 100644 Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/upper_shot/prediction.m.mcfunction create mode 100644 Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/upper_shot/summon_laser.m.mcfunction delete mode 100644 Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/util/move_to_ground_loop.mcfunction create mode 100644 Asset/data/asset/functions/object/2268.gem_upper_shot/_index.d.mcfunction create mode 100644 Asset/data/asset/functions/object/2268.gem_upper_shot/init/.mcfunction create mode 100644 Asset/data/asset/functions/object/2268.gem_upper_shot/load.mcfunction create mode 100644 Asset/data/asset/functions/object/2268.gem_upper_shot/register.mcfunction create mode 100644 Asset/data/asset/functions/object/2268.gem_upper_shot/summon/.mcfunction create mode 100644 Asset/data/asset/functions/object/2268.gem_upper_shot/summon/debug.mcfunction create mode 100644 Asset/data/asset/functions/object/2268.gem_upper_shot/tick/.mcfunction create mode 100644 Asset/data/asset/functions/object/2268.gem_upper_shot/tick/damage.mcfunction create mode 100644 Asset/data/asset/functions/object/2268.gem_upper_shot/tick/prediction.mcfunction create mode 100644 Asset/data/asset/functions/object/2268.gem_upper_shot/tick/summon_laser.mcfunction create mode 100644 Asset/data/asset/functions/object/alias/2268/init.mcfunction create mode 100644 Asset/data/asset/functions/object/alias/2268/register.mcfunction create mode 100644 Asset/data/asset/functions/object/alias/2268/summon.mcfunction create mode 100644 Asset/data/asset/functions/object/alias/2268/tick.mcfunction diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/_index.d.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/_index.d.mcfunction index cee940cab9..55b8cb7a34 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/_index.d.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/_index.d.mcfunction @@ -30,7 +30,7 @@ #declare tag CO.Skill.Transform.Shoot 銃変形 #declare tag CO.Skill.Transform.Sword 剣変形 #declare tag CO.Skill.Shot 射撃 - #declare tag + #declare tag CO.Skill.UpperShot 上空射撃 #declare tag #declare tag #declare tag @@ -93,6 +93,7 @@ #declare function animated_java:gargo_ex_machina/animations/change_to_sword/tween #declare function animated_java:gargo_ex_machina/animations/idle_shot/tween #declare function animated_java:gargo_ex_machina/animations/shot_target_spin/tween + #declare function animated_java:gargo_ex_machina/animations/shot_upper/tween #declare function #declare function #declare function diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/debug/interrupt.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/debug/interrupt.mcfunction index 0ad327e5bb..5ba2625ec7 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/debug/interrupt.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/debug/interrupt.mcfunction @@ -18,4 +18,4 @@ # execute at @s run tp @e[type=item_display,tag=CO.ModelRoot] ~ ~ ~ ~ 0 # イベント実行 - tag @s add CO.Skill.Shot + tag @s add CO.Skill.UpperShot diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/.mcfunction index 804cbc3a56..dc9fc423b6 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/.mcfunction @@ -42,3 +42,6 @@ # 射撃 execute if entity @s[tag=CO.Skill.Shot] run function asset:mob/0456.gargo_ex_machina/tick/event/shot/ + +# 上空射撃 + execute if entity @s[tag=CO.Skill.UpperShot] run function asset:mob/0456.gargo_ex_machina/tick/event/upper_shot/ diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/upper_shot/.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/upper_shot/.mcfunction new file mode 100644 index 0000000000..2af7d0d75a --- /dev/null +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/upper_shot/.mcfunction @@ -0,0 +1,31 @@ +#> asset:mob/0456.gargo_ex_machina/tick/event/upper_shot/ +# +# 射撃 +# +# @within asset:mob/0456.gargo_ex_machina/tick/event/ + +# タイマー増加 + scoreboard players add @s CO.EventTimer 1 + +# 構え + # アニメーション再生 + execute if score @s CO.EventTimer matches 1 as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run function animated_java:gargo_ex_machina/animations/shot_upper/tween {duration:1, to_frame: 1} + # 効果音 + execute if score @s CO.EventTimer matches 1 run function asset:mob/0456.gargo_ex_machina/tick/util/sound + execute if score @s CO.EventTimer matches 10 positioned ^-4 ^ ^4 run function asset:mob/0456.gargo_ex_machina/tick/util/step_sound + execute if score @s CO.EventTimer matches 50 run function asset:mob/0456.gargo_ex_machina/tick/util/sound + execute if score @s CO.EventTimer matches 70 run playsound block.piston.contract hostile @a ~ ~ ~ 2 0.9 + # モデルを合わせる + execute as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run tp @s ~ ~ ~ ~ ~ + # 攻撃 + # 攻撃位置決定 + execute if score @s CO.EventTimer matches 25 at @e[type=marker,tag=CO.CenterPosition,distance=..80,limit=1] run function asset:mob/0456.gargo_ex_machina/tick/event/upper_shot/pattern_mesh + # 演出 + execute if score @s CO.EventTimer matches 28 as @e[type=item_display,tag=CO.ModelRoot,distance=..80,sort=nearest,limit=1] at @s on passengers if entity @s[tag=aj.global.data] run function asset:mob/0456.gargo_ex_machina/tick/event/upper_shot/summon_laser.m with entity @s data.locators.muzzle + execute if score @s CO.EventTimer matches 30..32 run playsound entity.breeze.jump hostile @a ~ ~ ~ 2 0.5 + execute if score @s CO.EventTimer matches 30..32 run playsound entity.breeze.jump hostile @a ~ ~ ~ 2 0.6 + # 攻撃 + execute if score @s CO.EventTimer matches 30..60 at @e[type=area_effect_cloud,tag=CO.Aec.AttackPosition,distance=..80,sort=random,limit=2] run function asset:mob/0456.gargo_ex_machina/tick/event/upper_shot/attack + +# 終了 + execute if score @s CO.EventTimer matches 70.. run function asset:mob/0456.gargo_ex_machina/tick/event/upper_shot/end diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/upper_shot/attack.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/upper_shot/attack.mcfunction new file mode 100644 index 0000000000..bd7d7e5f34 --- /dev/null +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/upper_shot/attack.mcfunction @@ -0,0 +1,12 @@ +#> asset:mob/0456.gargo_ex_machina/tick/event/upper_shot/attack +# +# 射撃 +# +# @within asset:mob/0456.gargo_ex_machina/tick/event/upper_shot/ + +# 攻撃判定召喚 + data modify storage api: Argument.ID set value 2268 + data modify storage api: Argument.FieldOverride.Damage set from storage asset:context this.Damage.Shot + execute store result storage api: Argument.FieldOverride.MobUUID int 1 run scoreboard players get @s MobUUID + execute positioned ~ ~ ~ run function api:object/summon + kill @e[type=area_effect_cloud,tag=CO.Aec.AttackPosition,distance=..10,sort=nearest,limit=1] diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/upper_shot/end.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/upper_shot/end.mcfunction new file mode 100644 index 0000000000..af77c3cbbe --- /dev/null +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/upper_shot/end.mcfunction @@ -0,0 +1,18 @@ +#> asset:mob/0456.gargo_ex_machina/tick/event/upper_shot/end +# +# 射撃 +# +# @within asset:mob/0456.gargo_ex_machina/tick/event/upper_shot/ + +# タグ消去 + scoreboard players set @s CO.EventTimer 0 + tag @s remove CO.Skill.UpperShot + +# 攻撃地点消去 + kill @e[type=area_effect_cloud,tag=CO.Aec.AttackPosition,distance=..80] + +# 待機モーション再生 + execute as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run function animated_java:gargo_ex_machina/animations/idle_shot/tween {duration:1, to_frame: 1} + +# 行動 + # function asset:mob/0410.heiloang/tick/act/ diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/upper_shot/pattern_mesh.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/upper_shot/pattern_mesh.mcfunction new file mode 100644 index 0000000000..ca0bd1c0f1 --- /dev/null +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/upper_shot/pattern_mesh.mcfunction @@ -0,0 +1,106 @@ +#> asset:mob/0456.gargo_ex_machina/tick/event/upper_shot/attack +# +# 射撃 +# +# @within asset:mob/0456.gargo_ex_machina/tick/event/upper_shot/ + +# [ImportKey]: NobwRALgngDgpmAXGANgSwHYIDRgK55oAmSYAbAKwAcALAOxzUC0ZAZmQMZM01UDMTKlTJwmAIz5lOATgqUiNHGAwBDALYJkgLd8ABAEYwuGCoBO6gM5JwHAPZ4MEJHoAMuViZtqrYAG4qUeJrgAB5ITHwUuFBIzgC+sbgQNt5+AUFgoYgRUTHxuDasrOZwjoiuYGJwAF5ocCYxuGjmAELVtSYAogCOeP4oUADKxhxwJIis-sV54NDwpOhYhviEY2BwHCJUYgBMZOJw0jTcYkJMKttiFExEzjQUfBcc51R0S6oapLp6TLYw0UamCzeWz2UouNweLyIcCpQLeTLhSJgaKIbYUPKQZLQ3z+OHYzLZZFINEYgpFEoNCptOqUpqtGp1bq9FD9IYqEZjCYoKYJGawTSoTBKAjEUjnIhUZzbbZHaTSHbcDh8MRnGh6FV8dYUOBkFQSvh6KhvdQCr4-Gx-c1-JbGMxqSzYkEOJzldyeFK49IIwkow0YpIetLwpA+pxUUmFYqlcqVBn1MqNFrUzo9PqDYajJBcnnYPlzZALYUrUh6Dg0MRiFxcSjOUQ0G7bQTKo5iFR8WscVg7aRUVjGj7afRWqDD4c2wH24F2Z2IcFgN1QmGe4OIRE5Vd+hKYwN4kIhpEopib-KRikJqlx2lJuNMtNsjlZyZwaaQfnzIVLEWrCjSKXSTgqnodD-twNBlvsDAsM4RBKrceh8EIfa4O8ppDr8I7oeOdoOtY05gq6kI7l6YShquET+liS5Bvi+7roiEbktGuCxu0V70u0t4sum7KZuMT4vrMAqFp+xbIHQTxgc4ZB0D82x6I2vB8DJ-BECoZwSmIziSBQRCsDQ0j9qh3zoaOmEAthU6gi6ELutisLEWRB77hRRErqR5FbmSUaUixNLnnSyacayGacvxvKvvmgqLLgX6kKpFD6c4KgqiorA6twfCKEw0isOqZxPGQETqm20gqIZnxoRaGFVVhQKOnh1nzoRdnLjRjl0SSW4Bi11F7lkTmrp1J6MT5yZsYFqZcfevHZs+4WCe+0XLKKyDSEQRAISMKXSGixyyKqFCNtsHDONIow0El8EcOVg7GVVpk1eZdW4VZs4EbZVG7hkJEDUecRdZROK9d9-V0S4DHeeevnxuUAU3pNwU8aF3JzbmEVCR+MWiWAfBlhQ4l0N80gcLQ3BkJUgj8FQ2W8P+2zSO22xwEhygmhVd2WiZXOPWAtrPWATr4TZi5A193oDeDAOuW1pGS8NkMxmN-nXhxCPcQ+fEo-EAC6QA_3 +# 線 1 +summon area_effect_cloud ^-35 ^ ^0 {Tags:["CO.Aec.AttackPosition"],Duration:80} +summon area_effect_cloud ^-27.22222 ^ ^0 {Tags:["CO.Aec.AttackPosition"],Duration:80} +summon area_effect_cloud ^-19.44444 ^ ^0 {Tags:["CO.Aec.AttackPosition"],Duration:80} +summon area_effect_cloud ^-11.66667 ^ ^0 {Tags:["CO.Aec.AttackPosition"],Duration:80} +summon area_effect_cloud ^-3.88889 ^ ^0 {Tags:["CO.Aec.AttackPosition"],Duration:80} +summon area_effect_cloud ^3.88889 ^ ^0 {Tags:["CO.Aec.AttackPosition"],Duration:80} +summon area_effect_cloud ^11.66667 ^ ^0 {Tags:["CO.Aec.AttackPosition"],Duration:80} +summon area_effect_cloud ^19.44444 ^ ^0 {Tags:["CO.Aec.AttackPosition"],Duration:80} +summon area_effect_cloud ^27.22222 ^ ^0 {Tags:["CO.Aec.AttackPosition"],Duration:80} +summon area_effect_cloud ^35 ^ ^0 {Tags:["CO.Aec.AttackPosition"],Duration:80} +# 線 1-copy +summon area_effect_cloud ^-35 ^ ^25 {Tags:["CO.Aec.AttackPosition"],Duration:80} +summon area_effect_cloud ^-27.22222 ^ ^25 {Tags:["CO.Aec.AttackPosition"],Duration:80} +summon area_effect_cloud ^-19.44444 ^ ^25 {Tags:["CO.Aec.AttackPosition"],Duration:80} +summon area_effect_cloud ^-11.66667 ^ ^25 {Tags:["CO.Aec.AttackPosition"],Duration:80} +summon area_effect_cloud ^-3.88889 ^ ^25 {Tags:["CO.Aec.AttackPosition"],Duration:80} +summon area_effect_cloud ^3.88889 ^ ^25 {Tags:["CO.Aec.AttackPosition"],Duration:80} +summon area_effect_cloud ^11.66667 ^ ^25 {Tags:["CO.Aec.AttackPosition"],Duration:80} +summon area_effect_cloud ^19.44444 ^ ^25 {Tags:["CO.Aec.AttackPosition"],Duration:80} +summon area_effect_cloud ^27.22222 ^ ^25 {Tags:["CO.Aec.AttackPosition"],Duration:80} +summon area_effect_cloud ^35 ^ ^25 {Tags:["CO.Aec.AttackPosition"],Duration:80} +# 線 1-copy-copy +summon area_effect_cloud ^-35 ^ ^18 {Tags:["CO.Aec.AttackPosition"],Duration:80} +summon area_effect_cloud ^-27.22222 ^ ^18 {Tags:["CO.Aec.AttackPosition"],Duration:80} +summon area_effect_cloud ^-19.44444 ^ ^18 {Tags:["CO.Aec.AttackPosition"],Duration:80} +summon area_effect_cloud ^-11.66667 ^ ^18 {Tags:["CO.Aec.AttackPosition"],Duration:80} +summon area_effect_cloud ^-3.88889 ^ ^18 {Tags:["CO.Aec.AttackPosition"],Duration:80} +summon area_effect_cloud ^3.88889 ^ ^18 {Tags:["CO.Aec.AttackPosition"],Duration:80} +summon area_effect_cloud ^11.66667 ^ ^18 {Tags:["CO.Aec.AttackPosition"],Duration:80} +summon area_effect_cloud ^19.44444 ^ ^18 {Tags:["CO.Aec.AttackPosition"],Duration:80} +summon area_effect_cloud ^27.22222 ^ ^18 {Tags:["CO.Aec.AttackPosition"],Duration:80} +summon area_effect_cloud ^35 ^ ^18 {Tags:["CO.Aec.AttackPosition"],Duration:80} +# 線 1-copy-copy-copy +summon area_effect_cloud ^-35 ^ ^-18 {Tags:["CO.Aec.AttackPosition"],Duration:80} +summon area_effect_cloud ^-27.22222 ^ ^-18 {Tags:["CO.Aec.AttackPosition"],Duration:80} +summon area_effect_cloud ^-19.44444 ^ ^-18 {Tags:["CO.Aec.AttackPosition"],Duration:80} +summon area_effect_cloud ^-11.66667 ^ ^-18 {Tags:["CO.Aec.AttackPosition"],Duration:80} +summon area_effect_cloud ^-3.88889 ^ ^-18 {Tags:["CO.Aec.AttackPosition"],Duration:80} +summon area_effect_cloud ^3.88889 ^ ^-18 {Tags:["CO.Aec.AttackPosition"],Duration:80} +summon area_effect_cloud ^11.66667 ^ ^-18 {Tags:["CO.Aec.AttackPosition"],Duration:80} +summon area_effect_cloud ^19.44444 ^ ^-18 {Tags:["CO.Aec.AttackPosition"],Duration:80} +summon area_effect_cloud ^27.22222 ^ ^-18 {Tags:["CO.Aec.AttackPosition"],Duration:80} +summon area_effect_cloud ^35 ^ ^-18 {Tags:["CO.Aec.AttackPosition"],Duration:80} +# 線 1-copy-copy +summon area_effect_cloud ^-35 ^ ^-35 {Tags:["CO.Aec.AttackPosition"],Duration:80} +summon area_effect_cloud ^-27.22222 ^ ^-35 {Tags:["CO.Aec.AttackPosition"],Duration:80} +summon area_effect_cloud ^-19.44444 ^ ^-35 {Tags:["CO.Aec.AttackPosition"],Duration:80} +summon area_effect_cloud ^-11.66667 ^ ^-35 {Tags:["CO.Aec.AttackPosition"],Duration:80} +summon area_effect_cloud ^-3.88889 ^ ^-35 {Tags:["CO.Aec.AttackPosition"],Duration:80} +summon area_effect_cloud ^3.88889 ^ ^-35 {Tags:["CO.Aec.AttackPosition"],Duration:80} +summon area_effect_cloud ^11.66667 ^ ^-35 {Tags:["CO.Aec.AttackPosition"],Duration:80} +summon area_effect_cloud ^19.44444 ^ ^-35 {Tags:["CO.Aec.AttackPosition"],Duration:80} +summon area_effect_cloud ^27.22222 ^ ^-35 {Tags:["CO.Aec.AttackPosition"],Duration:80} +summon area_effect_cloud ^35 ^ ^-35 {Tags:["CO.Aec.AttackPosition"],Duration:80} +# 線 1-copy-copy-copy +summon area_effect_cloud ^-35 ^ ^35 {Tags:["CO.Aec.AttackPosition"],Duration:80} +summon area_effect_cloud ^-27.22222 ^ ^35 {Tags:["CO.Aec.AttackPosition"],Duration:80} +summon area_effect_cloud ^-19.44444 ^ ^35 {Tags:["CO.Aec.AttackPosition"],Duration:80} +summon area_effect_cloud ^-11.66667 ^ ^35 {Tags:["CO.Aec.AttackPosition"],Duration:80} +summon area_effect_cloud ^-3.88889 ^ ^35 {Tags:["CO.Aec.AttackPosition"],Duration:80} +summon area_effect_cloud ^3.88889 ^ ^35 {Tags:["CO.Aec.AttackPosition"],Duration:80} +summon area_effect_cloud ^11.66667 ^ ^35 {Tags:["CO.Aec.AttackPosition"],Duration:80} +summon area_effect_cloud ^19.44444 ^ ^35 {Tags:["CO.Aec.AttackPosition"],Duration:80} +summon area_effect_cloud ^27.22222 ^ ^35 {Tags:["CO.Aec.AttackPosition"],Duration:80} +summon area_effect_cloud ^35 ^ ^35 {Tags:["CO.Aec.AttackPosition"],Duration:80} +# 線 1-copy-copy +summon area_effect_cloud ^-35 ^ ^-25 {Tags:["CO.Aec.AttackPosition"],Duration:80} +summon area_effect_cloud ^-27.22222 ^ ^-25 {Tags:["CO.Aec.AttackPosition"],Duration:80} +summon area_effect_cloud ^-19.44444 ^ ^-25 {Tags:["CO.Aec.AttackPosition"],Duration:80} +summon area_effect_cloud ^-11.66667 ^ ^-25 {Tags:["CO.Aec.AttackPosition"],Duration:80} +summon area_effect_cloud ^-3.88889 ^ ^-25 {Tags:["CO.Aec.AttackPosition"],Duration:80} +summon area_effect_cloud ^3.88889 ^ ^-25 {Tags:["CO.Aec.AttackPosition"],Duration:80} +summon area_effect_cloud ^11.66667 ^ ^-25 {Tags:["CO.Aec.AttackPosition"],Duration:80} +summon area_effect_cloud ^19.44444 ^ ^-25 {Tags:["CO.Aec.AttackPosition"],Duration:80} +summon area_effect_cloud ^27.22222 ^ ^-25 {Tags:["CO.Aec.AttackPosition"],Duration:80} +summon area_effect_cloud ^35 ^ ^-25 {Tags:["CO.Aec.AttackPosition"],Duration:80} +# 線 1-copy-copy-copy +summon area_effect_cloud ^-35 ^ ^-10 {Tags:["CO.Aec.AttackPosition"],Duration:80} +summon area_effect_cloud ^-27.22222 ^ ^-10 {Tags:["CO.Aec.AttackPosition"],Duration:80} +summon area_effect_cloud ^-19.44444 ^ ^-10 {Tags:["CO.Aec.AttackPosition"],Duration:80} +summon area_effect_cloud ^-11.66667 ^ ^-10 {Tags:["CO.Aec.AttackPosition"],Duration:80} +summon area_effect_cloud ^-3.88889 ^ ^-10 {Tags:["CO.Aec.AttackPosition"],Duration:80} +summon area_effect_cloud ^3.88889 ^ ^-10 {Tags:["CO.Aec.AttackPosition"],Duration:80} +summon area_effect_cloud ^11.66667 ^ ^-10 {Tags:["CO.Aec.AttackPosition"],Duration:80} +summon area_effect_cloud ^19.44444 ^ ^-10 {Tags:["CO.Aec.AttackPosition"],Duration:80} +summon area_effect_cloud ^27.22222 ^ ^-10 {Tags:["CO.Aec.AttackPosition"],Duration:80} +summon area_effect_cloud ^35 ^ ^-10 {Tags:["CO.Aec.AttackPosition"],Duration:80} +# 線 1-copy-copy-copy-copy +summon area_effect_cloud ^-35 ^ ^10 {Tags:["CO.Aec.AttackPosition"],Duration:80} +summon area_effect_cloud ^-27.22222 ^ ^10 {Tags:["CO.Aec.AttackPosition"],Duration:80} +summon area_effect_cloud ^-19.44444 ^ ^10 {Tags:["CO.Aec.AttackPosition"],Duration:80} +summon area_effect_cloud ^-11.66667 ^ ^10 {Tags:["CO.Aec.AttackPosition"],Duration:80} +summon area_effect_cloud ^-3.88889 ^ ^10 {Tags:["CO.Aec.AttackPosition"],Duration:80} +summon area_effect_cloud ^3.88889 ^ ^10 {Tags:["CO.Aec.AttackPosition"],Duration:80} +summon area_effect_cloud ^11.66667 ^ ^10 {Tags:["CO.Aec.AttackPosition"],Duration:80} +summon area_effect_cloud ^19.44444 ^ ^10 {Tags:["CO.Aec.AttackPosition"],Duration:80} +summon area_effect_cloud ^27.22222 ^ ^10 {Tags:["CO.Aec.AttackPosition"],Duration:80} +summon area_effect_cloud ^35 ^ ^10 {Tags:["CO.Aec.AttackPosition"],Duration:80} diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/upper_shot/prediction.m.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/upper_shot/prediction.m.mcfunction new file mode 100644 index 0000000000..593d8346c3 --- /dev/null +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/upper_shot/prediction.m.mcfunction @@ -0,0 +1,13 @@ +#> asset:mob/0456.gargo_ex_machina/tick/event/shot/prediction.m +# +# 射撃 +# +# @within asset:mob/0456.gargo_ex_machina/tick/event/shot/ + +# 予告:円範囲 + data modify storage api: Argument.ID set value 2063 + execute store result storage api: Argument.FieldOverride.MobUUID int 1 run scoreboard players get @s MobUUID + data modify storage api: Argument.FieldOverride.Color set value 3381759 + data modify storage api: Argument.FieldOverride.Scale set value [15f, 15f, 0.05f] + $data modify storage api: Argument.FieldOverride.Tick set value $(Tick) + execute positioned ^ ^ ^ rotated ~ 0 run function api:object/summon diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/upper_shot/summon_laser.m.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/upper_shot/summon_laser.m.mcfunction new file mode 100644 index 0000000000..625dc7fee5 --- /dev/null +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/upper_shot/summon_laser.m.mcfunction @@ -0,0 +1,15 @@ +#> asset:mob/0456.gargo_ex_machina/tick/event/upper_shot/summon_laser.m +# +# 射撃 +# +# @within asset:mob/0456.gargo_ex_machina/tick/event/upper_shot/ + + +# 演出 + $summon area_effect_cloud ^$(posx) ^$(posy) ^$(posz) {Tags:["CO.Temp.Rotation"]} + execute as @e[type=area_effect_cloud,tag=CO.Temp.Rotation,distance=..30,limit=1] at @s run tp @s ~ ~ ~ ~ -90 + data modify storage api: Argument.ID set value 2263 + data modify storage api: Argument.FieldOverride.Rotation set from entity @e[type=area_effect_cloud,tag=CO.Temp.Rotation,distance=..30,limit=1] Rotation + data modify storage api: Argument.FieldOverride.IsShot set value true + execute positioned as @e[type=area_effect_cloud,tag=CO.Temp.Rotation,distance=..30,limit=1] run function api:object/summon + kill @e[type=area_effect_cloud,tag=CO.Temp.Rotation,distance=..30,limit=1] diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/util/move_to_ground.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/util/move_to_ground.mcfunction index 7b47db0660..17a6b06780 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/util/move_to_ground.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/util/move_to_ground.mcfunction @@ -5,9 +5,4 @@ # @within asset:mob/0456.gargo_ex_machina/tick/event/** # 接地 - summon area_effect_cloud ~ ~ ~ {Duration:1,Tags:["CO.Temp.Ground"]} - execute as @e[type=area_effect_cloud,tag=CO.Temp.Ground] run scoreboard players set @s CO.Counter 20 - execute as @e[type=area_effect_cloud,tag=CO.Temp.Ground] at @s align y run tp @s ~ ~ ~ - execute as @e[type=area_effect_cloud,tag=CO.Temp.Ground] at @s run function asset:mob/0456.gargo_ex_machina/tick/util/move_to_ground_loop - execute positioned as @e[type=area_effect_cloud,tag=CO.Temp.Ground] align y run tp @s ~ ~0.5 ~ - kill @e[type=area_effect_cloud,tag=CO.Temp.Ground] + execute store result entity @s Pos[1] double 1 run data get entity @e[type=marker,tag=CO.CenterPosition,distance=..80,limit=1] Pos[1] diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/util/move_to_ground_loop.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/util/move_to_ground_loop.mcfunction deleted file mode 100644 index 453b0e8310..0000000000 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/util/move_to_ground_loop.mcfunction +++ /dev/null @@ -1,11 +0,0 @@ -#> asset:mob/0456.gargo_ex_machina/tick/util/move_to_ground_loop -# -# 汎用処理 接地 -# -# @within asset:mob/0456.gargo_ex_machina/tick/util/move_to_ground -# @within asset:mob/0456.gargo_ex_machina/tick/util/move_to_ground_loop - -# 接地するまで繰り返す - scoreboard players remove @s CO.Counter 1 - execute if score @s CO.Counter matches 1.. if block ~ ~-1 ~ #lib:no_collision positioned ~ ~-1 ~ run function asset:mob/0456.gargo_ex_machina/tick/util/move_to_ground_loop - execute unless block ~ ~-1 ~ #lib:no_collision run tp @s ~ ~ ~ diff --git a/Asset/data/asset/functions/object/2263.gem_laser_vfx/_index.d.mcfunction b/Asset/data/asset/functions/object/2263.gem_laser_vfx/_index.d.mcfunction index 939c7e7283..4fe7bb8048 100644 --- a/Asset/data/asset/functions/object/2263.gem_laser_vfx/_index.d.mcfunction +++ b/Asset/data/asset/functions/object/2263.gem_laser_vfx/_index.d.mcfunction @@ -6,3 +6,4 @@ #declare tag CO.Object #declare tag 2263.IsRight #declare tag 2263.IsShot + #declare tag 2263.IsUpperShot diff --git a/Asset/data/asset/functions/object/2263.gem_laser_vfx/init/.mcfunction b/Asset/data/asset/functions/object/2263.gem_laser_vfx/init/.mcfunction index e409f40368..4f7109e51e 100644 --- a/Asset/data/asset/functions/object/2263.gem_laser_vfx/init/.mcfunction +++ b/Asset/data/asset/functions/object/2263.gem_laser_vfx/init/.mcfunction @@ -7,5 +7,6 @@ # 左右 execute if data storage asset:context this{IsRight:true} run tag @s add 2263.IsRight -# 首振り有無 +# 射撃系演出用 execute if data storage asset:context this{IsShot:true} run tag @s add 2263.IsShot + execute if data storage asset:context this{IsUpperShot:true} run tag @s add 2263.IsUpperShot diff --git a/Asset/data/asset/functions/object/2263.gem_laser_vfx/tick/.mcfunction b/Asset/data/asset/functions/object/2263.gem_laser_vfx/tick/.mcfunction index f6c1fb1bd8..b103ae19b8 100644 --- a/Asset/data/asset/functions/object/2263.gem_laser_vfx/tick/.mcfunction +++ b/Asset/data/asset/functions/object/2263.gem_laser_vfx/tick/.mcfunction @@ -11,14 +11,16 @@ execute if score @s General.Object.Tick matches 3 run data modify entity @s start_interpolation set value -1 execute if score @s General.Object.Tick matches 3 run data modify entity @s transformation.scale set value [5.0f,5.0f,100.0f] execute if score @s General.Object.Tick matches 8 run data modify entity @s start_interpolation set value -1 - execute if score @s General.Object.Tick matches 8 run data modify entity @s transformation.scale set value [0.0f,0.0f,100.0f] - execute if score @s General.Object.Tick matches 3..12 run particle flash ~ ~ ~ 0 0 0 0 1 + execute unless entity @s[tag=2263.IsUpperShot] if score @s General.Object.Tick matches 8 run data modify entity @s transformation.scale set value [0.0f,0.0f,100.0f] + execute if entity @s[tag=2263.IsUpperShot] if score @s General.Object.Tick matches 8 run data modify entity @s transformation.scale set value [0.0f,0.0f,0.0f] + execute unless entity @s[tag=2263.IsUpperShot] if score @s General.Object.Tick matches 3..12 run particle flash ~ ~ ~ 0 0 0 0 1 # 移動 execute if entity @s[tag=2263.IsRight] unless entity @s[tag=2263.IsShot] if score @s General.Object.Tick matches 3.. run tp @s ~ ~ ~ ~35 ~ execute unless entity @s[tag=2263.IsRight] unless entity @s[tag=2263.IsShot] if score @s General.Object.Tick matches 3.. run tp @s ~ ~ ~ ~-35 ~ execute unless entity @s[tag=2263.IsShot] if score @s General.Object.Tick matches 3..5 at @s run tp @s ~ ~ ~ ~ ~-4 execute unless entity @s[tag=2263.IsShot] if score @s General.Object.Tick matches 12..14 at @s run tp @s ~ ~ ~ ~ ~4 + execute if entity @s[tag=2263.IsShot,tag=!2263.IsUpperShot] if score @s General.Object.Tick matches 8.. at @s run tp @s ^ ^ ^20 # 消滅処理 kill @s[scores={General.Object.Tick=14..}] diff --git a/Asset/data/asset/functions/object/2267.gem_shot_attack/tick/.mcfunction b/Asset/data/asset/functions/object/2267.gem_shot_attack/tick/.mcfunction index 8ae61578f8..8c9b0ca266 100644 --- a/Asset/data/asset/functions/object/2267.gem_shot_attack/tick/.mcfunction +++ b/Asset/data/asset/functions/object/2267.gem_shot_attack/tick/.mcfunction @@ -10,19 +10,19 @@ # 攻撃 execute if entity @s[scores={General.Object.Tick=6}] run function asset:object/2267.gem_shot_attack/tick/set_attack_pos_1 execute if entity @s[scores={General.Object.Tick=6}] as @e[type=area_effect_cloud,tag=2267.AttackPosition,distance=..50] at @s run function asset:object/2267.gem_shot_attack/tick/prediction - execute if entity @s[scores={General.Object.Tick=37}] run playsound entity.generic.explode hostile @a ~ ~ ~ 0.5 0.7 0.5 + execute if entity @s[scores={General.Object.Tick=37}] positioned ~ ~100 ~ run playsound entity.generic.explode hostile @a[distance=..180] ~ ~ ~ 0.5 0.7 0.5 execute if entity @s[scores={General.Object.Tick=37}] at @e[type=area_effect_cloud,tag=2267.AttackPosition,distance=..50] run function asset:object/2267.gem_shot_attack/tick/hit_1 execute if entity @s[scores={General.Object.Tick=37}] run function asset:object/2267.gem_shot_attack/tick/damage execute if entity @s[scores={General.Object.Tick=39}] run function asset:object/2267.gem_shot_attack/tick/set_attack_pos_2 execute if entity @s[scores={General.Object.Tick=39}] as @e[type=area_effect_cloud,tag=2267.AttackPosition,distance=..50] at @s run function asset:object/2267.gem_shot_attack/tick/prediction - execute if entity @s[scores={General.Object.Tick=70}] run playsound entity.generic.explode hostile @a[distance=..80] ~ ~ ~ 0.5 0.8 0.5 + execute if entity @s[scores={General.Object.Tick=70}] positioned ~ ~100 ~ run playsound entity.generic.explode hostile @a[distance=..180] ~ ~ ~ 0.5 0.8 0.5 execute if entity @s[scores={General.Object.Tick=70}] at @e[type=area_effect_cloud,tag=2267.AttackPosition,distance=..50] run function asset:object/2267.gem_shot_attack/tick/hit_2 execute if entity @s[scores={General.Object.Tick=70}] run function asset:object/2267.gem_shot_attack/tick/damage execute if entity @s[scores={General.Object.Tick=72}] run function asset:object/2267.gem_shot_attack/tick/set_attack_pos_3 execute if entity @s[scores={General.Object.Tick=72}] as @e[type=area_effect_cloud,tag=2267.AttackPosition,distance=..50] at @s run function asset:object/2267.gem_shot_attack/tick/prediction - execute if entity @s[scores={General.Object.Tick=103}] run playsound entity.generic.explode hostile @a[distance=..80] ~ ~ ~ 0.5 0.8 0.5 + execute if entity @s[scores={General.Object.Tick=103}] positioned ~ ~100 ~ run playsound entity.generic.explode hostile @a[distance=..180] ~ ~ ~ 0.5 0.8 0.5 execute if entity @s[scores={General.Object.Tick=103}] at @e[type=area_effect_cloud,tag=2267.AttackPosition,distance=..50] run function asset:object/2267.gem_shot_attack/tick/hit_3 execute if entity @s[scores={General.Object.Tick=103}] run function asset:object/2267.gem_shot_attack/tick/damage diff --git a/Asset/data/asset/functions/object/2268.gem_upper_shot/_index.d.mcfunction b/Asset/data/asset/functions/object/2268.gem_upper_shot/_index.d.mcfunction new file mode 100644 index 0000000000..71a76ba4bd --- /dev/null +++ b/Asset/data/asset/functions/object/2268.gem_upper_shot/_index.d.mcfunction @@ -0,0 +1,6 @@ +#> asset:object/2268.gem_upper_shot/_index.d +# @private + +#> tag +# @within function asset:object/2268.gem_upper_shot/** + #declare tag CO.Object diff --git a/Asset/data/asset/functions/object/2268.gem_upper_shot/init/.mcfunction b/Asset/data/asset/functions/object/2268.gem_upper_shot/init/.mcfunction new file mode 100644 index 0000000000..4a0a651eb9 --- /dev/null +++ b/Asset/data/asset/functions/object/2268.gem_upper_shot/init/.mcfunction @@ -0,0 +1,9 @@ +#> asset:object/2268.gem_upper_shot/init/ +# +# Objectのinit時の処理 +# +# @within asset:object/alias/2268/init + +# 角度をランダムに設定 + execute store result entity @s Rotation[0] float 0.1 run random value 0..3600 + execute store result entity @s Rotation[1] float 0.1 run random value -900..-700 diff --git a/Asset/data/asset/functions/object/2268.gem_upper_shot/load.mcfunction b/Asset/data/asset/functions/object/2268.gem_upper_shot/load.mcfunction new file mode 100644 index 0000000000..558a67db4b --- /dev/null +++ b/Asset/data/asset/functions/object/2268.gem_upper_shot/load.mcfunction @@ -0,0 +1,9 @@ +#> asset:object/2268.gem_upper_shot/load +# +# Objectに利用するスコアボード等の初期化処理 +# +# @within tag/function asset:object/load + +#> 定義類はここに +# @within function asset:object/2268.gem_upper_shot/** + # scoreboard objectives add diff --git a/Asset/data/asset/functions/object/2268.gem_upper_shot/register.mcfunction b/Asset/data/asset/functions/object/2268.gem_upper_shot/register.mcfunction new file mode 100644 index 0000000000..3fd12cb6f5 --- /dev/null +++ b/Asset/data/asset/functions/object/2268.gem_upper_shot/register.mcfunction @@ -0,0 +1,20 @@ +#> asset:object/2268.gem_upper_shot/register +# +# Objectのデータを指定 +# +# @within function asset:object/alias/2268/register + +# 継承(オプション) + # data modify storage asset:object Extends append value + # function asset:object/extends +# 他のObjectに継承されることを許可するか (boolean) (オプション) + # data modify storage asset:object ExtendsSafe set value +# 継承されることを前提とした、抽象的なObjectであるかどうか(boolean) + data modify storage asset:object IsAbstract set value false +# Tickするかどうか(boolean) (オプション) + # data modify storage asset:object IsTicking set value + +# ID (int) + data modify storage asset:object ID set value 2268 +# フィールド(オプション) + # data modify storage asset:object Field.myValue set value \ No newline at end of file diff --git a/Asset/data/asset/functions/object/2268.gem_upper_shot/summon/.mcfunction b/Asset/data/asset/functions/object/2268.gem_upper_shot/summon/.mcfunction new file mode 100644 index 0000000000..f54a3e9ac4 --- /dev/null +++ b/Asset/data/asset/functions/object/2268.gem_upper_shot/summon/.mcfunction @@ -0,0 +1,8 @@ +#> asset:object/2268.gem_upper_shot/summon/ +# +# Object召喚処理の呼び出し時に実行されるfunction +# +# @within asset:object/alias/2268/summon + +# 元となるEntityを召喚する + summon marker ~ ~ ~ {Tags:["ObjectInit"]} diff --git a/Asset/data/asset/functions/object/2268.gem_upper_shot/summon/debug.mcfunction b/Asset/data/asset/functions/object/2268.gem_upper_shot/summon/debug.mcfunction new file mode 100644 index 0000000000..6f04f2b520 --- /dev/null +++ b/Asset/data/asset/functions/object/2268.gem_upper_shot/summon/debug.mcfunction @@ -0,0 +1,10 @@ +#> asset:object/2268.gem_upper_shot/summon/debug +# +# 動作チェック用の召喚処理 使い終わったら消してもいいかも +# +# @user +# @private + +# 召喚 + data modify storage api: Argument.ID set value 2268 + function api:object/summon \ No newline at end of file diff --git a/Asset/data/asset/functions/object/2268.gem_upper_shot/tick/.mcfunction b/Asset/data/asset/functions/object/2268.gem_upper_shot/tick/.mcfunction new file mode 100644 index 0000000000..952b768d72 --- /dev/null +++ b/Asset/data/asset/functions/object/2268.gem_upper_shot/tick/.mcfunction @@ -0,0 +1,18 @@ +#> asset:object/2268.gem_upper_shot/tick/ +# +# Objectのtick時の処理 +# +# @within asset:object/alias/2268/tick + +# Tick加算 + scoreboard players add @s General.Object.Tick 1 + +# 予兆 + execute if entity @s[scores={General.Object.Tick=1}] run function asset:object/2268.gem_upper_shot/tick/prediction + +# 攻撃 + execute if entity @s[scores={General.Object.Tick=57}] run function asset:object/2268.gem_upper_shot/tick/summon_laser + execute if entity @s[scores={General.Object.Tick=60}] run function asset:object/2268.gem_upper_shot/tick/damage + +# 消滅処理 + kill @s[scores={General.Object.Tick=61..}] diff --git a/Asset/data/asset/functions/object/2268.gem_upper_shot/tick/damage.mcfunction b/Asset/data/asset/functions/object/2268.gem_upper_shot/tick/damage.mcfunction new file mode 100644 index 0000000000..8efec2edad --- /dev/null +++ b/Asset/data/asset/functions/object/2268.gem_upper_shot/tick/damage.mcfunction @@ -0,0 +1,19 @@ +#> asset:object/2268.gem_upper_shot/tick/damage +# +# Objectのtick時の処理 +# +# @within asset:object/2268.gem_upper_shot/tick/ + +# ダメージ + data modify storage api: Argument.Damage set from storage asset:context this.Damage.Amount + data modify storage api: Argument.AttackType set from storage asset:context this.Damage.Type + data modify storage api: Argument.ElementType set from storage asset:context this.Damage.Element + data modify storage api: Argument.MobUUID set from storage asset:context this.MobUUID + function api:damage/modifier_manual + execute as @a[tag=!PlayerShouldInvulnerable,distance=..6] run function api:damage/ + function api:damage/reset + +# 演出 + particle explosion ~ ~1 ~ 3 1 3 0 20 force + particle lava ~ ~1 ~ 3 1 3 0.2 10 + playsound entity.generic.explode hostile @a ~ ~ ~ 1 0.8 diff --git a/Asset/data/asset/functions/object/2268.gem_upper_shot/tick/prediction.mcfunction b/Asset/data/asset/functions/object/2268.gem_upper_shot/tick/prediction.mcfunction new file mode 100644 index 0000000000..8d2e2881bc --- /dev/null +++ b/Asset/data/asset/functions/object/2268.gem_upper_shot/tick/prediction.mcfunction @@ -0,0 +1,13 @@ +#> asset:object/2268.gem_upper_shot/tick/prediction +# +# Objectのtick時の処理 +# +# @within asset:object/2268.gem_upper_shot/tick/ + +# 予兆 + data modify storage api: Argument.ID set value 2063 + execute store result storage api: Argument.FieldOverride.MobUUID int 1 run scoreboard players get @s MobUUID + data modify storage api: Argument.FieldOverride.Color set value 3381759 + data modify storage api: Argument.FieldOverride.Scale set value [12f, 12f, 0.05f] + data modify storage api: Argument.FieldOverride.Tick set value 60 + execute rotated ~ 0 run function api:object/summon diff --git a/Asset/data/asset/functions/object/2268.gem_upper_shot/tick/summon_laser.mcfunction b/Asset/data/asset/functions/object/2268.gem_upper_shot/tick/summon_laser.mcfunction new file mode 100644 index 0000000000..d08e9f4174 --- /dev/null +++ b/Asset/data/asset/functions/object/2268.gem_upper_shot/tick/summon_laser.mcfunction @@ -0,0 +1,12 @@ +#> asset:object/2268.gem_upper_shot/tick/summon_laser +# +# Objectのtick時の処理 +# +# @within asset:object/2268.gem_upper_shot/tick/ + +# 演出 + data modify storage api: Argument.ID set value 2263 + data modify storage api: Argument.FieldOverride.Rotation set from entity @s Rotation + data modify storage api: Argument.FieldOverride.IsShot set value true + data modify storage api: Argument.FieldOverride.IsUpperShot set value true + function api:object/summon diff --git a/Asset/data/asset/functions/object/alias/2268/init.mcfunction b/Asset/data/asset/functions/object/alias/2268/init.mcfunction new file mode 100644 index 0000000000..ae60e28be6 --- /dev/null +++ b/Asset/data/asset/functions/object/alias/2268/init.mcfunction @@ -0,0 +1,8 @@ +#> asset:object/alias/2268/init +# +# Init処理のエイリアス +# +# @within asset_manager:object/init/init.m + +# 元のInit処理を呼び出す + function asset:object/2268.gem_upper_shot/init/ \ No newline at end of file diff --git a/Asset/data/asset/functions/object/alias/2268/register.mcfunction b/Asset/data/asset/functions/object/alias/2268/register.mcfunction new file mode 100644 index 0000000000..2b84010166 --- /dev/null +++ b/Asset/data/asset/functions/object/alias/2268/register.mcfunction @@ -0,0 +1,8 @@ +#> asset:object/alias/2268/register +# +# Objectのデータ指定処理のエイリアス +# +# @within asset_manager:object/summon/register.m + +# 元の登録処理を呼び出す + function asset:object/2268.gem_upper_shot/register \ No newline at end of file diff --git a/Asset/data/asset/functions/object/alias/2268/summon.mcfunction b/Asset/data/asset/functions/object/alias/2268/summon.mcfunction new file mode 100644 index 0000000000..a7163f7e39 --- /dev/null +++ b/Asset/data/asset/functions/object/alias/2268/summon.mcfunction @@ -0,0 +1,8 @@ +#> asset:object/alias/2268/summon +# +# Object召喚処理のエイリアス +# +# @within asset_manager:object/summon/summon.m + +# 元の召喚処理を呼び出す + function asset:object/2268.gem_upper_shot/summon/ \ No newline at end of file diff --git a/Asset/data/asset/functions/object/alias/2268/tick.mcfunction b/Asset/data/asset/functions/object/alias/2268/tick.mcfunction new file mode 100644 index 0000000000..ba5f2d2399 --- /dev/null +++ b/Asset/data/asset/functions/object/alias/2268/tick.mcfunction @@ -0,0 +1,8 @@ +#> asset:object/alias/2268/tick +# +# Tick時処理のエイリアス +# +# @within asset_manager:object/tick/tick.m + +# 元のTick処理を呼び出す + function asset:object/2268.gem_upper_shot/tick/ \ No newline at end of file diff --git a/Asset/data/asset/tags/functions/object/load.json b/Asset/data/asset/tags/functions/object/load.json index 2f912419bc..0304d7be11 100644 --- a/Asset/data/asset/tags/functions/object/load.json +++ b/Asset/data/asset/tags/functions/object/load.json @@ -1,5 +1,6 @@ { "values": [ + "asset:object/2268.gem_upper_shot/load", "asset:object/2267.gem_shot_attack/load", "asset:object/2266.field_modify/load", "asset:object/2265.field_modify_manager/load", From b6b12a713c7a01986809e601c6d5da763e5597e1 Mon Sep 17 00:00:00 2001 From: mokkkk Date: Mon, 23 Feb 2026 17:01:29 +0900 Subject: [PATCH 25/98] =?UTF-8?q?=E6=94=BB=E6=92=83=E4=BD=8D=E7=BD=AE?= =?UTF-8?q?=E8=A8=AD=E7=BD=AE=E5=87=A6=E7=90=86=E3=81=AE=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../tick/event/upper_shot/pattern_mesh.mcfunction | 3 +++ 1 file changed, 3 insertions(+) diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/upper_shot/pattern_mesh.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/upper_shot/pattern_mesh.mcfunction index ca0bd1c0f1..2f7ec9248a 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/upper_shot/pattern_mesh.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/upper_shot/pattern_mesh.mcfunction @@ -104,3 +104,6 @@ summon area_effect_cloud ^11.66667 ^ ^10 {Tags:["CO.Aec.AttackPosition"],Duratio summon area_effect_cloud ^19.44444 ^ ^10 {Tags:["CO.Aec.AttackPosition"],Duration:80} summon area_effect_cloud ^27.22222 ^ ^10 {Tags:["CO.Aec.AttackPosition"],Duration:80} summon area_effect_cloud ^35 ^ ^10 {Tags:["CO.Aec.AttackPosition"],Duration:80} + +# 数を減らす + kill @e[type=area_effect_cloud,tag=CO.Aec.AttackPosition,distance=..80,sort=random,limit=15] From b2bd5f67d7d83d21569d64a6d231c041fc683c03 Mon Sep 17 00:00:00 2001 From: mokkkk Date: Sat, 28 Feb 2026 10:10:09 +0900 Subject: [PATCH 26/98] =?UTF-8?q?=E3=83=93=E3=83=BC=E3=83=A0+=E5=B0=84?= =?UTF-8?q?=E6=92=83=E3=81=AE=E5=8B=95=E4=BD=9C=E4=BD=9C=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../0456.gargo_ex_machina/_index.d.mcfunction | 8 + .../tick/debug/interrupt.mcfunction | 2 +- .../tick/event/.mcfunction | 4 +- .../event/half_beam_shot/attack.mcfunction | 30 ++++ .../half_beam_shot/attack_effect.mcfunction | 167 ++++++++++++++++++ .../attack_effect_start.mcfunction | 11 ++ .../half_beam_shot/attack_sword.mcfunction | 111 ++++++++++++ .../tick/event/half_beam_shot/end.mcfunction | 16 ++ .../half_beam_shot/event_attack.mcfunction | 48 +++++ .../half_beam_shot/event_charging.mcfunction | 55 ++++++ .../half_beam_shot/event_start.mcfunction | 38 ++++ .../half_beam_shot/prediction.m.mcfunction | 14 ++ .../prediction_circle.m.mcfunction | 13 ++ .../half_beam_shot/start_attack.mcfunction | 10 ++ .../half_beam_shot/start_charging.mcfunction | 10 ++ .../half_beam_shot/summon_laser.mcfunction | 11 ++ .../summon_laser_start.mcfunction | 24 +++ 17 files changed, 570 insertions(+), 2 deletions(-) create mode 100644 Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam_shot/attack.mcfunction create mode 100644 Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam_shot/attack_effect.mcfunction create mode 100644 Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam_shot/attack_effect_start.mcfunction create mode 100644 Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam_shot/attack_sword.mcfunction create mode 100644 Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam_shot/end.mcfunction create mode 100644 Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam_shot/event_attack.mcfunction create mode 100644 Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam_shot/event_charging.mcfunction create mode 100644 Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam_shot/event_start.mcfunction create mode 100644 Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam_shot/prediction.m.mcfunction create mode 100644 Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam_shot/prediction_circle.m.mcfunction create mode 100644 Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam_shot/start_attack.mcfunction create mode 100644 Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam_shot/start_charging.mcfunction create mode 100644 Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam_shot/summon_laser.mcfunction create mode 100644 Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam_shot/summon_laser_start.mcfunction diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/_index.d.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/_index.d.mcfunction index 55b8cb7a34..451fc63c66 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/_index.d.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/_index.d.mcfunction @@ -24,6 +24,10 @@ #declare tag CO.Skill.HalfBeamSword.Charge 半面焼きビーム #declare tag CO.Skill.HalfBeamSword.Attack 半面焼きビーム #declare tag CO.Skill.HalfBeamSword.IsRight 半面焼きビーム + #declare tag CO.Skill.HalfBeamShot 半面焼きビーム + #declare tag CO.Skill.HalfBeamShot.Charge 半面焼きビーム + #declare tag CO.Skill.HalfBeamShot.Attack 半面焼きビーム + #declare tag CO.Skill.HalfBeamShot.IsRight 半面焼きビーム #declare tag CO.Skill.SuperJump スーパージャンプ #declare tag CO.Skill.SuperJump.Attack スーパージャンプ #declare tag CO.Skill.FieldModify フィールド・モディファイ @@ -83,6 +87,10 @@ #declare function animated_java:gargo_ex_machina/animations/beam_sword_charge/tween #declare function animated_java:gargo_ex_machina/animations/beam_sword_attack_right/tween #declare function animated_java:gargo_ex_machina/animations/beam_sword_attack_left/tween + #declare function animated_java:gargo_ex_machina/animations/beam_shot_start/tween + #declare function animated_java:gargo_ex_machina/animations/beam_shot_charge/tween + #declare function animated_java:gargo_ex_machina/animations/beam_shot_attack_right/tween + #declare function animated_java:gargo_ex_machina/animations/beam_shot_attack_left/tween #declare function animated_java:gargo_ex_machina/animations/walk_start/tween #declare function animated_java:gargo_ex_machina/animations/walk/tween #declare function animated_java:gargo_ex_machina/animations/walk_end/tween diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/debug/interrupt.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/debug/interrupt.mcfunction index 5ba2625ec7..eb83a09321 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/debug/interrupt.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/debug/interrupt.mcfunction @@ -18,4 +18,4 @@ # execute at @s run tp @e[type=item_display,tag=CO.ModelRoot] ~ ~ ~ ~ 0 # イベント実行 - tag @s add CO.Skill.UpperShot + tag @s add CO.Skill.HalfBeamShot diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/.mcfunction index dc9fc423b6..a58451e87a 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/.mcfunction @@ -31,7 +31,9 @@ execute if entity @s[tag=CO.Skill.HalfBeamSword.Attack] run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_sword/event_attack # 半面焼きビーム + 上空射撃 - # TODO + execute if entity @s[tag=CO.Skill.HalfBeamShot] run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_shot/event_start + execute if entity @s[tag=CO.Skill.HalfBeamShot.Charge] run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_shot/event_charging + execute if entity @s[tag=CO.Skill.HalfBeamShot.Attack] run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_shot/event_attack # スーパージャンプ execute if entity @s[tag=CO.Skill.SuperJump] run function asset:mob/0456.gargo_ex_machina/tick/event/super_jump/event_start diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam_shot/attack.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam_shot/attack.mcfunction new file mode 100644 index 0000000000..ec2c91c365 --- /dev/null +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam_shot/attack.mcfunction @@ -0,0 +1,30 @@ +#> asset:mob/0456.gargo_ex_machina/tick/event/half_beam_shot/attack +# +# 半面焼きビーム +# +# @within asset:mob/0456.gargo_ex_machina/tick/event/half_beam_shot/event_attack + +# ヒット判定 + # 直線範囲 + tag @a[tag=DXYZ] remove DXYZ + data modify storage lib: args.dx set value 30 + data modify storage lib: args.dy set value 5 + data modify storage lib: args.dz set value 50 + data modify storage lib: args.selector set value "@a[tag=!PlayerShouldInvulnerable,distance=..50]" + execute rotated ~20 0 positioned ^ ^ ^ run function lib:rotatable_dxyz/m with storage lib: args + data modify storage lib: args.dx set value 30 + data modify storage lib: args.dy set value 5 + data modify storage lib: args.dz set value 50 + data modify storage lib: args.selector set value "@a[tag=!PlayerShouldInvulnerable,distance=..50]" + execute rotated ~-20 0 positioned ^ ^ ^ run function lib:rotatable_dxyz/m with storage lib: args + +# ダメージ + data modify storage api: Argument.Damage set from storage asset:context this.Damage.HalfBeam.Amount + data modify storage api: Argument.AttackType set from storage asset:context this.Damage.HalfBeam.Type + data modify storage api: Argument.ElementType set from storage asset:context this.Damage.HalfBeam.Element + function api:damage/modifier + execute as @a[tag=DXYZ] run function api:damage/ + function api:damage/reset + +# 終了 + tag @a[tag=DXYZ] remove DXYZ diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam_shot/attack_effect.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam_shot/attack_effect.mcfunction new file mode 100644 index 0000000000..c127f967f9 --- /dev/null +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam_shot/attack_effect.mcfunction @@ -0,0 +1,167 @@ +#> asset:mob/0456.gargo_ex_machina/tick/event/half_beam_shot/attack_effect +# +# 剣叩きつけ +# +# @within asset:mob/0456.gargo_ex_machina/tick/event/half_beam_shot/attack_effect_start + +# 効果音 + playsound entity.generic.explode hostile @a ~ ~ ~ 2 0.7 + +# パーティクル + # [ImportKey]: NobwRALgngDgpmAXGANgSwHYIDRgK55oAmSYATAOxEAcAbACwBmFAtAMa1Uv0CsAzERYAjWgAZGLHkICMAQwCc1PrOrSOYXBlkBbBMkBbvgAJpGsDFkAnHQGck4NgHs8GCEmk9cjCw+12wAN1kUPD1wAA8kFjIPMCgkUQBfBNwIBz9A4NCwCMRo3DjEROSwB0ZGazhXQtwhOAAvNDgLeNw0awAhesaLAFEARzwglCgAZXM2OBJERiCKpOxwaHhSdCxTAmJSOFl6Pmp5Hmp2AR5uajhToSkyFlEyeVEeMgE+DjZTLV1SI2l2Bxg4rhzFZtLZEPYnC43DEvD50kEQn4clEYgUePNIGlwQEEVkcnlYkh0cVSuVKi0wLUGk0KW1OtTegMhqNxpMkDMUHNkotYHpUJgcPhCFMwDt5GxZHxaLIWPJOKxeLJWDtpKIWNIGERGHKVEJZEIPjo+T8-gDTYCzJYbH5HM4qu5PN5fNiMojsciCQVVRjUvDMkikJ63EVcKSKlVRDUujTqmA6dHGYMUMMxrIJlMOVyFpBeSsBethVs4BQpBQ+Gq4DIbvQhHqWLIyEQZfI4NJ5EIm7Q2EJRKJDV8DMZzebTMDrdjbVDEA6wLDneBXXjIkHp8SUliF7iA7lUdCMWHybGqd1aR0E-0kynWRnZnB5jzlshVoKNiKiDw4HwmIw2MJ6BwzmUWV5AoVgyA7ahDilHheANTQjW+IdHDNZCLTHUEbUhe0YSdP03XCZdd1yENMTwpcd3yQMSIPCMowZU96W6C9mVTdN2VvJIAF0gA_3 + # 線 1-copy-copy + particle explosion ^-25 ^ ^20 3 2 3 0 1 + particle explosion ^-21.42857 ^ ^20 3 2 3 0 1 + particle explosion ^-17.85714 ^ ^20 3 2 3 0 1 + particle explosion ^-14.28571 ^ ^20 3 2 3 0 1 + particle explosion ^-10.71429 ^ ^20 3 2 3 0 1 + particle explosion ^-7.14286 ^ ^20 3 2 3 0 1 + particle explosion ^-3.57143 ^ ^20 3 2 3 0 1 + particle explosion ^0 ^ ^20 3 2 3 0 1 + particle explosion ^3.57143 ^ ^20 3 2 3 0 1 + particle explosion ^7.14286 ^ ^20 3 2 3 0 1 + particle explosion ^10.71429 ^ ^20 3 2 3 0 1 + particle explosion ^14.28571 ^ ^20 3 2 3 0 1 + particle explosion ^17.85714 ^ ^20 3 2 3 0 1 + particle explosion ^21.42857 ^ ^20 3 2 3 0 1 + particle explosion ^25 ^ ^20 3 2 3 0 1 + # 線 1 + particle explosion ^-25 ^ ^0 3 2 3 0 1 + particle explosion ^-21.42857 ^ ^0 3 2 3 0 1 + particle explosion ^-17.85714 ^ ^0 3 2 3 0 1 + particle explosion ^-14.28571 ^ ^0 3 2 3 0 1 + particle explosion ^-10.71429 ^ ^0 3 2 3 0 1 + particle explosion ^-7.14286 ^ ^0 3 2 3 0 1 + particle explosion ^-3.57143 ^ ^0 3 2 3 0 1 + particle explosion ^0 ^ ^0 3 2 3 0 1 + particle explosion ^3.57143 ^ ^0 3 2 3 0 1 + particle explosion ^7.14286 ^ ^0 3 2 3 0 1 + particle explosion ^10.71429 ^ ^0 3 2 3 0 1 + particle explosion ^14.28571 ^ ^0 3 2 3 0 1 + particle explosion ^17.85714 ^ ^0 3 2 3 0 1 + particle explosion ^21.42857 ^ ^0 3 2 3 0 1 + particle explosion ^25 ^ ^0 3 2 3 0 1 + # 線 1-copy + particle explosion ^-25 ^ ^5 3 2 3 0 1 + particle explosion ^-21.42857 ^ ^5 3 2 3 0 1 + particle explosion ^-17.85714 ^ ^5 3 2 3 0 1 + particle explosion ^-14.28571 ^ ^5 3 2 3 0 1 + particle explosion ^-10.71429 ^ ^5 3 2 3 0 1 + particle explosion ^-7.14286 ^ ^5 3 2 3 0 1 + particle explosion ^-3.57143 ^ ^5 3 2 3 0 1 + particle explosion ^0 ^ ^5 3 2 3 0 1 + particle explosion ^3.57143 ^ ^5 3 2 3 0 1 + particle explosion ^7.14286 ^ ^5 3 2 3 0 1 + particle explosion ^10.71429 ^ ^5 3 2 3 0 1 + particle explosion ^14.28571 ^ ^5 3 2 3 0 1 + particle explosion ^17.85714 ^ ^5 3 2 3 0 1 + particle explosion ^21.42857 ^ ^5 3 2 3 0 1 + particle explosion ^25 ^ ^5 3 2 3 0 1 + # 線 1-copy-copy + particle explosion ^-25 ^ ^10 3 2 3 0 1 + particle explosion ^-21.42857 ^ ^10 3 2 3 0 1 + particle explosion ^-17.85714 ^ ^10 3 2 3 0 1 + particle explosion ^-14.28571 ^ ^10 3 2 3 0 1 + particle explosion ^-10.71429 ^ ^10 3 2 3 0 1 + particle explosion ^-7.14286 ^ ^10 3 2 3 0 1 + particle explosion ^-3.57143 ^ ^10 3 2 3 0 1 + particle explosion ^0 ^ ^10 3 2 3 0 1 + particle explosion ^3.57143 ^ ^10 3 2 3 0 1 + particle explosion ^7.14286 ^ ^10 3 2 3 0 1 + particle explosion ^10.71429 ^ ^10 3 2 3 0 1 + particle explosion ^14.28571 ^ ^10 3 2 3 0 1 + particle explosion ^17.85714 ^ ^10 3 2 3 0 1 + particle explosion ^21.42857 ^ ^10 3 2 3 0 1 + particle explosion ^25 ^ ^10 3 2 3 0 1 + # 線 1-copy-copy + particle explosion ^-25 ^ ^15 3 2 3 0 1 + particle explosion ^-21.42857 ^ ^15 3 2 3 0 1 + particle explosion ^-17.85714 ^ ^15 3 2 3 0 1 + particle explosion ^-14.28571 ^ ^15 3 2 3 0 1 + particle explosion ^-10.71429 ^ ^15 3 2 3 0 1 + particle explosion ^-7.14286 ^ ^15 3 2 3 0 1 + particle explosion ^-3.57143 ^ ^15 3 2 3 0 1 + particle explosion ^0 ^ ^15 3 2 3 0 1 + particle explosion ^3.57143 ^ ^15 3 2 3 0 1 + particle explosion ^7.14286 ^ ^15 3 2 3 0 1 + particle explosion ^10.71429 ^ ^15 3 2 3 0 1 + particle explosion ^14.28571 ^ ^15 3 2 3 0 1 + particle explosion ^17.85714 ^ ^15 3 2 3 0 1 + particle explosion ^21.42857 ^ ^15 3 2 3 0 1 + particle explosion ^25 ^ ^15 3 2 3 0 1 + # [ImportKey]: NobwRALgngDgpmAXGANgSwHYIDRgK55oAmSYATAOxEAcAbACwBmFAtAMa1Uv0CsAzERYAjWgAZGLHkICMAQwCc1PrOrSOYXBlkBbBMkBbvgAJpGsDFkAnHQGck4NgHs8GCEgq5GFh9rtgAbrIoeHrgAB5ILGQ8uFBIogC+8bgQDr4BQSFg4YhRMXGJuA6MjNZwroiiuEJwAF5ocBZxuGjWAEK19RYAogCOeIEoUADK5mxwJIiMgaUF4NDwpOhYpgTEpHCy9HzU8jzU7AI83NRwR0JSZCyiZPKiPGQCfBxsplq6pEbS7A4wsbjmVm0tkQ9icLiQtA8Xh8IP8gWCvmykWiYFiiB4BUgqVh6QRsOyuVRSAxSTARRKZSaYGqdQaVJa7Vp3T6A2Go3GSCmKBmSTmsD0qEwOHwhAmYE28jYsj4tFkLHknFYvFkrE20lELGkDCIjAVKiEsiErx0As+31+5r+ZksNl8jmc5RRnm8aXhmSRhLR6sxKVdGURSE9SG9pPJpXKlWpHTpFWabWjzP6KEGI1kYwmXJ52D5C2QS2FqzFcDgFCkFD4GrgMku9CEBpYsjIRDl8jg0nkQmbtDYQlEomN7wMxktltMANtsPt4MQ1ChLpxboDiGReUQ0hJyWx4Fx7sDKK9G7JxXDVJpnXp8aZvSTKfZGemcFmkH5iyFK1FpCIPDgfCYjDYwj0BwxzKPK8gUKwZCdtQewyjwvBGpoJofMOjgWmhVrjkCdpguUkJgM6MLbou+IREGOQJKSvoLv6pE5PugaUYUx6UrGUZMhejKdNerKpumnIPokAC6QA_3 + # 線 1-copy-copy + particle flash ^-25 ^ ^20 3 1 3 0 1 + particle flash ^-15 ^ ^20 3 1 3 0 1 + particle flash ^-5 ^ ^20 3 1 3 0 1 + particle flash ^5 ^ ^20 3 1 3 0 1 + particle flash ^15 ^ ^20 3 1 3 0 1 + particle flash ^25 ^ ^20 3 1 3 0 1 + # 線 1 + particle flash ^-25 ^ ^0 3 1 3 0 1 + particle flash ^-16.66667 ^ ^0 3 1 3 0 1 + particle flash ^-8.33333 ^ ^0 3 1 3 0 1 + particle flash ^0 ^ ^0 3 1 3 0 1 + particle flash ^8.33333 ^ ^0 3 1 3 0 1 + particle flash ^16.66667 ^ ^0 3 1 3 0 1 + particle flash ^25 ^ ^0 3 1 3 0 1 + # 線 1-copy + particle flash ^-25 ^ ^5 3 1 3 0 1 + particle flash ^-15 ^ ^5 3 1 3 0 1 + particle flash ^-5 ^ ^5 3 1 3 0 1 + particle flash ^5 ^ ^5 3 1 3 0 1 + particle flash ^15 ^ ^5 3 1 3 0 1 + particle flash ^25 ^ ^5 3 1 3 0 1 + # 線 1-copy-copy + particle flash ^-25 ^ ^10 3 1 3 0 1 + particle flash ^-12.5 ^ ^10 3 1 3 0 1 + particle flash ^0 ^ ^10 3 1 3 0 1 + particle flash ^12.5 ^ ^10 3 1 3 0 1 + particle flash ^25 ^ ^10 3 1 3 0 1 + # 線 1-copy-copy + particle flash ^-25 ^ ^15 3 1 3 0 1 + particle flash ^-17.85714 ^ ^15 3 1 3 0 1 + particle flash ^-10.71429 ^ ^15 3 1 3 0 1 + particle flash ^-3.57143 ^ ^15 3 1 3 0 1 + particle flash ^3.57143 ^ ^15 3 1 3 0 1 + particle flash ^10.71429 ^ ^15 3 1 3 0 1 + particle flash ^17.85714 ^ ^15 3 1 3 0 1 + particle flash ^25 ^ ^15 3 1 3 0 1 + # [ImportKey]: NobwRALgngDgpmAXGANgSwHYIDRgK55oAmSYATAOxEAcAbACwBmFAtAMa1Uv0CsAzERYAjWgAZGLHkICMAQwCc1PrOrSOYXBlkBbBMkBbvgAJpGsDFkAnHQGck4NgHs8GCEgq5GFh9rtgAbrIoeHrgAB5ILGQ8uFBIogC+8bgQDr4BQSFg4YhRMXGJuA6MjNZwroiiuEJwAF5ocBZxuGjWAEK19RYAogCOeIEoUADK5mxwJIiMgaUF4NDwpOhYpgTEpHCy9HzU8jzU7AI83NRwR0JSZCyiZPKiPGQCfBxsplq6pEbS7A4wsbjmVm0tkQ9icLiQtA8Xh8IP8gWCvmykWiYFiiB4BUgqVh6QRsOyuVRSAxSTARRKZSaYGqdQaVJa7Vp3T6A2Go3GSCmKBmSTmsD0qEwOHwhAmYE28jYsj4tFkLHknFYvFkrE20lELGkDCIjAVKiEsiErx0As+31+5r+ZksNl8jmc5RRnm8aXhmSRhLR6sxKVdGURSE9SG9pPJpXKlWpHTpFWabWjzP6KEGI1kYwmXJ52D5C2QS2FqzFcDgFCkFD4GrgMku9CEBpYsjIRDl8jg0nkQmbtDYQlEomN7wMxktltMANtsPt4MQ1ChLpxboDiGReUQ0hJyWx4Fx7sDKK9G7JxXDVJpnXp8aZvSTKfZGemcFmkH5iyFK1FpCIPDgfCYjDYwj0BwxzKPK8gUKwZCdtQewyjwvBGpoJofMOjgWmhVrjkCdpguUkJgM6MLbou+IREGOQJKSvoLv6pE5PugaUYUx6UrGUZMhejKdNerKpumnIPokAC6QA_3 + # 線 1-copy-copy + particle lava ^-25 ^ ^20 3 1 3 0 1 + particle lava ^-15 ^ ^20 3 1 3 0 1 + particle lava ^-5 ^ ^20 3 1 3 0 1 + particle lava ^5 ^ ^20 3 1 3 0 1 + particle lava ^15 ^ ^20 3 1 3 0 1 + particle lava ^25 ^ ^20 3 1 3 0 1 + # 線 1 + particle lava ^-25 ^ ^0 3 1 3 0 1 + particle lava ^-16.66667 ^ ^0 3 1 3 0 1 + particle lava ^-8.33333 ^ ^0 3 1 3 0 1 + particle lava ^0 ^ ^0 3 1 3 0 1 + particle lava ^8.33333 ^ ^0 3 1 3 0 1 + particle lava ^16.66667 ^ ^0 3 1 3 0 1 + particle lava ^25 ^ ^0 3 1 3 0 1 + # 線 1-copy + particle lava ^-25 ^ ^5 3 1 3 0 1 + particle lava ^-15 ^ ^5 3 1 3 0 1 + particle lava ^-5 ^ ^5 3 1 3 0 1 + particle lava ^5 ^ ^5 3 1 3 0 1 + particle lava ^15 ^ ^5 3 1 3 0 1 + particle lava ^25 ^ ^5 3 1 3 0 1 + # 線 1-copy-copy + particle lava ^-25 ^ ^10 3 1 3 0 1 + particle lava ^-12.5 ^ ^10 3 1 3 0 1 + particle lava ^0 ^ ^10 3 1 3 0 1 + particle lava ^12.5 ^ ^10 3 1 3 0 1 + particle lava ^25 ^ ^10 3 1 3 0 1 + # 線 1-copy-copy + particle lava ^-25 ^ ^15 3 1 3 0 1 + particle lava ^-17.85714 ^ ^15 3 1 3 0 1 + particle lava ^-10.71429 ^ ^15 3 1 3 0 1 + particle lava ^-3.57143 ^ ^15 3 1 3 0 1 + particle lava ^3.57143 ^ ^15 3 1 3 0 1 + particle lava ^10.71429 ^ ^15 3 1 3 0 1 + particle lava ^17.85714 ^ ^15 3 1 3 0 1 + particle lava ^25 ^ ^15 3 1 3 0 1 diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam_shot/attack_effect_start.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam_shot/attack_effect_start.mcfunction new file mode 100644 index 0000000000..2c55f5dbb9 --- /dev/null +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam_shot/attack_effect_start.mcfunction @@ -0,0 +1,11 @@ +#> asset:mob/0456.gargo_ex_machina/tick/event/half_beam_shot/attack_effect_start +# +# 剣叩きつけ +# +# @within asset:mob/0456.gargo_ex_machina/tick/event/half_beam_shot/event_attack + +# 演出 + execute if entity @s[tag=CO.Skill.HalfBeam.IsRight] rotated ~60 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_shot/attack_effect + execute if entity @s[tag=CO.Skill.HalfBeam.IsRight] rotated ~120 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_shot/attack_effect + execute unless entity @s[tag=CO.Skill.HalfBeam.IsRight] rotated ~-60 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_shot/attack_effect + execute unless entity @s[tag=CO.Skill.HalfBeam.IsRight] rotated ~-120 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_shot/attack_effect diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam_shot/attack_sword.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam_shot/attack_sword.mcfunction new file mode 100644 index 0000000000..de163adcaa --- /dev/null +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam_shot/attack_sword.mcfunction @@ -0,0 +1,111 @@ +#> asset:mob/0456.gargo_ex_machina/tick/event/half_beam_sword/attack_sword +# +# 半面焼きビーム +# +# @within asset:mob/0456.gargo_ex_machina/tick/event/half_beam_sword/event_attack + +# ヒット判定 + # 円範囲 + tag @a[tag=!PlayerShouldInvulnerable,distance=..20] add DXYZ + +# ダメージ + data modify storage api: Argument.Damage set from storage asset:context this.Damage.HalfBeamSword.Amount + data modify storage api: Argument.AttackType set from storage asset:context this.Damage.HalfBeamSword.Type + data modify storage api: Argument.ElementType set from storage asset:context this.Damage.HalfBeamSword.Element + function api:damage/modifier + execute as @a[tag=DXYZ] run function api:damage/ + function api:damage/reset + +# 斬撃オブジェクト + data modify storage api: Argument.ID set value 2001 + data modify storage api: Argument.FieldOverride set value {Color:9484241,Scale:[40f,40f,7f],Transformation:{left_rotation:[0f,0f,0f,1f],right_rotation:[0f,0f,0f,1f],translation:[0f,0f,0f]}} + execute if entity @s[tag=CO.Skill.HalfBeam.IsRight] positioned ^3 ^4 ^-4 rotated ~ -82 run function api:object/summon + execute unless entity @s[tag=CO.Skill.HalfBeam.IsRight] positioned ^3 ^4 ^4 rotated ~ 82 run function api:object/summon + data modify storage api: Argument.ID set value 2001 + data modify storage api: Argument.FieldOverride set value {Color:9484241,Scale:[40f,40f,7f],Transformation:{left_rotation:[0f,0f,0f,1f],right_rotation:[0f,0f,0f,1f],translation:[0f,0f,0f]}} + execute if entity @s[tag=CO.Skill.HalfBeam.IsRight] positioned ^-3 ^4 ^4 rotated ~180 -82 run function api:object/summon + execute unless entity @s[tag=CO.Skill.HalfBeam.IsRight] positioned ^-3 ^4 ^-4 rotated ~180 82 run function api:object/summon + +# 効果音 + playsound item.trident.throw hostile @a ~ ~ ~ 3 0.7 + playsound item.trident.throw hostile @a ~ ~ ~ 3 0.6 + playsound entity.breeze.shoot hostile @a ~ ~ ~ 3 0.6 + +# パーティクル + # 円型ベクトルパーティクル + execute rotated ~00 0 positioned ^ ^6 ^ run particle cloud ~ ~ ~ ^ ^-15000000 ^100000000 0.000000015 0 + execute rotated ~10 0 positioned ^ ^6 ^ run particle cloud ~ ~ ~ ^ ^-15000000 ^100000000 0.000000015 0 + execute rotated ~20 0 positioned ^ ^6 ^ run particle cloud ~ ~ ~ ^ ^-15000000 ^100000000 0.000000015 0 + execute rotated ~30 0 positioned ^ ^6 ^ run particle cloud ~ ~ ~ ^ ^-15000000 ^100000000 0.000000015 0 + execute rotated ~40 0 positioned ^ ^6 ^ run particle cloud ~ ~ ~ ^ ^-15000000 ^100000000 0.000000015 0 + execute rotated ~50 0 positioned ^ ^6 ^ run particle cloud ~ ~ ~ ^ ^-15000000 ^100000000 0.000000015 0 + execute rotated ~60 0 positioned ^ ^6 ^ run particle cloud ~ ~ ~ ^ ^-15000000 ^100000000 0.000000015 0 + execute rotated ~70 0 positioned ^ ^6 ^ run particle cloud ~ ~ ~ ^ ^-15000000 ^100000000 0.000000015 0 + execute rotated ~80 0 positioned ^ ^6 ^ run particle cloud ~ ~ ~ ^ ^-15000000 ^100000000 0.000000015 0 + execute rotated ~90 0 positioned ^ ^6 ^ run particle cloud ~ ~ ~ ^ ^-15000000 ^100000000 0.000000015 0 + execute rotated ~100 0 positioned ^ ^6 ^ run particle cloud ~ ~ ~ ^ ^-15000000 ^100000000 0.000000015 0 + execute rotated ~110 0 positioned ^ ^6 ^ run particle cloud ~ ~ ~ ^ ^-15000000 ^100000000 0.000000015 0 + execute rotated ~120 0 positioned ^ ^6 ^ run particle cloud ~ ~ ~ ^ ^-15000000 ^100000000 0.000000015 0 + execute rotated ~130 0 positioned ^ ^6 ^ run particle cloud ~ ~ ~ ^ ^-15000000 ^100000000 0.000000015 0 + execute rotated ~140 0 positioned ^ ^6 ^ run particle cloud ~ ~ ~ ^ ^-15000000 ^100000000 0.000000015 0 + execute rotated ~150 0 positioned ^ ^6 ^ run particle cloud ~ ~ ~ ^ ^-15000000 ^100000000 0.000000015 0 + execute rotated ~160 0 positioned ^ ^6 ^ run particle cloud ~ ~ ~ ^ ^-15000000 ^100000000 0.000000015 0 + execute rotated ~170 0 positioned ^ ^6 ^ run particle cloud ~ ~ ~ ^ ^-15000000 ^100000000 0.000000015 0 + execute rotated ~180 0 positioned ^ ^6 ^ run particle cloud ~ ~ ~ ^ ^-15000000 ^100000000 0.000000015 0 + execute rotated ~190 0 positioned ^ ^6 ^ run particle cloud ~ ~ ~ ^ ^-15000000 ^100000000 0.000000015 0 + execute rotated ~200 0 positioned ^ ^6 ^ run particle cloud ~ ~ ~ ^ ^-15000000 ^100000000 0.000000015 0 + execute rotated ~210 0 positioned ^ ^6 ^ run particle cloud ~ ~ ~ ^ ^-15000000 ^100000000 0.000000015 0 + execute rotated ~220 0 positioned ^ ^6 ^ run particle cloud ~ ~ ~ ^ ^-15000000 ^100000000 0.000000015 0 + execute rotated ~230 0 positioned ^ ^6 ^ run particle cloud ~ ~ ~ ^ ^-15000000 ^100000000 0.000000015 0 + execute rotated ~240 0 positioned ^ ^6 ^ run particle cloud ~ ~ ~ ^ ^-15000000 ^100000000 0.000000015 0 + execute rotated ~250 0 positioned ^ ^6 ^ run particle cloud ~ ~ ~ ^ ^-15000000 ^100000000 0.000000015 0 + execute rotated ~260 0 positioned ^ ^6 ^ run particle cloud ~ ~ ~ ^ ^-15000000 ^100000000 0.000000015 0 + execute rotated ~270 0 positioned ^ ^6 ^ run particle cloud ~ ~ ~ ^ ^-15000000 ^100000000 0.000000015 0 + execute rotated ~280 0 positioned ^ ^6 ^ run particle cloud ~ ~ ~ ^ ^-15000000 ^100000000 0.000000015 0 + execute rotated ~290 0 positioned ^ ^6 ^ run particle cloud ~ ~ ~ ^ ^-15000000 ^100000000 0.000000015 0 + execute rotated ~300 0 positioned ^ ^6 ^ run particle cloud ~ ~ ~ ^ ^-15000000 ^100000000 0.000000015 0 + execute rotated ~310 0 positioned ^ ^6 ^ run particle cloud ~ ~ ~ ^ ^-15000000 ^100000000 0.000000015 0 + execute rotated ~320 0 positioned ^ ^6 ^ run particle cloud ~ ~ ~ ^ ^-15000000 ^100000000 0.000000015 0 + execute rotated ~330 0 positioned ^ ^6 ^ run particle cloud ~ ~ ~ ^ ^-15000000 ^100000000 0.000000015 0 + execute rotated ~340 0 positioned ^ ^6 ^ run particle cloud ~ ~ ~ ^ ^-15000000 ^100000000 0.000000015 0 + execute rotated ~350 0 positioned ^ ^6 ^ run particle cloud ~ ~ ~ ^ ^-15000000 ^100000000 0.000000015 0 + # 円型ベクトルパーティクル + execute rotated ~00 0 positioned ^ ^6 ^ run particle cloud ~ ~ ~ ^ ^-15000000 ^100000000 0.000000025 0 + execute rotated ~10 0 positioned ^ ^6 ^ run particle cloud ~ ~ ~ ^ ^-15000000 ^100000000 0.000000025 0 + execute rotated ~20 0 positioned ^ ^6 ^ run particle cloud ~ ~ ~ ^ ^-15000000 ^100000000 0.000000025 0 + execute rotated ~30 0 positioned ^ ^6 ^ run particle cloud ~ ~ ~ ^ ^-15000000 ^100000000 0.000000025 0 + execute rotated ~40 0 positioned ^ ^6 ^ run particle cloud ~ ~ ~ ^ ^-15000000 ^100000000 0.000000025 0 + execute rotated ~50 0 positioned ^ ^6 ^ run particle cloud ~ ~ ~ ^ ^-15000000 ^100000000 0.000000025 0 + execute rotated ~60 0 positioned ^ ^6 ^ run particle cloud ~ ~ ~ ^ ^-15000000 ^100000000 0.000000025 0 + execute rotated ~70 0 positioned ^ ^6 ^ run particle cloud ~ ~ ~ ^ ^-15000000 ^100000000 0.000000025 0 + execute rotated ~80 0 positioned ^ ^6 ^ run particle cloud ~ ~ ~ ^ ^-15000000 ^100000000 0.000000025 0 + execute rotated ~90 0 positioned ^ ^6 ^ run particle cloud ~ ~ ~ ^ ^-15000000 ^100000000 0.000000025 0 + execute rotated ~100 0 positioned ^ ^6 ^ run particle cloud ~ ~ ~ ^ ^-15000000 ^100000000 0.000000025 0 + execute rotated ~110 0 positioned ^ ^6 ^ run particle cloud ~ ~ ~ ^ ^-15000000 ^100000000 0.000000025 0 + execute rotated ~120 0 positioned ^ ^6 ^ run particle cloud ~ ~ ~ ^ ^-15000000 ^100000000 0.000000025 0 + execute rotated ~130 0 positioned ^ ^6 ^ run particle cloud ~ ~ ~ ^ ^-15000000 ^100000000 0.000000025 0 + execute rotated ~140 0 positioned ^ ^6 ^ run particle cloud ~ ~ ~ ^ ^-15000000 ^100000000 0.000000025 0 + execute rotated ~150 0 positioned ^ ^6 ^ run particle cloud ~ ~ ~ ^ ^-15000000 ^100000000 0.000000025 0 + execute rotated ~160 0 positioned ^ ^6 ^ run particle cloud ~ ~ ~ ^ ^-15000000 ^100000000 0.000000025 0 + execute rotated ~170 0 positioned ^ ^6 ^ run particle cloud ~ ~ ~ ^ ^-15000000 ^100000000 0.000000025 0 + execute rotated ~180 0 positioned ^ ^6 ^ run particle cloud ~ ~ ~ ^ ^-15000000 ^100000000 0.000000025 0 + execute rotated ~190 0 positioned ^ ^6 ^ run particle cloud ~ ~ ~ ^ ^-15000000 ^100000000 0.000000025 0 + execute rotated ~200 0 positioned ^ ^6 ^ run particle cloud ~ ~ ~ ^ ^-15000000 ^100000000 0.000000025 0 + execute rotated ~210 0 positioned ^ ^6 ^ run particle cloud ~ ~ ~ ^ ^-15000000 ^100000000 0.000000025 0 + execute rotated ~220 0 positioned ^ ^6 ^ run particle cloud ~ ~ ~ ^ ^-15000000 ^100000000 0.000000025 0 + execute rotated ~230 0 positioned ^ ^6 ^ run particle cloud ~ ~ ~ ^ ^-15000000 ^100000000 0.000000025 0 + execute rotated ~240 0 positioned ^ ^6 ^ run particle cloud ~ ~ ~ ^ ^-15000000 ^100000000 0.000000025 0 + execute rotated ~250 0 positioned ^ ^6 ^ run particle cloud ~ ~ ~ ^ ^-15000000 ^100000000 0.000000025 0 + execute rotated ~260 0 positioned ^ ^6 ^ run particle cloud ~ ~ ~ ^ ^-15000000 ^100000000 0.000000025 0 + execute rotated ~270 0 positioned ^ ^6 ^ run particle cloud ~ ~ ~ ^ ^-15000000 ^100000000 0.000000025 0 + execute rotated ~280 0 positioned ^ ^6 ^ run particle cloud ~ ~ ~ ^ ^-15000000 ^100000000 0.000000025 0 + execute rotated ~290 0 positioned ^ ^6 ^ run particle cloud ~ ~ ~ ^ ^-15000000 ^100000000 0.000000025 0 + execute rotated ~300 0 positioned ^ ^6 ^ run particle cloud ~ ~ ~ ^ ^-15000000 ^100000000 0.000000025 0 + execute rotated ~310 0 positioned ^ ^6 ^ run particle cloud ~ ~ ~ ^ ^-15000000 ^100000000 0.000000025 0 + execute rotated ~320 0 positioned ^ ^6 ^ run particle cloud ~ ~ ~ ^ ^-15000000 ^100000000 0.000000025 0 + execute rotated ~330 0 positioned ^ ^6 ^ run particle cloud ~ ~ ~ ^ ^-15000000 ^100000000 0.000000025 0 + execute rotated ~340 0 positioned ^ ^6 ^ run particle cloud ~ ~ ~ ^ ^-15000000 ^100000000 0.000000025 0 + execute rotated ~350 0 positioned ^ ^6 ^ run particle cloud ~ ~ ~ ^ ^-15000000 ^100000000 0.000000025 0 + +# 終了 + tag @a[tag=DXYZ] remove DXYZ diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam_shot/end.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam_shot/end.mcfunction new file mode 100644 index 0000000000..79b07000ed --- /dev/null +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam_shot/end.mcfunction @@ -0,0 +1,16 @@ +#> asset:mob/0456.gargo_ex_machina/tick/event/half_beam_shot/end +# +# 半面焼きビーム +# +# @within asset:mob/0456.gargo_ex_machina/tick/event/half_beam_shot/event_attack + +# タグ消去 + scoreboard players set @s CO.EventTimer 0 + tag @s remove CO.Skill.HalfBeamShot.Attack + tag @s remove CO.Skill.HalfBeam.IsRight + +# 待機モーション再生 + execute as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run function animated_java:gargo_ex_machina/animations/idle/tween {duration:1, to_frame: 1} + +# 行動 + # function asset:mob/0410.heiloang/tick/act/ diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam_shot/event_attack.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam_shot/event_attack.mcfunction new file mode 100644 index 0000000000..b3c969e559 --- /dev/null +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam_shot/event_attack.mcfunction @@ -0,0 +1,48 @@ +#> asset:mob/0456.gargo_ex_machina/tick/event/half_beam_shot/event_attack +# +# 半面焼きビーム +# +# @within asset:mob/0456.gargo_ex_machina/tick/event/ + +# タイマー増加 + scoreboard players add @s CO.EventTimer 1 + +# 攻撃 + # アニメーション再生 + execute if entity @s[tag=CO.Skill.HalfBeam.IsRight] if score @s CO.EventTimer matches 1 as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run function animated_java:gargo_ex_machina/animations/beam_shot_attack_right/tween {duration:1, to_frame: 1} + execute unless entity @s[tag=CO.Skill.HalfBeam.IsRight] if score @s CO.EventTimer matches 1 as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run function animated_java:gargo_ex_machina/animations/beam_shot_attack_left/tween {duration:1, to_frame: 1} + # 効果音 + execute if score @s CO.EventTimer matches 1 run function asset:mob/0456.gargo_ex_machina/tick/util/sound + execute if score @s CO.EventTimer matches 1 run playsound ui.stonecutter.take_result hostile @a ~ ~ ~ 2 0.5 + execute if score @s CO.EventTimer matches 10 run function asset:mob/0456.gargo_ex_machina/tick/util/sound + execute if score @s CO.EventTimer matches 11 run function asset:mob/0456.gargo_ex_machina/tick/util/sound + execute if score @s CO.EventTimer matches 32 run function asset:mob/0456.gargo_ex_machina/tick/util/sound + execute if score @s CO.EventTimer matches 50 run function asset:mob/0456.gargo_ex_machina/tick/util/sound + execute if score @s CO.EventTimer matches 60 positioned ^-4 ^ ^-3 run function asset:mob/0456.gargo_ex_machina/tick/util/step_sound + execute if score @s CO.EventTimer matches 51 run playsound item.crossbow.loading_end hostile @a ~ ~ ~ 3 0.7 + execute if score @s CO.EventTimer matches 53 run playsound item.crossbow.loading_end hostile @a ~ ~ ~ 3 0.9 + execute if score @s CO.EventTimer matches 53 run playsound item.crossbow.loading_end hostile @a ~ ~ ~ 3 0.7 + execute if score @s CO.EventTimer matches 55 run playsound item.crossbow.loading_end hostile @a ~ ~ ~ 3 0.7 + execute if score @s CO.EventTimer matches 55 run playsound item.crossbow.loading_end hostile @a ~ ~ ~ 3 0.5 + execute if score @s CO.EventTimer matches 57 run playsound item.crossbow.loading_end hostile @a ~ ~ ~ 3 0.9 + execute if score @s CO.EventTimer matches 57 run playsound item.crossbow.loading_end hostile @a ~ ~ ~ 3 0.7 + execute if score @s CO.EventTimer matches 59 run playsound item.crossbow.loading_end hostile @a ~ ~ ~ 3 0.7 + execute if score @s CO.EventTimer matches 59 run playsound item.crossbow.loading_end hostile @a ~ ~ ~ 3 0.5 + # 攻撃 + # execute if score @s CO.EventTimer matches 16 run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_shot/attack_sword + execute if entity @s[tag=CO.Skill.HalfBeam.IsRight] if score @s CO.EventTimer matches 19 positioned ^-30 ^ ^ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_shot/attack + execute unless entity @s[tag=CO.Skill.HalfBeam.IsRight] if score @s CO.EventTimer matches 19 positioned ^30 ^ ^ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_shot/attack + # 攻撃演出 + execute if score @s CO.EventTimer matches 7 positioned ~ ~15 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_shot/summon_laser_start + execute if score @s CO.EventTimer matches 7..14 run playsound entity.breeze.jump hostile @a ~ ~ ~ 2 0.5 + execute if score @s CO.EventTimer matches 7..14 run playsound entity.breeze.jump hostile @a ~ ~ ~ 2 0.6 + execute if score @s CO.EventTimer matches 19 run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_shot/attack_effect_start + execute if score @s CO.EventTimer matches 21 run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_shot/attack_effect_start + execute if score @s CO.EventTimer matches 23 run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_shot/attack_effect_start + execute if score @s CO.EventTimer matches 25 run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_shot/attack_effect_start + execute if score @s CO.EventTimer matches 27 run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_shot/attack_effect_start + execute if score @s CO.EventTimer matches 29 run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_shot/attack_effect_start + execute if score @s CO.EventTimer matches 31 run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_shot/attack_effect_start + +# 終了 + execute if score @s CO.EventTimer matches 61.. run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_shot/end diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam_shot/event_charging.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam_shot/event_charging.mcfunction new file mode 100644 index 0000000000..20d95cdf0c --- /dev/null +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam_shot/event_charging.mcfunction @@ -0,0 +1,55 @@ +#> asset:mob/0456.gargo_ex_machina/tick/event/half_beam_shot/event_charging +# +# 半面焼きビーム +# +# @within asset:mob/0456.gargo_ex_machina/tick/event/ + +# タイマー増加 + scoreboard players add @s CO.EventTimer 1 + +# 溜め + # アニメーション再生 + execute if score @s CO.EventTimer matches 1 as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run function animated_java:gargo_ex_machina/animations/beam_shot_charge/tween {duration:1, to_frame: 1} + # モデルを合わせる + execute as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run tp @s ~ ~ ~ ~ ~ + # 予告 + # レーザー + # ノーマル + execute if entity @s[tag=CO.Skill.HalfBeam.IsRight] if predicate api:global_vars/difficulty/1_normal if score @s CO.EventTimer matches 15 positioned ^-30 ^ ^ rotated ~-20 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_shot/prediction.m {Interpolation:20,Tick:104} + execute if entity @s[tag=CO.Skill.HalfBeam.IsRight] if predicate api:global_vars/difficulty/1_normal if score @s CO.EventTimer matches 35 positioned ^-30 ^0.05 ^ rotated ~20 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_shot/prediction.m {Interpolation:20,Tick:84} + execute unless entity @s[tag=CO.Skill.HalfBeam.IsRight] if predicate api:global_vars/difficulty/1_normal if score @s CO.EventTimer matches 15 positioned ^30 ^ ^ rotated ~20 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_shot/prediction.m {Interpolation:20,Tick:104} + execute unless entity @s[tag=CO.Skill.HalfBeam.IsRight] if predicate api:global_vars/difficulty/1_normal if score @s CO.EventTimer matches 35 positioned ^30 ^0.05 ^ rotated ~-20 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_shot/prediction.m {Interpolation:20,Tick:84} + # ハード + execute if entity @s[tag=CO.Skill.HalfBeam.IsRight] if predicate api:global_vars/difficulty/2_hard if score @s CO.EventTimer matches 35 positioned ^-30 ^ ^ rotated ~-20 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_shot/prediction.m {Interpolation:20,Tick:84} + execute if entity @s[tag=CO.Skill.HalfBeam.IsRight] if predicate api:global_vars/difficulty/2_hard if score @s CO.EventTimer matches 55 positioned ^-30 ^0.05 ^ rotated ~20 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_shot/prediction.m {Interpolation:20,Tick:64} + execute unless entity @s[tag=CO.Skill.HalfBeam.IsRight] if predicate api:global_vars/difficulty/2_hard if score @s CO.EventTimer matches 35 positioned ^30 ^ ^ rotated ~20 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_shot/prediction.m {Interpolation:20,Tick:84} + execute unless entity @s[tag=CO.Skill.HalfBeam.IsRight] if predicate api:global_vars/difficulty/2_hard if score @s CO.EventTimer matches 55 positioned ^30 ^0.05 ^ rotated ~-20 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_shot/prediction.m {Interpolation:20,Tick:64} + # ブレスレス + execute if entity @s[tag=CO.Skill.HalfBeam.IsRight] if predicate api:global_vars/difficulty/min/3_blessless if score @s CO.EventTimer matches 90 positioned ^-30 ^ ^ rotated ~-20 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_shot/prediction.m {Interpolation:2,Tick:29} + execute if entity @s[tag=CO.Skill.HalfBeam.IsRight] if predicate api:global_vars/difficulty/min/3_blessless if score @s CO.EventTimer matches 95 positioned ^-30 ^0.05 ^ rotated ~20 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_shot/prediction.m {Interpolation:2,Tick:24} + execute unless entity @s[tag=CO.Skill.HalfBeam.IsRight] if predicate api:global_vars/difficulty/min/3_blessless if score @s CO.EventTimer matches 90 positioned ^30 ^ ^ rotated ~20 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_shot/prediction.m {Interpolation:2,Tick:29} + execute unless entity @s[tag=CO.Skill.HalfBeam.IsRight] if predicate api:global_vars/difficulty/min/3_blessless if score @s CO.EventTimer matches 95 positioned ^30 ^0.05 ^ rotated ~-20 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_shot/prediction.m {Interpolation:2,Tick:24} + # # 剣 + # # ノーマル + # execute if predicate api:global_vars/difficulty/1_normal if score @s CO.EventTimer matches 15 run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_shot/prediction_circle.m {Tick:102} + # # ハード + # execute if predicate api:global_vars/difficulty/2_hard if score @s CO.EventTimer matches 35 run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_shot/prediction_circle.m {Tick:82} + # # ブレスレス + # execute if predicate api:global_vars/difficulty/min/3_blessless if score @s CO.EventTimer matches 90 run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_shot/prediction_circle.m {Tick:27} + # 効果音 + execute if score @s CO.EventTimer matches 1..100 positioned ~ ~15 ~ run particle end_rod ~ ~ ~ 2 2 2 0.05 1 + +# 予告 + execute if score @s CO.EventTimer matches 1 run playsound block.beacon.activate hostile @a ~ ~ ~ 2 1.5 + execute if score @s CO.EventTimer matches 1 run playsound block.beacon.activate hostile @a ~ ~ ~ 2 1.5 + execute if score @s CO.EventTimer matches 20 run playsound block.beacon.activate hostile @a ~ ~ ~ 2 1.6 + execute if score @s CO.EventTimer matches 20 run playsound block.beacon.activate hostile @a ~ ~ ~ 2 1.6 + execute if score @s CO.EventTimer matches 40 run playsound block.beacon.activate hostile @a ~ ~ ~ 2 1.7 + execute if score @s CO.EventTimer matches 40 run playsound block.beacon.activate hostile @a ~ ~ ~ 2 1.7 + execute if score @s CO.EventTimer matches 60 run playsound block.beacon.activate hostile @a ~ ~ ~ 2 1.8 + execute if score @s CO.EventTimer matches 60 run playsound block.beacon.activate hostile @a ~ ~ ~ 2 1.8 + execute if score @s CO.EventTimer matches 80 run playsound block.beacon.activate hostile @a ~ ~ ~ 2 2 + execute if score @s CO.EventTimer matches 80 run playsound block.beacon.activate hostile @a ~ ~ ~ 2 2 + +# 終了 + execute if score @s CO.EventTimer matches 100.. run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_shot/start_attack diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam_shot/event_start.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam_shot/event_start.mcfunction new file mode 100644 index 0000000000..1a44d11968 --- /dev/null +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam_shot/event_start.mcfunction @@ -0,0 +1,38 @@ +#> asset:mob/0456.gargo_ex_machina/tick/event/half_beam_shot/event_start +# +# 半面焼きビーム + 回転斬り +# +# @within asset:mob/0456.gargo_ex_machina/tick/event/ + +# タイマー増加 + scoreboard players add @s CO.EventTimer 1 + +# 構え + # アニメーション再生 + execute if score @s CO.EventTimer matches 1 as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run function animated_java:gargo_ex_machina/animations/beam_shot_start/tween {duration:1, to_frame: 1} + # 効果音 + execute if score @s CO.EventTimer matches 1 run function asset:mob/0456.gargo_ex_machina/tick/util/sound + execute if score @s CO.EventTimer matches 24 run function asset:mob/0456.gargo_ex_machina/tick/util/sound + execute if score @s CO.EventTimer matches 1 run playsound item.crossbow.loading_end hostile @a ~ ~ ~ 3 0.7 + execute if score @s CO.EventTimer matches 3 run playsound item.crossbow.loading_end hostile @a ~ ~ ~ 3 0.9 + execute if score @s CO.EventTimer matches 3 run playsound item.crossbow.loading_end hostile @a ~ ~ ~ 3 0.7 + execute if score @s CO.EventTimer matches 5 run playsound item.crossbow.loading_end hostile @a ~ ~ ~ 3 0.7 + execute if score @s CO.EventTimer matches 5 run playsound item.crossbow.loading_end hostile @a ~ ~ ~ 3 0.5 + execute if score @s CO.EventTimer matches 7 run playsound item.crossbow.loading_end hostile @a ~ ~ ~ 3 0.9 + execute if score @s CO.EventTimer matches 7 run playsound item.crossbow.loading_end hostile @a ~ ~ ~ 3 0.7 + execute if score @s CO.EventTimer matches 9 run playsound item.crossbow.loading_end hostile @a ~ ~ ~ 3 0.7 + execute if score @s CO.EventTimer matches 9 run playsound item.crossbow.loading_end hostile @a ~ ~ ~ 3 0.5 + execute if score @s CO.EventTimer matches 11 run playsound item.crossbow.loading_end hostile @a ~ ~ ~ 3 0.5 + execute if score @s CO.EventTimer matches 11 run playsound item.crossbow.loading_end hostile @a ~ ~ ~ 3 0.7 + execute if score @s CO.EventTimer matches 13 run playsound item.crossbow.loading_end hostile @a ~ ~ ~ 3 0.5 + execute if score @s CO.EventTimer matches 13 run playsound item.crossbow.loading_end hostile @a ~ ~ ~ 3 0.7 + # モデルを合わせる + execute as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run tp @s ~ ~ ~ ~ ~ + # 攻撃方向をランダムに決定 + execute if score @s CO.EventTimer matches 1 if predicate lib:random_pass_per/50 run tag @s add CO.Skill.HalfBeam.IsRight + # 予告 + execute if entity @s[tag=CO.Skill.HalfBeam.IsRight] if score @s CO.EventTimer matches 1 run tellraw @a [{"text":"【石像の","color": "dark_purple","bold": true},{"text":" 右眼 ","color": "red","bold": true},{"text":"が光り始めた!!】","color": "dark_purple","bold": true}] + execute unless entity @s[tag=CO.Skill.HalfBeam.IsRight] if score @s CO.EventTimer matches 1 run tellraw @a [{"text":"【石像の","color": "dark_purple","bold": true},{"text":" 左眼 ","color": "blue","bold": true},{"text":"が光り始めた!!】","color": "dark_purple","bold": true}] + +# 溜めに移行 + execute if score @s CO.EventTimer matches 26.. run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_shot/start_charging diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam_shot/prediction.m.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam_shot/prediction.m.mcfunction new file mode 100644 index 0000000000..264235cc47 --- /dev/null +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam_shot/prediction.m.mcfunction @@ -0,0 +1,14 @@ +#> asset:mob/0456.gargo_ex_machina/tick/event/half_beam_shot/prediction.m +# +# 半面焼きビーム +# +# @within asset:mob/0456.gargo_ex_machina/tick/event/half_beam_shot/event_charging + +# 予告 + data modify storage api: Argument.ID set value 2113 + data modify storage api: Argument.FieldOverride.RotationX set from entity @s Rotation[0] + data modify storage api: Argument.FieldOverride.Color set value 3381759 + data modify storage api: Argument.FieldOverride.Scale set value [60f,100f] + $data modify storage api: Argument.FieldOverride.Interpolation set value $(Interpolation) + $data modify storage api: Argument.FieldOverride.Tick set value $(Tick) + execute positioned ^ ^0.1 ^50 rotated ~180 0 run function api:object/summon diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam_shot/prediction_circle.m.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam_shot/prediction_circle.m.mcfunction new file mode 100644 index 0000000000..b5c4f734a9 --- /dev/null +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam_shot/prediction_circle.m.mcfunction @@ -0,0 +1,13 @@ +#> asset:mob/0456.gargo_ex_machina/tick/event/half_beam_sword/prediction_circle.m +# +# 半面焼きビーム +# +# @within asset:mob/0456.gargo_ex_machina/tick/event/half_beam_sword/event_charging + +# 予告:円範囲 + data modify storage api: Argument.ID set value 2063 + execute store result storage api: Argument.FieldOverride.MobUUID int 1 run scoreboard players get @s MobUUID + data modify storage api: Argument.FieldOverride.Color set value 3381759 + data modify storage api: Argument.FieldOverride.Scale set value [40f, 40f, 0.05f] + $data modify storage api: Argument.FieldOverride.Tick set value $(Tick) + execute positioned ^ ^0.2 ^ rotated ~ 0 run function api:object/summon diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam_shot/start_attack.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam_shot/start_attack.mcfunction new file mode 100644 index 0000000000..8c2dacbbc6 --- /dev/null +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam_shot/start_attack.mcfunction @@ -0,0 +1,10 @@ +#> asset:mob/0456.gargo_ex_machina/tick/event/half_beam_shot/start_attack +# +# 半面焼きビーム +# +# @within asset:mob/0456.gargo_ex_machina/tick/event/half_beam_shot/event_charging + +# タグ更新 + scoreboard players set @s CO.EventTimer 0 + tag @s remove CO.Skill.HalfBeamShot.Charge + tag @s add CO.Skill.HalfBeamShot.Attack diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam_shot/start_charging.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam_shot/start_charging.mcfunction new file mode 100644 index 0000000000..2387b55f2a --- /dev/null +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam_shot/start_charging.mcfunction @@ -0,0 +1,10 @@ +#> asset:mob/0456.gargo_ex_machina/tick/event/half_beam_shot/start_charging +# +# 半面焼きビーム + 回転斬り +# +# @within asset:mob/0456.gargo_ex_machina/tick/event/half_beam_shot/event_start + +# タグ更新 + scoreboard players set @s CO.EventTimer 0 + tag @s remove CO.Skill.HalfBeamShot + tag @s add CO.Skill.HalfBeamShot.Charge diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam_shot/summon_laser.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam_shot/summon_laser.mcfunction new file mode 100644 index 0000000000..6f8a10ed98 --- /dev/null +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam_shot/summon_laser.mcfunction @@ -0,0 +1,11 @@ +#> asset:mob/0456.gargo_ex_machina/tick/event/half_beam_shot/summon_laser +# +# 半面焼きビーム +# +# @within asset:mob/0456.gargo_ex_machina/tick/event/half_beam_shot/summon_laser_start + +# 演出 + data modify storage api: Argument.ID set value 2263 + data modify storage api: Argument.FieldOverride.Rotation set from entity @s Rotation + execute if entity @s[tag=CO.Skill.HalfBeam.IsRight] run data modify storage api: Argument.FieldOverride.IsRight set value true + function api:object/summon diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam_shot/summon_laser_start.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam_shot/summon_laser_start.mcfunction new file mode 100644 index 0000000000..397fc035a3 --- /dev/null +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam_shot/summon_laser_start.mcfunction @@ -0,0 +1,24 @@ +#> asset:mob/0456.gargo_ex_machina/tick/event/half_beam_shot/summon_laser_start +# +# 半面焼きビーム +# +# @within asset:mob/0456.gargo_ex_machina/tick/event/half_beam_shot/event_attack + +# 基準用AEC召喚 + summon area_effect_cloud ~ ~ ~ {Tags:["CO.Aec.Target"]} + execute if entity @s[tag=CO.Skill.HalfBeam.IsRight] run tag @e[type=area_effect_cloud,tag=CO.Aec.Target,distance=..10,limit=1] add CO.Skill.HalfBeam.IsRight + +# 演出 + execute if entity @s[tag=CO.Skill.HalfBeam.IsRight] run tp @e[type=area_effect_cloud,tag=CO.Aec.Target,distance=..10,limit=1] ^-2 ^ ^ ~-30 60 + execute unless entity @s[tag=CO.Skill.HalfBeam.IsRight] run tp @e[type=area_effect_cloud,tag=CO.Aec.Target,distance=..10,limit=1] ^2 ^ ^ ~30 60 + execute as @e[type=area_effect_cloud,tag=CO.Aec.Target,distance=..10,limit=1] at @s positioned ^-2 ^ ^ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_shot/summon_laser + execute as @e[type=area_effect_cloud,tag=CO.Aec.Target,distance=..10,limit=1] at @s positioned ^2 ^ ^ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_shot/summon_laser + execute as @e[type=area_effect_cloud,tag=CO.Aec.Target,distance=..10,limit=1] at @s run tp @s ~ ~ ~ ~ 45 + execute as @e[type=area_effect_cloud,tag=CO.Aec.Target,distance=..10,limit=1] at @s positioned ^-2 ^ ^ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_shot/summon_laser + execute as @e[type=area_effect_cloud,tag=CO.Aec.Target,distance=..10,limit=1] at @s positioned ^2 ^ ^ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_shot/summon_laser + execute as @e[type=area_effect_cloud,tag=CO.Aec.Target,distance=..10,limit=1] at @s run tp @s ~ ~ ~ ~ 30 + execute as @e[type=area_effect_cloud,tag=CO.Aec.Target,distance=..10,limit=1] at @s positioned ^-2 ^ ^ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_shot/summon_laser + execute as @e[type=area_effect_cloud,tag=CO.Aec.Target,distance=..10,limit=1] at @s positioned ^2 ^ ^ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_shot/summon_laser + +# 終了 + kill @e[type=area_effect_cloud,tag=CO.Aec.Target,distance=..10,limit=1] From d23bbecd48680c25bd1e15cdc61aeb784e22b5ec Mon Sep 17 00:00:00 2001 From: mokkkk Date: Sat, 28 Feb 2026 12:17:42 +0900 Subject: [PATCH 27/98] =?UTF-8?q?=E3=83=93=E3=83=BC=E3=83=A0+=E5=B0=84?= =?UTF-8?q?=E6=92=83=E5=AE=9F=E8=A3=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../half_beam_shot/attack_shot.m.mcfunction | 14 +++ .../half_beam_shot/attack_sword.mcfunction | 111 ------------------ .../half_beam_shot/event_attack.mcfunction | 1 - .../half_beam_shot/event_charging.mcfunction | 15 +-- .../set_attack_position.mcfunction | 87 ++++++++++++++ .../upper_shot/summon_laser.m.mcfunction | 1 - .../2268.gem_upper_shot/init/.mcfunction | 11 ++ .../2268.gem_upper_shot/load.mcfunction | 5 +- .../2268.gem_upper_shot/tick/.mcfunction | 8 +- ...ion.mcfunction => prediction.m.mcfunction} | 5 +- 10 files changed, 130 insertions(+), 128 deletions(-) create mode 100644 Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam_shot/attack_shot.m.mcfunction delete mode 100644 Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam_shot/attack_sword.mcfunction create mode 100644 Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam_shot/set_attack_position.mcfunction rename Asset/data/asset/functions/object/2268.gem_upper_shot/tick/{prediction.mcfunction => prediction.m.mcfunction} (60%) diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam_shot/attack_shot.m.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam_shot/attack_shot.m.mcfunction new file mode 100644 index 0000000000..dbcb5b38fa --- /dev/null +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam_shot/attack_shot.m.mcfunction @@ -0,0 +1,14 @@ +#> asset:mob/0456.gargo_ex_machina/tick/event/half_beam_shot/attack_shot.m +# +# 射撃 +# +# @within asset:mob/0456.gargo_ex_machina/tick/event/half_beam_shot/event_charging + +# 攻撃判定召喚 + data modify storage api: Argument.ID set value 2268 + data modify storage api: Argument.FieldOverride.Damage set from storage asset:context this.Damage.Shot + $data modify storage api: Argument.FieldOverride.PredictionTime set value $(PredictionTime) + $data modify storage api: Argument.FieldOverride.AttackTime set value $(AttackTime) + execute store result storage api: Argument.FieldOverride.MobUUID int 1 run scoreboard players get @s MobUUID + execute positioned ~ ~ ~ run function api:object/summon + kill @e[type=area_effect_cloud,tag=CO.Aec.AttackPosition,distance=..10,sort=nearest,limit=1] diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam_shot/attack_sword.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam_shot/attack_sword.mcfunction deleted file mode 100644 index de163adcaa..0000000000 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam_shot/attack_sword.mcfunction +++ /dev/null @@ -1,111 +0,0 @@ -#> asset:mob/0456.gargo_ex_machina/tick/event/half_beam_sword/attack_sword -# -# 半面焼きビーム -# -# @within asset:mob/0456.gargo_ex_machina/tick/event/half_beam_sword/event_attack - -# ヒット判定 - # 円範囲 - tag @a[tag=!PlayerShouldInvulnerable,distance=..20] add DXYZ - -# ダメージ - data modify storage api: Argument.Damage set from storage asset:context this.Damage.HalfBeamSword.Amount - data modify storage api: Argument.AttackType set from storage asset:context this.Damage.HalfBeamSword.Type - data modify storage api: Argument.ElementType set from storage asset:context this.Damage.HalfBeamSword.Element - function api:damage/modifier - execute as @a[tag=DXYZ] run function api:damage/ - function api:damage/reset - -# 斬撃オブジェクト - data modify storage api: Argument.ID set value 2001 - data modify storage api: Argument.FieldOverride set value {Color:9484241,Scale:[40f,40f,7f],Transformation:{left_rotation:[0f,0f,0f,1f],right_rotation:[0f,0f,0f,1f],translation:[0f,0f,0f]}} - execute if entity @s[tag=CO.Skill.HalfBeam.IsRight] positioned ^3 ^4 ^-4 rotated ~ -82 run function api:object/summon - execute unless entity @s[tag=CO.Skill.HalfBeam.IsRight] positioned ^3 ^4 ^4 rotated ~ 82 run function api:object/summon - data modify storage api: Argument.ID set value 2001 - data modify storage api: Argument.FieldOverride set value {Color:9484241,Scale:[40f,40f,7f],Transformation:{left_rotation:[0f,0f,0f,1f],right_rotation:[0f,0f,0f,1f],translation:[0f,0f,0f]}} - execute if entity @s[tag=CO.Skill.HalfBeam.IsRight] positioned ^-3 ^4 ^4 rotated ~180 -82 run function api:object/summon - execute unless entity @s[tag=CO.Skill.HalfBeam.IsRight] positioned ^-3 ^4 ^-4 rotated ~180 82 run function api:object/summon - -# 効果音 - playsound item.trident.throw hostile @a ~ ~ ~ 3 0.7 - playsound item.trident.throw hostile @a ~ ~ ~ 3 0.6 - playsound entity.breeze.shoot hostile @a ~ ~ ~ 3 0.6 - -# パーティクル - # 円型ベクトルパーティクル - execute rotated ~00 0 positioned ^ ^6 ^ run particle cloud ~ ~ ~ ^ ^-15000000 ^100000000 0.000000015 0 - execute rotated ~10 0 positioned ^ ^6 ^ run particle cloud ~ ~ ~ ^ ^-15000000 ^100000000 0.000000015 0 - execute rotated ~20 0 positioned ^ ^6 ^ run particle cloud ~ ~ ~ ^ ^-15000000 ^100000000 0.000000015 0 - execute rotated ~30 0 positioned ^ ^6 ^ run particle cloud ~ ~ ~ ^ ^-15000000 ^100000000 0.000000015 0 - execute rotated ~40 0 positioned ^ ^6 ^ run particle cloud ~ ~ ~ ^ ^-15000000 ^100000000 0.000000015 0 - execute rotated ~50 0 positioned ^ ^6 ^ run particle cloud ~ ~ ~ ^ ^-15000000 ^100000000 0.000000015 0 - execute rotated ~60 0 positioned ^ ^6 ^ run particle cloud ~ ~ ~ ^ ^-15000000 ^100000000 0.000000015 0 - execute rotated ~70 0 positioned ^ ^6 ^ run particle cloud ~ ~ ~ ^ ^-15000000 ^100000000 0.000000015 0 - execute rotated ~80 0 positioned ^ ^6 ^ run particle cloud ~ ~ ~ ^ ^-15000000 ^100000000 0.000000015 0 - execute rotated ~90 0 positioned ^ ^6 ^ run particle cloud ~ ~ ~ ^ ^-15000000 ^100000000 0.000000015 0 - execute rotated ~100 0 positioned ^ ^6 ^ run particle cloud ~ ~ ~ ^ ^-15000000 ^100000000 0.000000015 0 - execute rotated ~110 0 positioned ^ ^6 ^ run particle cloud ~ ~ ~ ^ ^-15000000 ^100000000 0.000000015 0 - execute rotated ~120 0 positioned ^ ^6 ^ run particle cloud ~ ~ ~ ^ ^-15000000 ^100000000 0.000000015 0 - execute rotated ~130 0 positioned ^ ^6 ^ run particle cloud ~ ~ ~ ^ ^-15000000 ^100000000 0.000000015 0 - execute rotated ~140 0 positioned ^ ^6 ^ run particle cloud ~ ~ ~ ^ ^-15000000 ^100000000 0.000000015 0 - execute rotated ~150 0 positioned ^ ^6 ^ run particle cloud ~ ~ ~ ^ ^-15000000 ^100000000 0.000000015 0 - execute rotated ~160 0 positioned ^ ^6 ^ run particle cloud ~ ~ ~ ^ ^-15000000 ^100000000 0.000000015 0 - execute rotated ~170 0 positioned ^ ^6 ^ run particle cloud ~ ~ ~ ^ ^-15000000 ^100000000 0.000000015 0 - execute rotated ~180 0 positioned ^ ^6 ^ run particle cloud ~ ~ ~ ^ ^-15000000 ^100000000 0.000000015 0 - execute rotated ~190 0 positioned ^ ^6 ^ run particle cloud ~ ~ ~ ^ ^-15000000 ^100000000 0.000000015 0 - execute rotated ~200 0 positioned ^ ^6 ^ run particle cloud ~ ~ ~ ^ ^-15000000 ^100000000 0.000000015 0 - execute rotated ~210 0 positioned ^ ^6 ^ run particle cloud ~ ~ ~ ^ ^-15000000 ^100000000 0.000000015 0 - execute rotated ~220 0 positioned ^ ^6 ^ run particle cloud ~ ~ ~ ^ ^-15000000 ^100000000 0.000000015 0 - execute rotated ~230 0 positioned ^ ^6 ^ run particle cloud ~ ~ ~ ^ ^-15000000 ^100000000 0.000000015 0 - execute rotated ~240 0 positioned ^ ^6 ^ run particle cloud ~ ~ ~ ^ ^-15000000 ^100000000 0.000000015 0 - execute rotated ~250 0 positioned ^ ^6 ^ run particle cloud ~ ~ ~ ^ ^-15000000 ^100000000 0.000000015 0 - execute rotated ~260 0 positioned ^ ^6 ^ run particle cloud ~ ~ ~ ^ ^-15000000 ^100000000 0.000000015 0 - execute rotated ~270 0 positioned ^ ^6 ^ run particle cloud ~ ~ ~ ^ ^-15000000 ^100000000 0.000000015 0 - execute rotated ~280 0 positioned ^ ^6 ^ run particle cloud ~ ~ ~ ^ ^-15000000 ^100000000 0.000000015 0 - execute rotated ~290 0 positioned ^ ^6 ^ run particle cloud ~ ~ ~ ^ ^-15000000 ^100000000 0.000000015 0 - execute rotated ~300 0 positioned ^ ^6 ^ run particle cloud ~ ~ ~ ^ ^-15000000 ^100000000 0.000000015 0 - execute rotated ~310 0 positioned ^ ^6 ^ run particle cloud ~ ~ ~ ^ ^-15000000 ^100000000 0.000000015 0 - execute rotated ~320 0 positioned ^ ^6 ^ run particle cloud ~ ~ ~ ^ ^-15000000 ^100000000 0.000000015 0 - execute rotated ~330 0 positioned ^ ^6 ^ run particle cloud ~ ~ ~ ^ ^-15000000 ^100000000 0.000000015 0 - execute rotated ~340 0 positioned ^ ^6 ^ run particle cloud ~ ~ ~ ^ ^-15000000 ^100000000 0.000000015 0 - execute rotated ~350 0 positioned ^ ^6 ^ run particle cloud ~ ~ ~ ^ ^-15000000 ^100000000 0.000000015 0 - # 円型ベクトルパーティクル - execute rotated ~00 0 positioned ^ ^6 ^ run particle cloud ~ ~ ~ ^ ^-15000000 ^100000000 0.000000025 0 - execute rotated ~10 0 positioned ^ ^6 ^ run particle cloud ~ ~ ~ ^ ^-15000000 ^100000000 0.000000025 0 - execute rotated ~20 0 positioned ^ ^6 ^ run particle cloud ~ ~ ~ ^ ^-15000000 ^100000000 0.000000025 0 - execute rotated ~30 0 positioned ^ ^6 ^ run particle cloud ~ ~ ~ ^ ^-15000000 ^100000000 0.000000025 0 - execute rotated ~40 0 positioned ^ ^6 ^ run particle cloud ~ ~ ~ ^ ^-15000000 ^100000000 0.000000025 0 - execute rotated ~50 0 positioned ^ ^6 ^ run particle cloud ~ ~ ~ ^ ^-15000000 ^100000000 0.000000025 0 - execute rotated ~60 0 positioned ^ ^6 ^ run particle cloud ~ ~ ~ ^ ^-15000000 ^100000000 0.000000025 0 - execute rotated ~70 0 positioned ^ ^6 ^ run particle cloud ~ ~ ~ ^ ^-15000000 ^100000000 0.000000025 0 - execute rotated ~80 0 positioned ^ ^6 ^ run particle cloud ~ ~ ~ ^ ^-15000000 ^100000000 0.000000025 0 - execute rotated ~90 0 positioned ^ ^6 ^ run particle cloud ~ ~ ~ ^ ^-15000000 ^100000000 0.000000025 0 - execute rotated ~100 0 positioned ^ ^6 ^ run particle cloud ~ ~ ~ ^ ^-15000000 ^100000000 0.000000025 0 - execute rotated ~110 0 positioned ^ ^6 ^ run particle cloud ~ ~ ~ ^ ^-15000000 ^100000000 0.000000025 0 - execute rotated ~120 0 positioned ^ ^6 ^ run particle cloud ~ ~ ~ ^ ^-15000000 ^100000000 0.000000025 0 - execute rotated ~130 0 positioned ^ ^6 ^ run particle cloud ~ ~ ~ ^ ^-15000000 ^100000000 0.000000025 0 - execute rotated ~140 0 positioned ^ ^6 ^ run particle cloud ~ ~ ~ ^ ^-15000000 ^100000000 0.000000025 0 - execute rotated ~150 0 positioned ^ ^6 ^ run particle cloud ~ ~ ~ ^ ^-15000000 ^100000000 0.000000025 0 - execute rotated ~160 0 positioned ^ ^6 ^ run particle cloud ~ ~ ~ ^ ^-15000000 ^100000000 0.000000025 0 - execute rotated ~170 0 positioned ^ ^6 ^ run particle cloud ~ ~ ~ ^ ^-15000000 ^100000000 0.000000025 0 - execute rotated ~180 0 positioned ^ ^6 ^ run particle cloud ~ ~ ~ ^ ^-15000000 ^100000000 0.000000025 0 - execute rotated ~190 0 positioned ^ ^6 ^ run particle cloud ~ ~ ~ ^ ^-15000000 ^100000000 0.000000025 0 - execute rotated ~200 0 positioned ^ ^6 ^ run particle cloud ~ ~ ~ ^ ^-15000000 ^100000000 0.000000025 0 - execute rotated ~210 0 positioned ^ ^6 ^ run particle cloud ~ ~ ~ ^ ^-15000000 ^100000000 0.000000025 0 - execute rotated ~220 0 positioned ^ ^6 ^ run particle cloud ~ ~ ~ ^ ^-15000000 ^100000000 0.000000025 0 - execute rotated ~230 0 positioned ^ ^6 ^ run particle cloud ~ ~ ~ ^ ^-15000000 ^100000000 0.000000025 0 - execute rotated ~240 0 positioned ^ ^6 ^ run particle cloud ~ ~ ~ ^ ^-15000000 ^100000000 0.000000025 0 - execute rotated ~250 0 positioned ^ ^6 ^ run particle cloud ~ ~ ~ ^ ^-15000000 ^100000000 0.000000025 0 - execute rotated ~260 0 positioned ^ ^6 ^ run particle cloud ~ ~ ~ ^ ^-15000000 ^100000000 0.000000025 0 - execute rotated ~270 0 positioned ^ ^6 ^ run particle cloud ~ ~ ~ ^ ^-15000000 ^100000000 0.000000025 0 - execute rotated ~280 0 positioned ^ ^6 ^ run particle cloud ~ ~ ~ ^ ^-15000000 ^100000000 0.000000025 0 - execute rotated ~290 0 positioned ^ ^6 ^ run particle cloud ~ ~ ~ ^ ^-15000000 ^100000000 0.000000025 0 - execute rotated ~300 0 positioned ^ ^6 ^ run particle cloud ~ ~ ~ ^ ^-15000000 ^100000000 0.000000025 0 - execute rotated ~310 0 positioned ^ ^6 ^ run particle cloud ~ ~ ~ ^ ^-15000000 ^100000000 0.000000025 0 - execute rotated ~320 0 positioned ^ ^6 ^ run particle cloud ~ ~ ~ ^ ^-15000000 ^100000000 0.000000025 0 - execute rotated ~330 0 positioned ^ ^6 ^ run particle cloud ~ ~ ~ ^ ^-15000000 ^100000000 0.000000025 0 - execute rotated ~340 0 positioned ^ ^6 ^ run particle cloud ~ ~ ~ ^ ^-15000000 ^100000000 0.000000025 0 - execute rotated ~350 0 positioned ^ ^6 ^ run particle cloud ~ ~ ~ ^ ^-15000000 ^100000000 0.000000025 0 - -# 終了 - tag @a[tag=DXYZ] remove DXYZ diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam_shot/event_attack.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam_shot/event_attack.mcfunction index b3c969e559..2ff39dd494 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam_shot/event_attack.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam_shot/event_attack.mcfunction @@ -29,7 +29,6 @@ execute if score @s CO.EventTimer matches 59 run playsound item.crossbow.loading_end hostile @a ~ ~ ~ 3 0.7 execute if score @s CO.EventTimer matches 59 run playsound item.crossbow.loading_end hostile @a ~ ~ ~ 3 0.5 # 攻撃 - # execute if score @s CO.EventTimer matches 16 run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_shot/attack_sword execute if entity @s[tag=CO.Skill.HalfBeam.IsRight] if score @s CO.EventTimer matches 19 positioned ^-30 ^ ^ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_shot/attack execute unless entity @s[tag=CO.Skill.HalfBeam.IsRight] if score @s CO.EventTimer matches 19 positioned ^30 ^ ^ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_shot/attack # 攻撃演出 diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam_shot/event_charging.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam_shot/event_charging.mcfunction index 20d95cdf0c..867951b439 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam_shot/event_charging.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam_shot/event_charging.mcfunction @@ -29,13 +29,14 @@ execute if entity @s[tag=CO.Skill.HalfBeam.IsRight] if predicate api:global_vars/difficulty/min/3_blessless if score @s CO.EventTimer matches 95 positioned ^-30 ^0.05 ^ rotated ~20 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_shot/prediction.m {Interpolation:2,Tick:24} execute unless entity @s[tag=CO.Skill.HalfBeam.IsRight] if predicate api:global_vars/difficulty/min/3_blessless if score @s CO.EventTimer matches 90 positioned ^30 ^ ^ rotated ~20 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_shot/prediction.m {Interpolation:2,Tick:29} execute unless entity @s[tag=CO.Skill.HalfBeam.IsRight] if predicate api:global_vars/difficulty/min/3_blessless if score @s CO.EventTimer matches 95 positioned ^30 ^0.05 ^ rotated ~-20 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_shot/prediction.m {Interpolation:2,Tick:24} - # # 剣 - # # ノーマル - # execute if predicate api:global_vars/difficulty/1_normal if score @s CO.EventTimer matches 15 run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_shot/prediction_circle.m {Tick:102} - # # ハード - # execute if predicate api:global_vars/difficulty/2_hard if score @s CO.EventTimer matches 35 run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_shot/prediction_circle.m {Tick:82} - # # ブレスレス - # execute if predicate api:global_vars/difficulty/min/3_blessless if score @s CO.EventTimer matches 90 run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_shot/prediction_circle.m {Tick:27} + # 射撃 + execute if score @s CO.EventTimer matches 10 at @e[type=marker,tag=CO.CenterPosition] run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_shot/set_attack_position + # ノーマル + execute if predicate api:global_vars/difficulty/1_normal if score @s CO.EventTimer matches 15.. at @e[type=area_effect_cloud,tag=CO.Aec.AttackPosition,distance=..80,sort=random,limit=5] run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_shot/attack_shot.m {PredictionTime:105,AttackTime:105} + # ハード + execute if predicate api:global_vars/difficulty/2_hard if score @s CO.EventTimer matches 45.. at @e[type=area_effect_cloud,tag=CO.Aec.AttackPosition,distance=..80,sort=random,limit=5] run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_shot/attack_shot.m {PredictionTime:75,AttackTime:75} + # ブレスレス + execute if predicate api:global_vars/difficulty/min/3_blessless if score @s CO.EventTimer matches 85.. at @e[type=area_effect_cloud,tag=CO.Aec.AttackPosition,distance=..80,sort=random,limit=5] run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_shot/attack_shot.m {PredictionTime:35,AttackTime:35} # 効果音 execute if score @s CO.EventTimer matches 1..100 positioned ~ ~15 ~ run particle end_rod ~ ~ ~ 2 2 2 0.05 1 diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam_shot/set_attack_position.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam_shot/set_attack_position.mcfunction new file mode 100644 index 0000000000..f9783977e3 --- /dev/null +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam_shot/set_attack_position.mcfunction @@ -0,0 +1,87 @@ +#> asset:mob/0456.gargo_ex_machina/tick/event/half_beam_shot/set_attack_position +# +# 射撃 +# +# @within asset:mob/0456.gargo_ex_machina/tick/event/half_beam_shot/event_charging + +# [ImportKey]: NobwRALgngDgpmAXGGB7ANlA5qgdmAGjAFdiBLAEyTAEYB2ANgCMBWFigZgFoaK4AWLvyYMaXABwNxAQy7SWcaf3EBOfgDMAxh3WEwuaQFsEyQFiagJcjARvoACGnpjSATkYDOScJtTFcEJAyKacD5wju5gAG7S6MQm4AAeSAAMRFBJAL5pRM4UZMRuiPwATAB0RUQuEE6+BSxEcOjoZDAuJjSJyWCOqJUQJh2ejrghSPxEAFbEhjBINERMcABeZMOIHWQuAKINTS0bAI7EUZgAyg6BVIjqUS1E6wBCi8uO+4cNUKfS50hX6C0ZBOBoPBqGhMDh8ERSJRqHAaJoaIVChQ6HI6NJxEIVCoxOJWGJESx1HBFBQKJp5HoDMZqBYbGJPDBUkQHM5DPkPF4fEhamBAsFQohwJForEwAlVil0plOtIcnkkBwSmUwBUqiMefVGs1Wu0st1pL0kgFUIMVqMwBMpjM5o8VmtNtttS8ju8znALj8bmB7rbngcXR8vpdrnB-oDYCYUBhsHg9FCLmA4JpCuomDI4FxNCxEiiiuIM+iFFwVOJxIUaAwkTR+BQmJSjJHabZM6hGS3GfYnK4wp5vNVzXzegKhVEYmFxR1Uqt-jK5flEaVCuVKo5+xrHS0ZrrOvrDRLeSahgLzZbpohZmB5ks7bcHVrdv63oH3d8Q7eHte-a8Tm6PSGw5AEYgtG4JxuQCaJAIHB0Jo6gYhQiKCMoDAMMWdBolwhTSIqdClhwnAsHYRBUo2VjNgyUDtpRFGdqy7IHn2SBLryQRDmEwpjoKYpGmAU6JDO2S5PkCKLsuao1HUG46h0XQ9H0xqmse4yTGeF5Xk8PHrFs95wM6T6-q+vxwO+vp6T+nwvsGRkAUCkagjGEIkOB1DiPwnwIbCEhwIUqH8BwDAqFwTB0PwqEUJB+bqFoNDiBwLD1tSZhkfSrbUalVFUbR3Zcb2XLngErErCOIrjjxfECbKQkKqJKormukk6VuMm7vJB6KSMylWvll6+ppd47Lpj7mUGnrGd6Lgfk8ZmuhZf7WWkAC6QA_3 +# 多角形 1-copy-copy-copy-copy +summon area_effect_cloud ^2.41831 ^ ^-2.41831 {Tags:["CO.Aec.AttackPosition"],Duration:100} +summon area_effect_cloud ^2.41831 ^ ^2.41831 {Tags:["CO.Aec.AttackPosition"],Duration:100} +summon area_effect_cloud ^-2.41831 ^ ^2.41831 {Tags:["CO.Aec.AttackPosition"],Duration:100} +summon area_effect_cloud ^-2.41831 ^ ^-2.41831 {Tags:["CO.Aec.AttackPosition"],Duration:100} +# 多角形 1 +summon area_effect_cloud ^29.99547 ^ ^-29.99547 {Tags:["CO.Aec.AttackPosition"],Duration:100} +summon area_effect_cloud ^29.99547 ^ ^-19.99698 {Tags:["CO.Aec.AttackPosition"],Duration:100} +summon area_effect_cloud ^29.99547 ^ ^-9.99849 {Tags:["CO.Aec.AttackPosition"],Duration:100} +summon area_effect_cloud ^29.99547 ^ ^0 {Tags:["CO.Aec.AttackPosition"],Duration:100} +summon area_effect_cloud ^29.99547 ^ ^9.99849 {Tags:["CO.Aec.AttackPosition"],Duration:100} +summon area_effect_cloud ^29.99547 ^ ^19.99698 {Tags:["CO.Aec.AttackPosition"],Duration:100} +summon area_effect_cloud ^29.99547 ^ ^29.99547 {Tags:["CO.Aec.AttackPosition"],Duration:100} +summon area_effect_cloud ^19.99698 ^ ^29.99547 {Tags:["CO.Aec.AttackPosition"],Duration:100} +summon area_effect_cloud ^9.99849 ^ ^29.99547 {Tags:["CO.Aec.AttackPosition"],Duration:100} +summon area_effect_cloud ^0 ^ ^29.99547 {Tags:["CO.Aec.AttackPosition"],Duration:100} +summon area_effect_cloud ^-9.99849 ^ ^29.99547 {Tags:["CO.Aec.AttackPosition"],Duration:100} +summon area_effect_cloud ^-19.99698 ^ ^29.99547 {Tags:["CO.Aec.AttackPosition"],Duration:100} +summon area_effect_cloud ^-29.99547 ^ ^29.99547 {Tags:["CO.Aec.AttackPosition"],Duration:100} +summon area_effect_cloud ^-29.99547 ^ ^19.99698 {Tags:["CO.Aec.AttackPosition"],Duration:100} +summon area_effect_cloud ^-29.99547 ^ ^9.99849 {Tags:["CO.Aec.AttackPosition"],Duration:100} +summon area_effect_cloud ^-29.99547 ^ ^0 {Tags:["CO.Aec.AttackPosition"],Duration:100} +summon area_effect_cloud ^-29.99547 ^ ^-9.99849 {Tags:["CO.Aec.AttackPosition"],Duration:100} +summon area_effect_cloud ^-29.99547 ^ ^-19.99698 {Tags:["CO.Aec.AttackPosition"],Duration:100} +summon area_effect_cloud ^-29.99547 ^ ^-29.99547 {Tags:["CO.Aec.AttackPosition"],Duration:100} +summon area_effect_cloud ^-19.99698 ^ ^-29.99547 {Tags:["CO.Aec.AttackPosition"],Duration:100} +summon area_effect_cloud ^-9.99849 ^ ^-29.99547 {Tags:["CO.Aec.AttackPosition"],Duration:100} +summon area_effect_cloud ^0 ^ ^-29.99547 {Tags:["CO.Aec.AttackPosition"],Duration:100} +summon area_effect_cloud ^9.99849 ^ ^-29.99547 {Tags:["CO.Aec.AttackPosition"],Duration:100} +summon area_effect_cloud ^19.99698 ^ ^-29.99547 {Tags:["CO.Aec.AttackPosition"],Duration:100} +# 多角形 1-copy +summon area_effect_cloud ^22.9244 ^ ^-22.9244 {Tags:["CO.Aec.AttackPosition"],Duration:100} +summon area_effect_cloud ^22.9244 ^ ^-13.75464 {Tags:["CO.Aec.AttackPosition"],Duration:100} +summon area_effect_cloud ^22.9244 ^ ^-4.58488 {Tags:["CO.Aec.AttackPosition"],Duration:100} +summon area_effect_cloud ^22.9244 ^ ^4.58488 {Tags:["CO.Aec.AttackPosition"],Duration:100} +summon area_effect_cloud ^22.9244 ^ ^13.75464 {Tags:["CO.Aec.AttackPosition"],Duration:100} +summon area_effect_cloud ^22.9244 ^ ^22.9244 {Tags:["CO.Aec.AttackPosition"],Duration:100} +summon area_effect_cloud ^13.75464 ^ ^22.9244 {Tags:["CO.Aec.AttackPosition"],Duration:100} +summon area_effect_cloud ^4.58488 ^ ^22.9244 {Tags:["CO.Aec.AttackPosition"],Duration:100} +summon area_effect_cloud ^-4.58488 ^ ^22.9244 {Tags:["CO.Aec.AttackPosition"],Duration:100} +summon area_effect_cloud ^-13.75464 ^ ^22.9244 {Tags:["CO.Aec.AttackPosition"],Duration:100} +summon area_effect_cloud ^-22.9244 ^ ^22.9244 {Tags:["CO.Aec.AttackPosition"],Duration:100} +summon area_effect_cloud ^-22.9244 ^ ^13.75464 {Tags:["CO.Aec.AttackPosition"],Duration:100} +summon area_effect_cloud ^-22.9244 ^ ^4.58488 {Tags:["CO.Aec.AttackPosition"],Duration:100} +summon area_effect_cloud ^-22.9244 ^ ^-4.58488 {Tags:["CO.Aec.AttackPosition"],Duration:100} +summon area_effect_cloud ^-22.9244 ^ ^-13.75464 {Tags:["CO.Aec.AttackPosition"],Duration:100} +summon area_effect_cloud ^-22.9244 ^ ^-22.9244 {Tags:["CO.Aec.AttackPosition"],Duration:100} +summon area_effect_cloud ^-13.75464 ^ ^-22.9244 {Tags:["CO.Aec.AttackPosition"],Duration:100} +summon area_effect_cloud ^-4.58488 ^ ^-22.9244 {Tags:["CO.Aec.AttackPosition"],Duration:100} +summon area_effect_cloud ^4.58488 ^ ^-22.9244 {Tags:["CO.Aec.AttackPosition"],Duration:100} +summon area_effect_cloud ^13.75464 ^ ^-22.9244 {Tags:["CO.Aec.AttackPosition"],Duration:100} +# 多角形 1-copy-copy +summon area_effect_cloud ^15.85333 ^ ^-15.85333 {Tags:["CO.Aec.AttackPosition"],Duration:100} +summon area_effect_cloud ^15.85333 ^ ^-7.92667 {Tags:["CO.Aec.AttackPosition"],Duration:100} +summon area_effect_cloud ^15.85333 ^ ^0 {Tags:["CO.Aec.AttackPosition"],Duration:100} +summon area_effect_cloud ^15.85333 ^ ^7.92667 {Tags:["CO.Aec.AttackPosition"],Duration:100} +summon area_effect_cloud ^15.85333 ^ ^15.85333 {Tags:["CO.Aec.AttackPosition"],Duration:100} +summon area_effect_cloud ^7.92667 ^ ^15.85333 {Tags:["CO.Aec.AttackPosition"],Duration:100} +summon area_effect_cloud ^0 ^ ^15.85333 {Tags:["CO.Aec.AttackPosition"],Duration:100} +summon area_effect_cloud ^-7.92667 ^ ^15.85333 {Tags:["CO.Aec.AttackPosition"],Duration:100} +summon area_effect_cloud ^-15.85333 ^ ^15.85333 {Tags:["CO.Aec.AttackPosition"],Duration:100} +summon area_effect_cloud ^-15.85333 ^ ^7.92667 {Tags:["CO.Aec.AttackPosition"],Duration:100} +summon area_effect_cloud ^-15.85333 ^ ^0 {Tags:["CO.Aec.AttackPosition"],Duration:100} +summon area_effect_cloud ^-15.85333 ^ ^-7.92667 {Tags:["CO.Aec.AttackPosition"],Duration:100} +summon area_effect_cloud ^-15.85333 ^ ^-15.85333 {Tags:["CO.Aec.AttackPosition"],Duration:100} +summon area_effect_cloud ^-7.92667 ^ ^-15.85333 {Tags:["CO.Aec.AttackPosition"],Duration:100} +summon area_effect_cloud ^0 ^ ^-15.85333 {Tags:["CO.Aec.AttackPosition"],Duration:100} +summon area_effect_cloud ^7.92667 ^ ^-15.85333 {Tags:["CO.Aec.AttackPosition"],Duration:100} +# 多角形 1-copy-copy-copy +summon area_effect_cloud ^8.78227 ^ ^-8.78227 {Tags:["CO.Aec.AttackPosition"],Duration:100} +summon area_effect_cloud ^8.78227 ^ ^0 {Tags:["CO.Aec.AttackPosition"],Duration:100} +summon area_effect_cloud ^8.78227 ^ ^8.78227 {Tags:["CO.Aec.AttackPosition"],Duration:100} +summon area_effect_cloud ^0 ^ ^8.78227 {Tags:["CO.Aec.AttackPosition"],Duration:100} +summon area_effect_cloud ^-8.78227 ^ ^8.78227 {Tags:["CO.Aec.AttackPosition"],Duration:100} +summon area_effect_cloud ^-8.78227 ^ ^0 {Tags:["CO.Aec.AttackPosition"],Duration:100} +summon area_effect_cloud ^-8.78227 ^ ^-8.78227 {Tags:["CO.Aec.AttackPosition"],Duration:100} +summon area_effect_cloud ^0 ^ ^-8.78227 {Tags:["CO.Aec.AttackPosition"],Duration:100} + +# 自身の周囲を消去 + execute at @s run kill @e[tag=CO.Aec.AttackPosition,distance=..14] diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/upper_shot/summon_laser.m.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/upper_shot/summon_laser.m.mcfunction index 625dc7fee5..1f6294bf98 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/upper_shot/summon_laser.m.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/upper_shot/summon_laser.m.mcfunction @@ -4,7 +4,6 @@ # # @within asset:mob/0456.gargo_ex_machina/tick/event/upper_shot/ - # 演出 $summon area_effect_cloud ^$(posx) ^$(posy) ^$(posz) {Tags:["CO.Temp.Rotation"]} execute as @e[type=area_effect_cloud,tag=CO.Temp.Rotation,distance=..30,limit=1] at @s run tp @s ~ ~ ~ ~ -90 diff --git a/Asset/data/asset/functions/object/2268.gem_upper_shot/init/.mcfunction b/Asset/data/asset/functions/object/2268.gem_upper_shot/init/.mcfunction index 4a0a651eb9..d21a3992c0 100644 --- a/Asset/data/asset/functions/object/2268.gem_upper_shot/init/.mcfunction +++ b/Asset/data/asset/functions/object/2268.gem_upper_shot/init/.mcfunction @@ -7,3 +7,14 @@ # 角度をランダムに設定 execute store result entity @s Rotation[0] float 0.1 run random value 0..3600 execute store result entity @s Rotation[1] float 0.1 run random value -900..-700 + +# 予兆・攻撃時間 + scoreboard players set @s 2268.AttackTime 60 + execute if data storage asset:context this.PredictionTime store result score @s 2268.PredictionTime run data get storage asset:context this.PredictionTime + execute if data storage asset:context this.AttackTime store result score @s 2268.AttackTime run data get storage asset:context this.AttackTime + execute unless data storage asset:context this.PredictionTime store result storage asset:context this.PredictionTime int 1 run scoreboard players set @s 2268.PredictionTime 60 + +# その他時間 + execute store result score @s 2268.VfxTime store result score @s 2268.KillTime run scoreboard players get @s 2268.AttackTime + scoreboard players remove @s 2268.VfxTime 3 + scoreboard players add @s 2268.KillTime 1 diff --git a/Asset/data/asset/functions/object/2268.gem_upper_shot/load.mcfunction b/Asset/data/asset/functions/object/2268.gem_upper_shot/load.mcfunction index 558a67db4b..76a4e8ad32 100644 --- a/Asset/data/asset/functions/object/2268.gem_upper_shot/load.mcfunction +++ b/Asset/data/asset/functions/object/2268.gem_upper_shot/load.mcfunction @@ -6,4 +6,7 @@ #> 定義類はここに # @within function asset:object/2268.gem_upper_shot/** - # scoreboard objectives add + scoreboard objectives add 2268.PredictionTime dummy + scoreboard objectives add 2268.AttackTime dummy + scoreboard objectives add 2268.VfxTime dummy + scoreboard objectives add 2268.KillTime dummy diff --git a/Asset/data/asset/functions/object/2268.gem_upper_shot/tick/.mcfunction b/Asset/data/asset/functions/object/2268.gem_upper_shot/tick/.mcfunction index 952b768d72..cf44a3f979 100644 --- a/Asset/data/asset/functions/object/2268.gem_upper_shot/tick/.mcfunction +++ b/Asset/data/asset/functions/object/2268.gem_upper_shot/tick/.mcfunction @@ -8,11 +8,11 @@ scoreboard players add @s General.Object.Tick 1 # 予兆 - execute if entity @s[scores={General.Object.Tick=1}] run function asset:object/2268.gem_upper_shot/tick/prediction + execute if entity @s[scores={General.Object.Tick=1}] run function asset:object/2268.gem_upper_shot/tick/prediction.m with storage asset:context this # 攻撃 - execute if entity @s[scores={General.Object.Tick=57}] run function asset:object/2268.gem_upper_shot/tick/summon_laser - execute if entity @s[scores={General.Object.Tick=60}] run function asset:object/2268.gem_upper_shot/tick/damage + execute if score @s General.Object.Tick = @s 2268.VfxTime run function asset:object/2268.gem_upper_shot/tick/summon_laser + execute if score @s General.Object.Tick = @s 2268.AttackTime run function asset:object/2268.gem_upper_shot/tick/damage # 消滅処理 - kill @s[scores={General.Object.Tick=61..}] + execute if score @s General.Object.Tick >= @s 2268.KillTime run kill @s diff --git a/Asset/data/asset/functions/object/2268.gem_upper_shot/tick/prediction.mcfunction b/Asset/data/asset/functions/object/2268.gem_upper_shot/tick/prediction.m.mcfunction similarity index 60% rename from Asset/data/asset/functions/object/2268.gem_upper_shot/tick/prediction.mcfunction rename to Asset/data/asset/functions/object/2268.gem_upper_shot/tick/prediction.m.mcfunction index 8d2e2881bc..a5e2d34804 100644 --- a/Asset/data/asset/functions/object/2268.gem_upper_shot/tick/prediction.mcfunction +++ b/Asset/data/asset/functions/object/2268.gem_upper_shot/tick/prediction.m.mcfunction @@ -1,4 +1,4 @@ -#> asset:object/2268.gem_upper_shot/tick/prediction +#> asset:object/2268.gem_upper_shot/tick/prediction.m # # Objectのtick時の処理 # @@ -6,8 +6,7 @@ # 予兆 data modify storage api: Argument.ID set value 2063 - execute store result storage api: Argument.FieldOverride.MobUUID int 1 run scoreboard players get @s MobUUID data modify storage api: Argument.FieldOverride.Color set value 3381759 data modify storage api: Argument.FieldOverride.Scale set value [12f, 12f, 0.05f] - data modify storage api: Argument.FieldOverride.Tick set value 60 + $data modify storage api: Argument.FieldOverride.Tick set value $(PredictionTime) execute rotated ~ 0 run function api:object/summon From 930019ef232fbb859f1079f3d21e7ca5a9ee8419 Mon Sep 17 00:00:00 2001 From: mokkkk Date: Sat, 28 Feb 2026 15:01:01 +0900 Subject: [PATCH 28/98] =?UTF-8?q?Attack=E3=83=89=E3=83=AD=E3=83=BC?= =?UTF-8?q?=E3=83=B3=E5=8B=95=E4=BD=9C=E4=BD=9C=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../0456.gargo_ex_machina/register.mcfunction | 4 +++ .../tick/debug/interrupt.mcfunction | 2 +- .../2260.gem_attack_drone/_index.d.mcfunction | 19 ++++++++++++++ .../2260.gem_attack_drone/init/.mcfunction | 14 +++++++++++ .../2260.gem_attack_drone/load.mcfunction | 9 +++++++ .../2260.gem_attack_drone/register.mcfunction | 20 +++++++++++++++ .../2260.gem_attack_drone/summon/.mcfunction | 8 ++++++ .../summon/debug.mcfunction | 10 ++++++++ .../2260.gem_attack_drone/tick/.mcfunction | 25 +++++++++++++++++++ .../tick/event_attack.mcfunction | 24 ++++++++++++++++++ .../tick/event_idle.mcfunction | 11 ++++++++ .../tick/event_start.mcfunction | 17 +++++++++++++ .../tick/remove.mcfunction | 11 ++++++++ .../tick/start_attack.mcfunction | 10 ++++++++ .../tick/start_idle.mcfunction | 10 ++++++++ .../object/alias/2260/init.mcfunction | 8 ++++++ .../object/alias/2260/register.mcfunction | 8 ++++++ .../object/alias/2260/summon.mcfunction | 8 ++++++ .../object/alias/2260/tick.mcfunction | 8 ++++++ .../asset/tags/functions/object/load.json | 1 + 20 files changed, 226 insertions(+), 1 deletion(-) create mode 100644 Asset/data/asset/functions/object/2260.gem_attack_drone/_index.d.mcfunction create mode 100644 Asset/data/asset/functions/object/2260.gem_attack_drone/init/.mcfunction create mode 100644 Asset/data/asset/functions/object/2260.gem_attack_drone/load.mcfunction create mode 100644 Asset/data/asset/functions/object/2260.gem_attack_drone/register.mcfunction create mode 100644 Asset/data/asset/functions/object/2260.gem_attack_drone/summon/.mcfunction create mode 100644 Asset/data/asset/functions/object/2260.gem_attack_drone/summon/debug.mcfunction create mode 100644 Asset/data/asset/functions/object/2260.gem_attack_drone/tick/.mcfunction create mode 100644 Asset/data/asset/functions/object/2260.gem_attack_drone/tick/event_attack.mcfunction create mode 100644 Asset/data/asset/functions/object/2260.gem_attack_drone/tick/event_idle.mcfunction create mode 100644 Asset/data/asset/functions/object/2260.gem_attack_drone/tick/event_start.mcfunction create mode 100644 Asset/data/asset/functions/object/2260.gem_attack_drone/tick/remove.mcfunction create mode 100644 Asset/data/asset/functions/object/2260.gem_attack_drone/tick/start_attack.mcfunction create mode 100644 Asset/data/asset/functions/object/2260.gem_attack_drone/tick/start_idle.mcfunction create mode 100644 Asset/data/asset/functions/object/alias/2260/init.mcfunction create mode 100644 Asset/data/asset/functions/object/alias/2260/register.mcfunction create mode 100644 Asset/data/asset/functions/object/alias/2260/summon.mcfunction create mode 100644 Asset/data/asset/functions/object/alias/2260/tick.mcfunction diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/register.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/register.mcfunction index e41e2a4e81..71998a5465 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/register.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/register.mcfunction @@ -50,3 +50,7 @@ data modify storage asset:mob Field.Damage.FieldModify set value {Amount:90.0,Type:"Magic",Element:"None"} # 射撃 data modify storage asset:mob Field.Damage.Shot set value {Amount:60.0,Type:"Magic",Element:"None"} + # ドローン + data modify storage asset:mob Field.Damage.AttackDrone set value {Amount:60.0,Type:"Physical",Element:"None"} + data modify storage asset:mob Field.Damage.YeeterDrone set value {Amount:60.0,Type:"Physical",Element:"None"} + data modify storage asset:mob Field.Damage.PanjanDrone set value {Amount:60.0,Type:"Physical",Element:"None"} diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/debug/interrupt.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/debug/interrupt.mcfunction index eb83a09321..4df7d8c269 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/debug/interrupt.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/debug/interrupt.mcfunction @@ -18,4 +18,4 @@ # execute at @s run tp @e[type=item_display,tag=CO.ModelRoot] ~ ~ ~ ~ 0 # イベント実行 - tag @s add CO.Skill.HalfBeamShot + tag @s add CO.Skill.FieldModify diff --git a/Asset/data/asset/functions/object/2260.gem_attack_drone/_index.d.mcfunction b/Asset/data/asset/functions/object/2260.gem_attack_drone/_index.d.mcfunction new file mode 100644 index 0000000000..b893b3c3c8 --- /dev/null +++ b/Asset/data/asset/functions/object/2260.gem_attack_drone/_index.d.mcfunction @@ -0,0 +1,19 @@ +#> asset:object/2260.gem_attack_drone/_index.d +# @private + +#> tag +# @within function asset:object/2260.gem_attack_drone/** + #declare tag CO.Object + #declare tag CO.Drone + #declare tag CO.Drone.Remove + #declare tag 2260.Model + #declare tag 2260.Model.Target + #declare tag 2260.Phase.Idle + #declare tag 2260.Phase.Attack + #declare tag 2260.Phase.Start + #declare function animated_java:gem_attack_drone/summon + #declare function animated_java:gem_attack_drone/animations/summon/tween + #declare function animated_java:gem_attack_drone/animations/idle/tween + #declare function animated_java:gem_attack_drone/animations/attack_start/tween + #declare function animated_java:gem_attack_drone/animations/attack/tween + #declare function animated_java:gem_attack_drone/remove/this diff --git a/Asset/data/asset/functions/object/2260.gem_attack_drone/init/.mcfunction b/Asset/data/asset/functions/object/2260.gem_attack_drone/init/.mcfunction new file mode 100644 index 0000000000..2fb1148942 --- /dev/null +++ b/Asset/data/asset/functions/object/2260.gem_attack_drone/init/.mcfunction @@ -0,0 +1,14 @@ +#> asset:object/2260.gem_attack_drone/init/ +# +# Objectのinit時の処理 +# +# @within asset:object/alias/2260/init + +# 実行角度に合わせる + tp @s ~ ~ ~ ~ 0 + +# モデル召喚 + function animated_java:gem_attack_drone/summon {args: {animation: 'summon'}} + +# 仮 + scoreboard players set @s 2260.IdleTime 60 diff --git a/Asset/data/asset/functions/object/2260.gem_attack_drone/load.mcfunction b/Asset/data/asset/functions/object/2260.gem_attack_drone/load.mcfunction new file mode 100644 index 0000000000..f6dd4c6244 --- /dev/null +++ b/Asset/data/asset/functions/object/2260.gem_attack_drone/load.mcfunction @@ -0,0 +1,9 @@ +#> asset:object/2260.gem_attack_drone/load +# +# Objectに利用するスコアボード等の初期化処理 +# +# @within tag/function asset:object/load + +#> 定義類はここに +# @within function asset:object/2260.gem_attack_drone/** + scoreboard objectives add 2260.IdleTime dummy diff --git a/Asset/data/asset/functions/object/2260.gem_attack_drone/register.mcfunction b/Asset/data/asset/functions/object/2260.gem_attack_drone/register.mcfunction new file mode 100644 index 0000000000..9f34a8389d --- /dev/null +++ b/Asset/data/asset/functions/object/2260.gem_attack_drone/register.mcfunction @@ -0,0 +1,20 @@ +#> asset:object/2260.gem_attack_drone/register +# +# Objectのデータを指定 +# +# @within function asset:object/alias/2260/register + +# 継承(オプション) + # data modify storage asset:object Extends append value + # function asset:object/extends +# 他のObjectに継承されることを許可するか (boolean) (オプション) + # data modify storage asset:object ExtendsSafe set value +# 継承されることを前提とした、抽象的なObjectであるかどうか(boolean) + data modify storage asset:object IsAbstract set value false +# Tickするかどうか(boolean) (オプション) + # data modify storage asset:object IsTicking set value + +# ID (int) + data modify storage asset:object ID set value 2260 +# フィールド(オプション) + # data modify storage asset:object Field.myValue set value \ No newline at end of file diff --git a/Asset/data/asset/functions/object/2260.gem_attack_drone/summon/.mcfunction b/Asset/data/asset/functions/object/2260.gem_attack_drone/summon/.mcfunction new file mode 100644 index 0000000000..4ce787485a --- /dev/null +++ b/Asset/data/asset/functions/object/2260.gem_attack_drone/summon/.mcfunction @@ -0,0 +1,8 @@ +#> asset:object/2260.gem_attack_drone/summon/ +# +# Object召喚処理の呼び出し時に実行されるfunction +# +# @within asset:object/alias/2260/summon + +# 元となるEntityを召喚する + summon item_display ~ ~ ~ {Tags:["ObjectInit","CO.Object","2260.Phase.Start"]} diff --git a/Asset/data/asset/functions/object/2260.gem_attack_drone/summon/debug.mcfunction b/Asset/data/asset/functions/object/2260.gem_attack_drone/summon/debug.mcfunction new file mode 100644 index 0000000000..03c5d1077c --- /dev/null +++ b/Asset/data/asset/functions/object/2260.gem_attack_drone/summon/debug.mcfunction @@ -0,0 +1,10 @@ +#> asset:object/2260.gem_attack_drone/summon/debug +# +# 動作チェック用の召喚処理 使い終わったら消してもいいかも +# +# @user +# @private + +# 召喚 + data modify storage api: Argument.ID set value 2260 + function api:object/summon \ No newline at end of file diff --git a/Asset/data/asset/functions/object/2260.gem_attack_drone/tick/.mcfunction b/Asset/data/asset/functions/object/2260.gem_attack_drone/tick/.mcfunction new file mode 100644 index 0000000000..0025b3640e --- /dev/null +++ b/Asset/data/asset/functions/object/2260.gem_attack_drone/tick/.mcfunction @@ -0,0 +1,25 @@ +#> asset:object/2260.gem_attack_drone/tick/ +# +# Objectのtick時の処理 +# +# @within asset:object/alias/2260/tick + +# Tick加算 + scoreboard players add @s General.Object.Tick 1 +# 最も近くにあるモデルを紐づけ + tag @e[type=item_display,tag=2260.Model,distance=..5,sort=nearest,limit=1] add 2260.Model.Target + +# 登場 + execute if entity @s[tag=2260.Phase.Start] run function asset:object/2260.gem_attack_drone/tick/event_start +# 待機 + execute if entity @s[tag=2260.Phase.Idle] run function asset:object/2260.gem_attack_drone/tick/event_idle +# 攻撃 + execute if entity @s[tag=2260.Phase.Attack] run function asset:object/2260.gem_attack_drone/tick/event_attack + +# 消去 + execute if entity @s[tag=CO.Drone.Remove] run function asset:object/2260.gem_attack_drone/tick/remove + +# モデルを自身の位置に合わせる + tp @e[type=item_display,tag=2260.Model.Target,distance=..80,sort=nearest,limit=1] ~ ~ ~ ~ ~ +# 紐づけ解除 + tag @e[type=item_display,tag=2260.Model.Target,distance=..80,sort=nearest,limit=1] remove 2260.Model.Target diff --git a/Asset/data/asset/functions/object/2260.gem_attack_drone/tick/event_attack.mcfunction b/Asset/data/asset/functions/object/2260.gem_attack_drone/tick/event_attack.mcfunction new file mode 100644 index 0000000000..484db3a8bd --- /dev/null +++ b/Asset/data/asset/functions/object/2260.gem_attack_drone/tick/event_attack.mcfunction @@ -0,0 +1,24 @@ +#> asset:object/2260.gem_attack_drone/tick/event_attack +# +# Objectのtick時の処理 +# +# @within asset:object/2260.gem_attack_drone/tick/ + +# アニメーション再生 + execute if entity @s[scores={General.Object.Tick=1}] as @e[type=item_display,tag=2260.Model.Target,distance=..30,sort=nearest,limit=1] at @s run function animated_java:gem_attack_drone/animations/attack_start/tween {duration:1, to_frame: 1} + execute if entity @s[scores={General.Object.Tick=27}] as @e[type=item_display,tag=2260.Model.Target,distance=..30,sort=nearest,limit=1] at @s run function animated_java:gem_attack_drone/animations/attack/tween {duration:1, to_frame: 1} + +# 演出 + execute if entity @s[scores={General.Object.Tick=1}] run playsound block.piston.contract hostile @a ~ ~ ~ 2 0.8 + execute if entity @s[scores={General.Object.Tick=20}] run playsound entity.breeze.jump hostile @a ~ ~ ~ 2 0.7 + execute if entity @s[scores={General.Object.Tick=23..}] run particle cloud ^4 ^ ^ 0.1 0.1 0.1 0.05 1 + execute if entity @s[scores={General.Object.Tick=23..}] run particle cloud ^-4 ^ ^ 0.1 0.1 0.1 0.05 1 + execute if entity @s[scores={General.Object.Tick=20..}] run particle block quartz_block ^ ^ ^ 0.1 0.1 0.1 0.05 1 + +# 移動 + execute if entity @s[scores={General.Object.Tick=1..5}] run tp @s ^ ^ ^-0.5 + execute if entity @s[scores={General.Object.Tick=20..27}] run tp @s ^ ^ ^0.8 + execute if entity @s[scores={General.Object.Tick=28..}] run tp @s ^ ^ ^1.5 + +# 消去 + execute if entity @s[scores={General.Object.Tick=80..}] run tag @s add CO.Drone.Remove diff --git a/Asset/data/asset/functions/object/2260.gem_attack_drone/tick/event_idle.mcfunction b/Asset/data/asset/functions/object/2260.gem_attack_drone/tick/event_idle.mcfunction new file mode 100644 index 0000000000..96ceef838f --- /dev/null +++ b/Asset/data/asset/functions/object/2260.gem_attack_drone/tick/event_idle.mcfunction @@ -0,0 +1,11 @@ +#> asset:object/2260.gem_attack_drone/tick/event_idle +# +# Objectのtick時の処理 +# +# @within asset:object/2260.gem_attack_drone/tick/ + +# アニメーション再生 + execute if entity @s[scores={General.Object.Tick=1}] as @e[type=item_display,tag=2260.Model.Target,distance=..30,sort=nearest,limit=1] at @s run function animated_java:gem_attack_drone/animations/idle/tween {duration:1, to_frame: 1} + +# idleに移行 + execute if score @s General.Object.Tick >= @s 2260.IdleTime run function asset:object/2260.gem_attack_drone/tick/start_attack diff --git a/Asset/data/asset/functions/object/2260.gem_attack_drone/tick/event_start.mcfunction b/Asset/data/asset/functions/object/2260.gem_attack_drone/tick/event_start.mcfunction new file mode 100644 index 0000000000..1cd8e790c5 --- /dev/null +++ b/Asset/data/asset/functions/object/2260.gem_attack_drone/tick/event_start.mcfunction @@ -0,0 +1,17 @@ +#> asset:object/2260.gem_attack_drone/tick/event_start +# +# Objectのtick時の処理 +# +# @within asset:object/2260.gem_attack_drone/tick/ + +# アニメーション再生 + execute if entity @s[scores={General.Object.Tick=1}] as @e[type=item_display,tag=2260.Model.Target,distance=..30,sort=nearest,limit=1] at @s run function animated_java:gem_attack_drone/animations/summon/tween {duration:1, to_frame: 1} + +# 演出 + execute if entity @s[scores={General.Object.Tick=15}] run playsound entity.ravager.step hostile @a ~ ~ ~ 2 0.7 + execute if entity @s[scores={General.Object.Tick=15}] run playsound entity.ravager.step hostile @a ~ ~ ~ 2 0.6 + execute if entity @s[scores={General.Object.Tick=15}] run particle block quartz_block ~ ~0.2 ~ 1.5 0.1 1.5 0 30 + execute if entity @s[scores={General.Object.Tick=28}] run playsound block.piston.contract hostile @a ~ ~ ~ 2 0.8 + execute if entity @s[scores={General.Object.Tick=50}] run playsound block.piston.contract hostile @a ~ ~ ~ 2 0.8 +# idleに移行 + execute if score @s General.Object.Tick matches 50.. run function asset:object/2260.gem_attack_drone/tick/start_idle diff --git a/Asset/data/asset/functions/object/2260.gem_attack_drone/tick/remove.mcfunction b/Asset/data/asset/functions/object/2260.gem_attack_drone/tick/remove.mcfunction new file mode 100644 index 0000000000..14a37296bd --- /dev/null +++ b/Asset/data/asset/functions/object/2260.gem_attack_drone/tick/remove.mcfunction @@ -0,0 +1,11 @@ +#> asset:object/2260.gem_attack_drone/tick/remove +# +# Objectのtick時の処理 +# +# @within asset:object/2260.gem_attack_drone/tick/ + +# モデル消去 + execute as @e[type=item_display,tag=2260.Model.Target,distance=..30,sort=nearest,limit=1] run function animated_java:gem_attack_drone/remove/this + +# 自身を消去 + kill @s diff --git a/Asset/data/asset/functions/object/2260.gem_attack_drone/tick/start_attack.mcfunction b/Asset/data/asset/functions/object/2260.gem_attack_drone/tick/start_attack.mcfunction new file mode 100644 index 0000000000..2dcd8b231f --- /dev/null +++ b/Asset/data/asset/functions/object/2260.gem_attack_drone/tick/start_attack.mcfunction @@ -0,0 +1,10 @@ +#> asset:object/2260.gem_attack_drone/tick/start_attack +# +# Objectのtick時の処理 +# +# @within asset:object/2260.gem_attack_drone/tick/event_idle + +# idleに移行 + tag @s remove 2260.Phase.Idle + tag @s add 2260.Phase.Attack + scoreboard players set @s General.Object.Tick 0 diff --git a/Asset/data/asset/functions/object/2260.gem_attack_drone/tick/start_idle.mcfunction b/Asset/data/asset/functions/object/2260.gem_attack_drone/tick/start_idle.mcfunction new file mode 100644 index 0000000000..2b275c1546 --- /dev/null +++ b/Asset/data/asset/functions/object/2260.gem_attack_drone/tick/start_idle.mcfunction @@ -0,0 +1,10 @@ +#> asset:object/2260.gem_attack_drone/tick/start_idle +# +# Objectのtick時の処理 +# +# @within asset:object/2260.gem_attack_drone/tick/event_start + +# idleに移行 + tag @s remove 2260.Phase.Start + tag @s add 2260.Phase.Idle + scoreboard players set @s General.Object.Tick 0 diff --git a/Asset/data/asset/functions/object/alias/2260/init.mcfunction b/Asset/data/asset/functions/object/alias/2260/init.mcfunction new file mode 100644 index 0000000000..787635efb3 --- /dev/null +++ b/Asset/data/asset/functions/object/alias/2260/init.mcfunction @@ -0,0 +1,8 @@ +#> asset:object/alias/2260/init +# +# Init処理のエイリアス +# +# @within asset_manager:object/init/init.m + +# 元のInit処理を呼び出す + function asset:object/2260.gem_attack_drone/init/ \ No newline at end of file diff --git a/Asset/data/asset/functions/object/alias/2260/register.mcfunction b/Asset/data/asset/functions/object/alias/2260/register.mcfunction new file mode 100644 index 0000000000..e9d5b44715 --- /dev/null +++ b/Asset/data/asset/functions/object/alias/2260/register.mcfunction @@ -0,0 +1,8 @@ +#> asset:object/alias/2260/register +# +# Objectのデータ指定処理のエイリアス +# +# @within asset_manager:object/summon/register.m + +# 元の登録処理を呼び出す + function asset:object/2260.gem_attack_drone/register \ No newline at end of file diff --git a/Asset/data/asset/functions/object/alias/2260/summon.mcfunction b/Asset/data/asset/functions/object/alias/2260/summon.mcfunction new file mode 100644 index 0000000000..b26b0765c3 --- /dev/null +++ b/Asset/data/asset/functions/object/alias/2260/summon.mcfunction @@ -0,0 +1,8 @@ +#> asset:object/alias/2260/summon +# +# Object召喚処理のエイリアス +# +# @within asset_manager:object/summon/summon.m + +# 元の召喚処理を呼び出す + function asset:object/2260.gem_attack_drone/summon/ \ No newline at end of file diff --git a/Asset/data/asset/functions/object/alias/2260/tick.mcfunction b/Asset/data/asset/functions/object/alias/2260/tick.mcfunction new file mode 100644 index 0000000000..f423e17102 --- /dev/null +++ b/Asset/data/asset/functions/object/alias/2260/tick.mcfunction @@ -0,0 +1,8 @@ +#> asset:object/alias/2260/tick +# +# Tick時処理のエイリアス +# +# @within asset_manager:object/tick/tick.m + +# 元のTick処理を呼び出す + function asset:object/2260.gem_attack_drone/tick/ \ No newline at end of file diff --git a/Asset/data/asset/tags/functions/object/load.json b/Asset/data/asset/tags/functions/object/load.json index 0304d7be11..155ed39491 100644 --- a/Asset/data/asset/tags/functions/object/load.json +++ b/Asset/data/asset/tags/functions/object/load.json @@ -1,5 +1,6 @@ { "values": [ + "asset:object/2260.gem_attack_drone/load", "asset:object/2268.gem_upper_shot/load", "asset:object/2267.gem_shot_attack/load", "asset:object/2266.field_modify/load", From 411afc68500357554ddab8839492ee22d80c3ee8 Mon Sep 17 00:00:00 2001 From: mokkkk Date: Sat, 28 Feb 2026 15:23:34 +0900 Subject: [PATCH 29/98] =?UTF-8?q?Attack=E3=83=89=E3=83=AD=E3=83=BC?= =?UTF-8?q?=E3=83=B3=E3=81=AE=E6=94=BB=E6=92=83=E5=88=A4=E5=AE=9A=E5=AE=9F?= =?UTF-8?q?=E8=A3=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../0456.gargo_ex_machina/_index.d.mcfunction | 2 +- .../tick/debug/interrupt.mcfunction | 2 +- .../tick/event/.mcfunction | 3 + .../tick/event/blute_force_attack/.mcfunction | 28 +++++++ .../blute_force_attack/effect.mcfunction | 81 +++++++++++++++++++ .../event/blute_force_attack/end.mcfunction | 15 ++++ .../summon_attack_drone.m.mcfunction | 11 +++ .../2260.gem_attack_drone/init/.mcfunction | 4 + .../2260.gem_attack_drone/load.mcfunction | 1 + .../tick/attack.mcfunction | 28 +++++++ .../tick/event_attack.mcfunction | 3 + .../tick/event_idle.mcfunction | 3 + .../tick/prediction.mcfunction | 14 ++++ 13 files changed, 193 insertions(+), 2 deletions(-) create mode 100644 Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/blute_force_attack/.mcfunction create mode 100644 Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/blute_force_attack/effect.mcfunction create mode 100644 Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/blute_force_attack/end.mcfunction create mode 100644 Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_attack_drone.m.mcfunction create mode 100644 Asset/data/asset/functions/object/2260.gem_attack_drone/tick/attack.mcfunction create mode 100644 Asset/data/asset/functions/object/2260.gem_attack_drone/tick/prediction.mcfunction diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/_index.d.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/_index.d.mcfunction index 451fc63c66..b44556a96d 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/_index.d.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/_index.d.mcfunction @@ -35,7 +35,7 @@ #declare tag CO.Skill.Transform.Sword 剣変形 #declare tag CO.Skill.Shot 射撃 #declare tag CO.Skill.UpperShot 上空射撃 - #declare tag + #declare tag CO.Skill.BluteForce ブルートフォースアタック #declare tag #declare tag #declare tag diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/debug/interrupt.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/debug/interrupt.mcfunction index 4df7d8c269..ac2e6e72fd 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/debug/interrupt.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/debug/interrupt.mcfunction @@ -18,4 +18,4 @@ # execute at @s run tp @e[type=item_display,tag=CO.ModelRoot] ~ ~ ~ ~ 0 # イベント実行 - tag @s add CO.Skill.FieldModify + tag @s add CO.Skill.BluteForce diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/.mcfunction index a58451e87a..a9c4db905c 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/.mcfunction @@ -47,3 +47,6 @@ # 上空射撃 execute if entity @s[tag=CO.Skill.UpperShot] run function asset:mob/0456.gargo_ex_machina/tick/event/upper_shot/ + +# ブルートフォースアタック + execute if entity @s[tag=CO.Skill.BluteForce] run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/ diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/blute_force_attack/.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/blute_force_attack/.mcfunction new file mode 100644 index 0000000000..af931c3ea6 --- /dev/null +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/blute_force_attack/.mcfunction @@ -0,0 +1,28 @@ +#> asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/ +# +# ブルートフォースアタック +# +# @within asset:mob/0456.gargo_ex_machina/tick/event/ + +# タイマー増加 + scoreboard players add @s CO.EventTimer 1 + +# 構え + # アニメーション再生 + execute if score @s CO.EventTimer matches 1 as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run function animated_java:gargo_ex_machina/animations/call_drone/tween {duration:1, to_frame: 1} + # 効果音 + execute if score @s CO.EventTimer matches 1 run function asset:mob/0456.gargo_ex_machina/tick/util/sound + execute if score @s CO.EventTimer matches 50 run function asset:mob/0456.gargo_ex_machina/tick/util/sound + # 演出 + # 画面エフェクト + execute if score @s CO.EventTimer matches 23 run title @a[distance=..160] times 3 0 5 + execute if score @s CO.EventTimer matches 23 run title @a[distance=..160] title {"text":"\uE010","font":"screen_effect","color":"#E8E8E8"} + execute if score @s CO.EventTimer matches 25 run playsound block.beacon.power_select hostile @a ~ ~ ~ 4 1.5 + execute if score @s CO.EventTimer matches 25 run playsound block.beacon.power_select hostile @a ~ ~ ~ 4 1.7 + # モデルを合わせる + execute as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run tp @s ~ ~ ~ ~ ~ + # 召喚 + execute if score @s CO.EventTimer matches 25 positioned ^ ^ ^10 run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_attack_drone.m + +# 終了 + execute if score @s CO.EventTimer matches 65.. run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/end diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/blute_force_attack/effect.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/blute_force_attack/effect.mcfunction new file mode 100644 index 0000000000..57460f1b03 --- /dev/null +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/blute_force_attack/effect.mcfunction @@ -0,0 +1,81 @@ +#> asset:mob/0456.gargo_ex_machina/tick/event/field_modify/effect +# +# フィールド・モディファイ +# +# @within asset:mob/0456.gargo_ex_machina/tick/event/field_modify/event_start + +# パーティクル +# 円型ベクトルパーティクル + execute rotated ~00 0 positioned ^ ^-0.3 ^ run particle end_rod ~ ~ ~ ^ ^ ^100000000 0.000000015 0 + execute rotated ~10 0 positioned ^ ^-0.3 ^ run particle end_rod ~ ~ ~ ^ ^ ^100000000 0.000000015 0 + execute rotated ~20 0 positioned ^ ^-0.3 ^ run particle end_rod ~ ~ ~ ^ ^ ^100000000 0.000000015 0 + execute rotated ~30 0 positioned ^ ^-0.3 ^ run particle end_rod ~ ~ ~ ^ ^ ^100000000 0.000000015 0 + execute rotated ~40 0 positioned ^ ^-0.3 ^ run particle end_rod ~ ~ ~ ^ ^ ^100000000 0.000000015 0 + execute rotated ~50 0 positioned ^ ^-0.3 ^ run particle end_rod ~ ~ ~ ^ ^ ^100000000 0.000000015 0 + execute rotated ~60 0 positioned ^ ^-0.3 ^ run particle end_rod ~ ~ ~ ^ ^ ^100000000 0.000000015 0 + execute rotated ~70 0 positioned ^ ^-0.3 ^ run particle end_rod ~ ~ ~ ^ ^ ^100000000 0.000000015 0 + execute rotated ~80 0 positioned ^ ^-0.3 ^ run particle end_rod ~ ~ ~ ^ ^ ^100000000 0.000000015 0 + execute rotated ~90 0 positioned ^ ^-0.3 ^ run particle end_rod ~ ~ ~ ^ ^ ^100000000 0.000000015 0 + execute rotated ~100 0 positioned ^ ^-0.3 ^ run particle end_rod ~ ~ ~ ^ ^ ^100000000 0.000000015 0 + execute rotated ~110 0 positioned ^ ^-0.3 ^ run particle end_rod ~ ~ ~ ^ ^ ^100000000 0.000000015 0 + execute rotated ~120 0 positioned ^ ^-0.3 ^ run particle end_rod ~ ~ ~ ^ ^ ^100000000 0.000000015 0 + execute rotated ~130 0 positioned ^ ^-0.3 ^ run particle end_rod ~ ~ ~ ^ ^ ^100000000 0.000000015 0 + execute rotated ~140 0 positioned ^ ^-0.3 ^ run particle end_rod ~ ~ ~ ^ ^ ^100000000 0.000000015 0 + execute rotated ~150 0 positioned ^ ^-0.3 ^ run particle end_rod ~ ~ ~ ^ ^ ^100000000 0.000000015 0 + execute rotated ~160 0 positioned ^ ^-0.3 ^ run particle end_rod ~ ~ ~ ^ ^ ^100000000 0.000000015 0 + execute rotated ~170 0 positioned ^ ^-0.3 ^ run particle end_rod ~ ~ ~ ^ ^ ^100000000 0.000000015 0 + execute rotated ~180 0 positioned ^ ^-0.3 ^ run particle end_rod ~ ~ ~ ^ ^ ^100000000 0.000000015 0 + execute rotated ~190 0 positioned ^ ^-0.3 ^ run particle end_rod ~ ~ ~ ^ ^ ^100000000 0.000000015 0 + execute rotated ~200 0 positioned ^ ^-0.3 ^ run particle end_rod ~ ~ ~ ^ ^ ^100000000 0.000000015 0 + execute rotated ~210 0 positioned ^ ^-0.3 ^ run particle end_rod ~ ~ ~ ^ ^ ^100000000 0.000000015 0 + execute rotated ~220 0 positioned ^ ^-0.3 ^ run particle end_rod ~ ~ ~ ^ ^ ^100000000 0.000000015 0 + execute rotated ~230 0 positioned ^ ^-0.3 ^ run particle end_rod ~ ~ ~ ^ ^ ^100000000 0.000000015 0 + execute rotated ~240 0 positioned ^ ^-0.3 ^ run particle end_rod ~ ~ ~ ^ ^ ^100000000 0.000000015 0 + execute rotated ~250 0 positioned ^ ^-0.3 ^ run particle end_rod ~ ~ ~ ^ ^ ^100000000 0.000000015 0 + execute rotated ~260 0 positioned ^ ^-0.3 ^ run particle end_rod ~ ~ ~ ^ ^ ^100000000 0.000000015 0 + execute rotated ~270 0 positioned ^ ^-0.3 ^ run particle end_rod ~ ~ ~ ^ ^ ^100000000 0.000000015 0 + execute rotated ~280 0 positioned ^ ^-0.3 ^ run particle end_rod ~ ~ ~ ^ ^ ^100000000 0.000000015 0 + execute rotated ~290 0 positioned ^ ^-0.3 ^ run particle end_rod ~ ~ ~ ^ ^ ^100000000 0.000000015 0 + execute rotated ~300 0 positioned ^ ^-0.3 ^ run particle end_rod ~ ~ ~ ^ ^ ^100000000 0.000000015 0 + execute rotated ~310 0 positioned ^ ^-0.3 ^ run particle end_rod ~ ~ ~ ^ ^ ^100000000 0.000000015 0 + execute rotated ~320 0 positioned ^ ^-0.3 ^ run particle end_rod ~ ~ ~ ^ ^ ^100000000 0.000000015 0 + execute rotated ~330 0 positioned ^ ^-0.3 ^ run particle end_rod ~ ~ ~ ^ ^ ^100000000 0.000000015 0 + execute rotated ~340 0 positioned ^ ^-0.3 ^ run particle end_rod ~ ~ ~ ^ ^ ^100000000 0.000000015 0 + execute rotated ~350 0 positioned ^ ^-0.3 ^ run particle end_rod ~ ~ ~ ^ ^ ^100000000 0.000000015 0 +# 円型ベクトルパーティクル + execute rotated ~00 0 positioned ^ ^-0.3 ^ run particle end_rod ~ ~ ~ ^ ^ ^100000000 0.000000025 0 + execute rotated ~10 0 positioned ^ ^-0.3 ^ run particle end_rod ~ ~ ~ ^ ^ ^100000000 0.000000025 0 + execute rotated ~20 0 positioned ^ ^-0.3 ^ run particle end_rod ~ ~ ~ ^ ^ ^100000000 0.000000025 0 + execute rotated ~30 0 positioned ^ ^-0.3 ^ run particle end_rod ~ ~ ~ ^ ^ ^100000000 0.000000025 0 + execute rotated ~40 0 positioned ^ ^-0.3 ^ run particle end_rod ~ ~ ~ ^ ^ ^100000000 0.000000025 0 + execute rotated ~50 0 positioned ^ ^-0.3 ^ run particle end_rod ~ ~ ~ ^ ^ ^100000000 0.000000025 0 + execute rotated ~60 0 positioned ^ ^-0.3 ^ run particle end_rod ~ ~ ~ ^ ^ ^100000000 0.000000025 0 + execute rotated ~70 0 positioned ^ ^-0.3 ^ run particle end_rod ~ ~ ~ ^ ^ ^100000000 0.000000025 0 + execute rotated ~80 0 positioned ^ ^-0.3 ^ run particle end_rod ~ ~ ~ ^ ^ ^100000000 0.000000025 0 + execute rotated ~90 0 positioned ^ ^-0.3 ^ run particle end_rod ~ ~ ~ ^ ^ ^100000000 0.000000025 0 + execute rotated ~100 0 positioned ^ ^-0.3 ^ run particle end_rod ~ ~ ~ ^ ^ ^100000000 0.000000025 0 + execute rotated ~110 0 positioned ^ ^-0.3 ^ run particle end_rod ~ ~ ~ ^ ^ ^100000000 0.000000025 0 + execute rotated ~120 0 positioned ^ ^-0.3 ^ run particle end_rod ~ ~ ~ ^ ^ ^100000000 0.000000025 0 + execute rotated ~130 0 positioned ^ ^-0.3 ^ run particle end_rod ~ ~ ~ ^ ^ ^100000000 0.000000025 0 + execute rotated ~140 0 positioned ^ ^-0.3 ^ run particle end_rod ~ ~ ~ ^ ^ ^100000000 0.000000025 0 + execute rotated ~150 0 positioned ^ ^-0.3 ^ run particle end_rod ~ ~ ~ ^ ^ ^100000000 0.000000025 0 + execute rotated ~160 0 positioned ^ ^-0.3 ^ run particle end_rod ~ ~ ~ ^ ^ ^100000000 0.000000025 0 + execute rotated ~170 0 positioned ^ ^-0.3 ^ run particle end_rod ~ ~ ~ ^ ^ ^100000000 0.000000025 0 + execute rotated ~180 0 positioned ^ ^-0.3 ^ run particle end_rod ~ ~ ~ ^ ^ ^100000000 0.000000025 0 + execute rotated ~190 0 positioned ^ ^-0.3 ^ run particle end_rod ~ ~ ~ ^ ^ ^100000000 0.000000025 0 + execute rotated ~200 0 positioned ^ ^-0.3 ^ run particle end_rod ~ ~ ~ ^ ^ ^100000000 0.000000025 0 + execute rotated ~210 0 positioned ^ ^-0.3 ^ run particle end_rod ~ ~ ~ ^ ^ ^100000000 0.000000025 0 + execute rotated ~220 0 positioned ^ ^-0.3 ^ run particle end_rod ~ ~ ~ ^ ^ ^100000000 0.000000025 0 + execute rotated ~230 0 positioned ^ ^-0.3 ^ run particle end_rod ~ ~ ~ ^ ^ ^100000000 0.000000025 0 + execute rotated ~240 0 positioned ^ ^-0.3 ^ run particle end_rod ~ ~ ~ ^ ^ ^100000000 0.000000025 0 + execute rotated ~250 0 positioned ^ ^-0.3 ^ run particle end_rod ~ ~ ~ ^ ^ ^100000000 0.000000025 0 + execute rotated ~260 0 positioned ^ ^-0.3 ^ run particle end_rod ~ ~ ~ ^ ^ ^100000000 0.000000025 0 + execute rotated ~270 0 positioned ^ ^-0.3 ^ run particle end_rod ~ ~ ~ ^ ^ ^100000000 0.000000025 0 + execute rotated ~280 0 positioned ^ ^-0.3 ^ run particle end_rod ~ ~ ~ ^ ^ ^100000000 0.000000025 0 + execute rotated ~290 0 positioned ^ ^-0.3 ^ run particle end_rod ~ ~ ~ ^ ^ ^100000000 0.000000025 0 + execute rotated ~300 0 positioned ^ ^-0.3 ^ run particle end_rod ~ ~ ~ ^ ^ ^100000000 0.000000025 0 + execute rotated ~310 0 positioned ^ ^-0.3 ^ run particle end_rod ~ ~ ~ ^ ^ ^100000000 0.000000025 0 + execute rotated ~320 0 positioned ^ ^-0.3 ^ run particle end_rod ~ ~ ~ ^ ^ ^100000000 0.000000025 0 + execute rotated ~330 0 positioned ^ ^-0.3 ^ run particle end_rod ~ ~ ~ ^ ^ ^100000000 0.000000025 0 + execute rotated ~340 0 positioned ^ ^-0.3 ^ run particle end_rod ~ ~ ~ ^ ^ ^100000000 0.000000025 0 + execute rotated ~350 0 positioned ^ ^-0.3 ^ run particle end_rod ~ ~ ~ ^ ^ ^100000000 0.000000025 0 diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/blute_force_attack/end.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/blute_force_attack/end.mcfunction new file mode 100644 index 0000000000..13bdff0aab --- /dev/null +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/blute_force_attack/end.mcfunction @@ -0,0 +1,15 @@ +#> asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/end +# +# ブルートフォースアタック +# +# @within asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/ + +# タグ消去 + scoreboard players set @s CO.EventTimer 0 + tag @s remove CO.Skill.BluteForce + +# 待機モーション再生 + execute as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run function animated_java:gargo_ex_machina/animations/idle/tween {duration:1, to_frame: 1} + +# 行動 + # function asset:mob/0410.heiloang/tick/act/ diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_attack_drone.m.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_attack_drone.m.mcfunction new file mode 100644 index 0000000000..b8459b0521 --- /dev/null +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_attack_drone.m.mcfunction @@ -0,0 +1,11 @@ +#> asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_attack_drone.m +# +# ブルートフォースアタック +# +# @within asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/ + +# ATTACKドローン召喚 + data modify storage api: Argument.ID set value 2260 + execute store result storage api: Argument.FieldOverride.MobUUID int 1 run scoreboard players get @s MobUUID + data modify storage api: Argument.FieldOverride.Damage set from storage asset:context this.Damage.AttackDrone + function api:object/summon diff --git a/Asset/data/asset/functions/object/2260.gem_attack_drone/init/.mcfunction b/Asset/data/asset/functions/object/2260.gem_attack_drone/init/.mcfunction index 2fb1148942..7b1c27f1b6 100644 --- a/Asset/data/asset/functions/object/2260.gem_attack_drone/init/.mcfunction +++ b/Asset/data/asset/functions/object/2260.gem_attack_drone/init/.mcfunction @@ -12,3 +12,7 @@ # 仮 scoreboard players set @s 2260.IdleTime 60 + +# タイマー計算 + execute store result score @s 2260.PredictionTime run scoreboard players get @s 2260.IdleTime + scoreboard players remove @s 2260.PredictionTime 30 diff --git a/Asset/data/asset/functions/object/2260.gem_attack_drone/load.mcfunction b/Asset/data/asset/functions/object/2260.gem_attack_drone/load.mcfunction index f6dd4c6244..9047c0955e 100644 --- a/Asset/data/asset/functions/object/2260.gem_attack_drone/load.mcfunction +++ b/Asset/data/asset/functions/object/2260.gem_attack_drone/load.mcfunction @@ -7,3 +7,4 @@ #> 定義類はここに # @within function asset:object/2260.gem_attack_drone/** scoreboard objectives add 2260.IdleTime dummy + scoreboard objectives add 2260.PredictionTime dummy diff --git a/Asset/data/asset/functions/object/2260.gem_attack_drone/tick/attack.mcfunction b/Asset/data/asset/functions/object/2260.gem_attack_drone/tick/attack.mcfunction new file mode 100644 index 0000000000..c00e5acda9 --- /dev/null +++ b/Asset/data/asset/functions/object/2260.gem_attack_drone/tick/attack.mcfunction @@ -0,0 +1,28 @@ +#> asset:object/2260.gem_attack_drone/tick/attack +# +# Objectのtick時の処理 +# +# @within asset:object/2260.gem_attack_drone/tick/event_attack + +# 一定間隔で攻撃 + scoreboard players operation $Interval Temporary = @s General.Object.Tick + scoreboard players operation $Interval Temporary %= $4 Const + execute unless score $Interval Temporary matches 0 run return run scoreboard players reset $Interval Temporary + scoreboard players reset $Interval Temporary + +# ダメージ + # ヒット判定 + data modify storage lib: args.dx set value 4 + data modify storage lib: args.dy set value 5 + data modify storage lib: args.dz set value 3 + data modify storage lib: args.selector set value "@a[tag=!PlayerShouldInvulnerable,distance=..50]" + execute positioned ^ ^ ^3 run function lib:rotatable_dxyz/m with storage lib: args + # 攻撃 + data modify storage api: Argument.Damage set from storage asset:context this.Damage.Amount + data modify storage api: Argument.AttackType set from storage asset:context this.Damage.Type + data modify storage api: Argument.ElementType set from storage asset:context this.Damage.Element + data modify storage api: Argument.MobUUID set from storage asset:context this.MobUUID + function api:damage/modifier_manual + execute as @a[tag=DXYZ] run function api:damage/ + function api:damage/reset + tag @a remove DXYZ diff --git a/Asset/data/asset/functions/object/2260.gem_attack_drone/tick/event_attack.mcfunction b/Asset/data/asset/functions/object/2260.gem_attack_drone/tick/event_attack.mcfunction index 484db3a8bd..5c3a065382 100644 --- a/Asset/data/asset/functions/object/2260.gem_attack_drone/tick/event_attack.mcfunction +++ b/Asset/data/asset/functions/object/2260.gem_attack_drone/tick/event_attack.mcfunction @@ -20,5 +20,8 @@ execute if entity @s[scores={General.Object.Tick=20..27}] run tp @s ^ ^ ^0.8 execute if entity @s[scores={General.Object.Tick=28..}] run tp @s ^ ^ ^1.5 +# 攻撃 + execute if entity @s[scores={General.Object.Tick=20..}] run function asset:object/2260.gem_attack_drone/tick/attack + # 消去 execute if entity @s[scores={General.Object.Tick=80..}] run tag @s add CO.Drone.Remove diff --git a/Asset/data/asset/functions/object/2260.gem_attack_drone/tick/event_idle.mcfunction b/Asset/data/asset/functions/object/2260.gem_attack_drone/tick/event_idle.mcfunction index 96ceef838f..166c01efe4 100644 --- a/Asset/data/asset/functions/object/2260.gem_attack_drone/tick/event_idle.mcfunction +++ b/Asset/data/asset/functions/object/2260.gem_attack_drone/tick/event_idle.mcfunction @@ -7,5 +7,8 @@ # アニメーション再生 execute if entity @s[scores={General.Object.Tick=1}] as @e[type=item_display,tag=2260.Model.Target,distance=..30,sort=nearest,limit=1] at @s run function animated_java:gem_attack_drone/animations/idle/tween {duration:1, to_frame: 1} +# 予告 + execute if score @s General.Object.Tick = @s 2260.PredictionTime run function asset:object/2260.gem_attack_drone/tick/prediction + # idleに移行 execute if score @s General.Object.Tick >= @s 2260.IdleTime run function asset:object/2260.gem_attack_drone/tick/start_attack diff --git a/Asset/data/asset/functions/object/2260.gem_attack_drone/tick/prediction.mcfunction b/Asset/data/asset/functions/object/2260.gem_attack_drone/tick/prediction.mcfunction new file mode 100644 index 0000000000..9f2c0459fe --- /dev/null +++ b/Asset/data/asset/functions/object/2260.gem_attack_drone/tick/prediction.mcfunction @@ -0,0 +1,14 @@ +#> asset:object/2260.gem_attack_drone/tick/prediction +# +# Objectのtick時の処理 +# +# @within asset:object/2260.gem_attack_drone/tick/event_idle + +# 予告 + data modify storage api: Argument.ID set value 2113 + data modify storage api: Argument.FieldOverride.RotationX set from entity @s Rotation[0] + data modify storage api: Argument.FieldOverride.Color set value 3381759 + data modify storage api: Argument.FieldOverride.Scale set value [8f,50f] + data modify storage api: Argument.FieldOverride.Interpolation set value 10 + data modify storage api: Argument.FieldOverride.Tick set value 50 + execute positioned ^ ^0.1 ^ rotated ~ 0 run function api:object/summon From 83c4b10665395b944316de3fcb6495c3eb31f85c Mon Sep 17 00:00:00 2001 From: mokkkk Date: Sat, 28 Feb 2026 16:01:27 +0900 Subject: [PATCH 30/98] =?UTF-8?q?Yeeter=E3=83=89=E3=83=AD=E3=83=BC?= =?UTF-8?q?=E3=83=B3=E5=8B=95=E4=BD=9C=E4=BD=9C=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../tick/event/blute_force_attack/.mcfunction | 6 ++++ .../summon_yeeter_drone.m.mcfunction | 11 ++++++++ .../2261.gem_yeeter_drone/_index.d.mcfunction | 19 +++++++++++++ .../2261.gem_yeeter_drone/init/.mcfunction | 18 ++++++++++++ .../2261.gem_yeeter_drone/load.mcfunction | 10 +++++++ .../2261.gem_yeeter_drone/register.mcfunction | 20 +++++++++++++ .../2261.gem_yeeter_drone/summon/.mcfunction | 8 ++++++ .../summon/debug.mcfunction | 10 +++++++ .../2261.gem_yeeter_drone/tick/.mcfunction | 25 +++++++++++++++++ .../tick/attack.mcfunction | 28 +++++++++++++++++++ .../tick/event_attack.mcfunction | 27 ++++++++++++++++++ .../tick/event_idle.mcfunction | 14 ++++++++++ .../tick/event_start.mcfunction | 17 +++++++++++ .../tick/prediction.mcfunction | 14 ++++++++++ .../tick/remove.mcfunction | 11 ++++++++ .../tick/start_attack.mcfunction | 10 +++++++ .../tick/start_idle.mcfunction | 10 +++++++ .../object/alias/2261/init.mcfunction | 8 ++++++ .../object/alias/2261/register.mcfunction | 8 ++++++ .../object/alias/2261/summon.mcfunction | 8 ++++++ .../object/alias/2261/tick.mcfunction | 8 ++++++ .../asset/tags/functions/object/load.json | 1 + 22 files changed, 291 insertions(+) create mode 100644 Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_yeeter_drone.m.mcfunction create mode 100644 Asset/data/asset/functions/object/2261.gem_yeeter_drone/_index.d.mcfunction create mode 100644 Asset/data/asset/functions/object/2261.gem_yeeter_drone/init/.mcfunction create mode 100644 Asset/data/asset/functions/object/2261.gem_yeeter_drone/load.mcfunction create mode 100644 Asset/data/asset/functions/object/2261.gem_yeeter_drone/register.mcfunction create mode 100644 Asset/data/asset/functions/object/2261.gem_yeeter_drone/summon/.mcfunction create mode 100644 Asset/data/asset/functions/object/2261.gem_yeeter_drone/summon/debug.mcfunction create mode 100644 Asset/data/asset/functions/object/2261.gem_yeeter_drone/tick/.mcfunction create mode 100644 Asset/data/asset/functions/object/2261.gem_yeeter_drone/tick/attack.mcfunction create mode 100644 Asset/data/asset/functions/object/2261.gem_yeeter_drone/tick/event_attack.mcfunction create mode 100644 Asset/data/asset/functions/object/2261.gem_yeeter_drone/tick/event_idle.mcfunction create mode 100644 Asset/data/asset/functions/object/2261.gem_yeeter_drone/tick/event_start.mcfunction create mode 100644 Asset/data/asset/functions/object/2261.gem_yeeter_drone/tick/prediction.mcfunction create mode 100644 Asset/data/asset/functions/object/2261.gem_yeeter_drone/tick/remove.mcfunction create mode 100644 Asset/data/asset/functions/object/2261.gem_yeeter_drone/tick/start_attack.mcfunction create mode 100644 Asset/data/asset/functions/object/2261.gem_yeeter_drone/tick/start_idle.mcfunction create mode 100644 Asset/data/asset/functions/object/alias/2261/init.mcfunction create mode 100644 Asset/data/asset/functions/object/alias/2261/register.mcfunction create mode 100644 Asset/data/asset/functions/object/alias/2261/summon.mcfunction create mode 100644 Asset/data/asset/functions/object/alias/2261/tick.mcfunction diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/blute_force_attack/.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/blute_force_attack/.mcfunction index af931c3ea6..c7d810ea14 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/blute_force_attack/.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/blute_force_attack/.mcfunction @@ -23,6 +23,12 @@ execute as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run tp @s ~ ~ ~ ~ ~ # 召喚 execute if score @s CO.EventTimer matches 25 positioned ^ ^ ^10 run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_attack_drone.m + execute if score @s CO.EventTimer matches 26 positioned ^-8 ^ ^8 run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_yeeter_drone.m + execute if score @s CO.EventTimer matches 27 positioned ^8 ^ ^8 run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_yeeter_drone.m + # execute if score @s CO.EventTimer matches 28 positioned ^-16 ^ ^6 run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_attack_drone.m + # execute if score @s CO.EventTimer matches 29 positioned ^16 ^ ^6 run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_attack_drone.m + # execute if score @s CO.EventTimer matches 30 positioned ^-24 ^ ^6 run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_attack_drone.m + # execute if score @s CO.EventTimer matches 31 positioned ^24 ^ ^6 run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_attack_drone.m # 終了 execute if score @s CO.EventTimer matches 65.. run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/end diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_yeeter_drone.m.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_yeeter_drone.m.mcfunction new file mode 100644 index 0000000000..55ed54bd2a --- /dev/null +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_yeeter_drone.m.mcfunction @@ -0,0 +1,11 @@ +#> asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_yeeter_drone.m +# +# ブルートフォースアタック +# +# @within asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/ + +# ATTACKドローン召喚 + data modify storage api: Argument.ID set value 2261 + execute store result storage api: Argument.FieldOverride.MobUUID int 1 run scoreboard players get @s MobUUID + data modify storage api: Argument.FieldOverride.Damage set from storage asset:context this.Damage.YeeterDrone + function api:object/summon diff --git a/Asset/data/asset/functions/object/2261.gem_yeeter_drone/_index.d.mcfunction b/Asset/data/asset/functions/object/2261.gem_yeeter_drone/_index.d.mcfunction new file mode 100644 index 0000000000..a28d61a958 --- /dev/null +++ b/Asset/data/asset/functions/object/2261.gem_yeeter_drone/_index.d.mcfunction @@ -0,0 +1,19 @@ +#> asset:object/2261.gem_yeeter_drone/_index.d +# @private + +#> tag +# @within function asset:object/2261.gem_yeeter_drone/** + #declare tag CO.Object + #declare tag CO.Drone + #declare tag CO.Drone.Remove + #declare tag 2261.Model + #declare tag 2261.Model.Target + #declare tag 2261.Phase.Idle + #declare tag 2261.Phase.Attack + #declare tag 2261.Phase.Start + #declare function animated_java:gem_tnt_drone/summon + #declare function animated_java:gem_tnt_drone/animations/summon/tween + #declare function animated_java:gem_tnt_drone/animations/idle/tween + #declare function animated_java:gem_tnt_drone/animations/attack_start/tween + #declare function animated_java:gem_tnt_drone/animations/attack/tween + #declare function animated_java:gem_tnt_drone/remove/this diff --git a/Asset/data/asset/functions/object/2261.gem_yeeter_drone/init/.mcfunction b/Asset/data/asset/functions/object/2261.gem_yeeter_drone/init/.mcfunction new file mode 100644 index 0000000000..4738ec9373 --- /dev/null +++ b/Asset/data/asset/functions/object/2261.gem_yeeter_drone/init/.mcfunction @@ -0,0 +1,18 @@ +#> asset:object/2261.gem_yeeter_drone/init/ +# +# Objectのinit時の処理 +# +# @within asset:object/alias/2261/init + +# 実行角度に合わせる + tp @s ~ ~ ~ ~ 0 + +# モデル召喚 + function animated_java:gem_tnt_drone/summon {args: {animation: 'summon'}} + +# 仮 + scoreboard players set @s 2261.IdleTime 60 + +# タイマー計算 + execute store result score @s 2261.PredictionTime run scoreboard players get @s 2261.IdleTime + scoreboard players remove @s 2261.PredictionTime 30 diff --git a/Asset/data/asset/functions/object/2261.gem_yeeter_drone/load.mcfunction b/Asset/data/asset/functions/object/2261.gem_yeeter_drone/load.mcfunction new file mode 100644 index 0000000000..75a227fd10 --- /dev/null +++ b/Asset/data/asset/functions/object/2261.gem_yeeter_drone/load.mcfunction @@ -0,0 +1,10 @@ +#> asset:object/2261.gem_yeeter_drone/load +# +# Objectに利用するスコアボード等の初期化処理 +# +# @within tag/function asset:object/load + +#> 定義類はここに +# @within function asset:object/2261.gem_yeeter_drone/** + scoreboard objectives add 2261.IdleTime dummy + scoreboard objectives add 2261.PredictionTime dummy diff --git a/Asset/data/asset/functions/object/2261.gem_yeeter_drone/register.mcfunction b/Asset/data/asset/functions/object/2261.gem_yeeter_drone/register.mcfunction new file mode 100644 index 0000000000..bdd027e386 --- /dev/null +++ b/Asset/data/asset/functions/object/2261.gem_yeeter_drone/register.mcfunction @@ -0,0 +1,20 @@ +#> asset:object/2261.gem_yeeter_drone/register +# +# Objectのデータを指定 +# +# @within function asset:object/alias/2261/register + +# 継承(オプション) + # data modify storage asset:object Extends append value + # function asset:object/extends +# 他のObjectに継承されることを許可するか (boolean) (オプション) + # data modify storage asset:object ExtendsSafe set value +# 継承されることを前提とした、抽象的なObjectであるかどうか(boolean) + data modify storage asset:object IsAbstract set value false +# Tickするかどうか(boolean) (オプション) + # data modify storage asset:object IsTicking set value + +# ID (int) + data modify storage asset:object ID set value 2261 +# フィールド(オプション) + # data modify storage asset:object Field.myValue set value \ No newline at end of file diff --git a/Asset/data/asset/functions/object/2261.gem_yeeter_drone/summon/.mcfunction b/Asset/data/asset/functions/object/2261.gem_yeeter_drone/summon/.mcfunction new file mode 100644 index 0000000000..9c684152ef --- /dev/null +++ b/Asset/data/asset/functions/object/2261.gem_yeeter_drone/summon/.mcfunction @@ -0,0 +1,8 @@ +#> asset:object/2261.gem_yeeter_drone/summon/ +# +# Object召喚処理の呼び出し時に実行されるfunction +# +# @within asset:object/alias/2261/summon + +# 元となるEntityを召喚する + summon item_display ~ ~ ~ {Tags:["ObjectInit","CO.Object","2261.Phase.Start"]} diff --git a/Asset/data/asset/functions/object/2261.gem_yeeter_drone/summon/debug.mcfunction b/Asset/data/asset/functions/object/2261.gem_yeeter_drone/summon/debug.mcfunction new file mode 100644 index 0000000000..6a35484576 --- /dev/null +++ b/Asset/data/asset/functions/object/2261.gem_yeeter_drone/summon/debug.mcfunction @@ -0,0 +1,10 @@ +#> asset:object/2261.gem_yeeter_drone/summon/debug +# +# 動作チェック用の召喚処理 使い終わったら消してもいいかも +# +# @user +# @private + +# 召喚 + data modify storage api: Argument.ID set value 2261 + function api:object/summon \ No newline at end of file diff --git a/Asset/data/asset/functions/object/2261.gem_yeeter_drone/tick/.mcfunction b/Asset/data/asset/functions/object/2261.gem_yeeter_drone/tick/.mcfunction new file mode 100644 index 0000000000..3e9c39ccfb --- /dev/null +++ b/Asset/data/asset/functions/object/2261.gem_yeeter_drone/tick/.mcfunction @@ -0,0 +1,25 @@ +#> asset:object/2261.gem_yeeter_drone/tick/ +# +# Objectのtick時の処理 +# +# @within asset:object/alias/2261/tick + +# Tick加算 + scoreboard players add @s General.Object.Tick 1 +# 最も近くにあるモデルを紐づけ + tag @e[type=item_display,tag=2261.Model,distance=..5,sort=nearest,limit=1] add 2261.Model.Target + +# 登場 + execute if entity @s[tag=2261.Phase.Start] run function asset:object/2261.gem_yeeter_drone/tick/event_start +# 待機 + execute if entity @s[tag=2261.Phase.Idle] run function asset:object/2261.gem_yeeter_drone/tick/event_idle +# 攻撃 + execute if entity @s[tag=2261.Phase.Attack] run function asset:object/2261.gem_yeeter_drone/tick/event_attack + +# 消去 + execute if entity @s[tag=CO.Drone.Remove] run function asset:object/2261.gem_yeeter_drone/tick/remove + +# モデルを自身の位置に合わせる + tp @e[type=item_display,tag=2261.Model.Target,distance=..80,sort=nearest,limit=1] ~ ~4 ~ ~ ~ +# 紐づけ解除 + tag @e[type=item_display,tag=2261.Model.Target,distance=..80,sort=nearest,limit=1] remove 2261.Model.Target diff --git a/Asset/data/asset/functions/object/2261.gem_yeeter_drone/tick/attack.mcfunction b/Asset/data/asset/functions/object/2261.gem_yeeter_drone/tick/attack.mcfunction new file mode 100644 index 0000000000..ce33e40523 --- /dev/null +++ b/Asset/data/asset/functions/object/2261.gem_yeeter_drone/tick/attack.mcfunction @@ -0,0 +1,28 @@ +#> asset:object/2261.gem_yeeter_drone/tick/attack +# +# Objectのtick時の処理 +# +# @within asset:object/2261.gem_yeeter_drone/tick/event_attack + +# 一定間隔で攻撃 + scoreboard players operation $Interval Temporary = @s General.Object.Tick + scoreboard players operation $Interval Temporary %= $4 Const + execute unless score $Interval Temporary matches 0 run return run scoreboard players reset $Interval Temporary + scoreboard players reset $Interval Temporary + +# ダメージ + # ヒット判定 + data modify storage lib: args.dx set value 4 + data modify storage lib: args.dy set value 5 + data modify storage lib: args.dz set value 3 + data modify storage lib: args.selector set value "@a[tag=!PlayerShouldInvulnerable,distance=..50]" + execute positioned ^ ^ ^3 run function lib:rotatable_dxyz/m with storage lib: args + # 攻撃 + data modify storage api: Argument.Damage set from storage asset:context this.Damage.Amount + data modify storage api: Argument.AttackType set from storage asset:context this.Damage.Type + data modify storage api: Argument.ElementType set from storage asset:context this.Damage.Element + data modify storage api: Argument.MobUUID set from storage asset:context this.MobUUID + function api:damage/modifier_manual + execute as @a[tag=DXYZ] run function api:damage/ + function api:damage/reset + tag @a remove DXYZ diff --git a/Asset/data/asset/functions/object/2261.gem_yeeter_drone/tick/event_attack.mcfunction b/Asset/data/asset/functions/object/2261.gem_yeeter_drone/tick/event_attack.mcfunction new file mode 100644 index 0000000000..0619049b3e --- /dev/null +++ b/Asset/data/asset/functions/object/2261.gem_yeeter_drone/tick/event_attack.mcfunction @@ -0,0 +1,27 @@ +#> asset:object/2261.gem_yeeter_drone/tick/event_attack +# +# Objectのtick時の処理 +# +# @within asset:object/2261.gem_yeeter_drone/tick/ + +# アニメーション再生 + execute if entity @s[scores={General.Object.Tick=1}] as @e[type=item_display,tag=2261.Model.Target,distance=..30,sort=nearest,limit=1] at @s run function animated_java:gem_tnt_drone/animations/attack_start/tween {duration:1, to_frame: 1} + execute if entity @s[scores={General.Object.Tick=40}] as @e[type=item_display,tag=2261.Model.Target,distance=..30,sort=nearest,limit=1] at @s run function animated_java:gem_tnt_drone/animations/attack/tween {duration:1, to_frame: 1} + +# 演出 + # execute if entity @s[scores={General.Object.Tick=1}] run playsound block.piston.contract hostile @a ~ ~ ~ 2 0.8 + # execute if entity @s[scores={General.Object.Tick=20}] run playsound entity.breeze.jump hostile @a ~ ~ ~ 2 0.7 + # execute if entity @s[scores={General.Object.Tick=23..}] run particle cloud ^4 ^ ^ 0.1 0.1 0.1 0.05 1 + # execute if entity @s[scores={General.Object.Tick=23..}] run particle cloud ^-4 ^ ^ 0.1 0.1 0.1 0.05 1 + # execute if entity @s[scores={General.Object.Tick=20..}] run particle block quartz_block ^ ^ ^ 0.1 0.1 0.1 0.05 1 + +# 移動 + execute if entity @s[scores={General.Object.Tick=1..15}] run tp @s ^ ^ ^-0.1 + execute if entity @s[scores={General.Object.Tick=35..40}] run tp @s ^ ^ ^0.3 + execute if entity @s[scores={General.Object.Tick=41..}] run tp @s ^ ^ ^0.6 + +# 攻撃 + # execute if entity @s[scores={General.Object.Tick=20..}] run function asset:object/2261.gem_yeeter_drone/tick/attack + +# 消去 + execute if entity @s[scores={General.Object.Tick=160..}] run tag @s add CO.Drone.Remove diff --git a/Asset/data/asset/functions/object/2261.gem_yeeter_drone/tick/event_idle.mcfunction b/Asset/data/asset/functions/object/2261.gem_yeeter_drone/tick/event_idle.mcfunction new file mode 100644 index 0000000000..289a2bedd0 --- /dev/null +++ b/Asset/data/asset/functions/object/2261.gem_yeeter_drone/tick/event_idle.mcfunction @@ -0,0 +1,14 @@ +#> asset:object/2261.gem_yeeter_drone/tick/event_idle +# +# Objectのtick時の処理 +# +# @within asset:object/2261.gem_yeeter_drone/tick/ + +# アニメーション再生 + execute if entity @s[scores={General.Object.Tick=1}] as @e[type=item_display,tag=2261.Model.Target,distance=..30,sort=nearest,limit=1] at @s run function animated_java:gem_tnt_drone/animations/idle/tween {duration:1, to_frame: 1} + +# 予告 + # execute if score @s General.Object.Tick = @s 2261.PredictionTime run function asset:object/2261.gem_yeeter_drone/tick/prediction + +# idleに移行 + execute if score @s General.Object.Tick >= @s 2261.IdleTime run function asset:object/2261.gem_yeeter_drone/tick/start_attack diff --git a/Asset/data/asset/functions/object/2261.gem_yeeter_drone/tick/event_start.mcfunction b/Asset/data/asset/functions/object/2261.gem_yeeter_drone/tick/event_start.mcfunction new file mode 100644 index 0000000000..415121eeaa --- /dev/null +++ b/Asset/data/asset/functions/object/2261.gem_yeeter_drone/tick/event_start.mcfunction @@ -0,0 +1,17 @@ +#> asset:object/2261.gem_yeeter_drone/tick/event_start +# +# Objectのtick時の処理 +# +# @within asset:object/2261.gem_yeeter_drone/tick/ + +# アニメーション再生 + execute if entity @s[scores={General.Object.Tick=1}] as @e[type=item_display,tag=2261.Model.Target,distance=..30,sort=nearest,limit=1] at @s run function animated_java:gem_tnt_drone/animations/summon/tween {duration:1, to_frame: 1} + +# 演出 + # execute if entity @s[scores={General.Object.Tick=15}] run playsound entity.ravager.step hostile @a ~ ~ ~ 2 0.7 + # execute if entity @s[scores={General.Object.Tick=15}] run playsound entity.ravager.step hostile @a ~ ~ ~ 2 0.6 + # execute if entity @s[scores={General.Object.Tick=15}] run particle block quartz_block ~ ~0.2 ~ 1.5 0.1 1.5 0 30 + # execute if entity @s[scores={General.Object.Tick=28}] run playsound block.piston.contract hostile @a ~ ~ ~ 2 0.8 + # execute if entity @s[scores={General.Object.Tick=50}] run playsound block.piston.contract hostile @a ~ ~ ~ 2 0.8 +# idleに移行 + execute if score @s General.Object.Tick matches 26.. run function asset:object/2261.gem_yeeter_drone/tick/start_idle diff --git a/Asset/data/asset/functions/object/2261.gem_yeeter_drone/tick/prediction.mcfunction b/Asset/data/asset/functions/object/2261.gem_yeeter_drone/tick/prediction.mcfunction new file mode 100644 index 0000000000..2a9d04b9b5 --- /dev/null +++ b/Asset/data/asset/functions/object/2261.gem_yeeter_drone/tick/prediction.mcfunction @@ -0,0 +1,14 @@ +#> asset:object/2261.gem_yeeter_drone/tick/prediction +# +# Objectのtick時の処理 +# +# @within asset:object/2261.gem_yeeter_drone/tick/event_idle + +# 予告 + data modify storage api: Argument.ID set value 2113 + data modify storage api: Argument.FieldOverride.RotationX set from entity @s Rotation[0] + data modify storage api: Argument.FieldOverride.Color set value 3381759 + data modify storage api: Argument.FieldOverride.Scale set value [8f,50f] + data modify storage api: Argument.FieldOverride.Interpolation set value 10 + data modify storage api: Argument.FieldOverride.Tick set value 50 + execute positioned ^ ^0.1 ^ rotated ~ 0 run function api:object/summon diff --git a/Asset/data/asset/functions/object/2261.gem_yeeter_drone/tick/remove.mcfunction b/Asset/data/asset/functions/object/2261.gem_yeeter_drone/tick/remove.mcfunction new file mode 100644 index 0000000000..7ad1875181 --- /dev/null +++ b/Asset/data/asset/functions/object/2261.gem_yeeter_drone/tick/remove.mcfunction @@ -0,0 +1,11 @@ +#> asset:object/2261.gem_yeeter_drone/tick/remove +# +# Objectのtick時の処理 +# +# @within asset:object/2261.gem_yeeter_drone/tick/ + +# モデル消去 + execute as @e[type=item_display,tag=2261.Model.Target,distance=..30,sort=nearest,limit=1] run function animated_java:gem_tnt_drone/remove/this + +# 自身を消去 + kill @s diff --git a/Asset/data/asset/functions/object/2261.gem_yeeter_drone/tick/start_attack.mcfunction b/Asset/data/asset/functions/object/2261.gem_yeeter_drone/tick/start_attack.mcfunction new file mode 100644 index 0000000000..649a450937 --- /dev/null +++ b/Asset/data/asset/functions/object/2261.gem_yeeter_drone/tick/start_attack.mcfunction @@ -0,0 +1,10 @@ +#> asset:object/2261.gem_yeeter_drone/tick/start_attack +# +# Objectのtick時の処理 +# +# @within asset:object/2261.gem_yeeter_drone/tick/event_idle + +# idleに移行 + tag @s remove 2261.Phase.Idle + tag @s add 2261.Phase.Attack + scoreboard players set @s General.Object.Tick 0 diff --git a/Asset/data/asset/functions/object/2261.gem_yeeter_drone/tick/start_idle.mcfunction b/Asset/data/asset/functions/object/2261.gem_yeeter_drone/tick/start_idle.mcfunction new file mode 100644 index 0000000000..414ed2f6b6 --- /dev/null +++ b/Asset/data/asset/functions/object/2261.gem_yeeter_drone/tick/start_idle.mcfunction @@ -0,0 +1,10 @@ +#> asset:object/2261.gem_yeeter_drone/tick/start_idle +# +# Objectのtick時の処理 +# +# @within asset:object/2261.gem_yeeter_drone/tick/event_start + +# idleに移行 + tag @s remove 2261.Phase.Start + tag @s add 2261.Phase.Idle + scoreboard players set @s General.Object.Tick 0 diff --git a/Asset/data/asset/functions/object/alias/2261/init.mcfunction b/Asset/data/asset/functions/object/alias/2261/init.mcfunction new file mode 100644 index 0000000000..8a72c45246 --- /dev/null +++ b/Asset/data/asset/functions/object/alias/2261/init.mcfunction @@ -0,0 +1,8 @@ +#> asset:object/alias/2261/init +# +# Init処理のエイリアス +# +# @within asset_manager:object/init/init.m + +# 元のInit処理を呼び出す + function asset:object/2261.gem_yeeter_drone/init/ \ No newline at end of file diff --git a/Asset/data/asset/functions/object/alias/2261/register.mcfunction b/Asset/data/asset/functions/object/alias/2261/register.mcfunction new file mode 100644 index 0000000000..24205132ea --- /dev/null +++ b/Asset/data/asset/functions/object/alias/2261/register.mcfunction @@ -0,0 +1,8 @@ +#> asset:object/alias/2261/register +# +# Objectのデータ指定処理のエイリアス +# +# @within asset_manager:object/summon/register.m + +# 元の登録処理を呼び出す + function asset:object/2261.gem_yeeter_drone/register \ No newline at end of file diff --git a/Asset/data/asset/functions/object/alias/2261/summon.mcfunction b/Asset/data/asset/functions/object/alias/2261/summon.mcfunction new file mode 100644 index 0000000000..808bfc65c2 --- /dev/null +++ b/Asset/data/asset/functions/object/alias/2261/summon.mcfunction @@ -0,0 +1,8 @@ +#> asset:object/alias/2261/summon +# +# Object召喚処理のエイリアス +# +# @within asset_manager:object/summon/summon.m + +# 元の召喚処理を呼び出す + function asset:object/2261.gem_yeeter_drone/summon/ \ No newline at end of file diff --git a/Asset/data/asset/functions/object/alias/2261/tick.mcfunction b/Asset/data/asset/functions/object/alias/2261/tick.mcfunction new file mode 100644 index 0000000000..d648a51a7d --- /dev/null +++ b/Asset/data/asset/functions/object/alias/2261/tick.mcfunction @@ -0,0 +1,8 @@ +#> asset:object/alias/2261/tick +# +# Tick時処理のエイリアス +# +# @within asset_manager:object/tick/tick.m + +# 元のTick処理を呼び出す + function asset:object/2261.gem_yeeter_drone/tick/ \ No newline at end of file diff --git a/Asset/data/asset/tags/functions/object/load.json b/Asset/data/asset/tags/functions/object/load.json index 155ed39491..d8be120468 100644 --- a/Asset/data/asset/tags/functions/object/load.json +++ b/Asset/data/asset/tags/functions/object/load.json @@ -1,5 +1,6 @@ { "values": [ + "asset:object/2261.gem_yeeter_drone/load", "asset:object/2260.gem_attack_drone/load", "asset:object/2268.gem_upper_shot/load", "asset:object/2267.gem_shot_attack/load", From 0456c3707d205e4db6af6554d91d05c223de4476 Mon Sep 17 00:00:00 2001 From: mokkkk Date: Sat, 28 Feb 2026 16:25:36 +0900 Subject: [PATCH 31/98] =?UTF-8?q?=E6=94=BB=E6=92=83=E7=94=A8TNT=E5=AE=9F?= =?UTF-8?q?=E8=A3=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../tick/event/blute_force_attack/.mcfunction | 10 +++++-- .../2261.gem_yeeter_drone/init/.mcfunction | 2 ++ .../2261.gem_yeeter_drone/load.mcfunction | 1 + .../2261.gem_yeeter_drone/tick/.mcfunction | 4 +-- .../tick/attack.mcfunction | 27 ++++--------------- .../tick/event_attack.mcfunction | 20 +++++++------- .../tick/event_start.mcfunction | 4 ++- .../2270.yeeter_tnt/_index.d.mcfunction | 6 +++++ .../object/2270.yeeter_tnt/init/.mcfunction | 8 ++++++ .../object/2270.yeeter_tnt/load.mcfunction | 9 +++++++ .../2270.yeeter_tnt/register.mcfunction | 20 ++++++++++++++ .../object/2270.yeeter_tnt/summon/.mcfunction | 8 ++++++ .../2270.yeeter_tnt/summon/debug.mcfunction | 10 +++++++ .../object/2270.yeeter_tnt/tick/.mcfunction | 16 +++++++++++ .../2270.yeeter_tnt/tick/damage.mcfunction | 19 +++++++++++++ .../tick/prediction.m.mcfunction | 12 +++++++++ .../object/alias/2270/init.mcfunction | 8 ++++++ .../object/alias/2270/register.mcfunction | 8 ++++++ .../object/alias/2270/summon.mcfunction | 8 ++++++ .../object/alias/2270/tick.mcfunction | 8 ++++++ .../asset/tags/functions/object/load.json | 1 + 21 files changed, 172 insertions(+), 37 deletions(-) create mode 100644 Asset/data/asset/functions/object/2270.yeeter_tnt/_index.d.mcfunction create mode 100644 Asset/data/asset/functions/object/2270.yeeter_tnt/init/.mcfunction create mode 100644 Asset/data/asset/functions/object/2270.yeeter_tnt/load.mcfunction create mode 100644 Asset/data/asset/functions/object/2270.yeeter_tnt/register.mcfunction create mode 100644 Asset/data/asset/functions/object/2270.yeeter_tnt/summon/.mcfunction create mode 100644 Asset/data/asset/functions/object/2270.yeeter_tnt/summon/debug.mcfunction create mode 100644 Asset/data/asset/functions/object/2270.yeeter_tnt/tick/.mcfunction create mode 100644 Asset/data/asset/functions/object/2270.yeeter_tnt/tick/damage.mcfunction create mode 100644 Asset/data/asset/functions/object/2270.yeeter_tnt/tick/prediction.m.mcfunction create mode 100644 Asset/data/asset/functions/object/alias/2270/init.mcfunction create mode 100644 Asset/data/asset/functions/object/alias/2270/register.mcfunction create mode 100644 Asset/data/asset/functions/object/alias/2270/summon.mcfunction create mode 100644 Asset/data/asset/functions/object/alias/2270/tick.mcfunction diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/blute_force_attack/.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/blute_force_attack/.mcfunction index c7d810ea14..9ae964594e 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/blute_force_attack/.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/blute_force_attack/.mcfunction @@ -23,12 +23,18 @@ execute as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run tp @s ~ ~ ~ ~ ~ # 召喚 execute if score @s CO.EventTimer matches 25 positioned ^ ^ ^10 run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_attack_drone.m - execute if score @s CO.EventTimer matches 26 positioned ^-8 ^ ^8 run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_yeeter_drone.m - execute if score @s CO.EventTimer matches 27 positioned ^8 ^ ^8 run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_yeeter_drone.m + execute if score @s CO.EventTimer matches 26 positioned ^-8 ^ ^8 run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_attack_drone.m + execute if score @s CO.EventTimer matches 27 positioned ^8 ^ ^8 run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_attack_drone.m # execute if score @s CO.EventTimer matches 28 positioned ^-16 ^ ^6 run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_attack_drone.m # execute if score @s CO.EventTimer matches 29 positioned ^16 ^ ^6 run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_attack_drone.m # execute if score @s CO.EventTimer matches 30 positioned ^-24 ^ ^6 run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_attack_drone.m # execute if score @s CO.EventTimer matches 31 positioned ^24 ^ ^6 run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_attack_drone.m + execute if score @s CO.EventTimer matches 25 positioned ^-18 ^ ^ rotated ~-12 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_yeeter_drone.m + execute if score @s CO.EventTimer matches 25 positioned ^18 ^ ^ rotated ~12 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_yeeter_drone.m + execute if score @s CO.EventTimer matches 28 positioned ^-26 ^ ^6 rotated ~-12 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_yeeter_drone.m + execute if score @s CO.EventTimer matches 28 positioned ^26 ^ ^6 rotated ~12 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_yeeter_drone.m + + # 終了 execute if score @s CO.EventTimer matches 65.. run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/end diff --git a/Asset/data/asset/functions/object/2261.gem_yeeter_drone/init/.mcfunction b/Asset/data/asset/functions/object/2261.gem_yeeter_drone/init/.mcfunction index 4738ec9373..c6675ce172 100644 --- a/Asset/data/asset/functions/object/2261.gem_yeeter_drone/init/.mcfunction +++ b/Asset/data/asset/functions/object/2261.gem_yeeter_drone/init/.mcfunction @@ -14,5 +14,7 @@ scoreboard players set @s 2261.IdleTime 60 # タイマー計算 + # IdleTimeは予備動作を考慮して短縮 + scoreboard players remove @s 2261.IdleTime 25 execute store result score @s 2261.PredictionTime run scoreboard players get @s 2261.IdleTime scoreboard players remove @s 2261.PredictionTime 30 diff --git a/Asset/data/asset/functions/object/2261.gem_yeeter_drone/load.mcfunction b/Asset/data/asset/functions/object/2261.gem_yeeter_drone/load.mcfunction index 75a227fd10..7e86443ad2 100644 --- a/Asset/data/asset/functions/object/2261.gem_yeeter_drone/load.mcfunction +++ b/Asset/data/asset/functions/object/2261.gem_yeeter_drone/load.mcfunction @@ -8,3 +8,4 @@ # @within function asset:object/2261.gem_yeeter_drone/** scoreboard objectives add 2261.IdleTime dummy scoreboard objectives add 2261.PredictionTime dummy + scoreboard objectives add 2261.AttackInterval dummy diff --git a/Asset/data/asset/functions/object/2261.gem_yeeter_drone/tick/.mcfunction b/Asset/data/asset/functions/object/2261.gem_yeeter_drone/tick/.mcfunction index 3e9c39ccfb..1db43b48fb 100644 --- a/Asset/data/asset/functions/object/2261.gem_yeeter_drone/tick/.mcfunction +++ b/Asset/data/asset/functions/object/2261.gem_yeeter_drone/tick/.mcfunction @@ -7,7 +7,7 @@ # Tick加算 scoreboard players add @s General.Object.Tick 1 # 最も近くにあるモデルを紐づけ - tag @e[type=item_display,tag=2261.Model,distance=..5,sort=nearest,limit=1] add 2261.Model.Target + execute positioned ~ ~5 ~ run tag @e[type=item_display,tag=2261.Model,distance=..6,sort=nearest,limit=1] add 2261.Model.Target # 登場 execute if entity @s[tag=2261.Phase.Start] run function asset:object/2261.gem_yeeter_drone/tick/event_start @@ -20,6 +20,6 @@ execute if entity @s[tag=CO.Drone.Remove] run function asset:object/2261.gem_yeeter_drone/tick/remove # モデルを自身の位置に合わせる - tp @e[type=item_display,tag=2261.Model.Target,distance=..80,sort=nearest,limit=1] ~ ~4 ~ ~ ~ + tp @e[type=item_display,tag=2261.Model.Target,distance=..80,sort=nearest,limit=1] ~ ~5 ~ ~ ~ # 紐づけ解除 tag @e[type=item_display,tag=2261.Model.Target,distance=..80,sort=nearest,limit=1] remove 2261.Model.Target diff --git a/Asset/data/asset/functions/object/2261.gem_yeeter_drone/tick/attack.mcfunction b/Asset/data/asset/functions/object/2261.gem_yeeter_drone/tick/attack.mcfunction index ce33e40523..37c4168f47 100644 --- a/Asset/data/asset/functions/object/2261.gem_yeeter_drone/tick/attack.mcfunction +++ b/Asset/data/asset/functions/object/2261.gem_yeeter_drone/tick/attack.mcfunction @@ -4,25 +4,8 @@ # # @within asset:object/2261.gem_yeeter_drone/tick/event_attack -# 一定間隔で攻撃 - scoreboard players operation $Interval Temporary = @s General.Object.Tick - scoreboard players operation $Interval Temporary %= $4 Const - execute unless score $Interval Temporary matches 0 run return run scoreboard players reset $Interval Temporary - scoreboard players reset $Interval Temporary - -# ダメージ - # ヒット判定 - data modify storage lib: args.dx set value 4 - data modify storage lib: args.dy set value 5 - data modify storage lib: args.dz set value 3 - data modify storage lib: args.selector set value "@a[tag=!PlayerShouldInvulnerable,distance=..50]" - execute positioned ^ ^ ^3 run function lib:rotatable_dxyz/m with storage lib: args - # 攻撃 - data modify storage api: Argument.Damage set from storage asset:context this.Damage.Amount - data modify storage api: Argument.AttackType set from storage asset:context this.Damage.Type - data modify storage api: Argument.ElementType set from storage asset:context this.Damage.Element - data modify storage api: Argument.MobUUID set from storage asset:context this.MobUUID - function api:damage/modifier_manual - execute as @a[tag=DXYZ] run function api:damage/ - function api:damage/reset - tag @a remove DXYZ +# TNT設置 + data modify storage api: Argument.ID set value 2270 + data modify storage api: Argument.FieldOverride.MobUUID set from storage asset:context this.MobUUID + data modify storage api: Argument.FieldOverride.Damage set from storage asset:context this.Damage + function api:object/summon diff --git a/Asset/data/asset/functions/object/2261.gem_yeeter_drone/tick/event_attack.mcfunction b/Asset/data/asset/functions/object/2261.gem_yeeter_drone/tick/event_attack.mcfunction index 0619049b3e..3add18a7b0 100644 --- a/Asset/data/asset/functions/object/2261.gem_yeeter_drone/tick/event_attack.mcfunction +++ b/Asset/data/asset/functions/object/2261.gem_yeeter_drone/tick/event_attack.mcfunction @@ -9,19 +9,19 @@ execute if entity @s[scores={General.Object.Tick=40}] as @e[type=item_display,tag=2261.Model.Target,distance=..30,sort=nearest,limit=1] at @s run function animated_java:gem_tnt_drone/animations/attack/tween {duration:1, to_frame: 1} # 演出 - # execute if entity @s[scores={General.Object.Tick=1}] run playsound block.piston.contract hostile @a ~ ~ ~ 2 0.8 - # execute if entity @s[scores={General.Object.Tick=20}] run playsound entity.breeze.jump hostile @a ~ ~ ~ 2 0.7 - # execute if entity @s[scores={General.Object.Tick=23..}] run particle cloud ^4 ^ ^ 0.1 0.1 0.1 0.05 1 - # execute if entity @s[scores={General.Object.Tick=23..}] run particle cloud ^-4 ^ ^ 0.1 0.1 0.1 0.05 1 - # execute if entity @s[scores={General.Object.Tick=20..}] run particle block quartz_block ^ ^ ^ 0.1 0.1 0.1 0.05 1 + execute if entity @s[scores={General.Object.Tick=1}] run playsound entity.phantom.flap hostile @a ~ ~ ~ 2 1 + execute if entity @s[scores={General.Object.Tick=1}] run playsound entity.phantom.flap hostile @a ~ ~ ~ 2 1 + execute if entity @s[scores={General.Object.Tick=35}] run playsound entity.breeze.jump hostile @a ~ ~ ~ 2 0.7 # 移動 - execute if entity @s[scores={General.Object.Tick=1..15}] run tp @s ^ ^ ^-0.1 - execute if entity @s[scores={General.Object.Tick=35..40}] run tp @s ^ ^ ^0.3 - execute if entity @s[scores={General.Object.Tick=41..}] run tp @s ^ ^ ^0.6 + execute if entity @s[scores={General.Object.Tick=1..15}] run tp @s ^ ^ ^-0.2 + execute if entity @s[scores={General.Object.Tick=35..40}] run tp @s ^ ^ ^0.2 + execute if entity @s[scores={General.Object.Tick=41..}] run tp @s ^ ^ ^0.4 # 攻撃 - # execute if entity @s[scores={General.Object.Tick=20..}] run function asset:object/2261.gem_yeeter_drone/tick/attack + execute if entity @s[scores={General.Object.Tick=40..}] run scoreboard players add @s 2261.AttackInterval 1 + execute if entity @s[scores={2261.AttackInterval=20..}] run scoreboard players set @s 2261.AttackInterval 0 + execute if entity @s[scores={2261.AttackInterval=1}] positioned ~ ~5 ~ run function asset:object/2261.gem_yeeter_drone/tick/attack # 消去 - execute if entity @s[scores={General.Object.Tick=160..}] run tag @s add CO.Drone.Remove + execute if entity @s[scores={General.Object.Tick=175..}] run tag @s add CO.Drone.Remove diff --git a/Asset/data/asset/functions/object/2261.gem_yeeter_drone/tick/event_start.mcfunction b/Asset/data/asset/functions/object/2261.gem_yeeter_drone/tick/event_start.mcfunction index 415121eeaa..6464a71561 100644 --- a/Asset/data/asset/functions/object/2261.gem_yeeter_drone/tick/event_start.mcfunction +++ b/Asset/data/asset/functions/object/2261.gem_yeeter_drone/tick/event_start.mcfunction @@ -8,10 +8,12 @@ execute if entity @s[scores={General.Object.Tick=1}] as @e[type=item_display,tag=2261.Model.Target,distance=..30,sort=nearest,limit=1] at @s run function animated_java:gem_tnt_drone/animations/summon/tween {duration:1, to_frame: 1} # 演出 - # execute if entity @s[scores={General.Object.Tick=15}] run playsound entity.ravager.step hostile @a ~ ~ ~ 2 0.7 + execute if entity @s[scores={General.Object.Tick=15}] run playsound entity.phantom.flap hostile @a ~ ~ ~ 2 1 + execute if entity @s[scores={General.Object.Tick=15}] run playsound entity.phantom.flap hostile @a ~ ~ ~ 2 1 # execute if entity @s[scores={General.Object.Tick=15}] run playsound entity.ravager.step hostile @a ~ ~ ~ 2 0.6 # execute if entity @s[scores={General.Object.Tick=15}] run particle block quartz_block ~ ~0.2 ~ 1.5 0.1 1.5 0 30 # execute if entity @s[scores={General.Object.Tick=28}] run playsound block.piston.contract hostile @a ~ ~ ~ 2 0.8 # execute if entity @s[scores={General.Object.Tick=50}] run playsound block.piston.contract hostile @a ~ ~ ~ 2 0.8 + # idleに移行 execute if score @s General.Object.Tick matches 26.. run function asset:object/2261.gem_yeeter_drone/tick/start_idle diff --git a/Asset/data/asset/functions/object/2270.yeeter_tnt/_index.d.mcfunction b/Asset/data/asset/functions/object/2270.yeeter_tnt/_index.d.mcfunction new file mode 100644 index 0000000000..f040eafe24 --- /dev/null +++ b/Asset/data/asset/functions/object/2270.yeeter_tnt/_index.d.mcfunction @@ -0,0 +1,6 @@ +#> asset:object/2270.yeeter_tnt/_index.d +# @private + +#> tag +# @within function asset:object/2270.yeeter_tnt/** + #declare \ No newline at end of file diff --git a/Asset/data/asset/functions/object/2270.yeeter_tnt/init/.mcfunction b/Asset/data/asset/functions/object/2270.yeeter_tnt/init/.mcfunction new file mode 100644 index 0000000000..d3b67eef45 --- /dev/null +++ b/Asset/data/asset/functions/object/2270.yeeter_tnt/init/.mcfunction @@ -0,0 +1,8 @@ +#> asset:object/2270.yeeter_tnt/init/ +# +# Objectのinit時の処理 +# +# @within asset:object/alias/2270/init + +# 実行角度に合わせる + tp @s ~ ~ ~ ~ 0 diff --git a/Asset/data/asset/functions/object/2270.yeeter_tnt/load.mcfunction b/Asset/data/asset/functions/object/2270.yeeter_tnt/load.mcfunction new file mode 100644 index 0000000000..50fcbdd722 --- /dev/null +++ b/Asset/data/asset/functions/object/2270.yeeter_tnt/load.mcfunction @@ -0,0 +1,9 @@ +#> asset:object/2270.yeeter_tnt/load +# +# Objectに利用するスコアボード等の初期化処理 +# +# @within tag/function asset:object/load + +#> 定義類はここに +# @within function asset:object/2270.yeeter_tnt/** + # scoreboard objectives add diff --git a/Asset/data/asset/functions/object/2270.yeeter_tnt/register.mcfunction b/Asset/data/asset/functions/object/2270.yeeter_tnt/register.mcfunction new file mode 100644 index 0000000000..6800bba576 --- /dev/null +++ b/Asset/data/asset/functions/object/2270.yeeter_tnt/register.mcfunction @@ -0,0 +1,20 @@ +#> asset:object/2270.yeeter_tnt/register +# +# Objectのデータを指定 +# +# @within function asset:object/alias/2270/register + +# 継承(オプション) + # data modify storage asset:object Extends append value + # function asset:object/extends +# 他のObjectに継承されることを許可するか (boolean) (オプション) + # data modify storage asset:object ExtendsSafe set value +# 継承されることを前提とした、抽象的なObjectであるかどうか(boolean) + data modify storage asset:object IsAbstract set value false +# Tickするかどうか(boolean) (オプション) + # data modify storage asset:object IsTicking set value + +# ID (int) + data modify storage asset:object ID set value 2270 +# フィールド(オプション) + # data modify storage asset:object Field.myValue set value \ No newline at end of file diff --git a/Asset/data/asset/functions/object/2270.yeeter_tnt/summon/.mcfunction b/Asset/data/asset/functions/object/2270.yeeter_tnt/summon/.mcfunction new file mode 100644 index 0000000000..719d6ad323 --- /dev/null +++ b/Asset/data/asset/functions/object/2270.yeeter_tnt/summon/.mcfunction @@ -0,0 +1,8 @@ +#> asset:object/2270.yeeter_tnt/summon/ +# +# Object召喚処理の呼び出し時に実行されるfunction +# +# @within asset:object/alias/2270/summon + +# 元となるEntityを召喚する + summon item_display ~ ~ ~ {Tags:["ObjectInit","CO.Object"],interpolation_duration:3,teleport_duration:1,item:{id:"tnt",Count:1b},transformation:{left_rotation:[0.0f,0.0f,0.0f,1.0f],right_rotation:[0.0f,0.0f,0.0f,1.0f],translation:[0.0f,0.0f,0.0f],scale:[1.0f,1.0f,1.0f]}} diff --git a/Asset/data/asset/functions/object/2270.yeeter_tnt/summon/debug.mcfunction b/Asset/data/asset/functions/object/2270.yeeter_tnt/summon/debug.mcfunction new file mode 100644 index 0000000000..ad82f9b1ea --- /dev/null +++ b/Asset/data/asset/functions/object/2270.yeeter_tnt/summon/debug.mcfunction @@ -0,0 +1,10 @@ +#> asset:object/2270.yeeter_tnt/summon/debug +# +# 動作チェック用の召喚処理 使い終わったら消してもいいかも +# +# @user +# @private + +# 召喚 + data modify storage api: Argument.ID set value 2270 + function api:object/summon \ No newline at end of file diff --git a/Asset/data/asset/functions/object/2270.yeeter_tnt/tick/.mcfunction b/Asset/data/asset/functions/object/2270.yeeter_tnt/tick/.mcfunction new file mode 100644 index 0000000000..e68204d8b5 --- /dev/null +++ b/Asset/data/asset/functions/object/2270.yeeter_tnt/tick/.mcfunction @@ -0,0 +1,16 @@ +#> asset:object/2270.yeeter_tnt/tick/ +# +# Objectのtick時の処理 +# +# @within asset:object/alias/2270/tick + +# Tick加算 + scoreboard players add @s General.Object.Tick 1 + +# 攻撃 + execute if entity @s[scores={General.Object.Tick=1..5}] run tp @s ~ ~-1 ~ + execute if entity @s[scores={General.Object.Tick=1}] positioned ~ ~-5 ~ run function asset:object/2270.yeeter_tnt/tick/prediction.m {PredictionTime:20} + execute if entity @s[scores={General.Object.Tick=20..}] at @s run function asset:object/2270.yeeter_tnt/tick/damage + +# 消滅処理 + kill @s[scores={General.Object.Tick=20..}] diff --git a/Asset/data/asset/functions/object/2270.yeeter_tnt/tick/damage.mcfunction b/Asset/data/asset/functions/object/2270.yeeter_tnt/tick/damage.mcfunction new file mode 100644 index 0000000000..6fdd072855 --- /dev/null +++ b/Asset/data/asset/functions/object/2270.yeeter_tnt/tick/damage.mcfunction @@ -0,0 +1,19 @@ +#> asset:object/2270.yeeter_tnt/tick/damage +# +# Objectのtick時の処理 +# +# @within function asset:object/2270.yeeter_tnt/tick/ + +# ダメージ + data modify storage api: Argument.Damage set from storage asset:context this.Damage.Amount + data modify storage api: Argument.AttackType set from storage asset:context this.Damage.Type + data modify storage api: Argument.ElementType set from storage asset:context this.Damage.Element + data modify storage api: Argument.MobUUID set from storage asset:context this.MobUUID + function api:damage/modifier_manual + execute as @a[tag=!PlayerShouldInvulnerable,distance=..6] run function api:damage/ + function api:damage/reset + +# 演出 + particle explosion ~ ~1 ~ 3 1 3 0 20 force + particle lava ~ ~1 ~ 3 1 3 0.2 10 + playsound entity.generic.explode hostile @a ~ ~ ~ 1 0.8 diff --git a/Asset/data/asset/functions/object/2270.yeeter_tnt/tick/prediction.m.mcfunction b/Asset/data/asset/functions/object/2270.yeeter_tnt/tick/prediction.m.mcfunction new file mode 100644 index 0000000000..abf852696f --- /dev/null +++ b/Asset/data/asset/functions/object/2270.yeeter_tnt/tick/prediction.m.mcfunction @@ -0,0 +1,12 @@ +#> asset:object/2270.yeeter_tnt/tick/prediction.m +# +# Objectのtick時の処理 +# +# @within asset:object/2270.yeeter_tnt/tick/ + +# 予兆 + data modify storage api: Argument.ID set value 2063 + data modify storage api: Argument.FieldOverride.Color set value 3381759 + data modify storage api: Argument.FieldOverride.Scale set value [12f, 12f, 0.05f] + $data modify storage api: Argument.FieldOverride.Tick set value $(PredictionTime) + execute rotated ~ 0 run function api:object/summon diff --git a/Asset/data/asset/functions/object/alias/2270/init.mcfunction b/Asset/data/asset/functions/object/alias/2270/init.mcfunction new file mode 100644 index 0000000000..2eee0e08cd --- /dev/null +++ b/Asset/data/asset/functions/object/alias/2270/init.mcfunction @@ -0,0 +1,8 @@ +#> asset:object/alias/2270/init +# +# Init処理のエイリアス +# +# @within asset_manager:object/init/init.m + +# 元のInit処理を呼び出す + function asset:object/2270.yeeter_tnt/init/ \ No newline at end of file diff --git a/Asset/data/asset/functions/object/alias/2270/register.mcfunction b/Asset/data/asset/functions/object/alias/2270/register.mcfunction new file mode 100644 index 0000000000..413ca9876a --- /dev/null +++ b/Asset/data/asset/functions/object/alias/2270/register.mcfunction @@ -0,0 +1,8 @@ +#> asset:object/alias/2270/register +# +# Objectのデータ指定処理のエイリアス +# +# @within asset_manager:object/summon/register.m + +# 元の登録処理を呼び出す + function asset:object/2270.yeeter_tnt/register \ No newline at end of file diff --git a/Asset/data/asset/functions/object/alias/2270/summon.mcfunction b/Asset/data/asset/functions/object/alias/2270/summon.mcfunction new file mode 100644 index 0000000000..5abc8875f6 --- /dev/null +++ b/Asset/data/asset/functions/object/alias/2270/summon.mcfunction @@ -0,0 +1,8 @@ +#> asset:object/alias/2270/summon +# +# Object召喚処理のエイリアス +# +# @within asset_manager:object/summon/summon.m + +# 元の召喚処理を呼び出す + function asset:object/2270.yeeter_tnt/summon/ \ No newline at end of file diff --git a/Asset/data/asset/functions/object/alias/2270/tick.mcfunction b/Asset/data/asset/functions/object/alias/2270/tick.mcfunction new file mode 100644 index 0000000000..773fe067ca --- /dev/null +++ b/Asset/data/asset/functions/object/alias/2270/tick.mcfunction @@ -0,0 +1,8 @@ +#> asset:object/alias/2270/tick +# +# Tick時処理のエイリアス +# +# @within asset_manager:object/tick/tick.m + +# 元のTick処理を呼び出す + function asset:object/2270.yeeter_tnt/tick/ \ No newline at end of file diff --git a/Asset/data/asset/tags/functions/object/load.json b/Asset/data/asset/tags/functions/object/load.json index d8be120468..8985bd936d 100644 --- a/Asset/data/asset/tags/functions/object/load.json +++ b/Asset/data/asset/tags/functions/object/load.json @@ -1,5 +1,6 @@ { "values": [ + "asset:object/2270.yeeter_tnt/load", "asset:object/2261.gem_yeeter_drone/load", "asset:object/2260.gem_attack_drone/load", "asset:object/2268.gem_upper_shot/load", From 6173fdce8f5c8acbb51e8ca484c6c9e9f120a9ca Mon Sep 17 00:00:00 2001 From: mokkkk Date: Sat, 28 Feb 2026 18:34:45 +0900 Subject: [PATCH 32/98] =?UTF-8?q?=E6=B1=8E=E7=94=A8=E7=A7=BB=E5=8B=95?= =?UTF-8?q?=E5=86=86=E7=AF=84=E5=9B=B2=E6=BC=94=E5=87=BA=E4=BD=9C=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../tick/event_idle.mcfunction | 2 +- .../tick/prediction.mcfunction | 11 +++++----- .../_index.d.mcfunction | 6 ++++++ .../init/.mcfunction | 21 +++++++++++++++++++ .../load.mcfunction | 9 ++++++++ .../register.mcfunction | 20 ++++++++++++++++++ .../summon/.mcfunction | 8 +++++++ .../summon/debug.mcfunction | 10 +++++++++ .../summon/m.mcfunction | 8 +++++++ .../tick/.mcfunction | 14 +++++++++++++ .../tick/effect.mcfunction | 19 +++++++++++++++++ .../object/alias/2271/init.mcfunction | 8 +++++++ .../object/alias/2271/register.mcfunction | 8 +++++++ .../object/alias/2271/summon.mcfunction | 8 +++++++ .../object/alias/2271/tick.mcfunction | 8 +++++++ .../asset/tags/functions/object/load.json | 1 + 16 files changed, 154 insertions(+), 7 deletions(-) create mode 100644 Asset/data/asset/functions/object/2271.moving_circle_damage_area/_index.d.mcfunction create mode 100644 Asset/data/asset/functions/object/2271.moving_circle_damage_area/init/.mcfunction create mode 100644 Asset/data/asset/functions/object/2271.moving_circle_damage_area/load.mcfunction create mode 100644 Asset/data/asset/functions/object/2271.moving_circle_damage_area/register.mcfunction create mode 100644 Asset/data/asset/functions/object/2271.moving_circle_damage_area/summon/.mcfunction create mode 100644 Asset/data/asset/functions/object/2271.moving_circle_damage_area/summon/debug.mcfunction create mode 100644 Asset/data/asset/functions/object/2271.moving_circle_damage_area/summon/m.mcfunction create mode 100644 Asset/data/asset/functions/object/2271.moving_circle_damage_area/tick/.mcfunction create mode 100644 Asset/data/asset/functions/object/2271.moving_circle_damage_area/tick/effect.mcfunction create mode 100644 Asset/data/asset/functions/object/alias/2271/init.mcfunction create mode 100644 Asset/data/asset/functions/object/alias/2271/register.mcfunction create mode 100644 Asset/data/asset/functions/object/alias/2271/summon.mcfunction create mode 100644 Asset/data/asset/functions/object/alias/2271/tick.mcfunction diff --git a/Asset/data/asset/functions/object/2261.gem_yeeter_drone/tick/event_idle.mcfunction b/Asset/data/asset/functions/object/2261.gem_yeeter_drone/tick/event_idle.mcfunction index 289a2bedd0..1ea946a5c3 100644 --- a/Asset/data/asset/functions/object/2261.gem_yeeter_drone/tick/event_idle.mcfunction +++ b/Asset/data/asset/functions/object/2261.gem_yeeter_drone/tick/event_idle.mcfunction @@ -8,7 +8,7 @@ execute if entity @s[scores={General.Object.Tick=1}] as @e[type=item_display,tag=2261.Model.Target,distance=..30,sort=nearest,limit=1] at @s run function animated_java:gem_tnt_drone/animations/idle/tween {duration:1, to_frame: 1} # 予告 - # execute if score @s General.Object.Tick = @s 2261.PredictionTime run function asset:object/2261.gem_yeeter_drone/tick/prediction + execute if score @s General.Object.Tick = @s 2261.PredictionTime run function asset:object/2261.gem_yeeter_drone/tick/prediction # idleに移行 execute if score @s General.Object.Tick >= @s 2261.IdleTime run function asset:object/2261.gem_yeeter_drone/tick/start_attack diff --git a/Asset/data/asset/functions/object/2261.gem_yeeter_drone/tick/prediction.mcfunction b/Asset/data/asset/functions/object/2261.gem_yeeter_drone/tick/prediction.mcfunction index 2a9d04b9b5..6d5ce6a6b7 100644 --- a/Asset/data/asset/functions/object/2261.gem_yeeter_drone/tick/prediction.mcfunction +++ b/Asset/data/asset/functions/object/2261.gem_yeeter_drone/tick/prediction.mcfunction @@ -5,10 +5,9 @@ # @within asset:object/2261.gem_yeeter_drone/tick/event_idle # 予告 - data modify storage api: Argument.ID set value 2113 - data modify storage api: Argument.FieldOverride.RotationX set from entity @s Rotation[0] + data modify storage api: Argument.ID set value 2271 data modify storage api: Argument.FieldOverride.Color set value 3381759 - data modify storage api: Argument.FieldOverride.Scale set value [8f,50f] - data modify storage api: Argument.FieldOverride.Interpolation set value 10 - data modify storage api: Argument.FieldOverride.Tick set value 50 - execute positioned ^ ^0.1 ^ rotated ~ 0 run function api:object/summon + data modify storage api: Argument.FieldOverride.TextColor set value "#ffcf80" + data modify storage api: Argument.FieldOverride.Scale set value [12f, 12f, 0.05f] + data modify storage api: Argument.FieldOverride.Tick set value 100 + execute rotated ~ 0 positioned ~ ~0.1 ~ run function api:object/summon diff --git a/Asset/data/asset/functions/object/2271.moving_circle_damage_area/_index.d.mcfunction b/Asset/data/asset/functions/object/2271.moving_circle_damage_area/_index.d.mcfunction new file mode 100644 index 0000000000..673468c00d --- /dev/null +++ b/Asset/data/asset/functions/object/2271.moving_circle_damage_area/_index.d.mcfunction @@ -0,0 +1,6 @@ +#> asset:object/2271.moving_circle_damage_area/_index.d +# @private + +#> tag +# @within function asset:object/2271.moving_circle_damage_area/** + #declare \ No newline at end of file diff --git a/Asset/data/asset/functions/object/2271.moving_circle_damage_area/init/.mcfunction b/Asset/data/asset/functions/object/2271.moving_circle_damage_area/init/.mcfunction new file mode 100644 index 0000000000..fd6b23e76a --- /dev/null +++ b/Asset/data/asset/functions/object/2271.moving_circle_damage_area/init/.mcfunction @@ -0,0 +1,21 @@ +#> asset:object/2271.moving_circle_damage_area/init/ +# +# Objectのinit時の処理 +# +# @within asset:object/alias/2271/init + +# 設定項目(FieldOverride) + # Color : 円範囲エフェクトの色。leather_horse_armorの色であるため、16777215が白。 + # TextColor : 矢印エフェクトの色。カラーコードで指定すること + # Scale : エフェクトの大きさ。[5f,5f,0.01f]がデフォルト。 + # Tick : 何Tick後にダメージを与えるかを指定する。ただしこのオブジェクトはあくまでも見た目だけなのでダメージ処理は自前で。 + +# 実行角度に合わせる + tp @s ~ ~ ~ ~ 0 + +# 通常の円範囲を召喚 + data modify storage api: Argument.ID set value 2063 + data modify storage api: Argument.FieldOverride.Color set from storage asset:context this.Color + data modify storage api: Argument.FieldOverride.Scale set from storage asset:context this.Scale + data modify storage api: Argument.FieldOverride.Tick set from storage asset:context this.Tick + execute rotated ~ 0 positioned ~ ~ ~ run function api:object/summon diff --git a/Asset/data/asset/functions/object/2271.moving_circle_damage_area/load.mcfunction b/Asset/data/asset/functions/object/2271.moving_circle_damage_area/load.mcfunction new file mode 100644 index 0000000000..9ddd422477 --- /dev/null +++ b/Asset/data/asset/functions/object/2271.moving_circle_damage_area/load.mcfunction @@ -0,0 +1,9 @@ +#> asset:object/2271.moving_circle_damage_area/load +# +# Objectに利用するスコアボード等の初期化処理 +# +# @within tag/function asset:object/load + +#> 定義類はここに +# @within function asset:object/2271.moving_circle_damage_area/** + # scoreboard objectives add diff --git a/Asset/data/asset/functions/object/2271.moving_circle_damage_area/register.mcfunction b/Asset/data/asset/functions/object/2271.moving_circle_damage_area/register.mcfunction new file mode 100644 index 0000000000..b920691dcf --- /dev/null +++ b/Asset/data/asset/functions/object/2271.moving_circle_damage_area/register.mcfunction @@ -0,0 +1,20 @@ +#> asset:object/2271.moving_circle_damage_area/register +# +# Objectのデータを指定 +# +# @within function asset:object/alias/2271/register + +# 継承(オプション) + # data modify storage asset:object Extends append value + # function asset:object/extends +# 他のObjectに継承されることを許可するか (boolean) (オプション) + # data modify storage asset:object ExtendsSafe set value +# 継承されることを前提とした、抽象的なObjectであるかどうか(boolean) + data modify storage asset:object IsAbstract set value false +# Tickするかどうか(boolean) (オプション) + # data modify storage asset:object IsTicking set value + +# ID (int) + data modify storage asset:object ID set value 2271 +# フィールド(オプション) + # data modify storage asset:object Field.myValue set value \ No newline at end of file diff --git a/Asset/data/asset/functions/object/2271.moving_circle_damage_area/summon/.mcfunction b/Asset/data/asset/functions/object/2271.moving_circle_damage_area/summon/.mcfunction new file mode 100644 index 0000000000..c583e99d1b --- /dev/null +++ b/Asset/data/asset/functions/object/2271.moving_circle_damage_area/summon/.mcfunction @@ -0,0 +1,8 @@ +#> asset:object/2271.moving_circle_damage_area/summon/ +# +# Object召喚処理の呼び出し時に実行されるfunction +# +# @within asset:object/alias/2271/summon + +# 元となるEntityを召喚する + summon text_display ~ ~ ~ {Tags:["ObjectInit"],text_opacity:255,background:16711680,alignment:"right",line_width:210,transformation:[0.0000f,17.0000f,0.0000f,-2.8125f,0.0000f,-0.0000f,1.0000f,0.1250f,6.5000f,-0.0000f,-0.0000f,3.8125f,0.0000f,0.0000f,0.0000f,1.0000f]} diff --git a/Asset/data/asset/functions/object/2271.moving_circle_damage_area/summon/debug.mcfunction b/Asset/data/asset/functions/object/2271.moving_circle_damage_area/summon/debug.mcfunction new file mode 100644 index 0000000000..f71f85abe2 --- /dev/null +++ b/Asset/data/asset/functions/object/2271.moving_circle_damage_area/summon/debug.mcfunction @@ -0,0 +1,10 @@ +#> asset:object/2271.moving_circle_damage_area/summon/debug +# +# 動作チェック用の召喚処理 使い終わったら消してもいいかも +# +# @user +# @private + +# 召喚 + data modify storage api: Argument.ID set value 2271 + function api:object/summon \ No newline at end of file diff --git a/Asset/data/asset/functions/object/2271.moving_circle_damage_area/summon/m.mcfunction b/Asset/data/asset/functions/object/2271.moving_circle_damage_area/summon/m.mcfunction new file mode 100644 index 0000000000..938b5d18eb --- /dev/null +++ b/Asset/data/asset/functions/object/2271.moving_circle_damage_area/summon/m.mcfunction @@ -0,0 +1,8 @@ +#> asset:object/2271.moving_circle_damage_area/summon/m +# +# Object召喚処理の呼び出し時に実行されるfunction +# +# @within asset:object/2271.moving_circle_damage_area/summon/ + +# 元となるEntityを召喚する + summon text_display ~ ~ ~ {Tags:["ObjectInit"],text_opacity:255,background:16711680,alignment:"right",line_width:210,transformation:[0.0000f,17.0000f,0.0000f,-2.8125f,0.0000f,-0.0000f,1.0000f,0.1250f,6.5000f,-0.0000f,-0.0000f,3.8125f,0.0000f,0.0000f,0.0000f,1.0000f]} diff --git a/Asset/data/asset/functions/object/2271.moving_circle_damage_area/tick/.mcfunction b/Asset/data/asset/functions/object/2271.moving_circle_damage_area/tick/.mcfunction new file mode 100644 index 0000000000..136db703bb --- /dev/null +++ b/Asset/data/asset/functions/object/2271.moving_circle_damage_area/tick/.mcfunction @@ -0,0 +1,14 @@ +#> asset:object/2271.moving_circle_damage_area/tick/ +# +# Objectのtick時の処理 +# +# @within asset:object/alias/2271/tick + +# Tick加算 + scoreboard players add @s General.Object.Tick 1 + +# チカチカ + function asset:object/2271.moving_circle_damage_area/tick/effect with storage asset:context this + +# 消滅処理 + kill @s[scores={General.Object.Tick=100..}] diff --git a/Asset/data/asset/functions/object/2271.moving_circle_damage_area/tick/effect.mcfunction b/Asset/data/asset/functions/object/2271.moving_circle_damage_area/tick/effect.mcfunction new file mode 100644 index 0000000000..ee8c8ea678 --- /dev/null +++ b/Asset/data/asset/functions/object/2271.moving_circle_damage_area/tick/effect.mcfunction @@ -0,0 +1,19 @@ +#> asset:object/2271.moving_circle_damage_area/tick/effect +# +# +# +# @within function asset:object/2271.moving_circle_damage_area/tick/ + +# 計算 + scoreboard players operation $Interval Temporary = @s General.Object.Tick + scoreboard players operation $Interval Temporary %= $23 Const + +# 予告線表示 + $execute if score $Interval Temporary matches 1 run data modify entity @s text set value '[{"text":">>","color":"$(TextColor)","bold":true}]' + $execute if score $Interval Temporary matches 3 run data modify entity @s text set value '[{"text":">","color":"#BF874E","bold":true},{"text":">","color":"$(TextColor)","bold":true}]' + execute if score $Interval Temporary matches 5 run data modify entity @s text set value '[{"text":">","color":"#BF874E","bold":true},{"text":">","color":"#BF874E","bold":true}]' + $execute if score $Interval Temporary matches 20 run data modify entity @s text set value '[{"text":">","color":"$(TextColor)","bold":true},{"text":">","color":"#BF874E","bold":true}]' + $execute if score $Interval Temporary matches 22 run data modify entity @s text set value '[{"text":">>","color":"$(TextColor)","bold":true}]' + +# 終了 + scoreboard players reset $Interval Temporary diff --git a/Asset/data/asset/functions/object/alias/2271/init.mcfunction b/Asset/data/asset/functions/object/alias/2271/init.mcfunction new file mode 100644 index 0000000000..b3dac5dd6e --- /dev/null +++ b/Asset/data/asset/functions/object/alias/2271/init.mcfunction @@ -0,0 +1,8 @@ +#> asset:object/alias/2271/init +# +# Init処理のエイリアス +# +# @within asset_manager:object/init/init.m + +# 元のInit処理を呼び出す + function asset:object/2271.moving_circle_damage_area/init/ \ No newline at end of file diff --git a/Asset/data/asset/functions/object/alias/2271/register.mcfunction b/Asset/data/asset/functions/object/alias/2271/register.mcfunction new file mode 100644 index 0000000000..b5a65b4f6f --- /dev/null +++ b/Asset/data/asset/functions/object/alias/2271/register.mcfunction @@ -0,0 +1,8 @@ +#> asset:object/alias/2271/register +# +# Objectのデータ指定処理のエイリアス +# +# @within asset_manager:object/summon/register.m + +# 元の登録処理を呼び出す + function asset:object/2271.moving_circle_damage_area/register \ No newline at end of file diff --git a/Asset/data/asset/functions/object/alias/2271/summon.mcfunction b/Asset/data/asset/functions/object/alias/2271/summon.mcfunction new file mode 100644 index 0000000000..667a73ebf9 --- /dev/null +++ b/Asset/data/asset/functions/object/alias/2271/summon.mcfunction @@ -0,0 +1,8 @@ +#> asset:object/alias/2271/summon +# +# Object召喚処理のエイリアス +# +# @within asset_manager:object/summon/summon.m + +# 元の召喚処理を呼び出す + function asset:object/2271.moving_circle_damage_area/summon/ \ No newline at end of file diff --git a/Asset/data/asset/functions/object/alias/2271/tick.mcfunction b/Asset/data/asset/functions/object/alias/2271/tick.mcfunction new file mode 100644 index 0000000000..8f223c2717 --- /dev/null +++ b/Asset/data/asset/functions/object/alias/2271/tick.mcfunction @@ -0,0 +1,8 @@ +#> asset:object/alias/2271/tick +# +# Tick時処理のエイリアス +# +# @within asset_manager:object/tick/tick.m + +# 元のTick処理を呼び出す + function asset:object/2271.moving_circle_damage_area/tick/ \ No newline at end of file diff --git a/Asset/data/asset/tags/functions/object/load.json b/Asset/data/asset/tags/functions/object/load.json index 8985bd936d..181552b3bd 100644 --- a/Asset/data/asset/tags/functions/object/load.json +++ b/Asset/data/asset/tags/functions/object/load.json @@ -1,5 +1,6 @@ { "values": [ + "asset:object/2271.moving_circle_damage_area/load", "asset:object/2270.yeeter_tnt/load", "asset:object/2261.gem_yeeter_drone/load", "asset:object/2260.gem_attack_drone/load", From eea7cbf335751eafb9ccd6d170063fb175417a26 Mon Sep 17 00:00:00 2001 From: mokkkk Date: Fri, 6 Mar 2026 16:28:40 +0900 Subject: [PATCH 33/98] =?UTF-8?q?=E3=83=AD=E3=82=B1=E3=83=83=E3=83=88?= =?UTF-8?q?=E3=83=91=E3=83=B3=E3=83=81=E5=8B=95=E4=BD=9C=E4=BD=9C=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../2269.gem_rocket_punch/_index.d.mcfunction | 6 ++++ .../2269.gem_rocket_punch/init/.mcfunction | 8 +++++ .../2269.gem_rocket_punch/load.mcfunction | 9 +++++ .../2269.gem_rocket_punch/register.mcfunction | 20 +++++++++++ .../2269.gem_rocket_punch/summon/.mcfunction | 8 +++++ .../summon/debug.mcfunction | 10 ++++++ .../2269.gem_rocket_punch/tick/.mcfunction | 36 +++++++++++++++++++ .../object/alias/2269/init.mcfunction | 8 +++++ .../object/alias/2269/register.mcfunction | 8 +++++ .../object/alias/2269/summon.mcfunction | 8 +++++ .../object/alias/2269/tick.mcfunction | 8 +++++ .../asset/tags/functions/object/load.json | 1 + 12 files changed, 130 insertions(+) create mode 100644 Asset/data/asset/functions/object/2269.gem_rocket_punch/_index.d.mcfunction create mode 100644 Asset/data/asset/functions/object/2269.gem_rocket_punch/init/.mcfunction create mode 100644 Asset/data/asset/functions/object/2269.gem_rocket_punch/load.mcfunction create mode 100644 Asset/data/asset/functions/object/2269.gem_rocket_punch/register.mcfunction create mode 100644 Asset/data/asset/functions/object/2269.gem_rocket_punch/summon/.mcfunction create mode 100644 Asset/data/asset/functions/object/2269.gem_rocket_punch/summon/debug.mcfunction create mode 100644 Asset/data/asset/functions/object/2269.gem_rocket_punch/tick/.mcfunction create mode 100644 Asset/data/asset/functions/object/alias/2269/init.mcfunction create mode 100644 Asset/data/asset/functions/object/alias/2269/register.mcfunction create mode 100644 Asset/data/asset/functions/object/alias/2269/summon.mcfunction create mode 100644 Asset/data/asset/functions/object/alias/2269/tick.mcfunction diff --git a/Asset/data/asset/functions/object/2269.gem_rocket_punch/_index.d.mcfunction b/Asset/data/asset/functions/object/2269.gem_rocket_punch/_index.d.mcfunction new file mode 100644 index 0000000000..42d2b12873 --- /dev/null +++ b/Asset/data/asset/functions/object/2269.gem_rocket_punch/_index.d.mcfunction @@ -0,0 +1,6 @@ +#> asset:object/2269.gem_rocket_punch/_index.d +# @private + +#> tag +# @within function asset:object/2269.gem_rocket_punch/** + #declare \ No newline at end of file diff --git a/Asset/data/asset/functions/object/2269.gem_rocket_punch/init/.mcfunction b/Asset/data/asset/functions/object/2269.gem_rocket_punch/init/.mcfunction new file mode 100644 index 0000000000..76482602d9 --- /dev/null +++ b/Asset/data/asset/functions/object/2269.gem_rocket_punch/init/.mcfunction @@ -0,0 +1,8 @@ +#> asset:object/2269.gem_rocket_punch/init/ +# +# Objectのinit時の処理 +# +# @within asset:object/alias/2269/init + +# 角度を合わせる + tp @s ~ ~ ~ ~ 90 diff --git a/Asset/data/asset/functions/object/2269.gem_rocket_punch/load.mcfunction b/Asset/data/asset/functions/object/2269.gem_rocket_punch/load.mcfunction new file mode 100644 index 0000000000..bf64c2feb2 --- /dev/null +++ b/Asset/data/asset/functions/object/2269.gem_rocket_punch/load.mcfunction @@ -0,0 +1,9 @@ +#> asset:object/2269.gem_rocket_punch/load +# +# Objectに利用するスコアボード等の初期化処理 +# +# @within tag/function asset:object/load + +#> 定義類はここに +# @within function asset:object/2269.gem_rocket_punch/** + scoreboard objectives add \ No newline at end of file diff --git a/Asset/data/asset/functions/object/2269.gem_rocket_punch/register.mcfunction b/Asset/data/asset/functions/object/2269.gem_rocket_punch/register.mcfunction new file mode 100644 index 0000000000..2b3abfc208 --- /dev/null +++ b/Asset/data/asset/functions/object/2269.gem_rocket_punch/register.mcfunction @@ -0,0 +1,20 @@ +#> asset:object/2269.gem_rocket_punch/register +# +# Objectのデータを指定 +# +# @within function asset:object/alias/2269/register + +# 継承(オプション) + # data modify storage asset:object Extends append value + # function asset:object/extends +# 他のObjectに継承されることを許可するか (boolean) (オプション) + # data modify storage asset:object ExtendsSafe set value +# 継承されることを前提とした、抽象的なObjectであるかどうか(boolean) + data modify storage asset:object IsAbstract set value false +# Tickするかどうか(boolean) (オプション) + # data modify storage asset:object IsTicking set value + +# ID (int) + data modify storage asset:object ID set value 2269 +# フィールド(オプション) + # data modify storage asset:object Field.myValue set value \ No newline at end of file diff --git a/Asset/data/asset/functions/object/2269.gem_rocket_punch/summon/.mcfunction b/Asset/data/asset/functions/object/2269.gem_rocket_punch/summon/.mcfunction new file mode 100644 index 0000000000..994ee6d3bc --- /dev/null +++ b/Asset/data/asset/functions/object/2269.gem_rocket_punch/summon/.mcfunction @@ -0,0 +1,8 @@ +#> asset:object/2269.gem_rocket_punch/summon/ +# +# Object召喚処理の呼び出し時に実行されるfunction +# +# @within asset:object/alias/2269/summon + +# 元となるEntityを召喚する + summon item_display ~ ~ ~ {brightness:{sky:15,block:15},Tags:["ObjectInit","CO.Object"],interpolation_duration:3,teleport_duration:1,item:{id:"stick",Count:1b,tag:{CustomModelData:20589}},transformation:{left_rotation:[0.0f,0.0f,0.0f,1.0f],right_rotation:[0.0f,0.0f,0.0f,1.0f],translation:[0.0f,0.0f,0.0f],scale:[0.0f,0.0f,0.0f]}} diff --git a/Asset/data/asset/functions/object/2269.gem_rocket_punch/summon/debug.mcfunction b/Asset/data/asset/functions/object/2269.gem_rocket_punch/summon/debug.mcfunction new file mode 100644 index 0000000000..6a2b31119f --- /dev/null +++ b/Asset/data/asset/functions/object/2269.gem_rocket_punch/summon/debug.mcfunction @@ -0,0 +1,10 @@ +#> asset:object/2269.gem_rocket_punch/summon/debug +# +# 動作チェック用の召喚処理 使い終わったら消してもいいかも +# +# @user +# @private + +# 召喚 + data modify storage api: Argument.ID set value 2269 + function api:object/summon \ No newline at end of file diff --git a/Asset/data/asset/functions/object/2269.gem_rocket_punch/tick/.mcfunction b/Asset/data/asset/functions/object/2269.gem_rocket_punch/tick/.mcfunction new file mode 100644 index 0000000000..7e574dbb74 --- /dev/null +++ b/Asset/data/asset/functions/object/2269.gem_rocket_punch/tick/.mcfunction @@ -0,0 +1,36 @@ +#> asset:object/2269.gem_rocket_punch/tick/ +# +# Objectのtick時の処理 +# +# @within asset:object/alias/2269/tick + +# Tick加算 + scoreboard players add @s General.Object.Tick 1 + +# 出現処理 + execute if score @s General.Object.Tick matches 1 run tp @s ^ ^-10 ^-48.5 + execute if score @s General.Object.Tick matches 3 run data modify entity @s start_interpolation set value -1 + execute if score @s General.Object.Tick matches 3 run data modify entity @s transformation.scale set value [8.0f,8.0f,8.0f] + execute if score @s General.Object.Tick matches 3..20 run tp @s ^ ^ ^3 + execute if score @s General.Object.Tick matches 21..25 run tp @s ^ ^ ^1 ~ ~-25 + execute if score @s General.Object.Tick matches 26..30 run tp @s ^ ^ ^1 ~ ~-15 + execute if score @s General.Object.Tick matches 31..34 run tp @s ^ ^ ^0.5 ~ ~3 + execute if score @s General.Object.Tick matches 35..46 run tp @s ^ ^ ^0.3 ~ ~7 + execute if score @s General.Object.Tick matches 47 run tp @s ^ ^ ^ ~ 0 + +# 移動 + execute if score @s General.Object.Tick matches 109 run tp @s ~ ~0.1 ~ ~ ~-4 + execute if score @s General.Object.Tick matches 110 run tp @s ~ ~-0.2 ~ ~ ~8 + execute if score @s General.Object.Tick matches 111 run tp @s ~ ~0.1 ~ ~ ~-4 + execute if score @s General.Object.Tick matches 109..122 at @s run tp @s ^ ^0.05 ^-0.05 + execute if score @s General.Object.Tick matches 133..136 at @s run tp @s ~ ~ ~ ~ ~1 + execute if score @s General.Object.Tick matches 140..145 at @s run tp @s ~ ~ ~ ~ ~-1 + execute if score @s General.Object.Tick matches 146.. at @s run tp @s ~ ~ ~ ~ ~-7 + execute if score @s General.Object.Tick matches 133.. at @s run tp @s ^ ^ ^4 + execute if score @s General.Object.Tick matches 133.. run particle soul_fire_flame ~ ~ ~ 0.1 0.1 0.1 0.05 3 + execute if score @s General.Object.Tick matches 133.. run particle cloud ~ ~ ~ 0.1 0.1 0.1 0.05 3 + +# 消滅処理 + execute if score @s General.Object.Tick matches 167 run data modify entity @s start_interpolation set value -1 + execute if score @s General.Object.Tick matches 167 run data modify entity @s transformation.scale set value [0.0f,0.0f,0.0f] + kill @s[scores={General.Object.Tick=170..}] diff --git a/Asset/data/asset/functions/object/alias/2269/init.mcfunction b/Asset/data/asset/functions/object/alias/2269/init.mcfunction new file mode 100644 index 0000000000..a61f52c063 --- /dev/null +++ b/Asset/data/asset/functions/object/alias/2269/init.mcfunction @@ -0,0 +1,8 @@ +#> asset:object/alias/2269/init +# +# Init処理のエイリアス +# +# @within asset_manager:object/init/init.m + +# 元のInit処理を呼び出す + function asset:object/2269.gem_rocket_punch/init/ \ No newline at end of file diff --git a/Asset/data/asset/functions/object/alias/2269/register.mcfunction b/Asset/data/asset/functions/object/alias/2269/register.mcfunction new file mode 100644 index 0000000000..97bcb9a7c2 --- /dev/null +++ b/Asset/data/asset/functions/object/alias/2269/register.mcfunction @@ -0,0 +1,8 @@ +#> asset:object/alias/2269/register +# +# Objectのデータ指定処理のエイリアス +# +# @within asset_manager:object/summon/register.m + +# 元の登録処理を呼び出す + function asset:object/2269.gem_rocket_punch/register \ No newline at end of file diff --git a/Asset/data/asset/functions/object/alias/2269/summon.mcfunction b/Asset/data/asset/functions/object/alias/2269/summon.mcfunction new file mode 100644 index 0000000000..e864b5fb1c --- /dev/null +++ b/Asset/data/asset/functions/object/alias/2269/summon.mcfunction @@ -0,0 +1,8 @@ +#> asset:object/alias/2269/summon +# +# Object召喚処理のエイリアス +# +# @within asset_manager:object/summon/summon.m + +# 元の召喚処理を呼び出す + function asset:object/2269.gem_rocket_punch/summon/ \ No newline at end of file diff --git a/Asset/data/asset/functions/object/alias/2269/tick.mcfunction b/Asset/data/asset/functions/object/alias/2269/tick.mcfunction new file mode 100644 index 0000000000..a088fcc079 --- /dev/null +++ b/Asset/data/asset/functions/object/alias/2269/tick.mcfunction @@ -0,0 +1,8 @@ +#> asset:object/alias/2269/tick +# +# Tick時処理のエイリアス +# +# @within asset_manager:object/tick/tick.m + +# 元のTick処理を呼び出す + function asset:object/2269.gem_rocket_punch/tick/ \ No newline at end of file diff --git a/Asset/data/asset/tags/functions/object/load.json b/Asset/data/asset/tags/functions/object/load.json index 181552b3bd..4e5e027541 100644 --- a/Asset/data/asset/tags/functions/object/load.json +++ b/Asset/data/asset/tags/functions/object/load.json @@ -1,5 +1,6 @@ { "values": [ + "asset:object/2269.gem_rocket_punch/load", "asset:object/2271.moving_circle_damage_area/load", "asset:object/2270.yeeter_tnt/load", "asset:object/2261.gem_yeeter_drone/load", From 56da6876d99261521f07fcc3dd0f87cff07398c5 Mon Sep 17 00:00:00 2001 From: mokkkk Date: Fri, 6 Mar 2026 16:43:13 +0900 Subject: [PATCH 34/98] =?UTF-8?q?2=E9=80=A3=E5=8F=A9=E3=81=8D=E3=81=A4?= =?UTF-8?q?=E3=81=91=E5=AE=9F=E8=A3=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../0456.gargo_ex_machina/_index.d.mcfunction | 3 +- .../tick/debug/interrupt.mcfunction | 2 +- .../tick/event/.mcfunction | 1 + .../sword_attack/attack_double.mcfunction | 40 +++++++++++++ .../sword_attack/attack_effect.mcfunction | 1 + .../attack_effect_line.mcfunction | 1 + .../attack_effect_line_double.m.mcfunction | 13 +++++ .../tick/event/sword_attack/end.mcfunction | 2 + .../sword_attack/event_attack.mcfunction | 3 + .../event_attack_double.mcfunction | 36 ++++++++++++ .../sword_attack/prediction_double.mcfunction | 57 +++++++++++++++++++ .../sword_attack/start_double.mcfunction | 10 ++++ 12 files changed, 167 insertions(+), 2 deletions(-) create mode 100644 Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/sword_attack/attack_double.mcfunction create mode 100644 Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/sword_attack/attack_effect_line_double.m.mcfunction create mode 100644 Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/sword_attack/event_attack_double.mcfunction create mode 100644 Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/sword_attack/prediction_double.mcfunction create mode 100644 Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/sword_attack/start_double.mcfunction diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/_index.d.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/_index.d.mcfunction index b44556a96d..1e3cbd46ca 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/_index.d.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/_index.d.mcfunction @@ -16,6 +16,7 @@ #declare tag CO.Skill.SwordAttack 剣叩きつけ #declare tag CO.Skill.SwordAttack.Charge 剣叩きつけ #declare tag CO.Skill.SwordAttack.Attack 剣叩きつけ + #declare tag CO.Skill.SwordAttack.Double 剣叩きつけ #declare tag CO.Skill.HalfBeam 半面焼きビーム #declare tag CO.Skill.HalfBeam.Charge 半面焼きビーム #declare tag CO.Skill.HalfBeam.Attack 半面焼きビーム @@ -78,6 +79,7 @@ #declare function animated_java:gargo_ex_machina/animations/sword_smash_attack/tween #declare function animated_java:gargo_ex_machina/animations/sword_smash_attack/pause #declare function animated_java:gargo_ex_machina/animations/sword_smash_attack/resume + #declare function animated_java:gargo_ex_machina/animations/sword_smash_attack_double/tween #declare function animated_java:gargo_ex_machina/animations/beam_start/tween #declare function animated_java:gargo_ex_machina/animations/beam_charge/tween #declare function animated_java:gargo_ex_machina/animations/beam_attack_right/tween @@ -109,5 +111,4 @@ #declare function #declare function #declare function - #declare function #declare function animated_java:gargo_ex_machina/remove/all diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/debug/interrupt.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/debug/interrupt.mcfunction index ac2e6e72fd..264dadd331 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/debug/interrupt.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/debug/interrupt.mcfunction @@ -18,4 +18,4 @@ # execute at @s run tp @e[type=item_display,tag=CO.ModelRoot] ~ ~ ~ ~ 0 # イベント実行 - tag @s add CO.Skill.BluteForce + tag @s add CO.Skill.SwordAttack diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/.mcfunction index a9c4db905c..d63381eab5 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/.mcfunction @@ -19,6 +19,7 @@ execute if entity @s[tag=CO.Skill.SwordAttack] run function asset:mob/0456.gargo_ex_machina/tick/event/sword_attack/event_start execute if entity @s[tag=CO.Skill.SwordAttack.Charge] run function asset:mob/0456.gargo_ex_machina/tick/event/sword_attack/event_charging execute if entity @s[tag=CO.Skill.SwordAttack.Attack] run function asset:mob/0456.gargo_ex_machina/tick/event/sword_attack/event_attack + execute if entity @s[tag=CO.Skill.SwordAttack.Double] run function asset:mob/0456.gargo_ex_machina/tick/event/sword_attack/event_attack_double # 半面焼きビーム execute if entity @s[tag=CO.Skill.HalfBeam] run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam/event_start diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/sword_attack/attack_double.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/sword_attack/attack_double.mcfunction new file mode 100644 index 0000000000..7cd996c35e --- /dev/null +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/sword_attack/attack_double.mcfunction @@ -0,0 +1,40 @@ +#> asset:mob/0456.gargo_ex_machina/tick/event/sword_attack/attack_double +# +# 剣叩きつけ +# +# @within asset:mob/0456.gargo_ex_machina/tick/event/sword_attack/event_attack_double + +# ヒット判定 + # 円範囲 + tag @a[distance=..10] add DXYZ + # 直線範囲 + tag @a[tag=DXYZ] remove DXYZ + data modify storage lib: args.dx set value 4 + data modify storage lib: args.dy set value 5 + data modify storage lib: args.dz set value 50 + data modify storage lib: args.selector set value "@a[tag=!PlayerShouldInvulnerable,distance=..50]" + execute rotated ~30 0 run function lib:rotatable_dxyz/m with storage lib: args + data modify storage lib: args.dx set value 4 + data modify storage lib: args.dy set value 5 + data modify storage lib: args.dz set value 50 + data modify storage lib: args.selector set value "@a[tag=!PlayerShouldInvulnerable,distance=..50]" + execute rotated ~90 0 run function lib:rotatable_dxyz/m with storage lib: args + data modify storage lib: args.dx set value 4 + data modify storage lib: args.dy set value 5 + data modify storage lib: args.dz set value 50 + data modify storage lib: args.selector set value "@a[tag=!PlayerShouldInvulnerable,distance=..50]" + execute rotated ~150 0 run function lib:rotatable_dxyz/m with storage lib: args + +# ダメージ + data modify storage api: Argument.Damage set from storage asset:context this.Damage.SwordAttack.Amount + data modify storage api: Argument.AttackType set from storage asset:context this.Damage.SwordAttack.Type + data modify storage api: Argument.ElementType set from storage asset:context this.Damage.SwordAttack.Element + function api:damage/modifier + execute as @a[tag=DXYZ] run function api:damage/ + function api:damage/reset + +# 演出 + function asset:mob/0456.gargo_ex_machina/tick/event/sword_attack/attack_effect + +# 終了 + tag @a[tag=DXYZ] remove DXYZ diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/sword_attack/attack_effect.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/sword_attack/attack_effect.mcfunction index 3ab00d185f..f76e17c0cb 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/sword_attack/attack_effect.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/sword_attack/attack_effect.mcfunction @@ -3,6 +3,7 @@ # 剣叩きつけ # # @within asset:mob/0456.gargo_ex_machina/tick/event/sword_attack/attack +# @within asset:mob/0456.gargo_ex_machina/tick/event/sword_attack/attack_double # 効果音 playsound entity.generic.explode hostile @a ~ ~ ~ 2 0.5 diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/sword_attack/attack_effect_line.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/sword_attack/attack_effect_line.mcfunction index bf7ac29c0f..58afa46e30 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/sword_attack/attack_effect_line.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/sword_attack/attack_effect_line.mcfunction @@ -3,6 +3,7 @@ # 剣叩きつけ # # @within asset:mob/0456.gargo_ex_machina/tick/event/sword_attack/attack_effect_line.m +# @within asset:mob/0456.gargo_ex_machina/tick/event/sword_attack/attack_effect_line_double.m # パーティクル # [ImportKey]: NobwRALgngDgpmAXGANgSwHYIDRgK55oAmSYATAOxEAcAbACwBmFAtAMa1Uv0CsAzERYAjWgAZGLHkICMAQwCc1PrOrSOYXBlkBbBMkBbvgAJpGsDFkAnHQGck4NgHs8GCEmk9cjCw+12wAN1kUPD1wAA8kUVwoSIBfWNwIBz9A4NCwCMQosBjEd3jcB0ZGazhXLNwhOAAvNDgLSNw0awAhGrqLAFEARzwglCgAZXM2OBJERiDS+IBdIA_3 diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/sword_attack/attack_effect_line_double.m.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/sword_attack/attack_effect_line_double.m.mcfunction new file mode 100644 index 0000000000..f837afe28f --- /dev/null +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/sword_attack/attack_effect_line_double.m.mcfunction @@ -0,0 +1,13 @@ +#> asset:mob/0456.gargo_ex_machina/tick/event/sword_attack/attack_effect_line_double.m +# +# 剣叩きつけ +# +# @within asset:mob/0456.gargo_ex_machina/tick/event/sword_attack/event_attack_double + +# パーティクル + $execute rotated ~30 ~ positioned ^ ^ ^$(Dist) run function asset:mob/0456.gargo_ex_machina/tick/event/sword_attack/attack_effect_line + $execute rotated ~90 ~ positioned ^ ^ ^$(Dist) run function asset:mob/0456.gargo_ex_machina/tick/event/sword_attack/attack_effect_line + $execute rotated ~-30 ~ positioned ^ ^ ^$(Dist) run function asset:mob/0456.gargo_ex_machina/tick/event/sword_attack/attack_effect_line + $execute rotated ~-90 ~ positioned ^ ^ ^$(Dist) run function asset:mob/0456.gargo_ex_machina/tick/event/sword_attack/attack_effect_line + $execute rotated ~150 ~ positioned ^ ^ ^$(Dist) run function asset:mob/0456.gargo_ex_machina/tick/event/sword_attack/attack_effect_line + $execute rotated ~-150 ~ positioned ^ ^ ^$(Dist) run function asset:mob/0456.gargo_ex_machina/tick/event/sword_attack/attack_effect_line diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/sword_attack/end.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/sword_attack/end.mcfunction index 9a062b566b..d3bc918809 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/sword_attack/end.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/sword_attack/end.mcfunction @@ -3,10 +3,12 @@ # 剣叩きつけ # # @within asset:mob/0456.gargo_ex_machina/tick/event/sword_attack/event_attack +# @within asset:mob/0456.gargo_ex_machina/tick/event/sword_attack/event_attack_double # タグ消去 scoreboard players set @s CO.EventTimer 0 tag @s remove CO.Skill.SwordAttack.Attack + tag @s remove CO.Skill.SwordAttack.Double # 待機モーション再生 execute as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run function animated_java:gargo_ex_machina/animations/idle/tween {duration:1, to_frame: 1} diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/sword_attack/event_attack.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/sword_attack/event_attack.mcfunction index 24daedc15c..77eedffab0 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/sword_attack/event_attack.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/sword_attack/event_attack.mcfunction @@ -32,5 +32,8 @@ execute if score @s CO.EventTimer matches 22 as @a[distance=..80] at @s run tp @s ~ ~ ~ ~ ~3 execute if score @s CO.EventTimer matches 23 as @a[distance=..80] at @s run tp @s ~ ~ ~ ~ ~-1 +# 2連叩きつけに遷移 + execute if score @s CO.EventTimer matches 30 run function asset:mob/0456.gargo_ex_machina/tick/event/sword_attack/start_double + # 終了 execute if score @s CO.EventTimer matches 95.. run function asset:mob/0456.gargo_ex_machina/tick/event/sword_attack/end diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/sword_attack/event_attack_double.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/sword_attack/event_attack_double.mcfunction new file mode 100644 index 0000000000..4c7c4edf21 --- /dev/null +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/sword_attack/event_attack_double.mcfunction @@ -0,0 +1,36 @@ +#> asset:mob/0456.gargo_ex_machina/tick/event/sword_attack/event_attack_double +# +# 剣叩きつけ +# +# @within asset:mob/0456.gargo_ex_machina/tick/event/ + +# タイマー増加 + scoreboard players add @s CO.EventTimer 1 + +# 攻撃 + # アニメーション再生 + execute if score @s CO.EventTimer matches 1 as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run function animated_java:gargo_ex_machina/animations/sword_smash_attack_double/tween {duration:1, to_frame: 1} + # 効果音 + execute if score @s CO.EventTimer matches 1 run function asset:mob/0456.gargo_ex_machina/tick/util/sound + execute if score @s CO.EventTimer matches 76 run function asset:mob/0456.gargo_ex_machina/tick/util/sound + execute if score @s CO.EventTimer matches 113 run function asset:mob/0456.gargo_ex_machina/tick/util/sound + # 予告 + execute if score @s CO.EventTimer matches 20 positioned ^ ^ ^25 run function asset:mob/0456.gargo_ex_machina/tick/event/sword_attack/prediction_double + # 攻撃 + execute if score @s CO.EventTimer matches 40 positioned ^ ^ ^25 run function asset:mob/0456.gargo_ex_machina/tick/event/sword_attack/attack_double + # 攻撃演出 + execute if score @s CO.EventTimer matches 42 positioned ^ ^ ^25 positioned as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run playsound entity.breeze.shoot hostile @a ~ ~ ~ 2 0.9 + execute if score @s CO.EventTimer matches 42 positioned ^ ^ ^25 run function asset:mob/0456.gargo_ex_machina/tick/event/sword_attack/attack_effect_line_double.m {Dist:0} + execute if score @s CO.EventTimer matches 44 positioned ^ ^ ^25 run function asset:mob/0456.gargo_ex_machina/tick/event/sword_attack/attack_effect_line_double.m {Dist:15} + execute if score @s CO.EventTimer matches 46 positioned ^ ^ ^25 run function asset:mob/0456.gargo_ex_machina/tick/event/sword_attack/attack_effect_line_double.m {Dist:30} + execute if score @s CO.EventTimer matches 42 as @a[distance=..80] at @s run tp @s ~ ~ ~ ~ ~2 + execute if score @s CO.EventTimer matches 43 as @a[distance=..80] at @s run tp @s ~ ~ ~ ~ ~-4 + execute if score @s CO.EventTimer matches 44 as @a[distance=..80] at @s run tp @s ~ ~ ~ ~ ~4 + execute if score @s CO.EventTimer matches 45 as @a[distance=..80] at @s run tp @s ~ ~ ~ ~ ~-4 + execute if score @s CO.EventTimer matches 46 as @a[distance=..80] at @s run tp @s ~ ~ ~ ~ ~3 + execute if score @s CO.EventTimer matches 47 as @a[distance=..80] at @s run tp @s ~ ~ ~ ~ ~-3 + execute if score @s CO.EventTimer matches 48 as @a[distance=..80] at @s run tp @s ~ ~ ~ ~ ~3 + execute if score @s CO.EventTimer matches 49 as @a[distance=..80] at @s run tp @s ~ ~ ~ ~ ~-1 + +# 終了 + execute if score @s CO.EventTimer matches 114.. run function asset:mob/0456.gargo_ex_machina/tick/event/sword_attack/end diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/sword_attack/prediction_double.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/sword_attack/prediction_double.mcfunction new file mode 100644 index 0000000000..50e63af65d --- /dev/null +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/sword_attack/prediction_double.mcfunction @@ -0,0 +1,57 @@ +#> asset:mob/0456.gargo_ex_machina/tick/event/sword_attack/prediction_double +# +# 剣叩きつけ +# +# @within asset:mob/0456.gargo_ex_machina/tick/event/sword_attack/event_attack_double + +# 予告:円範囲 + data modify storage api: Argument.ID set value 2063 + execute store result storage api: Argument.FieldOverride.MobUUID int 1 run scoreboard players get @s MobUUID + data modify storage api: Argument.FieldOverride.Color set value 3381759 + data modify storage api: Argument.FieldOverride.Scale set value [20f, 20f, 0.05f] + data modify storage api: Argument.FieldOverride.Tick set value 20 + execute positioned ^ ^0.2 ^ rotated ~ 0 run function api:object/summon + +# 予告 + data modify storage api: Argument.ID set value 2113 + data modify storage api: Argument.FieldOverride.RotationX set from entity @s Rotation[0] + data modify storage api: Argument.FieldOverride.Color set value 3381759 + data modify storage api: Argument.FieldOverride.Scale set value [8f,50f] + data modify storage api: Argument.FieldOverride.Interpolation set value 10 + data modify storage api: Argument.FieldOverride.Tick set value 20 + execute positioned ^ ^0.1 ^ rotated ~30 0 run function api:object/summon + data modify storage api: Argument.ID set value 2113 + data modify storage api: Argument.FieldOverride.RotationX set from entity @s Rotation[0] + data modify storage api: Argument.FieldOverride.Color set value 3381759 + data modify storage api: Argument.FieldOverride.Scale set value [8f,50f] + data modify storage api: Argument.FieldOverride.Interpolation set value 10 + data modify storage api: Argument.FieldOverride.Tick set value 20 + execute positioned ^ ^0.1 ^ rotated ~-30 0 run function api:object/summon + data modify storage api: Argument.ID set value 2113 + data modify storage api: Argument.FieldOverride.RotationX set from entity @s Rotation[0] + data modify storage api: Argument.FieldOverride.Color set value 3381759 + data modify storage api: Argument.FieldOverride.Scale set value [8f,50f] + data modify storage api: Argument.FieldOverride.Interpolation set value 10 + data modify storage api: Argument.FieldOverride.Tick set value 20 + execute positioned ^ ^0.1 ^ rotated ~90 0 run function api:object/summon + data modify storage api: Argument.ID set value 2113 + data modify storage api: Argument.FieldOverride.RotationX set from entity @s Rotation[0] + data modify storage api: Argument.FieldOverride.Color set value 3381759 + data modify storage api: Argument.FieldOverride.Scale set value [8f,50f] + data modify storage api: Argument.FieldOverride.Interpolation set value 10 + data modify storage api: Argument.FieldOverride.Tick set value 20 + execute positioned ^ ^0.1 ^ rotated ~-90 0 run function api:object/summon + data modify storage api: Argument.ID set value 2113 + data modify storage api: Argument.FieldOverride.RotationX set from entity @s Rotation[0] + data modify storage api: Argument.FieldOverride.Color set value 3381759 + data modify storage api: Argument.FieldOverride.Scale set value [8f,50f] + data modify storage api: Argument.FieldOverride.Interpolation set value 10 + data modify storage api: Argument.FieldOverride.Tick set value 20 + execute positioned ^ ^0.1 ^ rotated ~150 0 run function api:object/summon + data modify storage api: Argument.ID set value 2113 + data modify storage api: Argument.FieldOverride.RotationX set from entity @s Rotation[0] + data modify storage api: Argument.FieldOverride.Color set value 3381759 + data modify storage api: Argument.FieldOverride.Scale set value [8f,50f] + data modify storage api: Argument.FieldOverride.Interpolation set value 10 + data modify storage api: Argument.FieldOverride.Tick set value 20 + execute positioned ^ ^0.1 ^ rotated ~-150 0 run function api:object/summon diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/sword_attack/start_double.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/sword_attack/start_double.mcfunction new file mode 100644 index 0000000000..a4eae42c79 --- /dev/null +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/sword_attack/start_double.mcfunction @@ -0,0 +1,10 @@ +#> asset:mob/0456.gargo_ex_machina/tick/event/sword_attack/start_double +# +# 剣叩きつけ +# +# @within asset:mob/0456.gargo_ex_machina/tick/event/sword_attack/event_attack + +# タグ更新 + scoreboard players set @s CO.EventTimer 0 + tag @s remove CO.Skill.SwordAttack.Attack + tag @s add CO.Skill.SwordAttack.Double From 6a6d63707d25f4ad007d65a38c0631d4c306467f Mon Sep 17 00:00:00 2001 From: mokkkk Date: Sat, 7 Mar 2026 17:58:40 +0900 Subject: [PATCH 35/98] =?UTF-8?q?ObjectId=E5=AE=9F=E8=A3=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mob/0456.gargo_ex_machina/load.mcfunction | 6 ++++++ .../tick/debug/interrupt.mcfunction | 2 +- .../summon_attack_drone.m.mcfunction | 1 + .../summon_yeeter_drone.m.mcfunction | 1 + .../tick/util/assing_object_id.mcfunction | 8 ++++++++ .../object/2260.gem_attack_drone/_index.d.mcfunction | 1 + .../object/2260.gem_attack_drone/init/.mcfunction | 5 ++++- .../init/animated_java.mcfunction | 12 ++++++++++++ .../object/2260.gem_attack_drone/tick/.mcfunction | 4 ++-- .../tick/link_model.m.mcfunction | 8 ++++++++ .../object/2261.gem_yeeter_drone/_index.d.mcfunction | 1 + .../object/2261.gem_yeeter_drone/init/.mcfunction | 5 ++++- .../init/animated_java.mcfunction | 12 ++++++++++++ .../object/2261.gem_yeeter_drone/tick/.mcfunction | 4 ++-- .../tick/link_model.m.mcfunction | 8 ++++++++ .../object/2269.gem_rocket_punch/load.mcfunction | 2 +- 16 files changed, 72 insertions(+), 8 deletions(-) create mode 100644 Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/util/assing_object_id.mcfunction create mode 100644 Asset/data/asset/functions/object/2260.gem_attack_drone/init/animated_java.mcfunction create mode 100644 Asset/data/asset/functions/object/2260.gem_attack_drone/tick/link_model.m.mcfunction create mode 100644 Asset/data/asset/functions/object/2261.gem_yeeter_drone/init/animated_java.mcfunction create mode 100644 Asset/data/asset/functions/object/2261.gem_yeeter_drone/tick/link_model.m.mcfunction diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/load.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/load.mcfunction index b60363f74c..1497eee834 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/load.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/load.mcfunction @@ -9,3 +9,9 @@ scoreboard objectives add CO.EventTimer dummy scoreboard objectives add CO.FieldModify.Color dummy scoreboard objectives add CO.Counter dummy +#> Object管理用 +# @within function asset:mob/0456.gargo_ex_machina/** +# @within function asset:object/2260.gem_attack_drone/** +# @within function asset:object/2261.gem_yeeter_drone/** +# @within function asset:object/2269.gem_rocket_punch/** + scoreboard objectives add CO.ObjectId dummy diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/debug/interrupt.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/debug/interrupt.mcfunction index 264dadd331..ac2e6e72fd 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/debug/interrupt.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/debug/interrupt.mcfunction @@ -18,4 +18,4 @@ # execute at @s run tp @e[type=item_display,tag=CO.ModelRoot] ~ ~ ~ ~ 0 # イベント実行 - tag @s add CO.Skill.SwordAttack + tag @s add CO.Skill.BluteForce diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_attack_drone.m.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_attack_drone.m.mcfunction index b8459b0521..50379cf1a0 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_attack_drone.m.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_attack_drone.m.mcfunction @@ -7,5 +7,6 @@ # ATTACKドローン召喚 data modify storage api: Argument.ID set value 2260 execute store result storage api: Argument.FieldOverride.MobUUID int 1 run scoreboard players get @s MobUUID + function asset:mob/0456.gargo_ex_machina/tick/util/assing_object_id data modify storage api: Argument.FieldOverride.Damage set from storage asset:context this.Damage.AttackDrone function api:object/summon diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_yeeter_drone.m.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_yeeter_drone.m.mcfunction index 55ed54bd2a..7b19c46033 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_yeeter_drone.m.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_yeeter_drone.m.mcfunction @@ -7,5 +7,6 @@ # ATTACKドローン召喚 data modify storage api: Argument.ID set value 2261 execute store result storage api: Argument.FieldOverride.MobUUID int 1 run scoreboard players get @s MobUUID + function asset:mob/0456.gargo_ex_machina/tick/util/assing_object_id data modify storage api: Argument.FieldOverride.Damage set from storage asset:context this.Damage.YeeterDrone function api:object/summon diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/util/assing_object_id.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/util/assing_object_id.mcfunction new file mode 100644 index 0000000000..c7fef59e9f --- /dev/null +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/util/assing_object_id.mcfunction @@ -0,0 +1,8 @@ +#> asset:mob/0456.gargo_ex_machina/tick/util/assing_object_id +# +# オブジェクトID割り当て +# +# @within asset:mob/0456.gargo_ex_machina/tick/** + +# 割り当て + execute store result storage api: Argument.FieldOverride.ObjectId int 1 run scoreboard players add @s CO.ObjectId 1 diff --git a/Asset/data/asset/functions/object/2260.gem_attack_drone/_index.d.mcfunction b/Asset/data/asset/functions/object/2260.gem_attack_drone/_index.d.mcfunction index b893b3c3c8..59e19c837f 100644 --- a/Asset/data/asset/functions/object/2260.gem_attack_drone/_index.d.mcfunction +++ b/Asset/data/asset/functions/object/2260.gem_attack_drone/_index.d.mcfunction @@ -7,6 +7,7 @@ #declare tag CO.Drone #declare tag CO.Drone.Remove #declare tag 2260.Model + #declare tag 2260.Model.Init #declare tag 2260.Model.Target #declare tag 2260.Phase.Idle #declare tag 2260.Phase.Attack diff --git a/Asset/data/asset/functions/object/2260.gem_attack_drone/init/.mcfunction b/Asset/data/asset/functions/object/2260.gem_attack_drone/init/.mcfunction index 7b1c27f1b6..066f90d736 100644 --- a/Asset/data/asset/functions/object/2260.gem_attack_drone/init/.mcfunction +++ b/Asset/data/asset/functions/object/2260.gem_attack_drone/init/.mcfunction @@ -7,8 +7,11 @@ # 実行角度に合わせる tp @s ~ ~ ~ ~ 0 +# ID割り当て + execute store result score @s CO.ObjectId run data get storage asset:context this.ObjectId + # モデル召喚 - function animated_java:gem_attack_drone/summon {args: {animation: 'summon'}} + function asset:object/2260.gem_attack_drone/init/animated_java # 仮 scoreboard players set @s 2260.IdleTime 60 diff --git a/Asset/data/asset/functions/object/2260.gem_attack_drone/init/animated_java.mcfunction b/Asset/data/asset/functions/object/2260.gem_attack_drone/init/animated_java.mcfunction new file mode 100644 index 0000000000..8f8a3cbd84 --- /dev/null +++ b/Asset/data/asset/functions/object/2260.gem_attack_drone/init/animated_java.mcfunction @@ -0,0 +1,12 @@ +#> asset:object/2260.gem_attack_drone/init/animated_java +# +# Objectのinit時の処理 +# +# @within asset:object/2260.gem_attack_drone/init/ + +# モデル召喚 + function animated_java:gem_attack_drone/summon {args: {animation: 'summon'}} + +# ID割り当て + scoreboard players operation @e[type=item_display,tag=2260.Model,tag=!2260.Model.Init,distance=..10,sort=nearest,limit=1] CO.ObjectId = @s CO.ObjectId + tag @e[type=item_display,tag=2260.Model,tag=!2260.Model.Init,distance=..10,sort=nearest,limit=1] add 2260.Model.Init diff --git a/Asset/data/asset/functions/object/2260.gem_attack_drone/tick/.mcfunction b/Asset/data/asset/functions/object/2260.gem_attack_drone/tick/.mcfunction index 0025b3640e..11bd0d1766 100644 --- a/Asset/data/asset/functions/object/2260.gem_attack_drone/tick/.mcfunction +++ b/Asset/data/asset/functions/object/2260.gem_attack_drone/tick/.mcfunction @@ -6,8 +6,8 @@ # Tick加算 scoreboard players add @s General.Object.Tick 1 -# 最も近くにあるモデルを紐づけ - tag @e[type=item_display,tag=2260.Model,distance=..5,sort=nearest,limit=1] add 2260.Model.Target +# モデルを紐づけ + function asset:object/2260.gem_attack_drone/tick/link_model.m with storage asset:context this # 登場 execute if entity @s[tag=2260.Phase.Start] run function asset:object/2260.gem_attack_drone/tick/event_start diff --git a/Asset/data/asset/functions/object/2260.gem_attack_drone/tick/link_model.m.mcfunction b/Asset/data/asset/functions/object/2260.gem_attack_drone/tick/link_model.m.mcfunction new file mode 100644 index 0000000000..8979e768ae --- /dev/null +++ b/Asset/data/asset/functions/object/2260.gem_attack_drone/tick/link_model.m.mcfunction @@ -0,0 +1,8 @@ +#> asset:object/2260.gem_attack_drone/tick/link_model.m +# +# Objectのtick時の処理 +# +# @within asset:object/2260.gem_attack_drone/tick/ + +# 一定間隔で攻撃 + $execute as @e[type=item_display,tag=2260.Model,distance=..30] if score @s CO.ObjectId matches $(ObjectId) run tag @s add 2260.Model.Target diff --git a/Asset/data/asset/functions/object/2261.gem_yeeter_drone/_index.d.mcfunction b/Asset/data/asset/functions/object/2261.gem_yeeter_drone/_index.d.mcfunction index a28d61a958..71b0301710 100644 --- a/Asset/data/asset/functions/object/2261.gem_yeeter_drone/_index.d.mcfunction +++ b/Asset/data/asset/functions/object/2261.gem_yeeter_drone/_index.d.mcfunction @@ -7,6 +7,7 @@ #declare tag CO.Drone #declare tag CO.Drone.Remove #declare tag 2261.Model + #declare tag 2261.Model.Init #declare tag 2261.Model.Target #declare tag 2261.Phase.Idle #declare tag 2261.Phase.Attack diff --git a/Asset/data/asset/functions/object/2261.gem_yeeter_drone/init/.mcfunction b/Asset/data/asset/functions/object/2261.gem_yeeter_drone/init/.mcfunction index c6675ce172..1f77aa8273 100644 --- a/Asset/data/asset/functions/object/2261.gem_yeeter_drone/init/.mcfunction +++ b/Asset/data/asset/functions/object/2261.gem_yeeter_drone/init/.mcfunction @@ -7,8 +7,11 @@ # 実行角度に合わせる tp @s ~ ~ ~ ~ 0 +# ID割り当て + execute store result score @s CO.ObjectId run data get storage asset:context this.ObjectId + # モデル召喚 - function animated_java:gem_tnt_drone/summon {args: {animation: 'summon'}} + function asset:object/2261.gem_yeeter_drone/init/animated_java # 仮 scoreboard players set @s 2261.IdleTime 60 diff --git a/Asset/data/asset/functions/object/2261.gem_yeeter_drone/init/animated_java.mcfunction b/Asset/data/asset/functions/object/2261.gem_yeeter_drone/init/animated_java.mcfunction new file mode 100644 index 0000000000..01d6fbb76e --- /dev/null +++ b/Asset/data/asset/functions/object/2261.gem_yeeter_drone/init/animated_java.mcfunction @@ -0,0 +1,12 @@ +#> asset:object/2261.gem_yeeter_drone/init/animated_java +# +# Objectのinit時の処理 +# +# @within asset:object/2261.gem_yeeter_drone/init/ + +# モデル召喚 + function animated_java:gem_tnt_drone/summon {args: {animation: 'summon'}} + +# ID割り当て + scoreboard players operation @e[type=item_display,tag=2261.Model,tag=!2261.Model.Init,distance=..10,sort=nearest,limit=1] CO.ObjectId = @s CO.ObjectId + tag @e[type=item_display,tag=2261.Model,tag=!2261.Model.Init,distance=..10,sort=nearest,limit=1] add 2261.Model.Init diff --git a/Asset/data/asset/functions/object/2261.gem_yeeter_drone/tick/.mcfunction b/Asset/data/asset/functions/object/2261.gem_yeeter_drone/tick/.mcfunction index 1db43b48fb..12b5bfe8d1 100644 --- a/Asset/data/asset/functions/object/2261.gem_yeeter_drone/tick/.mcfunction +++ b/Asset/data/asset/functions/object/2261.gem_yeeter_drone/tick/.mcfunction @@ -6,8 +6,8 @@ # Tick加算 scoreboard players add @s General.Object.Tick 1 -# 最も近くにあるモデルを紐づけ - execute positioned ~ ~5 ~ run tag @e[type=item_display,tag=2261.Model,distance=..6,sort=nearest,limit=1] add 2261.Model.Target +# モデル紐づけ + function asset:object/2261.gem_yeeter_drone/tick/link_model.m with storage asset:context this # 登場 execute if entity @s[tag=2261.Phase.Start] run function asset:object/2261.gem_yeeter_drone/tick/event_start diff --git a/Asset/data/asset/functions/object/2261.gem_yeeter_drone/tick/link_model.m.mcfunction b/Asset/data/asset/functions/object/2261.gem_yeeter_drone/tick/link_model.m.mcfunction new file mode 100644 index 0000000000..bb2ef38061 --- /dev/null +++ b/Asset/data/asset/functions/object/2261.gem_yeeter_drone/tick/link_model.m.mcfunction @@ -0,0 +1,8 @@ +#> asset:object/2261.gem_yeeter_drone/tick/link_model.m +# +# Objectのtick時の処理 +# +# @within asset:object/2261.gem_yeeter_drone/tick/ + +# 一定間隔で攻撃 + $execute as @e[type=item_display,tag=2261.Model,distance=..30] if score @s CO.ObjectId matches $(ObjectId) run tag @s add 2261.Model.Target diff --git a/Asset/data/asset/functions/object/2269.gem_rocket_punch/load.mcfunction b/Asset/data/asset/functions/object/2269.gem_rocket_punch/load.mcfunction index bf64c2feb2..9f2f6f507e 100644 --- a/Asset/data/asset/functions/object/2269.gem_rocket_punch/load.mcfunction +++ b/Asset/data/asset/functions/object/2269.gem_rocket_punch/load.mcfunction @@ -6,4 +6,4 @@ #> 定義類はここに # @within function asset:object/2269.gem_rocket_punch/** - scoreboard objectives add \ No newline at end of file + # scoreboard objectives add From 937854cae6a24c6056d8b23520e5248790fc04e1 Mon Sep 17 00:00:00 2001 From: mokkkk Date: Sat, 7 Mar 2026 18:32:50 +0900 Subject: [PATCH 36/98] =?UTF-8?q?=E3=83=AD=E3=82=B1=E3=83=83=E3=83=88?= =?UTF-8?q?=E3=83=91=E3=83=B3=E3=83=81=E3=81=AE=E6=94=BB=E6=92=83=E5=88=A4?= =?UTF-8?q?=E5=AE=9A=E5=AE=9F=E8=A3=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../0456.gargo_ex_machina/_index.d.mcfunction | 3 +- .../0456.gargo_ex_machina/register.mcfunction | 2 + .../tick/debug/interrupt.mcfunction | 2 +- .../tick/event/.mcfunction | 3 + .../tick/event/rocket_punch/.mcfunction | 24 ++++++ .../tick/event/rocket_punch/effect.mcfunction | 81 +++++++++++++++++++ .../tick/event/rocket_punch/end.mcfunction | 15 ++++ .../rocket_punch/summon_punch.mcfunction | 11 +++ .../2269.gem_rocket_punch/register.mcfunction | 6 +- .../2269.gem_rocket_punch/tick/.mcfunction | 28 +++++-- .../tick/damage.mcfunction | 22 +++++ .../tick/prediction.mcfunction | 14 ++++ 12 files changed, 200 insertions(+), 11 deletions(-) create mode 100644 Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/rocket_punch/.mcfunction create mode 100644 Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/rocket_punch/effect.mcfunction create mode 100644 Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/rocket_punch/end.mcfunction create mode 100644 Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/rocket_punch/summon_punch.mcfunction create mode 100644 Asset/data/asset/functions/object/2269.gem_rocket_punch/tick/damage.mcfunction create mode 100644 Asset/data/asset/functions/object/2269.gem_rocket_punch/tick/prediction.mcfunction diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/_index.d.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/_index.d.mcfunction index 1e3cbd46ca..85854072cd 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/_index.d.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/_index.d.mcfunction @@ -34,6 +34,7 @@ #declare tag CO.Skill.FieldModify フィールド・モディファイ #declare tag CO.Skill.Transform.Shoot 銃変形 #declare tag CO.Skill.Transform.Sword 剣変形 + #declare tag CO.Skill.RocketPunch ロケットパンチ #declare tag CO.Skill.Shot 射撃 #declare tag CO.Skill.UpperShot 上空射撃 #declare tag CO.Skill.BluteForce ブルートフォースアタック @@ -104,7 +105,7 @@ #declare function animated_java:gargo_ex_machina/animations/idle_shot/tween #declare function animated_java:gargo_ex_machina/animations/shot_target_spin/tween #declare function animated_java:gargo_ex_machina/animations/shot_upper/tween - #declare function + #declare function animated_java:gargo_ex_machina/animations/summon_punch/tween #declare function #declare function #declare function diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/register.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/register.mcfunction index 71998a5465..c14bbf703d 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/register.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/register.mcfunction @@ -50,6 +50,8 @@ data modify storage asset:mob Field.Damage.FieldModify set value {Amount:90.0,Type:"Magic",Element:"None"} # 射撃 data modify storage asset:mob Field.Damage.Shot set value {Amount:60.0,Type:"Magic",Element:"None"} + # ロケットパンチ + data modify storage asset:mob Field.Damage.RocketPunch set value {Amount:60.0,Type:"Physical",Element:"None"} # ドローン data modify storage asset:mob Field.Damage.AttackDrone set value {Amount:60.0,Type:"Physical",Element:"None"} data modify storage asset:mob Field.Damage.YeeterDrone set value {Amount:60.0,Type:"Physical",Element:"None"} diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/debug/interrupt.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/debug/interrupt.mcfunction index ac2e6e72fd..667ec4e944 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/debug/interrupt.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/debug/interrupt.mcfunction @@ -18,4 +18,4 @@ # execute at @s run tp @e[type=item_display,tag=CO.ModelRoot] ~ ~ ~ ~ 0 # イベント実行 - tag @s add CO.Skill.BluteForce + tag @s add CO.Skill.RocketPunch diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/.mcfunction index d63381eab5..d476a8b266 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/.mcfunction @@ -43,6 +43,9 @@ # フィールド・モディファイ execute if entity @s[tag=CO.Skill.FieldModify] run function asset:mob/0456.gargo_ex_machina/tick/event/field_modify/event_start +# 射撃 + execute if entity @s[tag=CO.Skill.RocketPunch] run function asset:mob/0456.gargo_ex_machina/tick/event/rocket_punch/ + # 射撃 execute if entity @s[tag=CO.Skill.Shot] run function asset:mob/0456.gargo_ex_machina/tick/event/shot/ diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/rocket_punch/.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/rocket_punch/.mcfunction new file mode 100644 index 0000000000..ffea154331 --- /dev/null +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/rocket_punch/.mcfunction @@ -0,0 +1,24 @@ +#> asset:mob/0456.gargo_ex_machina/tick/event/rocket_punch/ +# +# ロケットパンチ +# +# @within asset:mob/0456.gargo_ex_machina/tick/event/ + +# タイマー増加 + scoreboard players add @s CO.EventTimer 1 + +# 構え + # アニメーション再生 + execute if score @s CO.EventTimer matches 1 as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run function animated_java:gargo_ex_machina/animations/summon_punch/tween {duration:1, to_frame: 1} + # 効果音 + execute if score @s CO.EventTimer matches 9 run function asset:mob/0456.gargo_ex_machina/tick/util/sound + # 演出 + execute if score @s CO.EventTimer matches 14 run playsound block.beacon.power_select hostile @a ~ ~ ~ 4 1.5 + execute if score @s CO.EventTimer matches 14 run playsound block.beacon.power_select hostile @a ~ ~ ~ 4 1.7 + # モデルを合わせる + execute as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run tp @s ~ ~ ~ ~ ~ + # 召喚 + execute if score @s CO.EventTimer matches 14 positioned as @e[type=marker,tag=CO.CenterPosition,distance=..80,limit=1] positioned ^ ^ ^35 rotated ~180 0 run function asset:mob/0456.gargo_ex_machina/tick/event/rocket_punch/summon_punch + +# 終了 + execute if score @s CO.EventTimer matches 45.. run function asset:mob/0456.gargo_ex_machina/tick/event/rocket_punch/end diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/rocket_punch/effect.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/rocket_punch/effect.mcfunction new file mode 100644 index 0000000000..57460f1b03 --- /dev/null +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/rocket_punch/effect.mcfunction @@ -0,0 +1,81 @@ +#> asset:mob/0456.gargo_ex_machina/tick/event/field_modify/effect +# +# フィールド・モディファイ +# +# @within asset:mob/0456.gargo_ex_machina/tick/event/field_modify/event_start + +# パーティクル +# 円型ベクトルパーティクル + execute rotated ~00 0 positioned ^ ^-0.3 ^ run particle end_rod ~ ~ ~ ^ ^ ^100000000 0.000000015 0 + execute rotated ~10 0 positioned ^ ^-0.3 ^ run particle end_rod ~ ~ ~ ^ ^ ^100000000 0.000000015 0 + execute rotated ~20 0 positioned ^ ^-0.3 ^ run particle end_rod ~ ~ ~ ^ ^ ^100000000 0.000000015 0 + execute rotated ~30 0 positioned ^ ^-0.3 ^ run particle end_rod ~ ~ ~ ^ ^ ^100000000 0.000000015 0 + execute rotated ~40 0 positioned ^ ^-0.3 ^ run particle end_rod ~ ~ ~ ^ ^ ^100000000 0.000000015 0 + execute rotated ~50 0 positioned ^ ^-0.3 ^ run particle end_rod ~ ~ ~ ^ ^ ^100000000 0.000000015 0 + execute rotated ~60 0 positioned ^ ^-0.3 ^ run particle end_rod ~ ~ ~ ^ ^ ^100000000 0.000000015 0 + execute rotated ~70 0 positioned ^ ^-0.3 ^ run particle end_rod ~ ~ ~ ^ ^ ^100000000 0.000000015 0 + execute rotated ~80 0 positioned ^ ^-0.3 ^ run particle end_rod ~ ~ ~ ^ ^ ^100000000 0.000000015 0 + execute rotated ~90 0 positioned ^ ^-0.3 ^ run particle end_rod ~ ~ ~ ^ ^ ^100000000 0.000000015 0 + execute rotated ~100 0 positioned ^ ^-0.3 ^ run particle end_rod ~ ~ ~ ^ ^ ^100000000 0.000000015 0 + execute rotated ~110 0 positioned ^ ^-0.3 ^ run particle end_rod ~ ~ ~ ^ ^ ^100000000 0.000000015 0 + execute rotated ~120 0 positioned ^ ^-0.3 ^ run particle end_rod ~ ~ ~ ^ ^ ^100000000 0.000000015 0 + execute rotated ~130 0 positioned ^ ^-0.3 ^ run particle end_rod ~ ~ ~ ^ ^ ^100000000 0.000000015 0 + execute rotated ~140 0 positioned ^ ^-0.3 ^ run particle end_rod ~ ~ ~ ^ ^ ^100000000 0.000000015 0 + execute rotated ~150 0 positioned ^ ^-0.3 ^ run particle end_rod ~ ~ ~ ^ ^ ^100000000 0.000000015 0 + execute rotated ~160 0 positioned ^ ^-0.3 ^ run particle end_rod ~ ~ ~ ^ ^ ^100000000 0.000000015 0 + execute rotated ~170 0 positioned ^ ^-0.3 ^ run particle end_rod ~ ~ ~ ^ ^ ^100000000 0.000000015 0 + execute rotated ~180 0 positioned ^ ^-0.3 ^ run particle end_rod ~ ~ ~ ^ ^ ^100000000 0.000000015 0 + execute rotated ~190 0 positioned ^ ^-0.3 ^ run particle end_rod ~ ~ ~ ^ ^ ^100000000 0.000000015 0 + execute rotated ~200 0 positioned ^ ^-0.3 ^ run particle end_rod ~ ~ ~ ^ ^ ^100000000 0.000000015 0 + execute rotated ~210 0 positioned ^ ^-0.3 ^ run particle end_rod ~ ~ ~ ^ ^ ^100000000 0.000000015 0 + execute rotated ~220 0 positioned ^ ^-0.3 ^ run particle end_rod ~ ~ ~ ^ ^ ^100000000 0.000000015 0 + execute rotated ~230 0 positioned ^ ^-0.3 ^ run particle end_rod ~ ~ ~ ^ ^ ^100000000 0.000000015 0 + execute rotated ~240 0 positioned ^ ^-0.3 ^ run particle end_rod ~ ~ ~ ^ ^ ^100000000 0.000000015 0 + execute rotated ~250 0 positioned ^ ^-0.3 ^ run particle end_rod ~ ~ ~ ^ ^ ^100000000 0.000000015 0 + execute rotated ~260 0 positioned ^ ^-0.3 ^ run particle end_rod ~ ~ ~ ^ ^ ^100000000 0.000000015 0 + execute rotated ~270 0 positioned ^ ^-0.3 ^ run particle end_rod ~ ~ ~ ^ ^ ^100000000 0.000000015 0 + execute rotated ~280 0 positioned ^ ^-0.3 ^ run particle end_rod ~ ~ ~ ^ ^ ^100000000 0.000000015 0 + execute rotated ~290 0 positioned ^ ^-0.3 ^ run particle end_rod ~ ~ ~ ^ ^ ^100000000 0.000000015 0 + execute rotated ~300 0 positioned ^ ^-0.3 ^ run particle end_rod ~ ~ ~ ^ ^ ^100000000 0.000000015 0 + execute rotated ~310 0 positioned ^ ^-0.3 ^ run particle end_rod ~ ~ ~ ^ ^ ^100000000 0.000000015 0 + execute rotated ~320 0 positioned ^ ^-0.3 ^ run particle end_rod ~ ~ ~ ^ ^ ^100000000 0.000000015 0 + execute rotated ~330 0 positioned ^ ^-0.3 ^ run particle end_rod ~ ~ ~ ^ ^ ^100000000 0.000000015 0 + execute rotated ~340 0 positioned ^ ^-0.3 ^ run particle end_rod ~ ~ ~ ^ ^ ^100000000 0.000000015 0 + execute rotated ~350 0 positioned ^ ^-0.3 ^ run particle end_rod ~ ~ ~ ^ ^ ^100000000 0.000000015 0 +# 円型ベクトルパーティクル + execute rotated ~00 0 positioned ^ ^-0.3 ^ run particle end_rod ~ ~ ~ ^ ^ ^100000000 0.000000025 0 + execute rotated ~10 0 positioned ^ ^-0.3 ^ run particle end_rod ~ ~ ~ ^ ^ ^100000000 0.000000025 0 + execute rotated ~20 0 positioned ^ ^-0.3 ^ run particle end_rod ~ ~ ~ ^ ^ ^100000000 0.000000025 0 + execute rotated ~30 0 positioned ^ ^-0.3 ^ run particle end_rod ~ ~ ~ ^ ^ ^100000000 0.000000025 0 + execute rotated ~40 0 positioned ^ ^-0.3 ^ run particle end_rod ~ ~ ~ ^ ^ ^100000000 0.000000025 0 + execute rotated ~50 0 positioned ^ ^-0.3 ^ run particle end_rod ~ ~ ~ ^ ^ ^100000000 0.000000025 0 + execute rotated ~60 0 positioned ^ ^-0.3 ^ run particle end_rod ~ ~ ~ ^ ^ ^100000000 0.000000025 0 + execute rotated ~70 0 positioned ^ ^-0.3 ^ run particle end_rod ~ ~ ~ ^ ^ ^100000000 0.000000025 0 + execute rotated ~80 0 positioned ^ ^-0.3 ^ run particle end_rod ~ ~ ~ ^ ^ ^100000000 0.000000025 0 + execute rotated ~90 0 positioned ^ ^-0.3 ^ run particle end_rod ~ ~ ~ ^ ^ ^100000000 0.000000025 0 + execute rotated ~100 0 positioned ^ ^-0.3 ^ run particle end_rod ~ ~ ~ ^ ^ ^100000000 0.000000025 0 + execute rotated ~110 0 positioned ^ ^-0.3 ^ run particle end_rod ~ ~ ~ ^ ^ ^100000000 0.000000025 0 + execute rotated ~120 0 positioned ^ ^-0.3 ^ run particle end_rod ~ ~ ~ ^ ^ ^100000000 0.000000025 0 + execute rotated ~130 0 positioned ^ ^-0.3 ^ run particle end_rod ~ ~ ~ ^ ^ ^100000000 0.000000025 0 + execute rotated ~140 0 positioned ^ ^-0.3 ^ run particle end_rod ~ ~ ~ ^ ^ ^100000000 0.000000025 0 + execute rotated ~150 0 positioned ^ ^-0.3 ^ run particle end_rod ~ ~ ~ ^ ^ ^100000000 0.000000025 0 + execute rotated ~160 0 positioned ^ ^-0.3 ^ run particle end_rod ~ ~ ~ ^ ^ ^100000000 0.000000025 0 + execute rotated ~170 0 positioned ^ ^-0.3 ^ run particle end_rod ~ ~ ~ ^ ^ ^100000000 0.000000025 0 + execute rotated ~180 0 positioned ^ ^-0.3 ^ run particle end_rod ~ ~ ~ ^ ^ ^100000000 0.000000025 0 + execute rotated ~190 0 positioned ^ ^-0.3 ^ run particle end_rod ~ ~ ~ ^ ^ ^100000000 0.000000025 0 + execute rotated ~200 0 positioned ^ ^-0.3 ^ run particle end_rod ~ ~ ~ ^ ^ ^100000000 0.000000025 0 + execute rotated ~210 0 positioned ^ ^-0.3 ^ run particle end_rod ~ ~ ~ ^ ^ ^100000000 0.000000025 0 + execute rotated ~220 0 positioned ^ ^-0.3 ^ run particle end_rod ~ ~ ~ ^ ^ ^100000000 0.000000025 0 + execute rotated ~230 0 positioned ^ ^-0.3 ^ run particle end_rod ~ ~ ~ ^ ^ ^100000000 0.000000025 0 + execute rotated ~240 0 positioned ^ ^-0.3 ^ run particle end_rod ~ ~ ~ ^ ^ ^100000000 0.000000025 0 + execute rotated ~250 0 positioned ^ ^-0.3 ^ run particle end_rod ~ ~ ~ ^ ^ ^100000000 0.000000025 0 + execute rotated ~260 0 positioned ^ ^-0.3 ^ run particle end_rod ~ ~ ~ ^ ^ ^100000000 0.000000025 0 + execute rotated ~270 0 positioned ^ ^-0.3 ^ run particle end_rod ~ ~ ~ ^ ^ ^100000000 0.000000025 0 + execute rotated ~280 0 positioned ^ ^-0.3 ^ run particle end_rod ~ ~ ~ ^ ^ ^100000000 0.000000025 0 + execute rotated ~290 0 positioned ^ ^-0.3 ^ run particle end_rod ~ ~ ~ ^ ^ ^100000000 0.000000025 0 + execute rotated ~300 0 positioned ^ ^-0.3 ^ run particle end_rod ~ ~ ~ ^ ^ ^100000000 0.000000025 0 + execute rotated ~310 0 positioned ^ ^-0.3 ^ run particle end_rod ~ ~ ~ ^ ^ ^100000000 0.000000025 0 + execute rotated ~320 0 positioned ^ ^-0.3 ^ run particle end_rod ~ ~ ~ ^ ^ ^100000000 0.000000025 0 + execute rotated ~330 0 positioned ^ ^-0.3 ^ run particle end_rod ~ ~ ~ ^ ^ ^100000000 0.000000025 0 + execute rotated ~340 0 positioned ^ ^-0.3 ^ run particle end_rod ~ ~ ~ ^ ^ ^100000000 0.000000025 0 + execute rotated ~350 0 positioned ^ ^-0.3 ^ run particle end_rod ~ ~ ~ ^ ^ ^100000000 0.000000025 0 diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/rocket_punch/end.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/rocket_punch/end.mcfunction new file mode 100644 index 0000000000..ba5810e0c5 --- /dev/null +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/rocket_punch/end.mcfunction @@ -0,0 +1,15 @@ +#> asset:mob/0456.gargo_ex_machina/tick/event/rocket_punch/end +# +# ロケットパンチ +# +# @within asset:mob/0456.gargo_ex_machina/tick/event/rocket_punch/ + +# タグ消去 + scoreboard players set @s CO.EventTimer 0 + tag @s remove CO.Skill.RocketPunch + +# 待機モーション再生 + execute as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run function animated_java:gargo_ex_machina/animations/idle/tween {duration:1, to_frame: 1} + +# 行動 + # function asset:mob/0410.heiloang/tick/act/ diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/rocket_punch/summon_punch.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/rocket_punch/summon_punch.mcfunction new file mode 100644 index 0000000000..362cec6ec7 --- /dev/null +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/rocket_punch/summon_punch.mcfunction @@ -0,0 +1,11 @@ +#> asset:mob/0456.gargo_ex_machina/tick/event/rocket_punch/summon_punch +# +# ブルートフォースアタック +# +# @within asset:mob/0456.gargo_ex_machina/tick/event/rocket_punch/ + +# ATTACKドローン召喚 + data modify storage api: Argument.ID set value 2269 + execute store result storage api: Argument.FieldOverride.MobUUID int 1 run scoreboard players get @s MobUUID + data modify storage api: Argument.FieldOverride.Damage set from storage asset:context this.Damage.RocketPunch + function api:object/summon diff --git a/Asset/data/asset/functions/object/2269.gem_rocket_punch/register.mcfunction b/Asset/data/asset/functions/object/2269.gem_rocket_punch/register.mcfunction index 2b3abfc208..7f75b47d35 100644 --- a/Asset/data/asset/functions/object/2269.gem_rocket_punch/register.mcfunction +++ b/Asset/data/asset/functions/object/2269.gem_rocket_punch/register.mcfunction @@ -5,8 +5,8 @@ # @within function asset:object/alias/2269/register # 継承(オプション) - # data modify storage asset:object Extends append value - # function asset:object/extends + data modify storage asset:object Extends append value 2 + function asset:object/extends # 他のObjectに継承されることを許可するか (boolean) (オプション) # data modify storage asset:object ExtendsSafe set value # 継承されることを前提とした、抽象的なObjectであるかどうか(boolean) @@ -17,4 +17,4 @@ # ID (int) data modify storage asset:object ID set value 2269 # フィールド(オプション) - # data modify storage asset:object Field.myValue set value \ No newline at end of file + # data modify storage asset:object Field.myValue set value diff --git a/Asset/data/asset/functions/object/2269.gem_rocket_punch/tick/.mcfunction b/Asset/data/asset/functions/object/2269.gem_rocket_punch/tick/.mcfunction index 7e574dbb74..9e2275f907 100644 --- a/Asset/data/asset/functions/object/2269.gem_rocket_punch/tick/.mcfunction +++ b/Asset/data/asset/functions/object/2269.gem_rocket_punch/tick/.mcfunction @@ -8,7 +8,7 @@ scoreboard players add @s General.Object.Tick 1 # 出現処理 - execute if score @s General.Object.Tick matches 1 run tp @s ^ ^-10 ^-48.5 + execute if score @s General.Object.Tick matches 1 run tp @s ^ ^-10 ^-51 execute if score @s General.Object.Tick matches 3 run data modify entity @s start_interpolation set value -1 execute if score @s General.Object.Tick matches 3 run data modify entity @s transformation.scale set value [8.0f,8.0f,8.0f] execute if score @s General.Object.Tick matches 3..20 run tp @s ^ ^ ^3 @@ -25,12 +25,28 @@ execute if score @s General.Object.Tick matches 109..122 at @s run tp @s ^ ^0.05 ^-0.05 execute if score @s General.Object.Tick matches 133..136 at @s run tp @s ~ ~ ~ ~ ~1 execute if score @s General.Object.Tick matches 140..145 at @s run tp @s ~ ~ ~ ~ ~-1 - execute if score @s General.Object.Tick matches 146.. at @s run tp @s ~ ~ ~ ~ ~-7 - execute if score @s General.Object.Tick matches 133.. at @s run tp @s ^ ^ ^4 + execute if score @s General.Object.Tick matches 146..155 at @s run tp @s ~ ~ ~ ~ ~-7 + execute if score @s General.Object.Tick matches 156.. at @s run tp @s ~ ~ ~ ~ ~-15 + execute if score @s General.Object.Tick matches 133.. at @s run tp @s ^ ^ ^5 execute if score @s General.Object.Tick matches 133.. run particle soul_fire_flame ~ ~ ~ 0.1 0.1 0.1 0.05 3 execute if score @s General.Object.Tick matches 133.. run particle cloud ~ ~ ~ 0.1 0.1 0.1 0.05 3 +# 攻撃 + execute if score @s General.Object.Tick matches 90 positioned ~ ~-3 ~ rotated ~ 0 run function asset:object/2269.gem_rocket_punch/tick/prediction + execute if score @s General.Object.Tick matches 133 at @s run function asset:object/2269.gem_rocket_punch/tick/damage + execute if score @s General.Object.Tick matches 135 at @s run function asset:object/2269.gem_rocket_punch/tick/damage + execute if score @s General.Object.Tick matches 137 at @s run function asset:object/2269.gem_rocket_punch/tick/damage + execute if score @s General.Object.Tick matches 139 at @s run function asset:object/2269.gem_rocket_punch/tick/damage + execute if score @s General.Object.Tick matches 141 at @s run function asset:object/2269.gem_rocket_punch/tick/damage + execute if score @s General.Object.Tick matches 143 at @s run function asset:object/2269.gem_rocket_punch/tick/damage + execute if score @s General.Object.Tick matches 145 at @s run function asset:object/2269.gem_rocket_punch/tick/damage + +# 演出 + execute if score @s General.Object.Tick matches 46 at @s run playsound block.piston.extend hostile @a ~ ~ ~ 2 0.9 + execute if score @s General.Object.Tick matches 109 at @s run playsound block.piston.extend hostile @a ~ ~ ~ 2 0.9 + execute if score @s General.Object.Tick matches 133 at @s run playsound entity.firework_rocket.launch hostile @a ~ ~ ~ 2 0.9 + # 消滅処理 - execute if score @s General.Object.Tick matches 167 run data modify entity @s start_interpolation set value -1 - execute if score @s General.Object.Tick matches 167 run data modify entity @s transformation.scale set value [0.0f,0.0f,0.0f] - kill @s[scores={General.Object.Tick=170..}] + execute if score @s General.Object.Tick matches 177 run data modify entity @s start_interpolation set value -1 + execute if score @s General.Object.Tick matches 177 run data modify entity @s transformation.scale set value [0.0f,0.0f,0.0f] + kill @s[scores={General.Object.Tick=180..}] diff --git a/Asset/data/asset/functions/object/2269.gem_rocket_punch/tick/damage.mcfunction b/Asset/data/asset/functions/object/2269.gem_rocket_punch/tick/damage.mcfunction new file mode 100644 index 0000000000..f8511d79aa --- /dev/null +++ b/Asset/data/asset/functions/object/2269.gem_rocket_punch/tick/damage.mcfunction @@ -0,0 +1,22 @@ +#> asset:object/2269.gem_rocket_punch/tick/damage +# +# Objectのtick時の処理 +# +# @within asset:object/2269.gem_rocket_punch/tick/ + +# ヒット判定 + data modify storage lib: args.dx set value 5 + data modify storage lib: args.dy set value 5 + data modify storage lib: args.dz set value 5 + data modify storage lib: args.selector set value "@a[tag=!PlayerShouldInvulnerable,distance=..50]" + execute positioned ^ ^ ^5 run function lib:rotatable_dxyz/m with storage lib: args + +# 攻撃 + data modify storage api: Argument.Damage set from storage asset:context this.Damage.Amount + data modify storage api: Argument.AttackType set from storage asset:context this.Damage.Type + data modify storage api: Argument.ElementType set from storage asset:context this.Damage.Element + data modify storage api: Argument.MobUUID set from storage asset:context this.MobUUID + execute as @a[tag=DXYZ] run function asset:object/call.m {method:"check_duplicate"} + execute as @a[tag=DXYZ] if predicate asset:object/0002.duplicate_hit_protection_mixin/is_first_hit run function api:damage/ + function api:damage/reset + tag @a remove DXYZ diff --git a/Asset/data/asset/functions/object/2269.gem_rocket_punch/tick/prediction.mcfunction b/Asset/data/asset/functions/object/2269.gem_rocket_punch/tick/prediction.mcfunction new file mode 100644 index 0000000000..942f8b3068 --- /dev/null +++ b/Asset/data/asset/functions/object/2269.gem_rocket_punch/tick/prediction.mcfunction @@ -0,0 +1,14 @@ +#> asset:object/2269.gem_rocket_punch/tick/prediction +# +# Objectのtick時の処理 +# +# @within asset:object/2269.gem_rocket_punch/tick/ + +# 予告 + data modify storage api: Argument.ID set value 2113 + data modify storage api: Argument.FieldOverride.RotationX set from entity @s Rotation[0] + data modify storage api: Argument.FieldOverride.Color set value 3381759 + data modify storage api: Argument.FieldOverride.Scale set value [10f,70f] + data modify storage api: Argument.FieldOverride.Interpolation set value 15 + data modify storage api: Argument.FieldOverride.Tick set value 50 + execute positioned ^ ^0.1 ^ rotated ~ 0 run function api:object/summon From 9d4fb12cf3558dd85fe9aaafdbc91e787e78edd3 Mon Sep 17 00:00:00 2001 From: mokkkk Date: Sat, 7 Mar 2026 22:21:10 +0900 Subject: [PATCH 37/98] =?UTF-8?q?=E3=83=AD=E3=82=B1=E3=83=83=E3=83=88?= =?UTF-8?q?=E3=83=91=E3=83=B3=E3=83=81=E5=8F=AC=E5=96=9A=E5=87=A6=E7=90=86?= =?UTF-8?q?=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../tick/debug/interrupt.mcfunction | 2 +- .../field_modify/summon_manager.mcfunction | 2 +- .../tick/event/rocket_punch/.mcfunction | 5 +- .../event/rocket_punch/summon_aec.mcfunction | 20 ++++++++ .../rocket_punch/summon_punch.mcfunction | 3 ++ .../event_attack_double.mcfunction | 2 +- .../sword_attack/event_charging.mcfunction | 2 +- .../tick/prediction.mcfunction | 2 +- .../tick/prediction.mcfunction | 2 +- .../2269.gem_rocket_punch/summon/.mcfunction | 2 +- .../2269.gem_rocket_punch/tick/.mcfunction | 48 +++++++++---------- 11 files changed, 58 insertions(+), 32 deletions(-) create mode 100644 Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/rocket_punch/summon_aec.mcfunction diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/debug/interrupt.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/debug/interrupt.mcfunction index 667ec4e944..ac2e6e72fd 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/debug/interrupt.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/debug/interrupt.mcfunction @@ -18,4 +18,4 @@ # execute at @s run tp @e[type=item_display,tag=CO.ModelRoot] ~ ~ ~ ~ 0 # イベント実行 - tag @s add CO.Skill.RocketPunch + tag @s add CO.Skill.BluteForce diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/field_modify/summon_manager.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/field_modify/summon_manager.mcfunction index 89eb24c826..86210b504b 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/field_modify/summon_manager.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/field_modify/summon_manager.mcfunction @@ -6,7 +6,7 @@ # マネージャー召喚 data modify storage api: Argument.ID set value 2265 - data modify storage api: Argument.FieldOverride.AttackCount set value 4 + data modify storage api: Argument.FieldOverride.AttackCount set value 2 data modify storage api: Argument.FieldOverride.Damage set from storage asset:context this.Damage.FieldModify execute store result storage api: Argument.FieldOverride.UUID int 1 run scoreboard players get @s MobUUID function api:object/summon diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/rocket_punch/.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/rocket_punch/.mcfunction index ffea154331..671978b847 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/rocket_punch/.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/rocket_punch/.mcfunction @@ -17,8 +17,11 @@ execute if score @s CO.EventTimer matches 14 run playsound block.beacon.power_select hostile @a ~ ~ ~ 4 1.7 # モデルを合わせる execute as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run tp @s ~ ~ ~ ~ ~ + # 攻撃位置決定 + execute if score @s CO.EventTimer matches 14 at @e[type=marker,tag=CO.CenterPosition,distance=..80,limit=1] positioned ^ ^ ^35 rotated ~180 0 run function asset:mob/0456.gargo_ex_machina/tick/event/rocket_punch/summon_aec # 召喚 - execute if score @s CO.EventTimer matches 14 positioned as @e[type=marker,tag=CO.CenterPosition,distance=..80,limit=1] positioned ^ ^ ^35 rotated ~180 0 run function asset:mob/0456.gargo_ex_machina/tick/event/rocket_punch/summon_punch + execute if score @s CO.EventTimer matches 14.. at @e[type=area_effect_cloud,tag=CO.Aec.AttackPosition,distance=..80,sort=random,limit=1] run function asset:mob/0456.gargo_ex_machina/tick/event/rocket_punch/summon_punch + execute if score @s CO.EventTimer matches 40 run kill @e[type=area_effect_cloud,tag=CO.Aec.AttackPosition,distance=..80] # 終了 execute if score @s CO.EventTimer matches 45.. run function asset:mob/0456.gargo_ex_machina/tick/event/rocket_punch/end diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/rocket_punch/summon_aec.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/rocket_punch/summon_aec.mcfunction new file mode 100644 index 0000000000..15107e548e --- /dev/null +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/rocket_punch/summon_aec.mcfunction @@ -0,0 +1,20 @@ +#> asset:mob/0456.gargo_ex_machina/tick/event/rocket_punch/summon_aec +# +# ロケットパンチ +# +# @within asset:mob/0456.gargo_ex_machina/tick/event/rocket_punch/ + +# [ImportKey]: NobwRALgngDgpmAXGANgSwHYIDRgK55oAmSYRA7ACzkCGNATAGwC0ArAMb3vOUCcADAGZmNOERrN+tIgCM4-fpXqywuDDQC2CZIC3fAAQBGVWBg0ATpoDOScOwD2eDBCSNcAMzN2NNsADcaKHja4AAeSMz0rLhQSPwAvnG4EHY+-oHBYGGIkdGxCbh2bm6WcM6I-LhyAF5ocGaxuGiWAEJwNXUAogCOeAEoUADKpuxiSG4BJQkAukA_3 +# 線 1 +summon area_effect_cloud ^-25 ^ ^0 {Tags:["CO.Aec.AttackPosition"],Duration:80} +summon area_effect_cloud ^-15 ^ ^0 {Tags:["CO.Aec.AttackPosition"],Duration:80} +summon area_effect_cloud ^-5 ^ ^0 {Tags:["CO.Aec.AttackPosition"],Duration:80} +summon area_effect_cloud ^5 ^ ^0 {Tags:["CO.Aec.AttackPosition"],Duration:80} +summon area_effect_cloud ^15 ^ ^0 {Tags:["CO.Aec.AttackPosition"],Duration:80} +summon area_effect_cloud ^25 ^ ^0 {Tags:["CO.Aec.AttackPosition"],Duration:80} + +# 数を減らす + kill @e[type=area_effect_cloud,tag=CO.Aec.AttackPosition,distance=..80,sort=random,limit=1] + +# 回転 + execute as @e[type=area_effect_cloud,tag=CO.Aec.AttackPosition,distance=..80] positioned as @s run tp @s ~ ~ ~ ~ ~ diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/rocket_punch/summon_punch.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/rocket_punch/summon_punch.mcfunction index 362cec6ec7..98230f03f1 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/rocket_punch/summon_punch.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/rocket_punch/summon_punch.mcfunction @@ -9,3 +9,6 @@ execute store result storage api: Argument.FieldOverride.MobUUID int 1 run scoreboard players get @s MobUUID data modify storage api: Argument.FieldOverride.Damage set from storage asset:context this.Damage.RocketPunch function api:object/summon + +# 消去 + kill @e[type=area_effect_cloud,tag=CO.Aec.AttackPosition,distance=..5,sort=nearest,limit=1] diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/sword_attack/event_attack_double.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/sword_attack/event_attack_double.mcfunction index 4c7c4edf21..95d865f9f0 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/sword_attack/event_attack_double.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/sword_attack/event_attack_double.mcfunction @@ -15,7 +15,7 @@ execute if score @s CO.EventTimer matches 76 run function asset:mob/0456.gargo_ex_machina/tick/util/sound execute if score @s CO.EventTimer matches 113 run function asset:mob/0456.gargo_ex_machina/tick/util/sound # 予告 - execute if score @s CO.EventTimer matches 20 positioned ^ ^ ^25 run function asset:mob/0456.gargo_ex_machina/tick/event/sword_attack/prediction_double + execute if score @s CO.EventTimer matches 20 positioned ^ ^0.2 ^25 run function asset:mob/0456.gargo_ex_machina/tick/event/sword_attack/prediction_double # 攻撃 execute if score @s CO.EventTimer matches 40 positioned ^ ^ ^25 run function asset:mob/0456.gargo_ex_machina/tick/event/sword_attack/attack_double # 攻撃演出 diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/sword_attack/event_charging.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/sword_attack/event_charging.mcfunction index 6aad5fbab0..ee0352a399 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/sword_attack/event_charging.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/sword_attack/event_charging.mcfunction @@ -13,7 +13,7 @@ # モデルを合わせる execute as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run tp @s ~ ~ ~ ~ ~ # 予告 - execute if score @s CO.EventTimer matches 1 positioned ^ ^ ^25 run function asset:mob/0456.gargo_ex_machina/tick/event/sword_attack/prediction + execute if score @s CO.EventTimer matches 1 positioned ^ ^0.2 ^25 run function asset:mob/0456.gargo_ex_machina/tick/event/sword_attack/prediction # 終了 execute if score @s CO.EventTimer matches 40.. run function asset:mob/0456.gargo_ex_machina/tick/event/sword_attack/start_attack diff --git a/Asset/data/asset/functions/object/2260.gem_attack_drone/tick/prediction.mcfunction b/Asset/data/asset/functions/object/2260.gem_attack_drone/tick/prediction.mcfunction index 9f2c0459fe..15fb37989f 100644 --- a/Asset/data/asset/functions/object/2260.gem_attack_drone/tick/prediction.mcfunction +++ b/Asset/data/asset/functions/object/2260.gem_attack_drone/tick/prediction.mcfunction @@ -11,4 +11,4 @@ data modify storage api: Argument.FieldOverride.Scale set value [8f,50f] data modify storage api: Argument.FieldOverride.Interpolation set value 10 data modify storage api: Argument.FieldOverride.Tick set value 50 - execute positioned ^ ^0.1 ^ rotated ~ 0 run function api:object/summon + execute positioned ^ ^0.2 ^ rotated ~ 0 run function api:object/summon diff --git a/Asset/data/asset/functions/object/2261.gem_yeeter_drone/tick/prediction.mcfunction b/Asset/data/asset/functions/object/2261.gem_yeeter_drone/tick/prediction.mcfunction index 6d5ce6a6b7..83407f630a 100644 --- a/Asset/data/asset/functions/object/2261.gem_yeeter_drone/tick/prediction.mcfunction +++ b/Asset/data/asset/functions/object/2261.gem_yeeter_drone/tick/prediction.mcfunction @@ -10,4 +10,4 @@ data modify storage api: Argument.FieldOverride.TextColor set value "#ffcf80" data modify storage api: Argument.FieldOverride.Scale set value [12f, 12f, 0.05f] data modify storage api: Argument.FieldOverride.Tick set value 100 - execute rotated ~ 0 positioned ~ ~0.1 ~ run function api:object/summon + execute rotated ~ 0 positioned ~ ~0.2 ~ run function api:object/summon diff --git a/Asset/data/asset/functions/object/2269.gem_rocket_punch/summon/.mcfunction b/Asset/data/asset/functions/object/2269.gem_rocket_punch/summon/.mcfunction index 994ee6d3bc..3477df4142 100644 --- a/Asset/data/asset/functions/object/2269.gem_rocket_punch/summon/.mcfunction +++ b/Asset/data/asset/functions/object/2269.gem_rocket_punch/summon/.mcfunction @@ -5,4 +5,4 @@ # @within asset:object/alias/2269/summon # 元となるEntityを召喚する - summon item_display ~ ~ ~ {brightness:{sky:15,block:15},Tags:["ObjectInit","CO.Object"],interpolation_duration:3,teleport_duration:1,item:{id:"stick",Count:1b,tag:{CustomModelData:20589}},transformation:{left_rotation:[0.0f,0.0f,0.0f,1.0f],right_rotation:[0.0f,0.0f,0.0f,1.0f],translation:[0.0f,0.0f,0.0f],scale:[0.0f,0.0f,0.0f]}} + summon item_display ~ ~ ~ {view_range:16f,brightness:{sky:15,block:15},Tags:["ObjectInit","CO.Object"],interpolation_duration:3,teleport_duration:1,item:{id:"stick",Count:1b,tag:{CustomModelData:20589}},transformation:{left_rotation:[0.0f,0.0f,0.0f,1.0f],right_rotation:[0.0f,0.0f,0.0f,1.0f],translation:[0.0f,0.0f,0.0f],scale:[0.0f,0.0f,0.0f]}} diff --git a/Asset/data/asset/functions/object/2269.gem_rocket_punch/tick/.mcfunction b/Asset/data/asset/functions/object/2269.gem_rocket_punch/tick/.mcfunction index 9e2275f907..b5705e297a 100644 --- a/Asset/data/asset/functions/object/2269.gem_rocket_punch/tick/.mcfunction +++ b/Asset/data/asset/functions/object/2269.gem_rocket_punch/tick/.mcfunction @@ -19,34 +19,34 @@ execute if score @s General.Object.Tick matches 47 run tp @s ^ ^ ^ ~ 0 # 移動 - execute if score @s General.Object.Tick matches 109 run tp @s ~ ~0.1 ~ ~ ~-4 - execute if score @s General.Object.Tick matches 110 run tp @s ~ ~-0.2 ~ ~ ~8 - execute if score @s General.Object.Tick matches 111 run tp @s ~ ~0.1 ~ ~ ~-4 - execute if score @s General.Object.Tick matches 109..122 at @s run tp @s ^ ^0.05 ^-0.05 - execute if score @s General.Object.Tick matches 133..136 at @s run tp @s ~ ~ ~ ~ ~1 - execute if score @s General.Object.Tick matches 140..145 at @s run tp @s ~ ~ ~ ~ ~-1 - execute if score @s General.Object.Tick matches 146..155 at @s run tp @s ~ ~ ~ ~ ~-7 - execute if score @s General.Object.Tick matches 156.. at @s run tp @s ~ ~ ~ ~ ~-15 - execute if score @s General.Object.Tick matches 133.. at @s run tp @s ^ ^ ^5 - execute if score @s General.Object.Tick matches 133.. run particle soul_fire_flame ~ ~ ~ 0.1 0.1 0.1 0.05 3 - execute if score @s General.Object.Tick matches 133.. run particle cloud ~ ~ ~ 0.1 0.1 0.1 0.05 3 + execute if score @s General.Object.Tick matches 209 run tp @s ~ ~0.1 ~ ~ ~-4 + execute if score @s General.Object.Tick matches 210 run tp @s ~ ~-0.2 ~ ~ ~8 + execute if score @s General.Object.Tick matches 211 run tp @s ~ ~0.1 ~ ~ ~-4 + execute if score @s General.Object.Tick matches 209..222 at @s run tp @s ^ ^0.05 ^-0.05 + execute if score @s General.Object.Tick matches 233..236 at @s run tp @s ~ ~ ~ ~ ~1 + execute if score @s General.Object.Tick matches 240..245 at @s run tp @s ~ ~ ~ ~ ~-1 + execute if score @s General.Object.Tick matches 246..255 at @s run tp @s ~ ~ ~ ~ ~-7 + execute if score @s General.Object.Tick matches 256.. at @s run tp @s ~ ~ ~ ~ ~-15 + execute if score @s General.Object.Tick matches 233.. at @s run tp @s ^ ^ ^5 + execute if score @s General.Object.Tick matches 233.. run particle soul_fire_flame ~ ~ ~ 0.1 0.1 0.1 0.05 3 + execute if score @s General.Object.Tick matches 233.. run particle cloud ~ ~ ~ 0.1 0.1 0.1 0.05 3 # 攻撃 - execute if score @s General.Object.Tick matches 90 positioned ~ ~-3 ~ rotated ~ 0 run function asset:object/2269.gem_rocket_punch/tick/prediction - execute if score @s General.Object.Tick matches 133 at @s run function asset:object/2269.gem_rocket_punch/tick/damage - execute if score @s General.Object.Tick matches 135 at @s run function asset:object/2269.gem_rocket_punch/tick/damage - execute if score @s General.Object.Tick matches 137 at @s run function asset:object/2269.gem_rocket_punch/tick/damage - execute if score @s General.Object.Tick matches 139 at @s run function asset:object/2269.gem_rocket_punch/tick/damage - execute if score @s General.Object.Tick matches 141 at @s run function asset:object/2269.gem_rocket_punch/tick/damage - execute if score @s General.Object.Tick matches 143 at @s run function asset:object/2269.gem_rocket_punch/tick/damage - execute if score @s General.Object.Tick matches 145 at @s run function asset:object/2269.gem_rocket_punch/tick/damage + execute if score @s General.Object.Tick matches 190 positioned ~ ~-3 ~ rotated ~ 0 run function asset:object/2269.gem_rocket_punch/tick/prediction + execute if score @s General.Object.Tick matches 233 at @s run function asset:object/2269.gem_rocket_punch/tick/damage + execute if score @s General.Object.Tick matches 235 at @s run function asset:object/2269.gem_rocket_punch/tick/damage + execute if score @s General.Object.Tick matches 237 at @s run function asset:object/2269.gem_rocket_punch/tick/damage + execute if score @s General.Object.Tick matches 239 at @s run function asset:object/2269.gem_rocket_punch/tick/damage + execute if score @s General.Object.Tick matches 241 at @s run function asset:object/2269.gem_rocket_punch/tick/damage + execute if score @s General.Object.Tick matches 243 at @s run function asset:object/2269.gem_rocket_punch/tick/damage + execute if score @s General.Object.Tick matches 245 at @s run function asset:object/2269.gem_rocket_punch/tick/damage # 演出 execute if score @s General.Object.Tick matches 46 at @s run playsound block.piston.extend hostile @a ~ ~ ~ 2 0.9 - execute if score @s General.Object.Tick matches 109 at @s run playsound block.piston.extend hostile @a ~ ~ ~ 2 0.9 - execute if score @s General.Object.Tick matches 133 at @s run playsound entity.firework_rocket.launch hostile @a ~ ~ ~ 2 0.9 + execute if score @s General.Object.Tick matches 209 at @s run playsound block.piston.extend hostile @a ~ ~ ~ 2 0.9 + execute if score @s General.Object.Tick matches 233 at @s run playsound entity.firework_rocket.launch hostile @a ~ ~ ~ 2 0.9 # 消滅処理 - execute if score @s General.Object.Tick matches 177 run data modify entity @s start_interpolation set value -1 - execute if score @s General.Object.Tick matches 177 run data modify entity @s transformation.scale set value [0.0f,0.0f,0.0f] - kill @s[scores={General.Object.Tick=180..}] + execute if score @s General.Object.Tick matches 277 run data modify entity @s start_interpolation set value -1 + execute if score @s General.Object.Tick matches 277 run data modify entity @s transformation.scale set value [0.0f,0.0f,0.0f] + kill @s[scores={General.Object.Tick=280..}] From 5cfbfdc4ca19b332552de6c976ec4e29a8dc590c Mon Sep 17 00:00:00 2001 From: mokkkk Date: Sun, 8 Mar 2026 16:48:43 +0900 Subject: [PATCH 38/98] =?UTF-8?q?=E3=83=91=E3=83=B3=E3=82=B8=E3=83=A3?= =?UTF-8?q?=E3=83=B3=E3=83=89=E3=83=AD=E3=83=BC=E3=83=B3=E4=BD=9C=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mob/0456.gargo_ex_machina/load.mcfunction | 1 + .../0456.gargo_ex_machina/register.mcfunction | 1 + .../tick/event/blute_force_attack/.mcfunction | 21 ++--- .../summon_panjan_drone.m.mcfunction | 13 +++ .../set_attack_position.mcfunction | 2 +- .../2262.gem_panjan_drone/_index.d.mcfunction | 22 +++++ .../2262.gem_panjan_drone/init/.mcfunction | 23 +++++ .../init/animated_java.mcfunction | 12 +++ .../2262.gem_panjan_drone/load.mcfunction | 10 ++ .../2262.gem_panjan_drone/register.mcfunction | 20 ++++ .../2262.gem_panjan_drone/summon/.mcfunction | 8 ++ .../summon/debug.mcfunction | 10 ++ .../2262.gem_panjan_drone/tick/.mcfunction | 27 ++++++ .../tick/attack.mcfunction | 20 ++++ .../tick/attack_flame.mcfunction | 22 +++++ .../tick/event_attack.mcfunction | 17 ++++ .../tick/event_flame.mcfunction | 94 +++++++++++++++++++ .../tick/event_idle.mcfunction | 11 +++ .../tick/event_start.mcfunction | 19 ++++ .../tick/link_model.m.mcfunction | 8 ++ .../tick/prediction.m.mcfunction | 12 +++ .../tick/remove.mcfunction | 11 +++ .../tick/start_attack.mcfunction | 10 ++ .../tick/start_flame.mcfunction | 10 ++ .../tick/start_idle.mcfunction | 10 ++ .../object/alias/2262/init.mcfunction | 8 ++ .../object/alias/2262/register.mcfunction | 8 ++ .../object/alias/2262/summon.mcfunction | 8 ++ .../object/alias/2262/tick.mcfunction | 8 ++ .../asset/tags/functions/object/load.json | 1 + 30 files changed, 434 insertions(+), 13 deletions(-) create mode 100644 Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_panjan_drone.m.mcfunction create mode 100644 Asset/data/asset/functions/object/2262.gem_panjan_drone/_index.d.mcfunction create mode 100644 Asset/data/asset/functions/object/2262.gem_panjan_drone/init/.mcfunction create mode 100644 Asset/data/asset/functions/object/2262.gem_panjan_drone/init/animated_java.mcfunction create mode 100644 Asset/data/asset/functions/object/2262.gem_panjan_drone/load.mcfunction create mode 100644 Asset/data/asset/functions/object/2262.gem_panjan_drone/register.mcfunction create mode 100644 Asset/data/asset/functions/object/2262.gem_panjan_drone/summon/.mcfunction create mode 100644 Asset/data/asset/functions/object/2262.gem_panjan_drone/summon/debug.mcfunction create mode 100644 Asset/data/asset/functions/object/2262.gem_panjan_drone/tick/.mcfunction create mode 100644 Asset/data/asset/functions/object/2262.gem_panjan_drone/tick/attack.mcfunction create mode 100644 Asset/data/asset/functions/object/2262.gem_panjan_drone/tick/attack_flame.mcfunction create mode 100644 Asset/data/asset/functions/object/2262.gem_panjan_drone/tick/event_attack.mcfunction create mode 100644 Asset/data/asset/functions/object/2262.gem_panjan_drone/tick/event_flame.mcfunction create mode 100644 Asset/data/asset/functions/object/2262.gem_panjan_drone/tick/event_idle.mcfunction create mode 100644 Asset/data/asset/functions/object/2262.gem_panjan_drone/tick/event_start.mcfunction create mode 100644 Asset/data/asset/functions/object/2262.gem_panjan_drone/tick/link_model.m.mcfunction create mode 100644 Asset/data/asset/functions/object/2262.gem_panjan_drone/tick/prediction.m.mcfunction create mode 100644 Asset/data/asset/functions/object/2262.gem_panjan_drone/tick/remove.mcfunction create mode 100644 Asset/data/asset/functions/object/2262.gem_panjan_drone/tick/start_attack.mcfunction create mode 100644 Asset/data/asset/functions/object/2262.gem_panjan_drone/tick/start_flame.mcfunction create mode 100644 Asset/data/asset/functions/object/2262.gem_panjan_drone/tick/start_idle.mcfunction create mode 100644 Asset/data/asset/functions/object/alias/2262/init.mcfunction create mode 100644 Asset/data/asset/functions/object/alias/2262/register.mcfunction create mode 100644 Asset/data/asset/functions/object/alias/2262/summon.mcfunction create mode 100644 Asset/data/asset/functions/object/alias/2262/tick.mcfunction diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/load.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/load.mcfunction index 1497eee834..9512b683c9 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/load.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/load.mcfunction @@ -13,5 +13,6 @@ # @within function asset:mob/0456.gargo_ex_machina/** # @within function asset:object/2260.gem_attack_drone/** # @within function asset:object/2261.gem_yeeter_drone/** +# @within function asset:object/2262.gem_panjan_drone/** # @within function asset:object/2269.gem_rocket_punch/** scoreboard objectives add CO.ObjectId dummy diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/register.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/register.mcfunction index c14bbf703d..b5b68902e9 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/register.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/register.mcfunction @@ -56,3 +56,4 @@ data modify storage asset:mob Field.Damage.AttackDrone set value {Amount:60.0,Type:"Physical",Element:"None"} data modify storage asset:mob Field.Damage.YeeterDrone set value {Amount:60.0,Type:"Physical",Element:"None"} data modify storage asset:mob Field.Damage.PanjanDrone set value {Amount:60.0,Type:"Physical",Element:"None"} + data modify storage asset:mob Field.Damage.PanjanDrone.Flame set value {Amount:20.0,Type:"Magic",Element:"Fire"} diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/blute_force_attack/.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/blute_force_attack/.mcfunction index 9ae964594e..0bc85f3378 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/blute_force_attack/.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/blute_force_attack/.mcfunction @@ -22,18 +22,15 @@ # モデルを合わせる execute as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run tp @s ~ ~ ~ ~ ~ # 召喚 - execute if score @s CO.EventTimer matches 25 positioned ^ ^ ^10 run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_attack_drone.m - execute if score @s CO.EventTimer matches 26 positioned ^-8 ^ ^8 run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_attack_drone.m - execute if score @s CO.EventTimer matches 27 positioned ^8 ^ ^8 run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_attack_drone.m - # execute if score @s CO.EventTimer matches 28 positioned ^-16 ^ ^6 run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_attack_drone.m - # execute if score @s CO.EventTimer matches 29 positioned ^16 ^ ^6 run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_attack_drone.m - # execute if score @s CO.EventTimer matches 30 positioned ^-24 ^ ^6 run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_attack_drone.m - # execute if score @s CO.EventTimer matches 31 positioned ^24 ^ ^6 run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_attack_drone.m - - execute if score @s CO.EventTimer matches 25 positioned ^-18 ^ ^ rotated ~-12 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_yeeter_drone.m - execute if score @s CO.EventTimer matches 25 positioned ^18 ^ ^ rotated ~12 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_yeeter_drone.m - execute if score @s CO.EventTimer matches 28 positioned ^-26 ^ ^6 rotated ~-12 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_yeeter_drone.m - execute if score @s CO.EventTimer matches 28 positioned ^26 ^ ^6 rotated ~12 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_yeeter_drone.m + # execute if score @s CO.EventTimer matches 25 positioned ^ ^ ^10 run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_attack_drone.m + # execute if score @s CO.EventTimer matches 26 positioned ^-8 ^ ^8 run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_attack_drone.m + # execute if score @s CO.EventTimer matches 27 positioned ^8 ^ ^8 run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_attack_drone.m + execute if score @s CO.EventTimer matches 28 positioned ^-16 ^ ^6 run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_panjan_drone.m + execute if score @s CO.EventTimer matches 29 positioned ^16 ^ ^6 run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_panjan_drone.m + # execute if score @s CO.EventTimer matches 25 positioned ^-18 ^ ^ rotated ~-12 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_yeeter_drone.m + # execute if score @s CO.EventTimer matches 25 positioned ^18 ^ ^ rotated ~12 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_yeeter_drone.m + # execute if score @s CO.EventTimer matches 28 positioned ^-26 ^ ^6 rotated ~-12 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_yeeter_drone.m + # execute if score @s CO.EventTimer matches 28 positioned ^26 ^ ^6 rotated ~12 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_yeeter_drone.m # 終了 diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_panjan_drone.m.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_panjan_drone.m.mcfunction new file mode 100644 index 0000000000..3fa562221a --- /dev/null +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_panjan_drone.m.mcfunction @@ -0,0 +1,13 @@ +#> asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_panjan_drone.m +# +# ブルートフォースアタック +# +# @within asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/ + +# ATTACKドローン召喚 + data modify storage api: Argument.ID set value 2262 + execute store result storage api: Argument.FieldOverride.MobUUID int 1 run scoreboard players get @s MobUUID + function asset:mob/0456.gargo_ex_machina/tick/util/assing_object_id + data modify storage api: Argument.FieldOverride.Damage set from storage asset:context this.Damage.PanjanDrone + data modify storage api: Argument.FieldOverride.FlameDamage set from storage asset:context this.Damage.PanjanDrone.Flame + function api:object/summon diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam_shot/set_attack_position.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam_shot/set_attack_position.mcfunction index f9783977e3..d64ceb2758 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam_shot/set_attack_position.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam_shot/set_attack_position.mcfunction @@ -84,4 +84,4 @@ summon area_effect_cloud ^-8.78227 ^ ^-8.78227 {Tags:["CO.Aec.AttackPosition"],D summon area_effect_cloud ^0 ^ ^-8.78227 {Tags:["CO.Aec.AttackPosition"],Duration:100} # 自身の周囲を消去 - execute at @s run kill @e[tag=CO.Aec.AttackPosition,distance=..14] + execute at @s run kill @e[tag=CO.Aec.AttackPosition,distance=..22] diff --git a/Asset/data/asset/functions/object/2262.gem_panjan_drone/_index.d.mcfunction b/Asset/data/asset/functions/object/2262.gem_panjan_drone/_index.d.mcfunction new file mode 100644 index 0000000000..7c932dfd99 --- /dev/null +++ b/Asset/data/asset/functions/object/2262.gem_panjan_drone/_index.d.mcfunction @@ -0,0 +1,22 @@ +#> asset:object/2262.gem_panjan_drone/_index.d +# @private + +#> tag +# @within function asset:object/2262.gem_panjan_drone/** + #declare tag CO.Object + #declare tag CO.Drone + #declare tag CO.Drone.Remove + #declare tag 2262.Model + #declare tag 2262.Model.Init + #declare tag 2262.Model.Target + #declare tag 2262.Phase.Idle + #declare tag 2262.Phase.Attack + #declare tag 2262.Phase.Flame + #declare tag 2262.Phase.Start + #declare function animated_java:gem_panjan_drone/summon + #declare function animated_java:gem_panjan_drone/animations/summon/tween + #declare function animated_java:gem_panjan_drone/animations/idle/tween + #declare function animated_java:gem_panjan_drone/animations/move_start/tween + #declare function animated_java:gem_panjan_drone/animations/move/tween + #declare function animated_java:gem_panjan_drone/animations/attack/tween + #declare function animated_java:gem_panjan_drone/remove/this diff --git a/Asset/data/asset/functions/object/2262.gem_panjan_drone/init/.mcfunction b/Asset/data/asset/functions/object/2262.gem_panjan_drone/init/.mcfunction new file mode 100644 index 0000000000..84ab1d67f7 --- /dev/null +++ b/Asset/data/asset/functions/object/2262.gem_panjan_drone/init/.mcfunction @@ -0,0 +1,23 @@ +#> asset:object/2262.gem_panjan_drone/init/ +# +# Objectのinit時の処理 +# +# @within asset:object/alias/2262/init + +# 実行角度に合わせる + tp @s ~ ~ ~ ~ 0 + +# ID割り当て + execute store result score @s CO.ObjectId run data get storage asset:context this.ObjectId + +# モデル召喚 + function asset:object/2262.gem_panjan_drone/init/animated_java + +# 仮 + scoreboard players set @s 2262.IdleTime 60 + +# タイマー計算 + # IdleTimeは予備動作を考慮して短縮 + scoreboard players remove @s 2262.IdleTime 25 + execute store result score @s 2262.PredictionTime run scoreboard players get @s 2262.IdleTime + scoreboard players remove @s 2262.PredictionTime 30 diff --git a/Asset/data/asset/functions/object/2262.gem_panjan_drone/init/animated_java.mcfunction b/Asset/data/asset/functions/object/2262.gem_panjan_drone/init/animated_java.mcfunction new file mode 100644 index 0000000000..d6bc4fbd26 --- /dev/null +++ b/Asset/data/asset/functions/object/2262.gem_panjan_drone/init/animated_java.mcfunction @@ -0,0 +1,12 @@ +#> asset:object/2262.gem_panjan_drone/init/animated_java +# +# Objectのinit時の処理 +# +# @within asset:object/2262.gem_panjan_drone/init/ + +# モデル召喚 + function animated_java:gem_panjan_drone/summon {args: {animation: 'summon'}} + +# ID割り当て + scoreboard players operation @e[type=item_display,tag=2262.Model,tag=!2262.Model.Init,distance=..10,sort=nearest,limit=1] CO.ObjectId = @s CO.ObjectId + tag @e[type=item_display,tag=2262.Model,tag=!2262.Model.Init,distance=..10,sort=nearest,limit=1] add 2262.Model.Init diff --git a/Asset/data/asset/functions/object/2262.gem_panjan_drone/load.mcfunction b/Asset/data/asset/functions/object/2262.gem_panjan_drone/load.mcfunction new file mode 100644 index 0000000000..5dbad0a0d9 --- /dev/null +++ b/Asset/data/asset/functions/object/2262.gem_panjan_drone/load.mcfunction @@ -0,0 +1,10 @@ +#> asset:object/2262.gem_panjan_drone/load +# +# Objectに利用するスコアボード等の初期化処理 +# +# @within tag/function asset:object/load + +#> 定義類はここに +# @within function asset:object/2262.gem_panjan_drone/** + scoreboard objectives add 2262.IdleTime dummy + scoreboard objectives add 2262.PredictionTime dummy diff --git a/Asset/data/asset/functions/object/2262.gem_panjan_drone/register.mcfunction b/Asset/data/asset/functions/object/2262.gem_panjan_drone/register.mcfunction new file mode 100644 index 0000000000..51c658d8c0 --- /dev/null +++ b/Asset/data/asset/functions/object/2262.gem_panjan_drone/register.mcfunction @@ -0,0 +1,20 @@ +#> asset:object/2262.gem_panjan_drone/register +# +# Objectのデータを指定 +# +# @within function asset:object/alias/2262/register + +# 継承(オプション) + # data modify storage asset:object Extends append value + # function asset:object/extends +# 他のObjectに継承されることを許可するか (boolean) (オプション) + # data modify storage asset:object ExtendsSafe set value +# 継承されることを前提とした、抽象的なObjectであるかどうか(boolean) + data modify storage asset:object IsAbstract set value false +# Tickするかどうか(boolean) (オプション) + # data modify storage asset:object IsTicking set value + +# ID (int) + data modify storage asset:object ID set value 2262 +# フィールド(オプション) + # data modify storage asset:object Field.myValue set value \ No newline at end of file diff --git a/Asset/data/asset/functions/object/2262.gem_panjan_drone/summon/.mcfunction b/Asset/data/asset/functions/object/2262.gem_panjan_drone/summon/.mcfunction new file mode 100644 index 0000000000..b6ce65912f --- /dev/null +++ b/Asset/data/asset/functions/object/2262.gem_panjan_drone/summon/.mcfunction @@ -0,0 +1,8 @@ +#> asset:object/2262.gem_panjan_drone/summon/ +# +# Object召喚処理の呼び出し時に実行されるfunction +# +# @within asset:object/alias/2262/summon + +# 元となるEntityを召喚する + summon item_display ~ ~ ~ {Tags:["ObjectInit","CO.Object","2262.Phase.Start"]} diff --git a/Asset/data/asset/functions/object/2262.gem_panjan_drone/summon/debug.mcfunction b/Asset/data/asset/functions/object/2262.gem_panjan_drone/summon/debug.mcfunction new file mode 100644 index 0000000000..ade6e1070d --- /dev/null +++ b/Asset/data/asset/functions/object/2262.gem_panjan_drone/summon/debug.mcfunction @@ -0,0 +1,10 @@ +#> asset:object/2262.gem_panjan_drone/summon/debug +# +# 動作チェック用の召喚処理 使い終わったら消してもいいかも +# +# @user +# @private + +# 召喚 + data modify storage api: Argument.ID set value 2262 + function api:object/summon \ No newline at end of file diff --git a/Asset/data/asset/functions/object/2262.gem_panjan_drone/tick/.mcfunction b/Asset/data/asset/functions/object/2262.gem_panjan_drone/tick/.mcfunction new file mode 100644 index 0000000000..4eef93ac5a --- /dev/null +++ b/Asset/data/asset/functions/object/2262.gem_panjan_drone/tick/.mcfunction @@ -0,0 +1,27 @@ +#> asset:object/2262.gem_panjan_drone/tick/ +# +# Objectのtick時の処理 +# +# @within asset:object/alias/2262/tick + +# Tick加算 + scoreboard players add @s General.Object.Tick 1 +# モデル紐づけ + function asset:object/2262.gem_panjan_drone/tick/link_model.m with storage asset:context this + +# 登場 + execute if entity @s[tag=2262.Phase.Start] run function asset:object/2262.gem_panjan_drone/tick/event_start +# 待機 + execute if entity @s[tag=2262.Phase.Idle] run function asset:object/2262.gem_panjan_drone/tick/event_idle +# 攻撃 + execute if entity @s[tag=2262.Phase.Attack] run function asset:object/2262.gem_panjan_drone/tick/event_attack +# ダメージ床 + execute if entity @s[tag=2262.Phase.Flame] positioned ~ ~0.5 ~ run function asset:object/2262.gem_panjan_drone/tick/event_flame + +# 消去 + execute if entity @s[tag=CO.Drone.Remove] run function asset:object/2262.gem_panjan_drone/tick/remove + +# モデルを自身の位置に合わせる + tp @e[type=item_display,tag=2262.Model.Target,distance=..80,sort=nearest,limit=1] ~ ~ ~ ~ ~ +# 紐づけ解除 + tag @e[type=item_display,tag=2262.Model.Target,distance=..80,sort=nearest,limit=1] remove 2262.Model.Target diff --git a/Asset/data/asset/functions/object/2262.gem_panjan_drone/tick/attack.mcfunction b/Asset/data/asset/functions/object/2262.gem_panjan_drone/tick/attack.mcfunction new file mode 100644 index 0000000000..29778d8a44 --- /dev/null +++ b/Asset/data/asset/functions/object/2262.gem_panjan_drone/tick/attack.mcfunction @@ -0,0 +1,20 @@ +#> asset:object/2262.gem_panjan_drone/tick/attack +# +# Objectのtick時の処理 +# +# @within asset:object/2262.gem_panjan_drone/tick/event_attack + +# ダメージ + data modify storage api: Argument.Damage set from storage asset:context this.Damage.Amount + data modify storage api: Argument.AttackType set from storage asset:context this.Damage.Type + data modify storage api: Argument.ElementType set from storage asset:context this.Damage.Element + data modify storage api: Argument.MobUUID set from storage asset:context this.MobUUID + function api:damage/modifier_manual + execute as @a[tag=!PlayerShouldInvulnerable,distance=..10] run function api:damage/ + function api:damage/reset + +# 演出 + particle explosion_emitter ~ ~1 ~ 0 0 0 0 1 force + particle explosion ~ ~1 ~ 4 4 4 0 30 force + particle lava ~ ~1 ~ 4 1 4 0.2 10 + playsound entity.generic.explode hostile @a ~ ~ ~ 2 0.8 diff --git a/Asset/data/asset/functions/object/2262.gem_panjan_drone/tick/attack_flame.mcfunction b/Asset/data/asset/functions/object/2262.gem_panjan_drone/tick/attack_flame.mcfunction new file mode 100644 index 0000000000..8ffd5a2990 --- /dev/null +++ b/Asset/data/asset/functions/object/2262.gem_panjan_drone/tick/attack_flame.mcfunction @@ -0,0 +1,22 @@ +#> asset:object/2262.gem_panjan_drone/tick/attack_flame +# +# Objectのtick時の処理 +# +# @within asset:object/2262.gem_panjan_drone/tick/event_flame + +# 計算 + scoreboard players operation $Interval Temporary = @s General.Object.Tick + scoreboard players operation $Interval Temporary %= $10 Const + execute unless score $Interval Temporary matches 9 run return run scoreboard players reset $Interval Temporary + +# ダメージ + data modify storage api: Argument.Damage set from storage asset:context this.FlameDamage.Amount + data modify storage api: Argument.AttackType set from storage asset:context this.FlameDamage.Type + data modify storage api: Argument.ElementType set from storage asset:context this.FlameDamage.Element + data modify storage api: Argument.MobUUID set from storage asset:context this.MobUUID + function api:damage/modifier_manual + execute as @a[tag=!PlayerShouldInvulnerable,distance=..10] run function api:damage/ + function api:damage/reset + +# 終了 + scoreboard players reset $Interval Temporary diff --git a/Asset/data/asset/functions/object/2262.gem_panjan_drone/tick/event_attack.mcfunction b/Asset/data/asset/functions/object/2262.gem_panjan_drone/tick/event_attack.mcfunction new file mode 100644 index 0000000000..edab84e6bb --- /dev/null +++ b/Asset/data/asset/functions/object/2262.gem_panjan_drone/tick/event_attack.mcfunction @@ -0,0 +1,17 @@ +#> asset:object/2262.gem_panjan_drone/tick/event_attack +# +# Objectのtick時の処理 +# +# @within asset:object/2262.gem_panjan_drone/tick/ + +# アニメーション再生 + execute if entity @s[scores={General.Object.Tick=60}] as @e[type=item_display,tag=2262.Model.Target,distance=..30,sort=nearest,limit=1] at @s run function animated_java:gem_panjan_drone/animations/attack/tween {duration:1, to_frame: 1} + +# 予兆 + execute if entity @s[scores={General.Object.Tick=1}] positioned ~ ~ ~ run function asset:object/2262.gem_panjan_drone/tick/prediction.m {PredictionTime:60} + +# 攻撃 + execute if entity @s[scores={General.Object.Tick=60}] positioned ~ ~ ~ run function asset:object/2262.gem_panjan_drone/tick/attack + +# ダメージ床に移行 + execute if entity @s[scores={General.Object.Tick=61..}] positioned ~ ~ ~ run function asset:object/2262.gem_panjan_drone/tick/start_flame diff --git a/Asset/data/asset/functions/object/2262.gem_panjan_drone/tick/event_flame.mcfunction b/Asset/data/asset/functions/object/2262.gem_panjan_drone/tick/event_flame.mcfunction new file mode 100644 index 0000000000..085681d459 --- /dev/null +++ b/Asset/data/asset/functions/object/2262.gem_panjan_drone/tick/event_flame.mcfunction @@ -0,0 +1,94 @@ +#> asset:object/2262.gem_panjan_drone/tick/event_flame +# +# Objectのtick時の処理 +# +# @within asset:object/2262.gem_panjan_drone/tick/ + +# 演出 + # [ImportKey]: NobwRALgngDgpmAXGAxgSwE4oDYIDRgCuhaAJkmAEykDMlArAEYCM9AtPSowIZsAsNUnzYBOUgDMA7KO58+9WnDj16zMAQB23ALYJkgMMUABGoIxuGHQGck4FAHtCGiEkoAGAijhO4GG2ABu3NiEeuAAHkjuYFCRAL6xBBakaITWiAAcBJYQ5s6IUXDY2GgwlnrMrlEYdjkQelFolgCiRSVlTQCOhEHYUADKZp7kiOJBZfF44NDwFOhYuOpEJMNg3JKS4nyUfNLc4kz8TJSi6SK8AGwCzCikrsx86ZeLWroURpSLZhbaabYOTkh7h4vHVfIhwIFgqEwBF8gQYvkJmAkik0vQsjkMHkCq1SuVKokatw6pECI0WsU8Z1ukV+oM4MNRthxgkprA9KhMDh8EsyBQaHAUOd9ucaGxmMwaLw+NwRMw2OlmOd2K4ROdGK50owGHxzihnjoOUYaJ9zFY-PZHHlMqgQT4-JCQn5YVEEa4kSjUi4AHTosDZXKksCFSllQEE5FEklwsDk3HtLo9OncIZIJksgC6QA_3 + # 円 3 + particle flame ^0 ^ ^-2.5 0.2 0 0.2 0.05 1 + particle flame ^1.76777 ^ ^-1.76777 0.2 0 0.2 0.05 1 + particle flame ^2.5 ^ ^0 0.2 0 0.2 0.05 1 + particle flame ^1.76777 ^ ^1.76777 0.2 0 0.2 0.05 1 + particle flame ^0 ^ ^2.5 0.2 0 0.2 0.05 1 + particle flame ^-1.76777 ^ ^1.76777 0.2 0 0.2 0.05 1 + particle flame ^-2.5 ^ ^0 0.2 0 0.2 0.05 1 + particle flame ^-1.76777 ^ ^-1.76777 0.2 0 0.2 0.05 1 + # 円 1 + particle flame ^0 ^ ^-8 0.2 0 0.2 0.05 1 + particle flame ^2.47214 ^ ^-7.60845 0.2 0 0.2 0.05 1 + particle flame ^4.70228 ^ ^-6.47214 0.2 0 0.2 0.05 1 + particle flame ^6.47214 ^ ^-4.70228 0.2 0 0.2 0.05 1 + particle flame ^7.60845 ^ ^-2.47214 0.2 0 0.2 0.05 1 + particle flame ^8 ^ ^0 0.2 0 0.2 0.05 1 + particle flame ^7.60845 ^ ^2.47214 0.2 0 0.2 0.05 1 + particle flame ^6.47214 ^ ^4.70228 0.2 0 0.2 0.05 1 + particle flame ^4.70228 ^ ^6.47214 0.2 0 0.2 0.05 1 + particle flame ^2.47214 ^ ^7.60845 0.2 0 0.2 0.05 1 + particle flame ^0 ^ ^8 0.2 0 0.2 0.05 1 + particle flame ^-2.47214 ^ ^7.60845 0.2 0 0.2 0.05 1 + particle flame ^-4.70228 ^ ^6.47214 0.2 0 0.2 0.05 1 + particle flame ^-6.47214 ^ ^4.70228 0.2 0 0.2 0.05 1 + particle flame ^-7.60845 ^ ^2.47214 0.2 0 0.2 0.05 1 + particle flame ^-8 ^ ^0 0.2 0 0.2 0.05 1 + particle flame ^-7.60845 ^ ^-2.47214 0.2 0 0.2 0.05 1 + particle flame ^-6.47214 ^ ^-4.70228 0.2 0 0.2 0.05 1 + particle flame ^-4.70228 ^ ^-6.47214 0.2 0 0.2 0.05 1 + particle flame ^-2.47214 ^ ^-7.60845 0.2 0 0.2 0.05 1 + # 円 2 + particle flame ^0 ^ ^-5 0.2 0 0.2 0.05 1 + particle flame ^2.16942 ^ ^-4.50484 0.2 0 0.2 0.05 1 + particle flame ^3.90916 ^ ^-3.11745 0.2 0 0.2 0.05 1 + particle flame ^4.87464 ^ ^-1.1126 0.2 0 0.2 0.05 1 + particle flame ^4.87464 ^ ^1.1126 0.2 0 0.2 0.05 1 + particle flame ^3.90916 ^ ^3.11745 0.2 0 0.2 0.05 1 + particle flame ^2.16942 ^ ^4.50484 0.2 0 0.2 0.05 1 + particle flame ^0 ^ ^5 0.2 0 0.2 0.05 1 + particle flame ^-2.16942 ^ ^4.50484 0.2 0 0.2 0.05 1 + particle flame ^-3.90916 ^ ^3.11745 0.2 0 0.2 0.05 1 + particle flame ^-4.87464 ^ ^1.1126 0.2 0 0.2 0.05 1 + particle flame ^-4.87464 ^ ^-1.1126 0.2 0 0.2 0.05 1 + particle flame ^-3.90916 ^ ^-3.11745 0.2 0 0.2 0.05 1 + particle flame ^-2.16942 ^ ^-4.50484 0.2 0 0.2 0.05 1 + # [ImportKey]: NobwRALgngDgpmAXGAxgSwE4oDYIDRgCuhaAJkmAAwDsppAjACwDMAnALSsAc1K7jjAGZ8AhgCMRAVnYAmVpMn0ZgrsxmSZYAgDsRAWwTJAYYoACelrAwRGfQGck4FAHtC2iEmaUCKOG7gYHMAA3EWxCQ3AADyQvMCgYgF8EghtSNEJ7RHpY2whrd0RYuGxsNBhbQ2zYjCc8iENYtFsAURKyiuaAR0JQ7CgAZSsfckRBUIqkgF0gA_3 + # 円 1 + particle dust 0.502 0.102 0.102 1 ^0 ^ ^-10 0.2 0 0.2 0.05 1 + particle dust 0.502 0.102 0.102 1 ^2.07912 ^ ^-9.78148 0.2 0 0.2 0.05 1 + particle dust 0.502 0.102 0.102 1 ^4.06737 ^ ^-9.13545 0.2 0 0.2 0.05 1 + particle dust 0.502 0.102 0.102 1 ^5.87785 ^ ^-8.09017 0.2 0 0.2 0.05 1 + particle dust 0.502 0.102 0.102 1 ^7.43145 ^ ^-6.69131 0.2 0 0.2 0.05 1 + particle dust 0.502 0.102 0.102 1 ^8.66025 ^ ^-5 0.2 0 0.2 0.05 1 + particle dust 0.502 0.102 0.102 1 ^9.51057 ^ ^-3.09017 0.2 0 0.2 0.05 1 + particle dust 0.502 0.102 0.102 1 ^9.94522 ^ ^-1.04528 0.2 0 0.2 0.05 1 + particle dust 0.502 0.102 0.102 1 ^9.94522 ^ ^1.04528 0.2 0 0.2 0.05 1 + particle dust 0.502 0.102 0.102 1 ^9.51057 ^ ^3.09017 0.2 0 0.2 0.05 1 + particle dust 0.502 0.102 0.102 1 ^8.66025 ^ ^5 0.2 0 0.2 0.05 1 + particle dust 0.502 0.102 0.102 1 ^7.43145 ^ ^6.69131 0.2 0 0.2 0.05 1 + particle dust 0.502 0.102 0.102 1 ^5.87785 ^ ^8.09017 0.2 0 0.2 0.05 1 + particle dust 0.502 0.102 0.102 1 ^4.06737 ^ ^9.13545 0.2 0 0.2 0.05 1 + particle dust 0.502 0.102 0.102 1 ^2.07912 ^ ^9.78148 0.2 0 0.2 0.05 1 + particle dust 0.502 0.102 0.102 1 ^0 ^ ^10 0.2 0 0.2 0.05 1 + particle dust 0.502 0.102 0.102 1 ^-2.07912 ^ ^9.78148 0.2 0 0.2 0.05 1 + particle dust 0.502 0.102 0.102 1 ^-4.06737 ^ ^9.13545 0.2 0 0.2 0.05 1 + particle dust 0.502 0.102 0.102 1 ^-5.87785 ^ ^8.09017 0.2 0 0.2 0.05 1 + particle dust 0.502 0.102 0.102 1 ^-7.43145 ^ ^6.69131 0.2 0 0.2 0.05 1 + particle dust 0.502 0.102 0.102 1 ^-8.66025 ^ ^5 0.2 0 0.2 0.05 1 + particle dust 0.502 0.102 0.102 1 ^-9.51057 ^ ^3.09017 0.2 0 0.2 0.05 1 + particle dust 0.502 0.102 0.102 1 ^-9.94522 ^ ^1.04528 0.2 0 0.2 0.05 1 + particle dust 0.502 0.102 0.102 1 ^-9.94522 ^ ^-1.04528 0.2 0 0.2 0.05 1 + particle dust 0.502 0.102 0.102 1 ^-9.51057 ^ ^-3.09017 0.2 0 0.2 0.05 1 + particle dust 0.502 0.102 0.102 1 ^-8.66025 ^ ^-5 0.2 0 0.2 0.05 1 + particle dust 0.502 0.102 0.102 1 ^-7.43145 ^ ^-6.69131 0.2 0 0.2 0.05 1 + particle dust 0.502 0.102 0.102 1 ^-5.87785 ^ ^-8.09017 0.2 0 0.2 0.05 1 + particle dust 0.502 0.102 0.102 1 ^-4.06737 ^ ^-9.13545 0.2 0 0.2 0.05 1 + particle dust 0.502 0.102 0.102 1 ^-2.07912 ^ ^-9.78148 0.2 0 0.2 0.05 1 + +# 攻撃 + function asset:object/2262.gem_panjan_drone/tick/attack_flame + +# モデル消去 + execute if entity @s[scores={General.Object.Tick=11}] as @e[type=item_display,tag=2262.Model.Target,distance=..30,sort=nearest,limit=1] run function animated_java:gem_panjan_drone/remove/this + +# 消去 + execute if entity @s[scores={General.Object.Tick=601..}] run tag @s add CO.Drone.Remove diff --git a/Asset/data/asset/functions/object/2262.gem_panjan_drone/tick/event_idle.mcfunction b/Asset/data/asset/functions/object/2262.gem_panjan_drone/tick/event_idle.mcfunction new file mode 100644 index 0000000000..0a540da2ae --- /dev/null +++ b/Asset/data/asset/functions/object/2262.gem_panjan_drone/tick/event_idle.mcfunction @@ -0,0 +1,11 @@ +#> asset:object/2262.gem_panjan_drone/tick/event_idle +# +# Objectのtick時の処理 +# +# @within asset:object/2262.gem_panjan_drone/tick/ + +# アニメーション再生 + execute if entity @s[scores={General.Object.Tick=1}] as @e[type=item_display,tag=2262.Model.Target,distance=..30,sort=nearest,limit=1] at @s run function animated_java:gem_panjan_drone/animations/idle/tween {duration:1, to_frame: 1} + +# 攻撃に移行 + execute if score @s General.Object.Tick >= @s 2262.IdleTime run function asset:object/2262.gem_panjan_drone/tick/start_attack diff --git a/Asset/data/asset/functions/object/2262.gem_panjan_drone/tick/event_start.mcfunction b/Asset/data/asset/functions/object/2262.gem_panjan_drone/tick/event_start.mcfunction new file mode 100644 index 0000000000..473c082493 --- /dev/null +++ b/Asset/data/asset/functions/object/2262.gem_panjan_drone/tick/event_start.mcfunction @@ -0,0 +1,19 @@ +#> asset:object/2262.gem_panjan_drone/tick/event_start +# +# Objectのtick時の処理 +# +# @within asset:object/2262.gem_panjan_drone/tick/ + +# アニメーション再生 + execute if entity @s[scores={General.Object.Tick=1}] as @e[type=item_display,tag=2262.Model.Target,distance=..30,sort=nearest,limit=1] at @s run function animated_java:gem_panjan_drone/animations/summon/tween {duration:1, to_frame: 1} + +# 演出 + execute if entity @s[scores={General.Object.Tick=10}] run playsound entity.ravager.step hostile @a ~ ~ ~ 2 0.6 + execute if entity @s[scores={General.Object.Tick=10}] run particle block quartz_block ~ ~0.2 ~ 1.5 0.1 1.5 0 30 + execute if entity @s[scores={General.Object.Tick=21}] run playsound entity.ravager.step hostile @a ~ ~ ~ 2 0.8 + execute if entity @s[scores={General.Object.Tick=21}] run particle block quartz_block ~ ~0.2 ~ 1.5 0.1 1.5 0 30 + # execute if entity @s[scores={General.Object.Tick=28}] run playsound block.piston.contract hostile @a ~ ~ ~ 2 0.8 + # execute if entity @s[scores={General.Object.Tick=50}] run playsound block.piston.contract hostile @a ~ ~ ~ 2 0.8 + +# idleに移行 + execute if score @s General.Object.Tick matches 31.. run function asset:object/2262.gem_panjan_drone/tick/start_idle diff --git a/Asset/data/asset/functions/object/2262.gem_panjan_drone/tick/link_model.m.mcfunction b/Asset/data/asset/functions/object/2262.gem_panjan_drone/tick/link_model.m.mcfunction new file mode 100644 index 0000000000..222bcfa8c4 --- /dev/null +++ b/Asset/data/asset/functions/object/2262.gem_panjan_drone/tick/link_model.m.mcfunction @@ -0,0 +1,8 @@ +#> asset:object/2262.gem_panjan_drone/tick/link_model.m +# +# Objectのtick時の処理 +# +# @within asset:object/2262.gem_panjan_drone/tick/ + +# 一定間隔で攻撃 + $execute as @e[type=item_display,tag=2262.Model,distance=..30] if score @s CO.ObjectId matches $(ObjectId) run tag @s add 2262.Model.Target diff --git a/Asset/data/asset/functions/object/2262.gem_panjan_drone/tick/prediction.m.mcfunction b/Asset/data/asset/functions/object/2262.gem_panjan_drone/tick/prediction.m.mcfunction new file mode 100644 index 0000000000..ef1f4b1098 --- /dev/null +++ b/Asset/data/asset/functions/object/2262.gem_panjan_drone/tick/prediction.m.mcfunction @@ -0,0 +1,12 @@ +#> asset:object/2262.gem_panjan_drone/tick/prediction.m +# +# Objectのtick時の処理 +# +# @within asset:object/2262.gem_panjan_drone/tick/event_attack + +# 予兆 + data modify storage api: Argument.ID set value 2063 + data modify storage api: Argument.FieldOverride.Color set value 3381759 + data modify storage api: Argument.FieldOverride.Scale set value [20f, 20f, 0.05f] + $data modify storage api: Argument.FieldOverride.Tick set value $(PredictionTime) + execute rotated ~ 0 run function api:object/summon diff --git a/Asset/data/asset/functions/object/2262.gem_panjan_drone/tick/remove.mcfunction b/Asset/data/asset/functions/object/2262.gem_panjan_drone/tick/remove.mcfunction new file mode 100644 index 0000000000..168c33aed0 --- /dev/null +++ b/Asset/data/asset/functions/object/2262.gem_panjan_drone/tick/remove.mcfunction @@ -0,0 +1,11 @@ +#> asset:object/2262.gem_panjan_drone/tick/remove +# +# Objectのtick時の処理 +# +# @within asset:object/2262.gem_panjan_drone/tick/ + +# モデル消去 + execute as @e[type=item_display,tag=2262.Model.Target,distance=..30,sort=nearest,limit=1] run function animated_java:gem_panjan_drone/remove/this + +# 自身を消去 + kill @s diff --git a/Asset/data/asset/functions/object/2262.gem_panjan_drone/tick/start_attack.mcfunction b/Asset/data/asset/functions/object/2262.gem_panjan_drone/tick/start_attack.mcfunction new file mode 100644 index 0000000000..dbfec9785c --- /dev/null +++ b/Asset/data/asset/functions/object/2262.gem_panjan_drone/tick/start_attack.mcfunction @@ -0,0 +1,10 @@ +#> asset:object/2262.gem_panjan_drone/tick/start_attack +# +# Objectのtick時の処理 +# +# @within asset:object/2262.gem_panjan_drone/tick/event_idle + +# idleに移行 + tag @s remove 2262.Phase.Idle + tag @s add 2262.Phase.Attack + scoreboard players set @s General.Object.Tick 0 diff --git a/Asset/data/asset/functions/object/2262.gem_panjan_drone/tick/start_flame.mcfunction b/Asset/data/asset/functions/object/2262.gem_panjan_drone/tick/start_flame.mcfunction new file mode 100644 index 0000000000..fd808a5c98 --- /dev/null +++ b/Asset/data/asset/functions/object/2262.gem_panjan_drone/tick/start_flame.mcfunction @@ -0,0 +1,10 @@ +#> asset:object/2262.gem_panjan_drone/tick/start_flame +# +# Objectのtick時の処理 +# +# @within asset:object/2262.gem_panjan_drone/tick/event_attack + +# flameに移行 + tag @s remove 2262.Phase.Attack + tag @s add 2262.Phase.Flame + scoreboard players set @s General.Object.Tick 0 diff --git a/Asset/data/asset/functions/object/2262.gem_panjan_drone/tick/start_idle.mcfunction b/Asset/data/asset/functions/object/2262.gem_panjan_drone/tick/start_idle.mcfunction new file mode 100644 index 0000000000..b12af1346c --- /dev/null +++ b/Asset/data/asset/functions/object/2262.gem_panjan_drone/tick/start_idle.mcfunction @@ -0,0 +1,10 @@ +#> asset:object/2262.gem_panjan_drone/tick/start_idle +# +# Objectのtick時の処理 +# +# @within asset:object/2262.gem_panjan_drone/tick/event_start + +# idleに移行 + tag @s remove 2262.Phase.Start + tag @s add 2262.Phase.Idle + scoreboard players set @s General.Object.Tick 0 diff --git a/Asset/data/asset/functions/object/alias/2262/init.mcfunction b/Asset/data/asset/functions/object/alias/2262/init.mcfunction new file mode 100644 index 0000000000..294df6db53 --- /dev/null +++ b/Asset/data/asset/functions/object/alias/2262/init.mcfunction @@ -0,0 +1,8 @@ +#> asset:object/alias/2262/init +# +# Init処理のエイリアス +# +# @within asset_manager:object/init/init.m + +# 元のInit処理を呼び出す + function asset:object/2262.gem_panjan_drone/init/ \ No newline at end of file diff --git a/Asset/data/asset/functions/object/alias/2262/register.mcfunction b/Asset/data/asset/functions/object/alias/2262/register.mcfunction new file mode 100644 index 0000000000..a4c2db4b4e --- /dev/null +++ b/Asset/data/asset/functions/object/alias/2262/register.mcfunction @@ -0,0 +1,8 @@ +#> asset:object/alias/2262/register +# +# Objectのデータ指定処理のエイリアス +# +# @within asset_manager:object/summon/register.m + +# 元の登録処理を呼び出す + function asset:object/2262.gem_panjan_drone/register \ No newline at end of file diff --git a/Asset/data/asset/functions/object/alias/2262/summon.mcfunction b/Asset/data/asset/functions/object/alias/2262/summon.mcfunction new file mode 100644 index 0000000000..a0ae45f0dd --- /dev/null +++ b/Asset/data/asset/functions/object/alias/2262/summon.mcfunction @@ -0,0 +1,8 @@ +#> asset:object/alias/2262/summon +# +# Object召喚処理のエイリアス +# +# @within asset_manager:object/summon/summon.m + +# 元の召喚処理を呼び出す + function asset:object/2262.gem_panjan_drone/summon/ \ No newline at end of file diff --git a/Asset/data/asset/functions/object/alias/2262/tick.mcfunction b/Asset/data/asset/functions/object/alias/2262/tick.mcfunction new file mode 100644 index 0000000000..4e1e272f0a --- /dev/null +++ b/Asset/data/asset/functions/object/alias/2262/tick.mcfunction @@ -0,0 +1,8 @@ +#> asset:object/alias/2262/tick +# +# Tick時処理のエイリアス +# +# @within asset_manager:object/tick/tick.m + +# 元のTick処理を呼び出す + function asset:object/2262.gem_panjan_drone/tick/ \ No newline at end of file diff --git a/Asset/data/asset/tags/functions/object/load.json b/Asset/data/asset/tags/functions/object/load.json index 4e5e027541..434e1114a4 100644 --- a/Asset/data/asset/tags/functions/object/load.json +++ b/Asset/data/asset/tags/functions/object/load.json @@ -1,5 +1,6 @@ { "values": [ + "asset:object/2262.gem_panjan_drone/load", "asset:object/2269.gem_rocket_punch/load", "asset:object/2271.moving_circle_damage_area/load", "asset:object/2270.yeeter_tnt/load", From 5353cccd165609eb1ef0d7a66db97df2dc1c8b4c Mon Sep 17 00:00:00 2001 From: mokkkk Date: Sun, 8 Mar 2026 17:51:34 +0900 Subject: [PATCH 39/98] =?UTF-8?q?=E3=83=97=E3=83=AC=E3=82=A4=E3=83=A4?= =?UTF-8?q?=E3=83=BC=E3=82=BF=E3=83=BC=E3=82=B2=E3=83=83=E3=83=88=E7=B7=9A?= =?UTF-8?q?=E4=BD=9C=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../tick/start_idle.mcfunction | 7 +++++++ .../_index.d.mcfunction | 6 ++++++ .../2272.player_target_line/init/.mcfunction | 16 +++++++++++++++ .../2272.player_target_line/load.mcfunction | 10 ++++++++++ .../register.mcfunction | 20 +++++++++++++++++++ .../summon/.mcfunction | 8 ++++++++ .../summon/debug.mcfunction | 10 ++++++++++ .../2272.player_target_line/tick/.mcfunction | 17 ++++++++++++++++ .../tick/rotate.m.mcfunction | 19 ++++++++++++++++++ .../tick/show.mcfunction | 8 ++++++++ .../object/alias/2272/init.mcfunction | 8 ++++++++ .../object/alias/2272/register.mcfunction | 8 ++++++++ .../object/alias/2272/summon.mcfunction | 8 ++++++++ .../object/alias/2272/tick.mcfunction | 8 ++++++++ .../asset/tags/functions/object/load.json | 3 ++- 15 files changed, 155 insertions(+), 1 deletion(-) create mode 100644 Asset/data/asset/functions/object/2272.player_target_line/_index.d.mcfunction create mode 100644 Asset/data/asset/functions/object/2272.player_target_line/init/.mcfunction create mode 100644 Asset/data/asset/functions/object/2272.player_target_line/load.mcfunction create mode 100644 Asset/data/asset/functions/object/2272.player_target_line/register.mcfunction create mode 100644 Asset/data/asset/functions/object/2272.player_target_line/summon/.mcfunction create mode 100644 Asset/data/asset/functions/object/2272.player_target_line/summon/debug.mcfunction create mode 100644 Asset/data/asset/functions/object/2272.player_target_line/tick/.mcfunction create mode 100644 Asset/data/asset/functions/object/2272.player_target_line/tick/rotate.m.mcfunction create mode 100644 Asset/data/asset/functions/object/2272.player_target_line/tick/show.mcfunction create mode 100644 Asset/data/asset/functions/object/alias/2272/init.mcfunction create mode 100644 Asset/data/asset/functions/object/alias/2272/register.mcfunction create mode 100644 Asset/data/asset/functions/object/alias/2272/summon.mcfunction create mode 100644 Asset/data/asset/functions/object/alias/2272/tick.mcfunction diff --git a/Asset/data/asset/functions/object/2262.gem_panjan_drone/tick/start_idle.mcfunction b/Asset/data/asset/functions/object/2262.gem_panjan_drone/tick/start_idle.mcfunction index b12af1346c..a224dac0e1 100644 --- a/Asset/data/asset/functions/object/2262.gem_panjan_drone/tick/start_idle.mcfunction +++ b/Asset/data/asset/functions/object/2262.gem_panjan_drone/tick/start_idle.mcfunction @@ -8,3 +8,10 @@ tag @s remove 2262.Phase.Start tag @s add 2262.Phase.Idle scoreboard players set @s General.Object.Tick 0 + +# debug + data modify storage api: Argument.ID set value 2272 + # execute store result storage api: Argument.FieldOverride.TargetPlayerId int 1 run scoreboard players get @a[tag=!PlayerShouldInvulnerable,distance=..80,sort=random,limit=1] UserID + execute store result storage api: Argument.FieldOverride.TargetPlayerId int 1 run scoreboard players get @p UserID + data modify storage api: Argument.FieldOverride.Tick set value 100 + execute positioned ~ ~2 ~ run function api:object/summon diff --git a/Asset/data/asset/functions/object/2272.player_target_line/_index.d.mcfunction b/Asset/data/asset/functions/object/2272.player_target_line/_index.d.mcfunction new file mode 100644 index 0000000000..c34afd55bb --- /dev/null +++ b/Asset/data/asset/functions/object/2272.player_target_line/_index.d.mcfunction @@ -0,0 +1,6 @@ +#> asset:object/2272.player_target_line/_index.d +# @private + +#> tag +# @within function asset:object/2272.player_target_line/** + #declare tag 2272.TargetPlayer diff --git a/Asset/data/asset/functions/object/2272.player_target_line/init/.mcfunction b/Asset/data/asset/functions/object/2272.player_target_line/init/.mcfunction new file mode 100644 index 0000000000..65e3b2fd83 --- /dev/null +++ b/Asset/data/asset/functions/object/2272.player_target_line/init/.mcfunction @@ -0,0 +1,16 @@ +#> asset:object/2272.player_target_line/init/ +# +# Objectのinit時の処理 +# +# @within asset:object/alias/2272/init + +# 設定項目(FieldOverride) + # TargetPlayerId : 対象のプレイヤーのUserID。 + # Tick : 表示時間。 + # IsChangePlayer : trueの場合、対象プレイヤーが一定以上離れた場合にロックオン対象を変更する。 + +# 対象プレイヤーの保持 + execute store result score @s 2272.PlayerId run data get storage asset:context this.TargetPlayerId + +# 表示時間取得 + execute store result score @s 2272.Tick run data get storage asset:context this.Tick diff --git a/Asset/data/asset/functions/object/2272.player_target_line/load.mcfunction b/Asset/data/asset/functions/object/2272.player_target_line/load.mcfunction new file mode 100644 index 0000000000..a93ceae22a --- /dev/null +++ b/Asset/data/asset/functions/object/2272.player_target_line/load.mcfunction @@ -0,0 +1,10 @@ +#> asset:object/2272.player_target_line/load +# +# Objectに利用するスコアボード等の初期化処理 +# +# @within tag/function asset:object/load + +#> 定義類はここに +# @within function asset:object/2272.player_target_line/** + scoreboard objectives add 2272.PlayerId dummy + scoreboard objectives add 2272.Tick dummy diff --git a/Asset/data/asset/functions/object/2272.player_target_line/register.mcfunction b/Asset/data/asset/functions/object/2272.player_target_line/register.mcfunction new file mode 100644 index 0000000000..aae9457fc9 --- /dev/null +++ b/Asset/data/asset/functions/object/2272.player_target_line/register.mcfunction @@ -0,0 +1,20 @@ +#> asset:object/2272.player_target_line/register +# +# Objectのデータを指定 +# +# @within function asset:object/alias/2272/register + +# 継承(オプション) + # data modify storage asset:object Extends append value + # function asset:object/extends +# 他のObjectに継承されることを許可するか (boolean) (オプション) + # data modify storage asset:object ExtendsSafe set value +# 継承されることを前提とした、抽象的なObjectであるかどうか(boolean) + data modify storage asset:object IsAbstract set value false +# Tickするかどうか(boolean) (オプション) + # data modify storage asset:object IsTicking set value + +# ID (int) + data modify storage asset:object ID set value 2272 +# フィールド(オプション) + # data modify storage asset:object Field.myValue set value diff --git a/Asset/data/asset/functions/object/2272.player_target_line/summon/.mcfunction b/Asset/data/asset/functions/object/2272.player_target_line/summon/.mcfunction new file mode 100644 index 0000000000..9d1ec98e02 --- /dev/null +++ b/Asset/data/asset/functions/object/2272.player_target_line/summon/.mcfunction @@ -0,0 +1,8 @@ +#> asset:object/2272.player_target_line/summon/ +# +# Object召喚処理の呼び出し時に実行されるfunction +# +# @within asset:object/alias/2272/summon + +# 元となるEntityを召喚する + summon item_display ~ ~ ~ {Tags:["ObjectInit"],transformation:{left_rotation:[0f,0f,0f,1f],right_rotation:[0f,0f,0f,1f],translation:[0f,0f,0f],scale:[2f,2f,0f]}} diff --git a/Asset/data/asset/functions/object/2272.player_target_line/summon/debug.mcfunction b/Asset/data/asset/functions/object/2272.player_target_line/summon/debug.mcfunction new file mode 100644 index 0000000000..263c7a15e9 --- /dev/null +++ b/Asset/data/asset/functions/object/2272.player_target_line/summon/debug.mcfunction @@ -0,0 +1,10 @@ +#> asset:object/2272.player_target_line/summon/debug +# +# 動作チェック用の召喚処理 使い終わったら消してもいいかも +# +# @user +# @private + +# 召喚 + data modify storage api: Argument.ID set value 2272 + function api:object/summon diff --git a/Asset/data/asset/functions/object/2272.player_target_line/tick/.mcfunction b/Asset/data/asset/functions/object/2272.player_target_line/tick/.mcfunction new file mode 100644 index 0000000000..15af34932e --- /dev/null +++ b/Asset/data/asset/functions/object/2272.player_target_line/tick/.mcfunction @@ -0,0 +1,17 @@ +#> asset:object/2272.player_target_line/tick/ +# +# Objectのtick時の処理 +# +# @within asset:object/alias/2272/tick + +# Tick加算 + scoreboard players add @s General.Object.Tick 1 + +# 表示 + execute if score @s General.Object.Tick matches 2 run function asset:object/2272.player_target_line/tick/show + +# ターゲット + function asset:object/2272.player_target_line/tick/rotate.m with storage asset:context this + +# 消滅処理 + execute if score @s General.Object.Tick >= @s 2272.Tick run kill @s diff --git a/Asset/data/asset/functions/object/2272.player_target_line/tick/rotate.m.mcfunction b/Asset/data/asset/functions/object/2272.player_target_line/tick/rotate.m.mcfunction new file mode 100644 index 0000000000..09e3c44d19 --- /dev/null +++ b/Asset/data/asset/functions/object/2272.player_target_line/tick/rotate.m.mcfunction @@ -0,0 +1,19 @@ +#> asset:object/2272.player_target_line/tick/rotate.m +# +# Objectのtick時の処理 +# +# @within asset:object/2272.player_target_line/tick/ + +# ターゲット設定 + $tag @a[scores={UserID=$(TargetPlayerId)}] add 2272.TargetPlayer + +# プレイヤーを向く + execute facing entity @p[tag=2272.TargetPlayer] feet rotated ~ ~ run function lib:rotate_display/ + +# 距離測定 + execute as @p[tag=2272.TargetPlayer] run function lib:distance/as_to_at + execute store result entity @s transformation.scale[2] float 0.001 run data get storage lib: Return.Distance 1000 + data remove storage lib: Return + +# 終了 + tag @a[tag=2272.TargetPlayer] remove 2272.TargetPlayer diff --git a/Asset/data/asset/functions/object/2272.player_target_line/tick/show.mcfunction b/Asset/data/asset/functions/object/2272.player_target_line/tick/show.mcfunction new file mode 100644 index 0000000000..7684ac0213 --- /dev/null +++ b/Asset/data/asset/functions/object/2272.player_target_line/tick/show.mcfunction @@ -0,0 +1,8 @@ +#> asset:object/2272.player_target_line/tick/show +# +# Objectのtick時の処理 +# +# @within asset:object/2272.player_target_line/tick/ + +# 表示 + data modify entity @s item set value {id:"minecraft:potion",Count:1b,tag:{CustomPotionColor:16758123,CustomModelData:20590}} diff --git a/Asset/data/asset/functions/object/alias/2272/init.mcfunction b/Asset/data/asset/functions/object/alias/2272/init.mcfunction new file mode 100644 index 0000000000..d7bb464d0b --- /dev/null +++ b/Asset/data/asset/functions/object/alias/2272/init.mcfunction @@ -0,0 +1,8 @@ +#> asset:object/alias/2272/init +# +# Init処理のエイリアス +# +# @within asset_manager:object/init/init.m + +# 元のInit処理を呼び出す + function asset:object/2272.player_target_line/init/ diff --git a/Asset/data/asset/functions/object/alias/2272/register.mcfunction b/Asset/data/asset/functions/object/alias/2272/register.mcfunction new file mode 100644 index 0000000000..092cd4755f --- /dev/null +++ b/Asset/data/asset/functions/object/alias/2272/register.mcfunction @@ -0,0 +1,8 @@ +#> asset:object/alias/2272/register +# +# Objectのデータ指定処理のエイリアス +# +# @within asset_manager:object/summon/register.m + +# 元の登録処理を呼び出す + function asset:object/2272.player_target_line/register diff --git a/Asset/data/asset/functions/object/alias/2272/summon.mcfunction b/Asset/data/asset/functions/object/alias/2272/summon.mcfunction new file mode 100644 index 0000000000..f1729bb3e8 --- /dev/null +++ b/Asset/data/asset/functions/object/alias/2272/summon.mcfunction @@ -0,0 +1,8 @@ +#> asset:object/alias/2272/summon +# +# Object召喚処理のエイリアス +# +# @within asset_manager:object/summon/summon.m + +# 元の召喚処理を呼び出す + function asset:object/2272.player_target_line/summon/ diff --git a/Asset/data/asset/functions/object/alias/2272/tick.mcfunction b/Asset/data/asset/functions/object/alias/2272/tick.mcfunction new file mode 100644 index 0000000000..f615e1cd03 --- /dev/null +++ b/Asset/data/asset/functions/object/alias/2272/tick.mcfunction @@ -0,0 +1,8 @@ +#> asset:object/alias/2272/tick +# +# Tick時処理のエイリアス +# +# @within asset_manager:object/tick/tick.m + +# 元のTick処理を呼び出す + function asset:object/2272.player_target_line/tick/ diff --git a/Asset/data/asset/tags/functions/object/load.json b/Asset/data/asset/tags/functions/object/load.json index 434e1114a4..ff63303d6c 100644 --- a/Asset/data/asset/tags/functions/object/load.json +++ b/Asset/data/asset/tags/functions/object/load.json @@ -1,5 +1,6 @@ { "values": [ + "asset:object/2272.player_target_line/load", "asset:object/2262.gem_panjan_drone/load", "asset:object/2269.gem_rocket_punch/load", "asset:object/2271.moving_circle_damage_area/load", @@ -68,4 +69,4 @@ "asset:object/1059.book_of_hero/load", "asset:object/2031.giant_pumpkin/load" ] -} \ No newline at end of file +} From 5e36e2354cbe0a32a8a48d7a6df8d01746ab196e Mon Sep 17 00:00:00 2001 From: mokkkk Date: Sun, 8 Mar 2026 18:08:16 +0900 Subject: [PATCH 40/98] =?UTF-8?q?=E3=83=91=E3=83=B3=E3=82=B8=E3=83=A3?= =?UTF-8?q?=E3=83=B3=E7=A7=BB=E5=8B=95=E5=87=A6=E7=90=86=E5=AE=9F=E8=A3=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../2262.gem_panjan_drone/_index.d.mcfunction | 3 +++ .../2262.gem_panjan_drone/init/.mcfunction | 4 ++++ .../2262.gem_panjan_drone/tick/.mcfunction | 2 ++ .../tick/event_idle.mcfunction | 5 +++-- .../tick/event_move.mcfunction | 18 +++++++++++++++++ .../tick/move_to_player.m.mcfunction | 20 +++++++++++++++++++ .../tick/start_attack.mcfunction | 2 ++ .../tick/start_idle.mcfunction | 7 ------- .../tick/start_move.mcfunction | 10 ++++++++++ .../tick/summon_target_line.mcfunction | 11 ++++++++++ 10 files changed, 73 insertions(+), 9 deletions(-) create mode 100644 Asset/data/asset/functions/object/2262.gem_panjan_drone/tick/event_move.mcfunction create mode 100644 Asset/data/asset/functions/object/2262.gem_panjan_drone/tick/move_to_player.m.mcfunction create mode 100644 Asset/data/asset/functions/object/2262.gem_panjan_drone/tick/start_move.mcfunction create mode 100644 Asset/data/asset/functions/object/2262.gem_panjan_drone/tick/summon_target_line.mcfunction diff --git a/Asset/data/asset/functions/object/2262.gem_panjan_drone/_index.d.mcfunction b/Asset/data/asset/functions/object/2262.gem_panjan_drone/_index.d.mcfunction index 7c932dfd99..6c1a42d1c6 100644 --- a/Asset/data/asset/functions/object/2262.gem_panjan_drone/_index.d.mcfunction +++ b/Asset/data/asset/functions/object/2262.gem_panjan_drone/_index.d.mcfunction @@ -10,9 +10,12 @@ #declare tag 2262.Model.Init #declare tag 2262.Model.Target #declare tag 2262.Phase.Idle + #declare tag 2262.Phase.Move #declare tag 2262.Phase.Attack #declare tag 2262.Phase.Flame #declare tag 2262.Phase.Start + #declare tag 2262.IsMove + #declare tag 2262.TargetPlayer #declare function animated_java:gem_panjan_drone/summon #declare function animated_java:gem_panjan_drone/animations/summon/tween #declare function animated_java:gem_panjan_drone/animations/idle/tween diff --git a/Asset/data/asset/functions/object/2262.gem_panjan_drone/init/.mcfunction b/Asset/data/asset/functions/object/2262.gem_panjan_drone/init/.mcfunction index 84ab1d67f7..f349cdfbdd 100644 --- a/Asset/data/asset/functions/object/2262.gem_panjan_drone/init/.mcfunction +++ b/Asset/data/asset/functions/object/2262.gem_panjan_drone/init/.mcfunction @@ -15,9 +15,13 @@ # 仮 scoreboard players set @s 2262.IdleTime 60 + tag @s add 2262.IsMove # タイマー計算 # IdleTimeは予備動作を考慮して短縮 scoreboard players remove @s 2262.IdleTime 25 execute store result score @s 2262.PredictionTime run scoreboard players get @s 2262.IdleTime scoreboard players remove @s 2262.PredictionTime 30 + +# 追従用設定 + execute if entity @s[tag=2262.IsMove] store result storage asset:context this.TargetPlayerId int 1 run scoreboard players get @a[tag=!PlayerShouldInvulnerable,distance=..80,sort=random,limit=1] UserID diff --git a/Asset/data/asset/functions/object/2262.gem_panjan_drone/tick/.mcfunction b/Asset/data/asset/functions/object/2262.gem_panjan_drone/tick/.mcfunction index 4eef93ac5a..d0aa3acd08 100644 --- a/Asset/data/asset/functions/object/2262.gem_panjan_drone/tick/.mcfunction +++ b/Asset/data/asset/functions/object/2262.gem_panjan_drone/tick/.mcfunction @@ -13,6 +13,8 @@ execute if entity @s[tag=2262.Phase.Start] run function asset:object/2262.gem_panjan_drone/tick/event_start # 待機 execute if entity @s[tag=2262.Phase.Idle] run function asset:object/2262.gem_panjan_drone/tick/event_idle +# 移動 + execute if entity @s[tag=2262.Phase.Move] run function asset:object/2262.gem_panjan_drone/tick/event_move # 攻撃 execute if entity @s[tag=2262.Phase.Attack] run function asset:object/2262.gem_panjan_drone/tick/event_attack # ダメージ床 diff --git a/Asset/data/asset/functions/object/2262.gem_panjan_drone/tick/event_idle.mcfunction b/Asset/data/asset/functions/object/2262.gem_panjan_drone/tick/event_idle.mcfunction index 0a540da2ae..09307e0925 100644 --- a/Asset/data/asset/functions/object/2262.gem_panjan_drone/tick/event_idle.mcfunction +++ b/Asset/data/asset/functions/object/2262.gem_panjan_drone/tick/event_idle.mcfunction @@ -7,5 +7,6 @@ # アニメーション再生 execute if entity @s[scores={General.Object.Tick=1}] as @e[type=item_display,tag=2262.Model.Target,distance=..30,sort=nearest,limit=1] at @s run function animated_java:gem_panjan_drone/animations/idle/tween {duration:1, to_frame: 1} -# 攻撃に移行 - execute if score @s General.Object.Tick >= @s 2262.IdleTime run function asset:object/2262.gem_panjan_drone/tick/start_attack +# 移動または攻撃に移行 + execute if entity @s[tag=2262.IsMove] if score @s General.Object.Tick >= @s 2262.IdleTime run function asset:object/2262.gem_panjan_drone/tick/start_move + execute unless entity @s[tag=2262.IsMove] if score @s General.Object.Tick >= @s 2262.IdleTime run function asset:object/2262.gem_panjan_drone/tick/start_attack diff --git a/Asset/data/asset/functions/object/2262.gem_panjan_drone/tick/event_move.mcfunction b/Asset/data/asset/functions/object/2262.gem_panjan_drone/tick/event_move.mcfunction new file mode 100644 index 0000000000..95f6ff421d --- /dev/null +++ b/Asset/data/asset/functions/object/2262.gem_panjan_drone/tick/event_move.mcfunction @@ -0,0 +1,18 @@ +#> asset:object/2262.gem_panjan_drone/tick/event_move +# +# Objectのtick時の処理 +# +# @within asset:object/2262.gem_panjan_drone/tick/ + +# アニメーション再生 + execute if entity @s[scores={General.Object.Tick=1}] as @e[type=item_display,tag=2262.Model.Target,distance=..30,sort=nearest,limit=1] at @s run function animated_java:gem_panjan_drone/animations/move_start/tween {duration:1, to_frame: 1} + execute if entity @s[scores={General.Object.Tick=20}] as @e[type=item_display,tag=2262.Model.Target,distance=..30,sort=nearest,limit=1] at @s run function animated_java:gem_panjan_drone/animations/move/tween {duration:1, to_frame: 1} + +# 演出 + execute if entity @s[scores={General.Object.Tick=1}] run playsound block.piston.contract hostile @a ~ ~ ~ 2 0.8 + +# 移動 + execute if entity @s[scores={General.Object.Tick=20..}] run function asset:object/2262.gem_panjan_drone/tick/move_to_player.m with storage asset:context this + +# 攻撃に移行 + execute if score @s General.Object.Tick matches 200.. run function asset:object/2262.gem_panjan_drone/tick/start_attack diff --git a/Asset/data/asset/functions/object/2262.gem_panjan_drone/tick/move_to_player.m.mcfunction b/Asset/data/asset/functions/object/2262.gem_panjan_drone/tick/move_to_player.m.mcfunction new file mode 100644 index 0000000000..ffa33b2152 --- /dev/null +++ b/Asset/data/asset/functions/object/2262.gem_panjan_drone/tick/move_to_player.m.mcfunction @@ -0,0 +1,20 @@ +#> asset:object/2262.gem_panjan_drone/tick/move_to_player.m +# +# Objectのtick時の処理 +# +# @within asset:object/2262.gem_panjan_drone/tick/event_move + +# ターゲット設定 + $tag @a[scores={UserID=$(TargetPlayerId)}] add 2262.TargetPlayer + +# 対象の方を向く + execute rotated ~ 0 positioned ^ ^ ^-1 facing entity @p[tag=2262.TargetPlayer] feet rotated ~ 0 positioned ^ ^ ^-1 facing entity @s feet positioned as @s positioned ^ ^ ^-1 rotated as @s rotated ~ 0 positioned ^ ^ ^-1 facing entity @s feet positioned as @s run tp @s ^ ^ ^ ~ 0 + +# 移動 + execute at @s unless block ^ ^-1 ^0.5 #lib:no_collision run tp @s ^ ^ ^0.3 + +# ある程度プレイヤーに近づいたら攻撃開始 + execute if entity @a[tag=2262.TargetPlayer,distance=..1.5] run scoreboard players set @s General.Object.Tick 200 + +# 終了 + tag @a[tag=2262.TargetPlayer] remove 2262.TargetPlayer diff --git a/Asset/data/asset/functions/object/2262.gem_panjan_drone/tick/start_attack.mcfunction b/Asset/data/asset/functions/object/2262.gem_panjan_drone/tick/start_attack.mcfunction index dbfec9785c..f61460822e 100644 --- a/Asset/data/asset/functions/object/2262.gem_panjan_drone/tick/start_attack.mcfunction +++ b/Asset/data/asset/functions/object/2262.gem_panjan_drone/tick/start_attack.mcfunction @@ -3,8 +3,10 @@ # Objectのtick時の処理 # # @within asset:object/2262.gem_panjan_drone/tick/event_idle +# @within asset:object/2262.gem_panjan_drone/tick/event_move # idleに移行 tag @s remove 2262.Phase.Idle + tag @s remove 2262.Phase.Move tag @s add 2262.Phase.Attack scoreboard players set @s General.Object.Tick 0 diff --git a/Asset/data/asset/functions/object/2262.gem_panjan_drone/tick/start_idle.mcfunction b/Asset/data/asset/functions/object/2262.gem_panjan_drone/tick/start_idle.mcfunction index a224dac0e1..b12af1346c 100644 --- a/Asset/data/asset/functions/object/2262.gem_panjan_drone/tick/start_idle.mcfunction +++ b/Asset/data/asset/functions/object/2262.gem_panjan_drone/tick/start_idle.mcfunction @@ -8,10 +8,3 @@ tag @s remove 2262.Phase.Start tag @s add 2262.Phase.Idle scoreboard players set @s General.Object.Tick 0 - -# debug - data modify storage api: Argument.ID set value 2272 - # execute store result storage api: Argument.FieldOverride.TargetPlayerId int 1 run scoreboard players get @a[tag=!PlayerShouldInvulnerable,distance=..80,sort=random,limit=1] UserID - execute store result storage api: Argument.FieldOverride.TargetPlayerId int 1 run scoreboard players get @p UserID - data modify storage api: Argument.FieldOverride.Tick set value 100 - execute positioned ~ ~2 ~ run function api:object/summon diff --git a/Asset/data/asset/functions/object/2262.gem_panjan_drone/tick/start_move.mcfunction b/Asset/data/asset/functions/object/2262.gem_panjan_drone/tick/start_move.mcfunction new file mode 100644 index 0000000000..40018236ff --- /dev/null +++ b/Asset/data/asset/functions/object/2262.gem_panjan_drone/tick/start_move.mcfunction @@ -0,0 +1,10 @@ +#> asset:object/2262.gem_panjan_drone/tick/start_move +# +# Objectのtick時の処理 +# +# @within asset:object/2262.gem_panjan_drone/tick/event_idle + +# idleに移行 + tag @s remove 2262.Phase.Idle + tag @s add 2262.Phase.Move + scoreboard players set @s General.Object.Tick 0 diff --git a/Asset/data/asset/functions/object/2262.gem_panjan_drone/tick/summon_target_line.mcfunction b/Asset/data/asset/functions/object/2262.gem_panjan_drone/tick/summon_target_line.mcfunction new file mode 100644 index 0000000000..a8c50c0eb6 --- /dev/null +++ b/Asset/data/asset/functions/object/2262.gem_panjan_drone/tick/summon_target_line.mcfunction @@ -0,0 +1,11 @@ +#> asset:object/2262.gem_panjan_drone/tick/summon_target_line +# +# Objectのtick時の処理 +# +# @within asset:object/2262.gem_panjan_drone/tick/event_start + +# ターゲット線召喚 + data modify storage api: Argument.ID set value 2272 + data modify storage api: Argument.FieldOverride.TargetPlayerId set from storage asset:context this.TargetPlayerId + data modify storage api: Argument.FieldOverride.Tick set value 100 + execute positioned ~ ~2 ~ run function api:object/summon From 2219cd1ca31c440510612fce9e7a04841073b092 Mon Sep 17 00:00:00 2001 From: mokkkk Date: Sun, 8 Mar 2026 18:20:56 +0900 Subject: [PATCH 41/98] =?UTF-8?q?=E3=83=91=E3=83=B3=E3=82=B8=E3=83=A3?= =?UTF-8?q?=E3=83=B3=E3=81=AE=E3=82=BF=E3=83=BC=E3=82=B2=E3=83=83=E3=83=88?= =?UTF-8?q?=E7=B7=9A=E5=87=A6=E7=90=86=E5=AE=9F=E8=A3=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../object/2262.gem_panjan_drone/_index.d.mcfunction | 3 +++ .../object/2262.gem_panjan_drone/load.mcfunction | 1 + .../2262.gem_panjan_drone/tick/event_idle.mcfunction | 4 ++++ .../2262.gem_panjan_drone/tick/event_move.mcfunction | 2 ++ .../tick/link_model.m.mcfunction | 2 +- .../tick/link_target_line.m.mcfunction | 11 +++++++++++ .../tick/remove_target_line.m.mcfunction | 9 +++++++++ .../tick/summon_target_line.mcfunction | 7 ++++--- .../2272.player_target_line/_index.d.mcfunction | 1 + .../object/2272.player_target_line/init/.mcfunction | 6 +++++- .../object/2272.player_target_line/load.mcfunction | 1 + .../object/2272.player_target_line/summon/.mcfunction | 2 +- 12 files changed, 43 insertions(+), 6 deletions(-) create mode 100644 Asset/data/asset/functions/object/2262.gem_panjan_drone/tick/link_target_line.m.mcfunction create mode 100644 Asset/data/asset/functions/object/2262.gem_panjan_drone/tick/remove_target_line.m.mcfunction diff --git a/Asset/data/asset/functions/object/2262.gem_panjan_drone/_index.d.mcfunction b/Asset/data/asset/functions/object/2262.gem_panjan_drone/_index.d.mcfunction index 6c1a42d1c6..6dcd845585 100644 --- a/Asset/data/asset/functions/object/2262.gem_panjan_drone/_index.d.mcfunction +++ b/Asset/data/asset/functions/object/2262.gem_panjan_drone/_index.d.mcfunction @@ -23,3 +23,6 @@ #declare function animated_java:gem_panjan_drone/animations/move/tween #declare function animated_java:gem_panjan_drone/animations/attack/tween #declare function animated_java:gem_panjan_drone/remove/this + #declare tag 2272.Line + #declare tag 2272.Line.Target + #declare objective 2272.ObjectId diff --git a/Asset/data/asset/functions/object/2262.gem_panjan_drone/load.mcfunction b/Asset/data/asset/functions/object/2262.gem_panjan_drone/load.mcfunction index 5dbad0a0d9..5de044c59f 100644 --- a/Asset/data/asset/functions/object/2262.gem_panjan_drone/load.mcfunction +++ b/Asset/data/asset/functions/object/2262.gem_panjan_drone/load.mcfunction @@ -8,3 +8,4 @@ # @within function asset:object/2262.gem_panjan_drone/** scoreboard objectives add 2262.IdleTime dummy scoreboard objectives add 2262.PredictionTime dummy + scoreboard objectives add 2262.PredictionTime dummy diff --git a/Asset/data/asset/functions/object/2262.gem_panjan_drone/tick/event_idle.mcfunction b/Asset/data/asset/functions/object/2262.gem_panjan_drone/tick/event_idle.mcfunction index 09307e0925..b4b515933a 100644 --- a/Asset/data/asset/functions/object/2262.gem_panjan_drone/tick/event_idle.mcfunction +++ b/Asset/data/asset/functions/object/2262.gem_panjan_drone/tick/event_idle.mcfunction @@ -7,6 +7,10 @@ # アニメーション再生 execute if entity @s[scores={General.Object.Tick=1}] as @e[type=item_display,tag=2262.Model.Target,distance=..30,sort=nearest,limit=1] at @s run function animated_java:gem_panjan_drone/animations/idle/tween {duration:1, to_frame: 1} +# 線召喚 + execute if entity @s[tag=2262.IsMove] if score @s General.Object.Tick matches 1 run function asset:object/2262.gem_panjan_drone/tick/summon_target_line + execute if entity @s[tag=2262.IsMove] run function asset:object/2262.gem_panjan_drone/tick/link_target_line.m with storage asset:context this + # 移動または攻撃に移行 execute if entity @s[tag=2262.IsMove] if score @s General.Object.Tick >= @s 2262.IdleTime run function asset:object/2262.gem_panjan_drone/tick/start_move execute unless entity @s[tag=2262.IsMove] if score @s General.Object.Tick >= @s 2262.IdleTime run function asset:object/2262.gem_panjan_drone/tick/start_attack diff --git a/Asset/data/asset/functions/object/2262.gem_panjan_drone/tick/event_move.mcfunction b/Asset/data/asset/functions/object/2262.gem_panjan_drone/tick/event_move.mcfunction index 95f6ff421d..3bf9431cd6 100644 --- a/Asset/data/asset/functions/object/2262.gem_panjan_drone/tick/event_move.mcfunction +++ b/Asset/data/asset/functions/object/2262.gem_panjan_drone/tick/event_move.mcfunction @@ -10,9 +10,11 @@ # 演出 execute if entity @s[scores={General.Object.Tick=1}] run playsound block.piston.contract hostile @a ~ ~ ~ 2 0.8 + function asset:object/2262.gem_panjan_drone/tick/link_target_line.m with storage asset:context this # 移動 execute if entity @s[scores={General.Object.Tick=20..}] run function asset:object/2262.gem_panjan_drone/tick/move_to_player.m with storage asset:context this # 攻撃に移行 + execute if score @s General.Object.Tick matches 200.. run function asset:object/2262.gem_panjan_drone/tick/remove_target_line.m with storage asset:context this execute if score @s General.Object.Tick matches 200.. run function asset:object/2262.gem_panjan_drone/tick/start_attack diff --git a/Asset/data/asset/functions/object/2262.gem_panjan_drone/tick/link_model.m.mcfunction b/Asset/data/asset/functions/object/2262.gem_panjan_drone/tick/link_model.m.mcfunction index 222bcfa8c4..c1754ba064 100644 --- a/Asset/data/asset/functions/object/2262.gem_panjan_drone/tick/link_model.m.mcfunction +++ b/Asset/data/asset/functions/object/2262.gem_panjan_drone/tick/link_model.m.mcfunction @@ -4,5 +4,5 @@ # # @within asset:object/2262.gem_panjan_drone/tick/ -# 一定間隔で攻撃 +# モデル紐づけ $execute as @e[type=item_display,tag=2262.Model,distance=..30] if score @s CO.ObjectId matches $(ObjectId) run tag @s add 2262.Model.Target diff --git a/Asset/data/asset/functions/object/2262.gem_panjan_drone/tick/link_target_line.m.mcfunction b/Asset/data/asset/functions/object/2262.gem_panjan_drone/tick/link_target_line.m.mcfunction new file mode 100644 index 0000000000..9fc5092816 --- /dev/null +++ b/Asset/data/asset/functions/object/2262.gem_panjan_drone/tick/link_target_line.m.mcfunction @@ -0,0 +1,11 @@ +#> asset:object/2262.gem_panjan_drone/tick/link_target_line.m +# +# Objectのtick時の処理 +# +# @within asset:object/2262.gem_panjan_drone/tick/event_idle +# @within asset:object/2262.gem_panjan_drone/tick/event_move + +# 線紐づけ、移動 + $execute as @e[type=item_display,tag=2272.Line,distance=..30] if score @s 2272.ObjectId matches $(ObjectId) run tag @s add 2272.Line.Target + execute at @s run tp @e[type=item_display,tag=2272.Line.Target,distance=..30] ^ ^2.8 ^1 0 0 + tag @e[type=item_display,tag=2272.Line.Target,distance=..30] remove 2272.Line.Target diff --git a/Asset/data/asset/functions/object/2262.gem_panjan_drone/tick/remove_target_line.m.mcfunction b/Asset/data/asset/functions/object/2262.gem_panjan_drone/tick/remove_target_line.m.mcfunction new file mode 100644 index 0000000000..4fd948a3a9 --- /dev/null +++ b/Asset/data/asset/functions/object/2262.gem_panjan_drone/tick/remove_target_line.m.mcfunction @@ -0,0 +1,9 @@ +#> asset:object/2262.gem_panjan_drone/tick/remove_target_line.m +# +# Objectのtick時の処理 +# +# @within asset:object/2262.gem_panjan_drone/tick/event_move + +# 線紐づけ + $execute as @e[type=item_display,tag=2272.Line,distance=..30] if score @s 2272.ObjectId matches $(ObjectId) run tag @s add 2272.Line.Target + kill @e[type=item_display,tag=2272.Line.Target,distance=..30] diff --git a/Asset/data/asset/functions/object/2262.gem_panjan_drone/tick/summon_target_line.mcfunction b/Asset/data/asset/functions/object/2262.gem_panjan_drone/tick/summon_target_line.mcfunction index a8c50c0eb6..456147d6a0 100644 --- a/Asset/data/asset/functions/object/2262.gem_panjan_drone/tick/summon_target_line.mcfunction +++ b/Asset/data/asset/functions/object/2262.gem_panjan_drone/tick/summon_target_line.mcfunction @@ -2,10 +2,11 @@ # # Objectのtick時の処理 # -# @within asset:object/2262.gem_panjan_drone/tick/event_start +# @within asset:object/2262.gem_panjan_drone/tick/event_idle # ターゲット線召喚 data modify storage api: Argument.ID set value 2272 data modify storage api: Argument.FieldOverride.TargetPlayerId set from storage asset:context this.TargetPlayerId - data modify storage api: Argument.FieldOverride.Tick set value 100 - execute positioned ~ ~2 ~ run function api:object/summon + data modify storage api: Argument.FieldOverride.Tick set value 400 + data modify storage api: Argument.FieldOverride.ObjectId set from storage asset:context this.ObjectId + execute positioned ~ ~3 ~ run function api:object/summon diff --git a/Asset/data/asset/functions/object/2272.player_target_line/_index.d.mcfunction b/Asset/data/asset/functions/object/2272.player_target_line/_index.d.mcfunction index c34afd55bb..9c7c44c5dd 100644 --- a/Asset/data/asset/functions/object/2272.player_target_line/_index.d.mcfunction +++ b/Asset/data/asset/functions/object/2272.player_target_line/_index.d.mcfunction @@ -3,4 +3,5 @@ #> tag # @within function asset:object/2272.player_target_line/** + #declare tag 2272.Line #declare tag 2272.TargetPlayer diff --git a/Asset/data/asset/functions/object/2272.player_target_line/init/.mcfunction b/Asset/data/asset/functions/object/2272.player_target_line/init/.mcfunction index 65e3b2fd83..b7349f9fc8 100644 --- a/Asset/data/asset/functions/object/2272.player_target_line/init/.mcfunction +++ b/Asset/data/asset/functions/object/2272.player_target_line/init/.mcfunction @@ -7,10 +7,14 @@ # 設定項目(FieldOverride) # TargetPlayerId : 対象のプレイヤーのUserID。 # Tick : 表示時間。 - # IsChangePlayer : trueの場合、対象プレイヤーが一定以上離れた場合にロックオン対象を変更する。 + # (Optional) ObjectId : 紐づけ用のObjectId。これを利用したオブジェクトとの紐づけ方法は、Object2262を参照。 + # (Optional) IsChangePlayer : trueの場合、対象プレイヤーが一定以上離れた場合にロックオン対象を変更する。 # 対象プレイヤーの保持 execute store result score @s 2272.PlayerId run data get storage asset:context this.TargetPlayerId # 表示時間取得 execute store result score @s 2272.Tick run data get storage asset:context this.Tick + +# ObjectId + execute store result score @s 2272.ObjectId run data get storage asset:context this.ObjectId diff --git a/Asset/data/asset/functions/object/2272.player_target_line/load.mcfunction b/Asset/data/asset/functions/object/2272.player_target_line/load.mcfunction index a93ceae22a..0752ce6347 100644 --- a/Asset/data/asset/functions/object/2272.player_target_line/load.mcfunction +++ b/Asset/data/asset/functions/object/2272.player_target_line/load.mcfunction @@ -8,3 +8,4 @@ # @within function asset:object/2272.player_target_line/** scoreboard objectives add 2272.PlayerId dummy scoreboard objectives add 2272.Tick dummy + scoreboard objectives add 2272.ObjectId dummy diff --git a/Asset/data/asset/functions/object/2272.player_target_line/summon/.mcfunction b/Asset/data/asset/functions/object/2272.player_target_line/summon/.mcfunction index 9d1ec98e02..4876150c3f 100644 --- a/Asset/data/asset/functions/object/2272.player_target_line/summon/.mcfunction +++ b/Asset/data/asset/functions/object/2272.player_target_line/summon/.mcfunction @@ -5,4 +5,4 @@ # @within asset:object/alias/2272/summon # 元となるEntityを召喚する - summon item_display ~ ~ ~ {Tags:["ObjectInit"],transformation:{left_rotation:[0f,0f,0f,1f],right_rotation:[0f,0f,0f,1f],translation:[0f,0f,0f],scale:[2f,2f,0f]}} + summon item_display ~ ~ ~ {Tags:["ObjectInit","2272.Line"],transformation:{left_rotation:[0f,0f,0f,1f],right_rotation:[0f,0f,0f,1f],translation:[0f,0f,0f],scale:[2f,2f,0f]}} From 29b39c4f9c4872cb44d51773b61b896484719994 Mon Sep 17 00:00:00 2001 From: mokkkk Date: Sun, 8 Mar 2026 18:41:05 +0900 Subject: [PATCH 42/98] =?UTF-8?q?=E3=83=AD=E3=83=83=E3=82=AF=E3=82=AA?= =?UTF-8?q?=E3=83=B3=E6=88=A6=E5=BE=AE=E8=AA=BF=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../tick/summon_target_line.mcfunction | 1 + .../object/2272.player_target_line/init/.mcfunction | 1 + .../object/2272.player_target_line/summon/.mcfunction | 2 +- .../object/2272.player_target_line/tick/.mcfunction | 4 ++-- .../2272.player_target_line/tick/rotate.m.mcfunction | 3 ++- .../object/2272.player_target_line/tick/show.m.mcfunction | 8 ++++++++ .../object/2272.player_target_line/tick/show.mcfunction | 8 -------- 7 files changed, 15 insertions(+), 12 deletions(-) create mode 100644 Asset/data/asset/functions/object/2272.player_target_line/tick/show.m.mcfunction delete mode 100644 Asset/data/asset/functions/object/2272.player_target_line/tick/show.mcfunction diff --git a/Asset/data/asset/functions/object/2262.gem_panjan_drone/tick/summon_target_line.mcfunction b/Asset/data/asset/functions/object/2262.gem_panjan_drone/tick/summon_target_line.mcfunction index 456147d6a0..f337eb5be3 100644 --- a/Asset/data/asset/functions/object/2262.gem_panjan_drone/tick/summon_target_line.mcfunction +++ b/Asset/data/asset/functions/object/2262.gem_panjan_drone/tick/summon_target_line.mcfunction @@ -8,5 +8,6 @@ data modify storage api: Argument.ID set value 2272 data modify storage api: Argument.FieldOverride.TargetPlayerId set from storage asset:context this.TargetPlayerId data modify storage api: Argument.FieldOverride.Tick set value 400 + data modify storage api: Argument.FieldOverride.Color set value 16758123 data modify storage api: Argument.FieldOverride.ObjectId set from storage asset:context this.ObjectId execute positioned ~ ~3 ~ run function api:object/summon diff --git a/Asset/data/asset/functions/object/2272.player_target_line/init/.mcfunction b/Asset/data/asset/functions/object/2272.player_target_line/init/.mcfunction index b7349f9fc8..ec0c6c0477 100644 --- a/Asset/data/asset/functions/object/2272.player_target_line/init/.mcfunction +++ b/Asset/data/asset/functions/object/2272.player_target_line/init/.mcfunction @@ -7,6 +7,7 @@ # 設定項目(FieldOverride) # TargetPlayerId : 対象のプレイヤーのUserID。 # Tick : 表示時間。 + # Color : 線の色。CustomPotionColorで指定する。 # (Optional) ObjectId : 紐づけ用のObjectId。これを利用したオブジェクトとの紐づけ方法は、Object2262を参照。 # (Optional) IsChangePlayer : trueの場合、対象プレイヤーが一定以上離れた場合にロックオン対象を変更する。 diff --git a/Asset/data/asset/functions/object/2272.player_target_line/summon/.mcfunction b/Asset/data/asset/functions/object/2272.player_target_line/summon/.mcfunction index 4876150c3f..9e31c3b5b4 100644 --- a/Asset/data/asset/functions/object/2272.player_target_line/summon/.mcfunction +++ b/Asset/data/asset/functions/object/2272.player_target_line/summon/.mcfunction @@ -5,4 +5,4 @@ # @within asset:object/alias/2272/summon # 元となるEntityを召喚する - summon item_display ~ ~ ~ {Tags:["ObjectInit","2272.Line"],transformation:{left_rotation:[0f,0f,0f,1f],right_rotation:[0f,0f,0f,1f],translation:[0f,0f,0f],scale:[2f,2f,0f]}} + summon item_display ~ ~ ~ {Tags:["ObjectInit","2272.Line"],interpolation_duration:1,teleport_duration:1,transformation:{left_rotation:[0f,0f,0f,1f],right_rotation:[0f,0f,0f,1f],translation:[0f,0f,0f],scale:[1f,1f,0f]}} diff --git a/Asset/data/asset/functions/object/2272.player_target_line/tick/.mcfunction b/Asset/data/asset/functions/object/2272.player_target_line/tick/.mcfunction index 15af34932e..f30394f3d9 100644 --- a/Asset/data/asset/functions/object/2272.player_target_line/tick/.mcfunction +++ b/Asset/data/asset/functions/object/2272.player_target_line/tick/.mcfunction @@ -8,10 +8,10 @@ scoreboard players add @s General.Object.Tick 1 # 表示 - execute if score @s General.Object.Tick matches 2 run function asset:object/2272.player_target_line/tick/show + execute if score @s General.Object.Tick matches 2 run function asset:object/2272.player_target_line/tick/show.m with storage asset:context this # ターゲット - function asset:object/2272.player_target_line/tick/rotate.m with storage asset:context this + execute at @s positioned ~ ~-1 ~ run function asset:object/2272.player_target_line/tick/rotate.m with storage asset:context this # 消滅処理 execute if score @s General.Object.Tick >= @s 2272.Tick run kill @s diff --git a/Asset/data/asset/functions/object/2272.player_target_line/tick/rotate.m.mcfunction b/Asset/data/asset/functions/object/2272.player_target_line/tick/rotate.m.mcfunction index 09e3c44d19..3b924af4e1 100644 --- a/Asset/data/asset/functions/object/2272.player_target_line/tick/rotate.m.mcfunction +++ b/Asset/data/asset/functions/object/2272.player_target_line/tick/rotate.m.mcfunction @@ -6,13 +6,14 @@ # ターゲット設定 $tag @a[scores={UserID=$(TargetPlayerId)}] add 2272.TargetPlayer + data modify entity @s start_interpolation set value -1 # プレイヤーを向く execute facing entity @p[tag=2272.TargetPlayer] feet rotated ~ ~ run function lib:rotate_display/ # 距離測定 execute as @p[tag=2272.TargetPlayer] run function lib:distance/as_to_at - execute store result entity @s transformation.scale[2] float 0.001 run data get storage lib: Return.Distance 1000 + execute store result entity @s transformation.scale[2] float 0.001 run data get storage lib: Return.Distance 990 data remove storage lib: Return # 終了 diff --git a/Asset/data/asset/functions/object/2272.player_target_line/tick/show.m.mcfunction b/Asset/data/asset/functions/object/2272.player_target_line/tick/show.m.mcfunction new file mode 100644 index 0000000000..c636dfa8fd --- /dev/null +++ b/Asset/data/asset/functions/object/2272.player_target_line/tick/show.m.mcfunction @@ -0,0 +1,8 @@ +#> asset:object/2272.player_target_line/tick/show.m +# +# Objectのtick時の処理 +# +# @within asset:object/2272.player_target_line/tick/ + +# 表示 + $data modify entity @s item set value {id:"minecraft:potion",Count:1b,tag:{CustomPotionColor:$(Color),CustomModelData:20590}} diff --git a/Asset/data/asset/functions/object/2272.player_target_line/tick/show.mcfunction b/Asset/data/asset/functions/object/2272.player_target_line/tick/show.mcfunction deleted file mode 100644 index 7684ac0213..0000000000 --- a/Asset/data/asset/functions/object/2272.player_target_line/tick/show.mcfunction +++ /dev/null @@ -1,8 +0,0 @@ -#> asset:object/2272.player_target_line/tick/show -# -# Objectのtick時の処理 -# -# @within asset:object/2272.player_target_line/tick/ - -# 表示 - data modify entity @s item set value {id:"minecraft:potion",Count:1b,tag:{CustomPotionColor:16758123,CustomModelData:20590}} From 3c90cab39a01c6a145604a69e9bc5acc4f8158e2 Mon Sep 17 00:00:00 2001 From: mokkkk Date: Sun, 8 Mar 2026 18:55:26 +0900 Subject: [PATCH 43/98] =?UTF-8?q?=E7=AA=81=E9=80=B2=E3=83=89=E3=83=AD?= =?UTF-8?q?=E3=83=BC=E3=83=B3=E3=81=AB=E3=83=97=E3=83=AC=E3=82=A4=E3=83=A4?= =?UTF-8?q?=E3=83=BC=E3=82=BF=E3=83=BC=E3=82=B2=E3=83=83=E3=83=88=E5=87=A6?= =?UTF-8?q?=E7=90=86=E8=BF=BD=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../tick/event/blute_force_attack/.mcfunction | 15 +++++++-------- .../2260.gem_attack_drone/_index.d.mcfunction | 5 +++++ .../object/2260.gem_attack_drone/init/.mcfunction | 6 +++++- .../tick/event_idle.mcfunction | 8 +++++++- .../tick/link_target_line.m.mcfunction | 11 +++++++++++ .../tick/remove_target_line.m.mcfunction | 9 +++++++++ .../tick/rotate_to_player.m.mcfunction | 14 ++++++++++++++ .../tick/summon_target_line.mcfunction | 13 +++++++++++++ .../tick/summon_target_line.mcfunction | 4 ++-- 9 files changed, 73 insertions(+), 12 deletions(-) create mode 100644 Asset/data/asset/functions/object/2260.gem_attack_drone/tick/link_target_line.m.mcfunction create mode 100644 Asset/data/asset/functions/object/2260.gem_attack_drone/tick/remove_target_line.m.mcfunction create mode 100644 Asset/data/asset/functions/object/2260.gem_attack_drone/tick/rotate_to_player.m.mcfunction create mode 100644 Asset/data/asset/functions/object/2260.gem_attack_drone/tick/summon_target_line.mcfunction diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/blute_force_attack/.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/blute_force_attack/.mcfunction index 0bc85f3378..1a6c041d71 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/blute_force_attack/.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/blute_force_attack/.mcfunction @@ -22,16 +22,15 @@ # モデルを合わせる execute as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run tp @s ~ ~ ~ ~ ~ # 召喚 - # execute if score @s CO.EventTimer matches 25 positioned ^ ^ ^10 run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_attack_drone.m - # execute if score @s CO.EventTimer matches 26 positioned ^-8 ^ ^8 run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_attack_drone.m - # execute if score @s CO.EventTimer matches 27 positioned ^8 ^ ^8 run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_attack_drone.m + execute if score @s CO.EventTimer matches 25 positioned ^ ^ ^10 run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_attack_drone.m + execute if score @s CO.EventTimer matches 26 positioned ^-8 ^ ^8 run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_attack_drone.m + execute if score @s CO.EventTimer matches 27 positioned ^8 ^ ^8 run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_attack_drone.m execute if score @s CO.EventTimer matches 28 positioned ^-16 ^ ^6 run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_panjan_drone.m execute if score @s CO.EventTimer matches 29 positioned ^16 ^ ^6 run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_panjan_drone.m - # execute if score @s CO.EventTimer matches 25 positioned ^-18 ^ ^ rotated ~-12 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_yeeter_drone.m - # execute if score @s CO.EventTimer matches 25 positioned ^18 ^ ^ rotated ~12 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_yeeter_drone.m - # execute if score @s CO.EventTimer matches 28 positioned ^-26 ^ ^6 rotated ~-12 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_yeeter_drone.m - # execute if score @s CO.EventTimer matches 28 positioned ^26 ^ ^6 rotated ~12 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_yeeter_drone.m + execute if score @s CO.EventTimer matches 25 positioned ^-18 ^ ^ rotated ~-12 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_yeeter_drone.m + execute if score @s CO.EventTimer matches 25 positioned ^18 ^ ^ rotated ~12 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_yeeter_drone.m + execute if score @s CO.EventTimer matches 28 positioned ^-26 ^ ^6 rotated ~-12 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_yeeter_drone.m + execute if score @s CO.EventTimer matches 28 positioned ^26 ^ ^6 rotated ~12 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_yeeter_drone.m - # 終了 execute if score @s CO.EventTimer matches 65.. run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/end diff --git a/Asset/data/asset/functions/object/2260.gem_attack_drone/_index.d.mcfunction b/Asset/data/asset/functions/object/2260.gem_attack_drone/_index.d.mcfunction index 59e19c837f..3b48a673ad 100644 --- a/Asset/data/asset/functions/object/2260.gem_attack_drone/_index.d.mcfunction +++ b/Asset/data/asset/functions/object/2260.gem_attack_drone/_index.d.mcfunction @@ -12,9 +12,14 @@ #declare tag 2260.Phase.Idle #declare tag 2260.Phase.Attack #declare tag 2260.Phase.Start + #declare tag 2260.IsTarget + #declare tag 2260.TargetPlayer #declare function animated_java:gem_attack_drone/summon #declare function animated_java:gem_attack_drone/animations/summon/tween #declare function animated_java:gem_attack_drone/animations/idle/tween #declare function animated_java:gem_attack_drone/animations/attack_start/tween #declare function animated_java:gem_attack_drone/animations/attack/tween #declare function animated_java:gem_attack_drone/remove/this + #declare tag 2272.Line + #declare tag 2272.Line.Target + #declare objective 2272.ObjectId diff --git a/Asset/data/asset/functions/object/2260.gem_attack_drone/init/.mcfunction b/Asset/data/asset/functions/object/2260.gem_attack_drone/init/.mcfunction index 066f90d736..a793ff1616 100644 --- a/Asset/data/asset/functions/object/2260.gem_attack_drone/init/.mcfunction +++ b/Asset/data/asset/functions/object/2260.gem_attack_drone/init/.mcfunction @@ -14,8 +14,12 @@ function asset:object/2260.gem_attack_drone/init/animated_java # 仮 - scoreboard players set @s 2260.IdleTime 60 + scoreboard players set @s 2260.IdleTime 80 + tag @s add 2260.IsTarget # タイマー計算 execute store result score @s 2260.PredictionTime run scoreboard players get @s 2260.IdleTime scoreboard players remove @s 2260.PredictionTime 30 + +# 追従用設定 + execute if entity @s[tag=2260.IsTarget] store result storage asset:context this.TargetPlayerId int 1 run scoreboard players get @a[tag=!PlayerShouldInvulnerable,distance=..80,sort=random,limit=1] UserID diff --git a/Asset/data/asset/functions/object/2260.gem_attack_drone/tick/event_idle.mcfunction b/Asset/data/asset/functions/object/2260.gem_attack_drone/tick/event_idle.mcfunction index 166c01efe4..8aaffd4de4 100644 --- a/Asset/data/asset/functions/object/2260.gem_attack_drone/tick/event_idle.mcfunction +++ b/Asset/data/asset/functions/object/2260.gem_attack_drone/tick/event_idle.mcfunction @@ -7,8 +7,14 @@ # アニメーション再生 execute if entity @s[scores={General.Object.Tick=1}] as @e[type=item_display,tag=2260.Model.Target,distance=..30,sort=nearest,limit=1] at @s run function animated_java:gem_attack_drone/animations/idle/tween {duration:1, to_frame: 1} +# プレイヤーターゲット処理 + execute if entity @s[tag=2260.IsTarget] if score @s General.Object.Tick matches 1 run function asset:object/2260.gem_attack_drone/tick/summon_target_line + execute if entity @s[tag=2260.IsTarget] run function asset:object/2260.gem_attack_drone/tick/link_target_line.m with storage asset:context this + execute if entity @s[tag=2260.IsTarget] if score @s General.Object.Tick = @s 2260.PredictionTime run function asset:object/2260.gem_attack_drone/tick/remove_target_line.m with storage asset:context this + execute if entity @s[tag=2260.IsTarget] if score @s General.Object.Tick <= @s 2260.PredictionTime at @s run function asset:object/2260.gem_attack_drone/tick/rotate_to_player.m with storage asset:context this + # 予告 - execute if score @s General.Object.Tick = @s 2260.PredictionTime run function asset:object/2260.gem_attack_drone/tick/prediction + execute if score @s General.Object.Tick = @s 2260.PredictionTime at @s run function asset:object/2260.gem_attack_drone/tick/prediction # idleに移行 execute if score @s General.Object.Tick >= @s 2260.IdleTime run function asset:object/2260.gem_attack_drone/tick/start_attack diff --git a/Asset/data/asset/functions/object/2260.gem_attack_drone/tick/link_target_line.m.mcfunction b/Asset/data/asset/functions/object/2260.gem_attack_drone/tick/link_target_line.m.mcfunction new file mode 100644 index 0000000000..e5132a1fbf --- /dev/null +++ b/Asset/data/asset/functions/object/2260.gem_attack_drone/tick/link_target_line.m.mcfunction @@ -0,0 +1,11 @@ +#> asset:object/2260.gem_attack_drone/tick/link_target_line.m +# +# Objectのtick時の処理 +# +# @within asset:object/2260.gem_attack_drone/tick/event_idle +# @within asset:object/2260.gem_attack_drone/tick/event_move + +# 線紐づけ、移動 + $execute as @e[type=item_display,tag=2272.Line,distance=..30] if score @s 2272.ObjectId matches $(ObjectId) run tag @s add 2272.Line.Target + execute at @s run tp @e[type=item_display,tag=2272.Line.Target,distance=..30] ^ ^3 ^0.4 0 0 + tag @e[type=item_display,tag=2272.Line.Target,distance=..30] remove 2272.Line.Target diff --git a/Asset/data/asset/functions/object/2260.gem_attack_drone/tick/remove_target_line.m.mcfunction b/Asset/data/asset/functions/object/2260.gem_attack_drone/tick/remove_target_line.m.mcfunction new file mode 100644 index 0000000000..4fd948a3a9 --- /dev/null +++ b/Asset/data/asset/functions/object/2260.gem_attack_drone/tick/remove_target_line.m.mcfunction @@ -0,0 +1,9 @@ +#> asset:object/2262.gem_panjan_drone/tick/remove_target_line.m +# +# Objectのtick時の処理 +# +# @within asset:object/2262.gem_panjan_drone/tick/event_move + +# 線紐づけ + $execute as @e[type=item_display,tag=2272.Line,distance=..30] if score @s 2272.ObjectId matches $(ObjectId) run tag @s add 2272.Line.Target + kill @e[type=item_display,tag=2272.Line.Target,distance=..30] diff --git a/Asset/data/asset/functions/object/2260.gem_attack_drone/tick/rotate_to_player.m.mcfunction b/Asset/data/asset/functions/object/2260.gem_attack_drone/tick/rotate_to_player.m.mcfunction new file mode 100644 index 0000000000..2d63f329a6 --- /dev/null +++ b/Asset/data/asset/functions/object/2260.gem_attack_drone/tick/rotate_to_player.m.mcfunction @@ -0,0 +1,14 @@ +#> asset:object/2260.gem_attack_drone/tick/rotate_to_player.m +# +# Objectのtick時の処理 +# +# @within asset:object/2260.gem_attack_drone/tick/event_idle + +# ターゲット設定 + $tag @a[scores={UserID=$(TargetPlayerId)}] add 2260.TargetPlayer + +# 対象の方を向く + execute rotated ~ 0 positioned ^ ^ ^-1 facing entity @p[tag=2260.TargetPlayer] feet rotated ~ 0 positioned ^ ^ ^-1 facing entity @s feet positioned as @s positioned ^ ^ ^-1 rotated as @s rotated ~ 0 positioned ^ ^ ^-1 facing entity @s feet positioned as @s run tp @s ^ ^ ^ ~ 0 + +# 終了 + tag @a[tag=2260.TargetPlayer] remove 2260.TargetPlayer diff --git a/Asset/data/asset/functions/object/2260.gem_attack_drone/tick/summon_target_line.mcfunction b/Asset/data/asset/functions/object/2260.gem_attack_drone/tick/summon_target_line.mcfunction new file mode 100644 index 0000000000..f337eb5be3 --- /dev/null +++ b/Asset/data/asset/functions/object/2260.gem_attack_drone/tick/summon_target_line.mcfunction @@ -0,0 +1,13 @@ +#> asset:object/2262.gem_panjan_drone/tick/summon_target_line +# +# Objectのtick時の処理 +# +# @within asset:object/2262.gem_panjan_drone/tick/event_idle + +# ターゲット線召喚 + data modify storage api: Argument.ID set value 2272 + data modify storage api: Argument.FieldOverride.TargetPlayerId set from storage asset:context this.TargetPlayerId + data modify storage api: Argument.FieldOverride.Tick set value 400 + data modify storage api: Argument.FieldOverride.Color set value 16758123 + data modify storage api: Argument.FieldOverride.ObjectId set from storage asset:context this.ObjectId + execute positioned ~ ~3 ~ run function api:object/summon diff --git a/Asset/data/asset/functions/object/2262.gem_panjan_drone/tick/summon_target_line.mcfunction b/Asset/data/asset/functions/object/2262.gem_panjan_drone/tick/summon_target_line.mcfunction index f337eb5be3..779c8e5580 100644 --- a/Asset/data/asset/functions/object/2262.gem_panjan_drone/tick/summon_target_line.mcfunction +++ b/Asset/data/asset/functions/object/2262.gem_panjan_drone/tick/summon_target_line.mcfunction @@ -1,8 +1,8 @@ -#> asset:object/2262.gem_panjan_drone/tick/summon_target_line +#> asset:object/2260.gem_attack_drone/tick/summon_target_line # # Objectのtick時の処理 # -# @within asset:object/2262.gem_panjan_drone/tick/event_idle +# @within asset:object/2260.gem_attack_drone/tick/event_idle # ターゲット線召喚 data modify storage api: Argument.ID set value 2272 From 51ed8a69431112d10edbce1c87a11cf28c622fe9 Mon Sep 17 00:00:00 2001 From: mokkkk Date: Sun, 8 Mar 2026 19:39:37 +0900 Subject: [PATCH 44/98] =?UTF-8?q?=E3=83=89=E3=83=AD=E3=83=BC=E3=83=B3init?= =?UTF-8?q?=E5=87=A6=E7=90=86=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../tick/event/blute_force_attack/.mcfunction | 27 ++++++---- .../summon_attack_drone.m.mcfunction | 1 + .../summon_panjan_drone.m.mcfunction | 1 + .../summon_yeeter_drone.m.mcfunction | 2 + .../2260.gem_attack_drone/init/.mcfunction | 9 +++- .../2261.gem_yeeter_drone/_index.d.mcfunction | 2 + .../2261.gem_yeeter_drone/init/.mcfunction | 5 ++ .../tick/attack.mcfunction | 3 ++ .../tick/event_attack.mcfunction | 13 +++-- .../tick/prediction.mcfunction | 2 +- .../2262.gem_panjan_drone/init/.mcfunction | 5 +- .../tick/event_flame.mcfunction | 54 +++++++------------ .../object/2270.yeeter_tnt/tick/.mcfunction | 14 +++-- .../2270.yeeter_tnt/tick/damage.mcfunction | 4 +- .../tick/prediction.m.mcfunction | 2 +- 15 files changed, 86 insertions(+), 58 deletions(-) diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/blute_force_attack/.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/blute_force_attack/.mcfunction index 1a6c041d71..3f60d9ed13 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/blute_force_attack/.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/blute_force_attack/.mcfunction @@ -22,15 +22,24 @@ # モデルを合わせる execute as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run tp @s ~ ~ ~ ~ ~ # 召喚 - execute if score @s CO.EventTimer matches 25 positioned ^ ^ ^10 run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_attack_drone.m - execute if score @s CO.EventTimer matches 26 positioned ^-8 ^ ^8 run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_attack_drone.m - execute if score @s CO.EventTimer matches 27 positioned ^8 ^ ^8 run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_attack_drone.m - execute if score @s CO.EventTimer matches 28 positioned ^-16 ^ ^6 run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_panjan_drone.m - execute if score @s CO.EventTimer matches 29 positioned ^16 ^ ^6 run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_panjan_drone.m - execute if score @s CO.EventTimer matches 25 positioned ^-18 ^ ^ rotated ~-12 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_yeeter_drone.m - execute if score @s CO.EventTimer matches 25 positioned ^18 ^ ^ rotated ~12 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_yeeter_drone.m - execute if score @s CO.EventTimer matches 28 positioned ^-26 ^ ^6 rotated ~-12 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_yeeter_drone.m - execute if score @s CO.EventTimer matches 28 positioned ^26 ^ ^6 rotated ~12 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_yeeter_drone.m + # 全員お披露目パターン + execute if score @s CO.EventTimer matches 25 positioned ^ ^ ^10 run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_attack_drone.m + execute if score @s CO.EventTimer matches 26 positioned ^-15 ^ ^8 run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_attack_drone.m + execute if score @s CO.EventTimer matches 27 positioned ^15 ^ ^8 run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_attack_drone.m + execute if score @s CO.EventTimer matches 28 positioned ^-20 ^ ^6 run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_panjan_drone.m + execute if score @s CO.EventTimer matches 29 positioned ^20 ^ ^6 run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_panjan_drone.m + execute if score @s CO.EventTimer matches 28 positioned ^ ^ ^-8 rotated ~ ~ run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_yeeter_drone.m + execute if score @s CO.EventTimer matches 28 positioned ^-26 ^ ^-6 rotated ~-12 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_yeeter_drone.m + execute if score @s CO.EventTimer matches 28 positioned ^26 ^ ^-6 rotated ~12 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_yeeter_drone.m + # パンジャン+回転Yeeterパターン + # execute if score @s CO.EventTimer matches 25 at @e[type=marker,tag=CO.CenterPosition,distance=..80] rotated ~ ~ positioned ^ ^ ^20 rotated ~-90 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_yeeter_drone.m + # execute if score @s CO.EventTimer matches 25 at @e[type=marker,tag=CO.CenterPosition,distance=..80] rotated ~120 ~ positioned ^ ^ ^20 rotated ~-90 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_yeeter_drone.m + # execute if score @s CO.EventTimer matches 25 at @e[type=marker,tag=CO.CenterPosition,distance=..80] rotated ~240 ~ positioned ^ ^ ^20 rotated ~-90 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_yeeter_drone.m + # execute if score @s CO.EventTimer matches 25 at @e[type=marker,tag=CO.CenterPosition,distance=..80] positioned ^ ^ ^ run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_panjan_drone.m + # execute if score @s CO.EventTimer matches 25 at @e[type=marker,tag=CO.CenterPosition,distance=..80] positioned ^22 ^ ^22 run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_panjan_drone.m + # execute if score @s CO.EventTimer matches 25 at @e[type=marker,tag=CO.CenterPosition,distance=..80] positioned ^-22 ^ ^22 run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_panjan_drone.m + # execute if score @s CO.EventTimer matches 25 at @e[type=marker,tag=CO.CenterPosition,distance=..80] positioned ^22 ^ ^-22 run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_panjan_drone.m + # execute if score @s CO.EventTimer matches 25 at @e[type=marker,tag=CO.CenterPosition,distance=..80] positioned ^-22 ^ ^-22 run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_panjan_drone.m # 終了 execute if score @s CO.EventTimer matches 65.. run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/end diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_attack_drone.m.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_attack_drone.m.mcfunction index 50379cf1a0..ce6f89519e 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_attack_drone.m.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_attack_drone.m.mcfunction @@ -9,4 +9,5 @@ execute store result storage api: Argument.FieldOverride.MobUUID int 1 run scoreboard players get @s MobUUID function asset:mob/0456.gargo_ex_machina/tick/util/assing_object_id data modify storage api: Argument.FieldOverride.Damage set from storage asset:context this.Damage.AttackDrone + data modify storage api: Argument.FieldOverride.IsTarget set value true function api:object/summon diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_panjan_drone.m.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_panjan_drone.m.mcfunction index 3fa562221a..00d7d91514 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_panjan_drone.m.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_panjan_drone.m.mcfunction @@ -10,4 +10,5 @@ function asset:mob/0456.gargo_ex_machina/tick/util/assing_object_id data modify storage api: Argument.FieldOverride.Damage set from storage asset:context this.Damage.PanjanDrone data modify storage api: Argument.FieldOverride.FlameDamage set from storage asset:context this.Damage.PanjanDrone.Flame + data modify storage api: Argument.FieldOverride.IsMove set value true function api:object/summon diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_yeeter_drone.m.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_yeeter_drone.m.mcfunction index 7b19c46033..fdf6c0d577 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_yeeter_drone.m.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_yeeter_drone.m.mcfunction @@ -9,4 +9,6 @@ execute store result storage api: Argument.FieldOverride.MobUUID int 1 run scoreboard players get @s MobUUID function asset:mob/0456.gargo_ex_machina/tick/util/assing_object_id data modify storage api: Argument.FieldOverride.Damage set from storage asset:context this.Damage.YeeterDrone + data modify storage api: Argument.FieldOverride.IsRotate set value false + data modify storage api: Argument.FieldOverride.IsRotateInverse set value false function api:object/summon diff --git a/Asset/data/asset/functions/object/2260.gem_attack_drone/init/.mcfunction b/Asset/data/asset/functions/object/2260.gem_attack_drone/init/.mcfunction index a793ff1616..faf79bc510 100644 --- a/Asset/data/asset/functions/object/2260.gem_attack_drone/init/.mcfunction +++ b/Asset/data/asset/functions/object/2260.gem_attack_drone/init/.mcfunction @@ -13,9 +13,14 @@ # モデル召喚 function asset:object/2260.gem_attack_drone/init/animated_java -# 仮 +# 仮指定 scoreboard players set @s 2260.IdleTime 80 - tag @s add 2260.IsTarget + # tag @s add 2260.IsTarget + +# IdleTime + +# ターゲット有無 + execute if data storage asset:context this{IsTarget:true} run tag @s add 2260.IsTarget # タイマー計算 execute store result score @s 2260.PredictionTime run scoreboard players get @s 2260.IdleTime diff --git a/Asset/data/asset/functions/object/2261.gem_yeeter_drone/_index.d.mcfunction b/Asset/data/asset/functions/object/2261.gem_yeeter_drone/_index.d.mcfunction index 71b0301710..c2f2b1cfe0 100644 --- a/Asset/data/asset/functions/object/2261.gem_yeeter_drone/_index.d.mcfunction +++ b/Asset/data/asset/functions/object/2261.gem_yeeter_drone/_index.d.mcfunction @@ -12,6 +12,8 @@ #declare tag 2261.Phase.Idle #declare tag 2261.Phase.Attack #declare tag 2261.Phase.Start + #declare tag 2261.IsRotate + #declare tag 2261.IsRotate.Inverse #declare function animated_java:gem_tnt_drone/summon #declare function animated_java:gem_tnt_drone/animations/summon/tween #declare function animated_java:gem_tnt_drone/animations/idle/tween diff --git a/Asset/data/asset/functions/object/2261.gem_yeeter_drone/init/.mcfunction b/Asset/data/asset/functions/object/2261.gem_yeeter_drone/init/.mcfunction index 1f77aa8273..2295cd3d66 100644 --- a/Asset/data/asset/functions/object/2261.gem_yeeter_drone/init/.mcfunction +++ b/Asset/data/asset/functions/object/2261.gem_yeeter_drone/init/.mcfunction @@ -15,6 +15,11 @@ # 仮 scoreboard players set @s 2261.IdleTime 60 + # tag @s add 2261.IsRotate.Inverse + +# 回転有無 + execute if data storage asset:context this{IsRotate:true} run tag @s add 2261.IsRotate + execute if data storage asset:context this{IsRotateInverse:true} run tag @s add 2261.IsRotate.Inverse # タイマー計算 # IdleTimeは予備動作を考慮して短縮 diff --git a/Asset/data/asset/functions/object/2261.gem_yeeter_drone/tick/attack.mcfunction b/Asset/data/asset/functions/object/2261.gem_yeeter_drone/tick/attack.mcfunction index 37c4168f47..52b31744e1 100644 --- a/Asset/data/asset/functions/object/2261.gem_yeeter_drone/tick/attack.mcfunction +++ b/Asset/data/asset/functions/object/2261.gem_yeeter_drone/tick/attack.mcfunction @@ -4,6 +4,9 @@ # # @within asset:object/2261.gem_yeeter_drone/tick/event_attack +# 空中には設置しない + execute if block ~ ~-6 ~ #lib:no_collision run return 0 + # TNT設置 data modify storage api: Argument.ID set value 2270 data modify storage api: Argument.FieldOverride.MobUUID set from storage asset:context this.MobUUID diff --git a/Asset/data/asset/functions/object/2261.gem_yeeter_drone/tick/event_attack.mcfunction b/Asset/data/asset/functions/object/2261.gem_yeeter_drone/tick/event_attack.mcfunction index 3add18a7b0..268d11e698 100644 --- a/Asset/data/asset/functions/object/2261.gem_yeeter_drone/tick/event_attack.mcfunction +++ b/Asset/data/asset/functions/object/2261.gem_yeeter_drone/tick/event_attack.mcfunction @@ -14,14 +14,17 @@ execute if entity @s[scores={General.Object.Tick=35}] run playsound entity.breeze.jump hostile @a ~ ~ ~ 2 0.7 # 移動 - execute if entity @s[scores={General.Object.Tick=1..15}] run tp @s ^ ^ ^-0.2 - execute if entity @s[scores={General.Object.Tick=35..40}] run tp @s ^ ^ ^0.2 - execute if entity @s[scores={General.Object.Tick=41..}] run tp @s ^ ^ ^0.4 + execute if entity @s[scores={General.Object.Tick=1..20}] run tp @s ^ ^ ^-0.05 + execute if entity @s[tag=!2261.IsRotate,tag=!2261.IsRotate.Inverse,scores={General.Object.Tick=35..40}] run tp @s ^ ^ ^0.2 + execute if entity @s[tag=!2261.IsRotate,tag=!2261.IsRotate.Inverse,scores={General.Object.Tick=41..}] run tp @s ^ ^ ^0.4 + + execute if entity @s[tag=2261.IsRotate.Inverse,scores={General.Object.Tick=35..40}] at @s run tp @s ^ ^ ^0.1308 ~-0.375 ~ + execute if entity @s[tag=2261.IsRotate.Inverse,scores={General.Object.Tick=41..}] at @s run tp @s ^ ^ ^0.2616 ~-0.75 ~ # 攻撃 execute if entity @s[scores={General.Object.Tick=40..}] run scoreboard players add @s 2261.AttackInterval 1 - execute if entity @s[scores={2261.AttackInterval=20..}] run scoreboard players set @s 2261.AttackInterval 0 + execute if entity @s[scores={2261.AttackInterval=40..}] run scoreboard players set @s 2261.AttackInterval 0 execute if entity @s[scores={2261.AttackInterval=1}] positioned ~ ~5 ~ run function asset:object/2261.gem_yeeter_drone/tick/attack # 消去 - execute if entity @s[scores={General.Object.Tick=175..}] run tag @s add CO.Drone.Remove + execute if entity @s[scores={General.Object.Tick=300..}] run tag @s add CO.Drone.Remove diff --git a/Asset/data/asset/functions/object/2261.gem_yeeter_drone/tick/prediction.mcfunction b/Asset/data/asset/functions/object/2261.gem_yeeter_drone/tick/prediction.mcfunction index 83407f630a..3c97faabd4 100644 --- a/Asset/data/asset/functions/object/2261.gem_yeeter_drone/tick/prediction.mcfunction +++ b/Asset/data/asset/functions/object/2261.gem_yeeter_drone/tick/prediction.mcfunction @@ -8,6 +8,6 @@ data modify storage api: Argument.ID set value 2271 data modify storage api: Argument.FieldOverride.Color set value 3381759 data modify storage api: Argument.FieldOverride.TextColor set value "#ffcf80" - data modify storage api: Argument.FieldOverride.Scale set value [12f, 12f, 0.05f] + data modify storage api: Argument.FieldOverride.Scale set value [24f, 24f, 0.05f] data modify storage api: Argument.FieldOverride.Tick set value 100 execute rotated ~ 0 positioned ~ ~0.2 ~ run function api:object/summon diff --git a/Asset/data/asset/functions/object/2262.gem_panjan_drone/init/.mcfunction b/Asset/data/asset/functions/object/2262.gem_panjan_drone/init/.mcfunction index f349cdfbdd..92f14d586d 100644 --- a/Asset/data/asset/functions/object/2262.gem_panjan_drone/init/.mcfunction +++ b/Asset/data/asset/functions/object/2262.gem_panjan_drone/init/.mcfunction @@ -15,7 +15,10 @@ # 仮 scoreboard players set @s 2262.IdleTime 60 - tag @s add 2262.IsMove + # tag @s add 2262.IsMove + +# 移動有無 + execute if data storage asset:context this{IsMove:true} run tag @s add 2262.IsMove # タイマー計算 # IdleTimeは予備動作を考慮して短縮 diff --git a/Asset/data/asset/functions/object/2262.gem_panjan_drone/tick/event_flame.mcfunction b/Asset/data/asset/functions/object/2262.gem_panjan_drone/tick/event_flame.mcfunction index 085681d459..a5684b54d4 100644 --- a/Asset/data/asset/functions/object/2262.gem_panjan_drone/tick/event_flame.mcfunction +++ b/Asset/data/asset/functions/object/2262.gem_panjan_drone/tick/event_flame.mcfunction @@ -4,53 +4,39 @@ # # @within asset:object/2262.gem_panjan_drone/tick/ +# 移動 + tp @s ~ ~-0.5 ~ ~15 ~ + # 演出 - # [ImportKey]: NobwRALgngDgpmAXGAxgSwE4oDYIDRgCuhaAJkmAEykDMlArAEYCM9AtPSowIZsAsNUnzYBOUgDMA7KO58+9WnDj16zMAQB23ALYJkgMMUABGoIxuGHQGck4FAHtCGiEkoAGAijhO4GG2ABu3NiEeuAAHkjuYFCRAL6xBBakaITWiAAcBJYQ5s6IUXDY2GgwlnrMrlEYdjkQelFolgCiRSVlTQCOhEHYUADKZp7kiOJBZfF44NDwFOhYuOpEJMNg3JKS4nyUfNLc4kz8TJSi6SK8AGwCzCikrsx86ZeLWroURpSLZhbaabYOTkh7h4vHVfIhwIFgqEwBF8gQYvkJmAkik0vQsjkMHkCq1SuVKokatw6pECI0WsU8Z1ukV+oM4MNRthxgkprA9KhMDh8EsyBQaHAUOd9ucaGxmMwaLw+NwRMw2OlmOd2K4ROdGK50owGHxzihnjoOUYaJ9zFY-PZHHlMqgQT4-JCQn5YVEEa4kSjUi4AHTosDZXKksCFSllQEE5FEklwsDk3HtLo9OncIZIJksgC6QA_3 + # [ImportKey]: NobwRALgngDgpmAXGAxgSwE4oDYIDRgCuhaAJkqnCnAOwCsARjQLQBsrAjKcwCw80AzZgEM4HAJzMatAEwNSc8QLgCwBAHbCAtgmSAwxQAEHNWBjCM2gM5JwKAPaF1EJBxkFqTuBhtgAbsOxCXXAADyQABgIoCIBfGIILUjRCa0QADgJLCHNnREiwOGxsNBhLXQ5w-Iw7bIhdfLRLAFEikrKmgEdCAOwoAGUzanJEAQCyuLxwaHgKdCxcE2IyCg5hPnD2YWZSNLoUXh2eZnElDjYaHjgeAToAZlYGcJQTTR0KQxkTMwstVNsHJxIcTuOCebyIcD+QLBMBhPJRWLxMCJZKpOiZbIYXL5QrFUrlSoJGrCOoRAiNFp49pdHr9QZwYajbDjeJTWC6VCYHD4IgkYZgOjiBisARpUhnJgoLbXODhEQcFDcARSjg8RhPGisOgvbQcwy3L7mKw+eyOXI8EFgnxQoI+OH5aJ5CbI4RJFJIGQAOnRYCyOTJBVa+JchORxNJ8LAFKD1O6RTpwiGSCZLIAukA_3 # 円 3 particle flame ^0 ^ ^-2.5 0.2 0 0.2 0.05 1 - particle flame ^1.76777 ^ ^-1.76777 0.2 0 0.2 0.05 1 particle flame ^2.5 ^ ^0 0.2 0 0.2 0.05 1 - particle flame ^1.76777 ^ ^1.76777 0.2 0 0.2 0.05 1 particle flame ^0 ^ ^2.5 0.2 0 0.2 0.05 1 - particle flame ^-1.76777 ^ ^1.76777 0.2 0 0.2 0.05 1 particle flame ^-2.5 ^ ^0 0.2 0 0.2 0.05 1 - particle flame ^-1.76777 ^ ^-1.76777 0.2 0 0.2 0.05 1 # 円 1 particle flame ^0 ^ ^-8 0.2 0 0.2 0.05 1 - particle flame ^2.47214 ^ ^-7.60845 0.2 0 0.2 0.05 1 - particle flame ^4.70228 ^ ^-6.47214 0.2 0 0.2 0.05 1 - particle flame ^6.47214 ^ ^-4.70228 0.2 0 0.2 0.05 1 - particle flame ^7.60845 ^ ^-2.47214 0.2 0 0.2 0.05 1 + particle flame ^4 ^ ^-6.9282 0.2 0 0.2 0.05 1 + particle flame ^6.9282 ^ ^-4 0.2 0 0.2 0.05 1 particle flame ^8 ^ ^0 0.2 0 0.2 0.05 1 - particle flame ^7.60845 ^ ^2.47214 0.2 0 0.2 0.05 1 - particle flame ^6.47214 ^ ^4.70228 0.2 0 0.2 0.05 1 - particle flame ^4.70228 ^ ^6.47214 0.2 0 0.2 0.05 1 - particle flame ^2.47214 ^ ^7.60845 0.2 0 0.2 0.05 1 + particle flame ^6.9282 ^ ^4 0.2 0 0.2 0.05 1 + particle flame ^4 ^ ^6.9282 0.2 0 0.2 0.05 1 particle flame ^0 ^ ^8 0.2 0 0.2 0.05 1 - particle flame ^-2.47214 ^ ^7.60845 0.2 0 0.2 0.05 1 - particle flame ^-4.70228 ^ ^6.47214 0.2 0 0.2 0.05 1 - particle flame ^-6.47214 ^ ^4.70228 0.2 0 0.2 0.05 1 - particle flame ^-7.60845 ^ ^2.47214 0.2 0 0.2 0.05 1 + particle flame ^-4 ^ ^6.9282 0.2 0 0.2 0.05 1 + particle flame ^-6.9282 ^ ^4 0.2 0 0.2 0.05 1 particle flame ^-8 ^ ^0 0.2 0 0.2 0.05 1 - particle flame ^-7.60845 ^ ^-2.47214 0.2 0 0.2 0.05 1 - particle flame ^-6.47214 ^ ^-4.70228 0.2 0 0.2 0.05 1 - particle flame ^-4.70228 ^ ^-6.47214 0.2 0 0.2 0.05 1 - particle flame ^-2.47214 ^ ^-7.60845 0.2 0 0.2 0.05 1 + particle flame ^-6.9282 ^ ^-4 0.2 0 0.2 0.05 1 + particle flame ^-4 ^ ^-6.9282 0.2 0 0.2 0.05 1 # 円 2 particle flame ^0 ^ ^-5 0.2 0 0.2 0.05 1 - particle flame ^2.16942 ^ ^-4.50484 0.2 0 0.2 0.05 1 - particle flame ^3.90916 ^ ^-3.11745 0.2 0 0.2 0.05 1 - particle flame ^4.87464 ^ ^-1.1126 0.2 0 0.2 0.05 1 - particle flame ^4.87464 ^ ^1.1126 0.2 0 0.2 0.05 1 - particle flame ^3.90916 ^ ^3.11745 0.2 0 0.2 0.05 1 - particle flame ^2.16942 ^ ^4.50484 0.2 0 0.2 0.05 1 - particle flame ^0 ^ ^5 0.2 0 0.2 0.05 1 - particle flame ^-2.16942 ^ ^4.50484 0.2 0 0.2 0.05 1 - particle flame ^-3.90916 ^ ^3.11745 0.2 0 0.2 0.05 1 - particle flame ^-4.87464 ^ ^1.1126 0.2 0 0.2 0.05 1 - particle flame ^-4.87464 ^ ^-1.1126 0.2 0 0.2 0.05 1 - particle flame ^-3.90916 ^ ^-3.11745 0.2 0 0.2 0.05 1 - particle flame ^-2.16942 ^ ^-4.50484 0.2 0 0.2 0.05 1 + particle flame ^3.21394 ^ ^-3.83022 0.2 0 0.2 0.05 1 + particle flame ^4.92404 ^ ^-0.86824 0.2 0 0.2 0.05 1 + particle flame ^4.33013 ^ ^2.5 0.2 0 0.2 0.05 1 + particle flame ^1.7101 ^ ^4.69846 0.2 0 0.2 0.05 1 + particle flame ^-1.7101 ^ ^4.69846 0.2 0 0.2 0.05 1 + particle flame ^-4.33013 ^ ^2.5 0.2 0 0.2 0.05 1 + particle flame ^-4.92404 ^ ^-0.86824 0.2 0 0.2 0.05 1 + particle flame ^-3.21394 ^ ^-3.83022 0.2 0 0.2 0.05 1 # [ImportKey]: NobwRALgngDgpmAXGAxgSwE4oDYIDRgCuhaAJkmAAwDsppAjACwDMAnALSsAc1K7jjAGZ8AhgCMRAVnYAmVpMn0ZgrsxmSZYAgDsRAWwTJAYYoACelrAwRGfQGck4FAHtC2iEmaUCKOG7gYHMAA3EWxCQ3AADyQvMCgYgF8EghtSNEJ7RHpY2whrd0RYuGxsNBhbQ2zYjCc8iENYtFsAURKyiuaAR0JQ7CgAZSsfckRBUIqkgF0gA_3 # 円 1 particle dust 0.502 0.102 0.102 1 ^0 ^ ^-10 0.2 0 0.2 0.05 1 diff --git a/Asset/data/asset/functions/object/2270.yeeter_tnt/tick/.mcfunction b/Asset/data/asset/functions/object/2270.yeeter_tnt/tick/.mcfunction index e68204d8b5..34fca0583f 100644 --- a/Asset/data/asset/functions/object/2270.yeeter_tnt/tick/.mcfunction +++ b/Asset/data/asset/functions/object/2270.yeeter_tnt/tick/.mcfunction @@ -7,10 +7,18 @@ # Tick加算 scoreboard players add @s General.Object.Tick 1 +# 拡大 + execute if entity @s[scores={General.Object.Tick=20}] run data modify entity @s start_interpolation set value -1 + execute if entity @s[scores={General.Object.Tick=20}] run data modify entity @s transformation.translation set value [0.0f,0.75f,0.0f] + execute if entity @s[scores={General.Object.Tick=20}] run data modify entity @s transformation.scale set value [3.0f,3.0f,3.0f] + execute if entity @s[scores={General.Object.Tick=45}] run data modify entity @s start_interpolation set value -1 + execute if entity @s[scores={General.Object.Tick=45}] run data modify entity @s transformation.scale set value [0.0f,6.0f,0.0f] + execute if entity @s[scores={General.Object.Tick=45}] run data modify entity @s transformation.scale set value [6.0f,6.0f,6.0f] + # 攻撃 execute if entity @s[scores={General.Object.Tick=1..5}] run tp @s ~ ~-1 ~ - execute if entity @s[scores={General.Object.Tick=1}] positioned ~ ~-5 ~ run function asset:object/2270.yeeter_tnt/tick/prediction.m {PredictionTime:20} - execute if entity @s[scores={General.Object.Tick=20..}] at @s run function asset:object/2270.yeeter_tnt/tick/damage + execute if entity @s[scores={General.Object.Tick=1}] positioned ~ ~-5 ~ run function asset:object/2270.yeeter_tnt/tick/prediction.m {PredictionTime:60} + execute if entity @s[scores={General.Object.Tick=60..}] at @s run function asset:object/2270.yeeter_tnt/tick/damage # 消滅処理 - kill @s[scores={General.Object.Tick=20..}] + kill @s[scores={General.Object.Tick=60..}] diff --git a/Asset/data/asset/functions/object/2270.yeeter_tnt/tick/damage.mcfunction b/Asset/data/asset/functions/object/2270.yeeter_tnt/tick/damage.mcfunction index 6fdd072855..21f0cb8b07 100644 --- a/Asset/data/asset/functions/object/2270.yeeter_tnt/tick/damage.mcfunction +++ b/Asset/data/asset/functions/object/2270.yeeter_tnt/tick/damage.mcfunction @@ -10,10 +10,10 @@ data modify storage api: Argument.ElementType set from storage asset:context this.Damage.Element data modify storage api: Argument.MobUUID set from storage asset:context this.MobUUID function api:damage/modifier_manual - execute as @a[tag=!PlayerShouldInvulnerable,distance=..6] run function api:damage/ + execute as @a[tag=!PlayerShouldInvulnerable,distance=..12] run function api:damage/ function api:damage/reset # 演出 particle explosion ~ ~1 ~ 3 1 3 0 20 force particle lava ~ ~1 ~ 3 1 3 0.2 10 - playsound entity.generic.explode hostile @a ~ ~ ~ 1 0.8 + playsound entity.generic.explode hostile @a ~ ~ ~ 2 0.8 diff --git a/Asset/data/asset/functions/object/2270.yeeter_tnt/tick/prediction.m.mcfunction b/Asset/data/asset/functions/object/2270.yeeter_tnt/tick/prediction.m.mcfunction index abf852696f..871f0a677e 100644 --- a/Asset/data/asset/functions/object/2270.yeeter_tnt/tick/prediction.m.mcfunction +++ b/Asset/data/asset/functions/object/2270.yeeter_tnt/tick/prediction.m.mcfunction @@ -7,6 +7,6 @@ # 予兆 data modify storage api: Argument.ID set value 2063 data modify storage api: Argument.FieldOverride.Color set value 3381759 - data modify storage api: Argument.FieldOverride.Scale set value [12f, 12f, 0.05f] + data modify storage api: Argument.FieldOverride.Scale set value [24f, 24f, 0.05f] $data modify storage api: Argument.FieldOverride.Tick set value $(PredictionTime) execute rotated ~ 0 run function api:object/summon From 2c24ad47c5c2e63f275c75efab765df87b211e7f Mon Sep 17 00:00:00 2001 From: mokkkk Date: Sun, 8 Mar 2026 19:47:37 +0900 Subject: [PATCH 45/98] =?UTF-8?q?=E7=BE=8A=E3=81=AE=E6=AD=A9=E5=B9=85?= =?UTF-8?q?=E8=AA=BF=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../tick/event/blute_force_attack/.mcfunction | 2 +- .../asset/functions/object/2264.sheep_avenger/tick/.mcfunction | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/blute_force_attack/.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/blute_force_attack/.mcfunction index 3f60d9ed13..f6a15e1e17 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/blute_force_attack/.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/blute_force_attack/.mcfunction @@ -40,6 +40,6 @@ # execute if score @s CO.EventTimer matches 25 at @e[type=marker,tag=CO.CenterPosition,distance=..80] positioned ^-22 ^ ^22 run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_panjan_drone.m # execute if score @s CO.EventTimer matches 25 at @e[type=marker,tag=CO.CenterPosition,distance=..80] positioned ^22 ^ ^-22 run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_panjan_drone.m # execute if score @s CO.EventTimer matches 25 at @e[type=marker,tag=CO.CenterPosition,distance=..80] positioned ^-22 ^ ^-22 run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_panjan_drone.m - + # 終了 execute if score @s CO.EventTimer matches 65.. run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/end diff --git a/Asset/data/asset/functions/object/2264.sheep_avenger/tick/.mcfunction b/Asset/data/asset/functions/object/2264.sheep_avenger/tick/.mcfunction index 70214ab37d..f701e4e2c9 100644 --- a/Asset/data/asset/functions/object/2264.sheep_avenger/tick/.mcfunction +++ b/Asset/data/asset/functions/object/2264.sheep_avenger/tick/.mcfunction @@ -18,7 +18,7 @@ # 移動 execute if score @s General.Object.Tick matches 91 as @e[type=item_display,tag=2264.Model,distance=..10,limit=1] run function animated_java:sheep_avenger/animations/walk/play - execute if score @s General.Object.Tick matches 91..210 run tp @s ^ ^ ^0.08 ~ 0 + execute if score @s General.Object.Tick matches 91..210 run tp @s ^ ^ ^0.16 ~ 0 execute if score @s General.Object.Tick matches 91..215 as @e[type=item_display,tag=2264.Model,distance=..10,limit=1] run tp @s ~ ~ ~ ~ ~ execute if score @s General.Object.Tick matches 111 run function asset:object/2264.sheep_avenger/tick/step execute if score @s General.Object.Tick matches 131 run function asset:object/2264.sheep_avenger/tick/step From b63c8fdff582356765f341965dce14839e81ca23 Mon Sep 17 00:00:00 2001 From: mokkkk Date: Tue, 10 Mar 2026 23:46:01 +0900 Subject: [PATCH 46/98] =?UTF-8?q?=E3=83=89=E3=83=AD=E3=83=BC=E3=83=B3?= =?UTF-8?q?=E9=80=80=E5=A0=B4=E3=83=A2=E3=83=BC=E3=82=B7=E3=83=A7=E3=83=B3?= =?UTF-8?q?=E4=BD=9C=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../2261.gem_yeeter_drone/_index.d.mcfunction | 4 +++- .../object/2261.gem_yeeter_drone/tick/.mcfunction | 2 ++ .../tick/event_attack.mcfunction | 2 +- .../tick/event_remove.mcfunction | 15 +++++++++++++++ .../tick/start_remove.mcfunction | 10 ++++++++++ 5 files changed, 31 insertions(+), 2 deletions(-) create mode 100644 Asset/data/asset/functions/object/2261.gem_yeeter_drone/tick/event_remove.mcfunction create mode 100644 Asset/data/asset/functions/object/2261.gem_yeeter_drone/tick/start_remove.mcfunction diff --git a/Asset/data/asset/functions/object/2261.gem_yeeter_drone/_index.d.mcfunction b/Asset/data/asset/functions/object/2261.gem_yeeter_drone/_index.d.mcfunction index c2f2b1cfe0..7ce4980369 100644 --- a/Asset/data/asset/functions/object/2261.gem_yeeter_drone/_index.d.mcfunction +++ b/Asset/data/asset/functions/object/2261.gem_yeeter_drone/_index.d.mcfunction @@ -9,9 +9,10 @@ #declare tag 2261.Model #declare tag 2261.Model.Init #declare tag 2261.Model.Target + #declare tag 2261.Phase.Start #declare tag 2261.Phase.Idle #declare tag 2261.Phase.Attack - #declare tag 2261.Phase.Start + #declare tag 2261.Phase.Remove #declare tag 2261.IsRotate #declare tag 2261.IsRotate.Inverse #declare function animated_java:gem_tnt_drone/summon @@ -19,4 +20,5 @@ #declare function animated_java:gem_tnt_drone/animations/idle/tween #declare function animated_java:gem_tnt_drone/animations/attack_start/tween #declare function animated_java:gem_tnt_drone/animations/attack/tween + #declare function animated_java:gem_tnt_drone/animations/remove/tween #declare function animated_java:gem_tnt_drone/remove/this diff --git a/Asset/data/asset/functions/object/2261.gem_yeeter_drone/tick/.mcfunction b/Asset/data/asset/functions/object/2261.gem_yeeter_drone/tick/.mcfunction index 12b5bfe8d1..64c865606b 100644 --- a/Asset/data/asset/functions/object/2261.gem_yeeter_drone/tick/.mcfunction +++ b/Asset/data/asset/functions/object/2261.gem_yeeter_drone/tick/.mcfunction @@ -15,6 +15,8 @@ execute if entity @s[tag=2261.Phase.Idle] run function asset:object/2261.gem_yeeter_drone/tick/event_idle # 攻撃 execute if entity @s[tag=2261.Phase.Attack] run function asset:object/2261.gem_yeeter_drone/tick/event_attack +# 消去 + execute if entity @s[tag=2261.Phase.Remove] run function asset:object/2261.gem_yeeter_drone/tick/event_remove # 消去 execute if entity @s[tag=CO.Drone.Remove] run function asset:object/2261.gem_yeeter_drone/tick/remove diff --git a/Asset/data/asset/functions/object/2261.gem_yeeter_drone/tick/event_attack.mcfunction b/Asset/data/asset/functions/object/2261.gem_yeeter_drone/tick/event_attack.mcfunction index 268d11e698..6c0b11b0b8 100644 --- a/Asset/data/asset/functions/object/2261.gem_yeeter_drone/tick/event_attack.mcfunction +++ b/Asset/data/asset/functions/object/2261.gem_yeeter_drone/tick/event_attack.mcfunction @@ -27,4 +27,4 @@ execute if entity @s[scores={2261.AttackInterval=1}] positioned ~ ~5 ~ run function asset:object/2261.gem_yeeter_drone/tick/attack # 消去 - execute if entity @s[scores={General.Object.Tick=300..}] run tag @s add CO.Drone.Remove + execute if entity @s[scores={General.Object.Tick=300..}] run function asset:object/2261.gem_yeeter_drone/tick/start_remove diff --git a/Asset/data/asset/functions/object/2261.gem_yeeter_drone/tick/event_remove.mcfunction b/Asset/data/asset/functions/object/2261.gem_yeeter_drone/tick/event_remove.mcfunction new file mode 100644 index 0000000000..aede3c8023 --- /dev/null +++ b/Asset/data/asset/functions/object/2261.gem_yeeter_drone/tick/event_remove.mcfunction @@ -0,0 +1,15 @@ +#> asset:object/2261.gem_yeeter_drone/tick/event_remove +# +# Objectのtick時の処理 +# +# @within asset:object/2261.gem_yeeter_drone/tick/ + +# アニメーション再生 + execute if entity @s[scores={General.Object.Tick=1}] as @e[type=item_display,tag=2261.Model.Target,distance=..30,sort=nearest,limit=1] at @s run function animated_java:gem_tnt_drone/animations/remove/tween {duration:1, to_frame: 1} + +# 演出 + execute if entity @s[scores={General.Object.Tick=1}] run playsound entity.phantom.flap hostile @a ~ ~ ~ 2 1 + execute if entity @s[scores={General.Object.Tick=1}] run playsound entity.phantom.flap hostile @a ~ ~ ~ 2 1 + +# 消去 + execute if entity @s[scores={General.Object.Tick=20..}] run tag @s add CO.Drone.Remove diff --git a/Asset/data/asset/functions/object/2261.gem_yeeter_drone/tick/start_remove.mcfunction b/Asset/data/asset/functions/object/2261.gem_yeeter_drone/tick/start_remove.mcfunction new file mode 100644 index 0000000000..074ef489de --- /dev/null +++ b/Asset/data/asset/functions/object/2261.gem_yeeter_drone/tick/start_remove.mcfunction @@ -0,0 +1,10 @@ +#> asset:object/2261.gem_yeeter_drone/tick/start_remove +# +# Objectのtick時の処理 +# +# @within asset:object/2261.gem_yeeter_drone/tick/event_attack + +# idleに移行 + tag @s remove 2261.Phase.Attack + tag @s add 2261.Phase.Remove + scoreboard players set @s General.Object.Tick 0 From ae793dd3013fecf11edb1bce5e7a6c6f27db3bc7 Mon Sep 17 00:00:00 2001 From: mokkkk Date: Wed, 11 Mar 2026 00:04:40 +0900 Subject: [PATCH 47/98] =?UTF-8?q?Yeeter=E3=83=89=E3=83=AD=E3=83=BC?= =?UTF-8?q?=E3=83=B3=E3=81=AE=E4=BA=88=E5=82=99=E5=8B=95=E4=BD=9C=E6=99=82?= =?UTF-8?q?=E9=96=93=E8=AA=BF=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../tick/{attack.mcfunction => attack.m.mcfunction} | 1 + .../2261.gem_yeeter_drone/tick/event_attack.mcfunction | 6 +++--- .../2261.gem_yeeter_drone/tick/prediction.mcfunction | 9 ++++++++- .../functions/object/2270.yeeter_tnt/_index.d.mcfunction | 2 +- .../functions/object/2270.yeeter_tnt/init/.mcfunction | 3 +++ .../functions/object/2270.yeeter_tnt/tick/.mcfunction | 2 +- 6 files changed, 17 insertions(+), 6 deletions(-) rename Asset/data/asset/functions/object/2261.gem_yeeter_drone/tick/{attack.mcfunction => attack.m.mcfunction} (85%) diff --git a/Asset/data/asset/functions/object/2261.gem_yeeter_drone/tick/attack.mcfunction b/Asset/data/asset/functions/object/2261.gem_yeeter_drone/tick/attack.m.mcfunction similarity index 85% rename from Asset/data/asset/functions/object/2261.gem_yeeter_drone/tick/attack.mcfunction rename to Asset/data/asset/functions/object/2261.gem_yeeter_drone/tick/attack.m.mcfunction index 52b31744e1..55e08d2471 100644 --- a/Asset/data/asset/functions/object/2261.gem_yeeter_drone/tick/attack.mcfunction +++ b/Asset/data/asset/functions/object/2261.gem_yeeter_drone/tick/attack.m.mcfunction @@ -11,4 +11,5 @@ data modify storage api: Argument.ID set value 2270 data modify storage api: Argument.FieldOverride.MobUUID set from storage asset:context this.MobUUID data modify storage api: Argument.FieldOverride.Damage set from storage asset:context this.Damage + $data modify storage api: Argument.FieldOverride.IsNoPrediction set value $(NoPrediction) function api:object/summon diff --git a/Asset/data/asset/functions/object/2261.gem_yeeter_drone/tick/event_attack.mcfunction b/Asset/data/asset/functions/object/2261.gem_yeeter_drone/tick/event_attack.mcfunction index 6c0b11b0b8..2e6fe5a41b 100644 --- a/Asset/data/asset/functions/object/2261.gem_yeeter_drone/tick/event_attack.mcfunction +++ b/Asset/data/asset/functions/object/2261.gem_yeeter_drone/tick/event_attack.mcfunction @@ -15,16 +15,16 @@ # 移動 execute if entity @s[scores={General.Object.Tick=1..20}] run tp @s ^ ^ ^-0.05 - execute if entity @s[tag=!2261.IsRotate,tag=!2261.IsRotate.Inverse,scores={General.Object.Tick=35..40}] run tp @s ^ ^ ^0.2 + execute if entity @s[tag=!2261.IsRotate,tag=!2261.IsRotate.Inverse,scores={General.Object.Tick=36..40}] run tp @s ^ ^ ^0.2 execute if entity @s[tag=!2261.IsRotate,tag=!2261.IsRotate.Inverse,scores={General.Object.Tick=41..}] run tp @s ^ ^ ^0.4 - execute if entity @s[tag=2261.IsRotate.Inverse,scores={General.Object.Tick=35..40}] at @s run tp @s ^ ^ ^0.1308 ~-0.375 ~ execute if entity @s[tag=2261.IsRotate.Inverse,scores={General.Object.Tick=41..}] at @s run tp @s ^ ^ ^0.2616 ~-0.75 ~ # 攻撃 execute if entity @s[scores={General.Object.Tick=40..}] run scoreboard players add @s 2261.AttackInterval 1 execute if entity @s[scores={2261.AttackInterval=40..}] run scoreboard players set @s 2261.AttackInterval 0 - execute if entity @s[scores={2261.AttackInterval=1}] positioned ~ ~5 ~ run function asset:object/2261.gem_yeeter_drone/tick/attack + execute if entity @s[scores={2261.AttackInterval=1,General.Object.Tick=..44}] positioned ~ ~5 ~ run function asset:object/2261.gem_yeeter_drone/tick/attack.m {NoPrediction:"true"} + execute if entity @s[scores={2261.AttackInterval=1,General.Object.Tick=45..}] positioned ~ ~5 ~ run function asset:object/2261.gem_yeeter_drone/tick/attack.m {NoPrediction:"false"} # 消去 execute if entity @s[scores={General.Object.Tick=300..}] run function asset:object/2261.gem_yeeter_drone/tick/start_remove diff --git a/Asset/data/asset/functions/object/2261.gem_yeeter_drone/tick/prediction.mcfunction b/Asset/data/asset/functions/object/2261.gem_yeeter_drone/tick/prediction.mcfunction index 3c97faabd4..e942a99b5a 100644 --- a/Asset/data/asset/functions/object/2261.gem_yeeter_drone/tick/prediction.mcfunction +++ b/Asset/data/asset/functions/object/2261.gem_yeeter_drone/tick/prediction.mcfunction @@ -3,11 +3,18 @@ # Objectのtick時の処理 # # @within asset:object/2261.gem_yeeter_drone/tick/event_idle +# @private + #declare score_holder $PredictionTime # 予告 data modify storage api: Argument.ID set value 2271 data modify storage api: Argument.FieldOverride.Color set value 3381759 data modify storage api: Argument.FieldOverride.TextColor set value "#ffcf80" data modify storage api: Argument.FieldOverride.Scale set value [24f, 24f, 0.05f] - data modify storage api: Argument.FieldOverride.Tick set value 100 + scoreboard players operation $PredictionTime Global = @s 2261.IdleTime + scoreboard players operation $PredictionTime Global -= @s 2261.PredictionTime + # 攻撃までの予備動作が40なのを考慮 + scoreboard players add $PredictionTime Global 40 + # TNTのtickが60なのを考慮 + execute store result storage api: Argument.FieldOverride.Tick int 1 run scoreboard players add $PredictionTime Global 60 execute rotated ~ 0 positioned ~ ~0.2 ~ run function api:object/summon diff --git a/Asset/data/asset/functions/object/2270.yeeter_tnt/_index.d.mcfunction b/Asset/data/asset/functions/object/2270.yeeter_tnt/_index.d.mcfunction index f040eafe24..a750b50340 100644 --- a/Asset/data/asset/functions/object/2270.yeeter_tnt/_index.d.mcfunction +++ b/Asset/data/asset/functions/object/2270.yeeter_tnt/_index.d.mcfunction @@ -3,4 +3,4 @@ #> tag # @within function asset:object/2270.yeeter_tnt/** - #declare \ No newline at end of file + #declare tag 2270.NoPrediction diff --git a/Asset/data/asset/functions/object/2270.yeeter_tnt/init/.mcfunction b/Asset/data/asset/functions/object/2270.yeeter_tnt/init/.mcfunction index d3b67eef45..ac2f31f972 100644 --- a/Asset/data/asset/functions/object/2270.yeeter_tnt/init/.mcfunction +++ b/Asset/data/asset/functions/object/2270.yeeter_tnt/init/.mcfunction @@ -6,3 +6,6 @@ # 実行角度に合わせる tp @s ~ ~ ~ ~ 0 + +# 予兆無し + execute if data storage asset:context this{IsNoPrediction:true} run tag @s add 2270.NoPrediction diff --git a/Asset/data/asset/functions/object/2270.yeeter_tnt/tick/.mcfunction b/Asset/data/asset/functions/object/2270.yeeter_tnt/tick/.mcfunction index 34fca0583f..bc41e601f3 100644 --- a/Asset/data/asset/functions/object/2270.yeeter_tnt/tick/.mcfunction +++ b/Asset/data/asset/functions/object/2270.yeeter_tnt/tick/.mcfunction @@ -17,7 +17,7 @@ # 攻撃 execute if entity @s[scores={General.Object.Tick=1..5}] run tp @s ~ ~-1 ~ - execute if entity @s[scores={General.Object.Tick=1}] positioned ~ ~-5 ~ run function asset:object/2270.yeeter_tnt/tick/prediction.m {PredictionTime:60} + execute if entity @s[tag=!2270.NoPrediction,scores={General.Object.Tick=1}] positioned ~ ~-5 ~ run function asset:object/2270.yeeter_tnt/tick/prediction.m {PredictionTime:60} execute if entity @s[scores={General.Object.Tick=60..}] at @s run function asset:object/2270.yeeter_tnt/tick/damage # 消滅処理 From 075f6e654e855e94fa4fdacf5cb8b57577abcee7 Mon Sep 17 00:00:00 2001 From: mokkkk Date: Wed, 11 Mar 2026 00:31:53 +0900 Subject: [PATCH 48/98] =?UTF-8?q?=E7=A7=BB=E5=8B=95=E5=86=86=E7=AF=84?= =?UTF-8?q?=E5=9B=B2=E4=BA=88=E5=85=86=E3=82=92=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../tick/event/blute_force_attack/.mcfunction | 10 +++++----- .../object/2261.gem_yeeter_drone/init/.mcfunction | 5 +++-- .../2271.moving_circle_damage_area/init/.mcfunction | 9 ++++++++- .../init/set_transformation.mcfunction | 9 +++++++++ .../summon/.mcfunction | 3 ++- .../summon/m.mcfunction | 8 -------- .../tick/effect.mcfunction | 12 ++++++------ 7 files changed, 33 insertions(+), 23 deletions(-) create mode 100644 Asset/data/asset/functions/object/2271.moving_circle_damage_area/init/set_transformation.mcfunction delete mode 100644 Asset/data/asset/functions/object/2271.moving_circle_damage_area/summon/m.mcfunction diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/blute_force_attack/.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/blute_force_attack/.mcfunction index f6a15e1e17..f31d752485 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/blute_force_attack/.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/blute_force_attack/.mcfunction @@ -23,11 +23,11 @@ execute as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run tp @s ~ ~ ~ ~ ~ # 召喚 # 全員お披露目パターン - execute if score @s CO.EventTimer matches 25 positioned ^ ^ ^10 run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_attack_drone.m - execute if score @s CO.EventTimer matches 26 positioned ^-15 ^ ^8 run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_attack_drone.m - execute if score @s CO.EventTimer matches 27 positioned ^15 ^ ^8 run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_attack_drone.m - execute if score @s CO.EventTimer matches 28 positioned ^-20 ^ ^6 run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_panjan_drone.m - execute if score @s CO.EventTimer matches 29 positioned ^20 ^ ^6 run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_panjan_drone.m + # execute if score @s CO.EventTimer matches 25 positioned ^ ^ ^10 run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_attack_drone.m + # execute if score @s CO.EventTimer matches 26 positioned ^-15 ^ ^8 run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_attack_drone.m + # execute if score @s CO.EventTimer matches 27 positioned ^15 ^ ^8 run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_attack_drone.m + # execute if score @s CO.EventTimer matches 28 positioned ^-20 ^ ^6 run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_panjan_drone.m + # execute if score @s CO.EventTimer matches 29 positioned ^20 ^ ^6 run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_panjan_drone.m execute if score @s CO.EventTimer matches 28 positioned ^ ^ ^-8 rotated ~ ~ run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_yeeter_drone.m execute if score @s CO.EventTimer matches 28 positioned ^-26 ^ ^-6 rotated ~-12 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_yeeter_drone.m execute if score @s CO.EventTimer matches 28 positioned ^26 ^ ^-6 rotated ~12 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_yeeter_drone.m diff --git a/Asset/data/asset/functions/object/2261.gem_yeeter_drone/init/.mcfunction b/Asset/data/asset/functions/object/2261.gem_yeeter_drone/init/.mcfunction index 2295cd3d66..2d7ba6c4d8 100644 --- a/Asset/data/asset/functions/object/2261.gem_yeeter_drone/init/.mcfunction +++ b/Asset/data/asset/functions/object/2261.gem_yeeter_drone/init/.mcfunction @@ -14,7 +14,7 @@ function asset:object/2261.gem_yeeter_drone/init/animated_java # 仮 - scoreboard players set @s 2261.IdleTime 60 + scoreboard players set @s 2261.IdleTime 100 # tag @s add 2261.IsRotate.Inverse # 回転有無 @@ -23,6 +23,7 @@ # タイマー計算 # IdleTimeは予備動作を考慮して短縮 - scoreboard players remove @s 2261.IdleTime 25 + scoreboard players remove @s 2261.IdleTime 40 + execute if score @s 2261.IdleTime matches ..-1 run scoreboard players set @s 2261.IdleTime 0 execute store result score @s 2261.PredictionTime run scoreboard players get @s 2261.IdleTime scoreboard players remove @s 2261.PredictionTime 30 diff --git a/Asset/data/asset/functions/object/2271.moving_circle_damage_area/init/.mcfunction b/Asset/data/asset/functions/object/2271.moving_circle_damage_area/init/.mcfunction index fd6b23e76a..82893c2f51 100644 --- a/Asset/data/asset/functions/object/2271.moving_circle_damage_area/init/.mcfunction +++ b/Asset/data/asset/functions/object/2271.moving_circle_damage_area/init/.mcfunction @@ -7,7 +7,7 @@ # 設定項目(FieldOverride) # Color : 円範囲エフェクトの色。leather_horse_armorの色であるため、16777215が白。 # TextColor : 矢印エフェクトの色。カラーコードで指定すること - # Scale : エフェクトの大きさ。[5f,5f,0.01f]がデフォルト。 + # Scale : エフェクトの大きさ。[5f,5f,0.01f]がデフォルト。矢印エフェクトのサイズおよび位置調整にScale[0]を用いる。 # Tick : 何Tick後にダメージを与えるかを指定する。ただしこのオブジェクトはあくまでも見た目だけなのでダメージ処理は自前で。 # 実行角度に合わせる @@ -19,3 +19,10 @@ data modify storage api: Argument.FieldOverride.Scale set from storage asset:context this.Scale data modify storage api: Argument.FieldOverride.Tick set from storage asset:context this.Tick execute rotated ~ 0 positioned ~ ~ ~ run function api:object/summon + +# 矢印のサイズおよび位置調整 + execute store result storage asset:context this.Text.ScaleX float 3 run data get storage asset:context this.Scale[0] + execute store result storage asset:context this.Text.ScaleY float 1 run data get storage asset:context this.Scale[0] + execute store result storage asset:context this.Text.Offset float 0.5 run data get storage asset:context this.Scale[0] + execute store result storage asset:context this.Text.PosOffset float 0.25 run data get storage asset:context this.Scale[0] + function asset:object/2271.moving_circle_damage_area/init/set_transformation with storage asset:context this.Text diff --git a/Asset/data/asset/functions/object/2271.moving_circle_damage_area/init/set_transformation.mcfunction b/Asset/data/asset/functions/object/2271.moving_circle_damage_area/init/set_transformation.mcfunction new file mode 100644 index 0000000000..45ef28cd29 --- /dev/null +++ b/Asset/data/asset/functions/object/2271.moving_circle_damage_area/init/set_transformation.mcfunction @@ -0,0 +1,9 @@ +#> asset:object/2271.moving_circle_damage_area/init/set_transformation +# +# Objectのinit時の処理 +# +# @within asset:object/2271.moving_circle_damage_area/init/ + +# transformation更新 + $data modify entity @s transformation set value {left_rotation:{axis:[1f,0f,0f],angle:-1.5708f},right_rotation:[0.0f,0.0f,0.0f,1.0f],translation:[0f,0f,$(Offset)f],scale:[$(ScaleY)f,$(ScaleX)f,0.0f]} + $tp @s ^ ^ ^$(PosOffset) ~-90 0 diff --git a/Asset/data/asset/functions/object/2271.moving_circle_damage_area/summon/.mcfunction b/Asset/data/asset/functions/object/2271.moving_circle_damage_area/summon/.mcfunction index c583e99d1b..6219fa8228 100644 --- a/Asset/data/asset/functions/object/2271.moving_circle_damage_area/summon/.mcfunction +++ b/Asset/data/asset/functions/object/2271.moving_circle_damage_area/summon/.mcfunction @@ -5,4 +5,5 @@ # @within asset:object/alias/2271/summon # 元となるEntityを召喚する - summon text_display ~ ~ ~ {Tags:["ObjectInit"],text_opacity:255,background:16711680,alignment:"right",line_width:210,transformation:[0.0000f,17.0000f,0.0000f,-2.8125f,0.0000f,-0.0000f,1.0000f,0.1250f,6.5000f,-0.0000f,-0.0000f,3.8125f,0.0000f,0.0000f,0.0000f,1.0000f]} + # summon text_display ~ ~ ~ {Tags:["ObjectInit"],text_opacity:255,background:16711680,alignment:"right",line_width:210,transformation:[0.0000f,17.0000f,0.0000f,-2.8125f,0.0000f,-0.0000f,1.0000f,0.1250f,6.5000f,-0.0000f,-0.0000f,3.8125f,0.0000f,0.0000f,0.0000f,1.0000f]} + summon text_display ~ ~ ~ {Tags:["ObjectInit"],text_opacity:255,background:16711680,alignment:"right",line_width:210,transformation:{left_rotation:[0.0f,0.0f,0.0f,1.0f],right_rotation:[0.0f,0.0f,0.0f,1.0f],translation:[0.0f,0.0f,0.0f],scale:[0.0f,0.0f,0.0f]}} diff --git a/Asset/data/asset/functions/object/2271.moving_circle_damage_area/summon/m.mcfunction b/Asset/data/asset/functions/object/2271.moving_circle_damage_area/summon/m.mcfunction deleted file mode 100644 index 938b5d18eb..0000000000 --- a/Asset/data/asset/functions/object/2271.moving_circle_damage_area/summon/m.mcfunction +++ /dev/null @@ -1,8 +0,0 @@ -#> asset:object/2271.moving_circle_damage_area/summon/m -# -# Object召喚処理の呼び出し時に実行されるfunction -# -# @within asset:object/2271.moving_circle_damage_area/summon/ - -# 元となるEntityを召喚する - summon text_display ~ ~ ~ {Tags:["ObjectInit"],text_opacity:255,background:16711680,alignment:"right",line_width:210,transformation:[0.0000f,17.0000f,0.0000f,-2.8125f,0.0000f,-0.0000f,1.0000f,0.1250f,6.5000f,-0.0000f,-0.0000f,3.8125f,0.0000f,0.0000f,0.0000f,1.0000f]} diff --git a/Asset/data/asset/functions/object/2271.moving_circle_damage_area/tick/effect.mcfunction b/Asset/data/asset/functions/object/2271.moving_circle_damage_area/tick/effect.mcfunction index ee8c8ea678..72c8122efd 100644 --- a/Asset/data/asset/functions/object/2271.moving_circle_damage_area/tick/effect.mcfunction +++ b/Asset/data/asset/functions/object/2271.moving_circle_damage_area/tick/effect.mcfunction @@ -1,4 +1,4 @@ -#> asset:object/2271.moving_circle_damage_area/tick/effect +#< asset:object/2271.moving_circle_damage_area/tick/effect # # # @@ -9,11 +9,11 @@ scoreboard players operation $Interval Temporary %= $23 Const # 予告線表示 - $execute if score $Interval Temporary matches 1 run data modify entity @s text set value '[{"text":">>","color":"$(TextColor)","bold":true}]' - $execute if score $Interval Temporary matches 3 run data modify entity @s text set value '[{"text":">","color":"#BF874E","bold":true},{"text":">","color":"$(TextColor)","bold":true}]' - execute if score $Interval Temporary matches 5 run data modify entity @s text set value '[{"text":">","color":"#BF874E","bold":true},{"text":">","color":"#BF874E","bold":true}]' - $execute if score $Interval Temporary matches 20 run data modify entity @s text set value '[{"text":">","color":"$(TextColor)","bold":true},{"text":">","color":"#BF874E","bold":true}]' - $execute if score $Interval Temporary matches 22 run data modify entity @s text set value '[{"text":">>","color":"$(TextColor)","bold":true}]' + $execute if score $Interval Temporary matches 1 run data modify entity @s text set value '[{"text":"<<","color":"$(TextColor)","bold":true}]' + $execute if score $Interval Temporary matches 3 run data modify entity @s text set value '[{"text":"<","color":"#BF874E","bold":true},{"text":"<","color":"$(TextColor)","bold":true}]' + execute if score $Interval Temporary matches 5 run data modify entity @s text set value '[{"text":"<","color":"#BF874E","bold":true},{"text":"<","color":"#BF874E","bold":true}]' + $execute if score $Interval Temporary matches 20 run data modify entity @s text set value '[{"text":"<","color":"$(TextColor)","bold":true},{"text":"<","color":"#BF874E","bold":true}]' + $execute if score $Interval Temporary matches 22 run data modify entity @s text set value '[{"text":"<<","color":"$(TextColor)","bold":true}]' # 終了 scoreboard players reset $Interval Temporary From ac3fcd5ba2180e599e82639b9808fec383a5c80f Mon Sep 17 00:00:00 2001 From: mokkkk Date: Sat, 14 Mar 2026 16:27:22 +0900 Subject: [PATCH 49/98] =?UTF-8?q?=E5=BD=93=E3=81=9F=E3=82=8A=E5=88=A4?= =?UTF-8?q?=E5=AE=9A=E4=BD=9C=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../0456.gargo_ex_machina/_index.d.mcfunction | 3 ++- .../0456.gargo_ex_machina/death/.mcfunction | 2 +- .../death/kill_hitbox.mcfunction | 11 ++++++++++ .../0456.gargo_ex_machina/hurt/.mcfunction | 5 +++++ .../init/animated_java.m.mcfunction | 4 ++-- .../init/locator.mcfunction | 21 +++++++++++++++++++ .../0456.gargo_ex_machina/remove/.mcfunction | 6 +++--- 7 files changed, 45 insertions(+), 7 deletions(-) create mode 100644 Asset/data/asset/functions/mob/0456.gargo_ex_machina/death/kill_hitbox.mcfunction create mode 100644 Asset/data/asset/functions/mob/0456.gargo_ex_machina/init/locator.mcfunction diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/_index.d.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/_index.d.mcfunction index 85854072cd..2bcd7691ef 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/_index.d.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/_index.d.mcfunction @@ -56,7 +56,7 @@ #declare tag CO.Aec.FieldModify #declare tag CO.Aec.FieldModify.Init #declare tag CO.Temp.Ground - #declare tag + #declare tag CO.Temp.Dummy #declare tag #declare tag #declare tag @@ -69,6 +69,7 @@ # - 自動生成 #declare tag aj.global.data #declare function animated_java:gargo_ex_machina/summon + #declare function animated_java:gargo_ex_machina/as_own_locator_entities #declare function animated_java:gargo_ex_machina/animations/pause_all #declare function animated_java:gargo_ex_machina/animations/idle/tween #declare function animated_java:gargo_ex_machina/animations/activation/tween diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/death/.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/death/.mcfunction index a102438ab8..70efaedab9 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/death/.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/death/.mcfunction @@ -24,7 +24,7 @@ kill @e[type=marker,tag=CO.CenterPosition] # 当たり判定消去 - # execute as @e[type=item_display,tag=CO.ModelRoot] run function animated_java:heiloang_aj/as_own_locator_entities {command:'function asset:mob/0410.heiloang/death/kill_hitbox'} + execute as @e[type=item_display,tag=CO.ModelRoot] run function animated_java:gargo_ex_machina/as_own_locator_entities {command:'function asset:mob/0456.gargo_ex_machina/death/kill_hitbox'} function animated_java:gargo_ex_machina/remove/all # その他リセット diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/death/kill_hitbox.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/death/kill_hitbox.mcfunction new file mode 100644 index 0000000000..c303722465 --- /dev/null +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/death/kill_hitbox.mcfunction @@ -0,0 +1,11 @@ +#> asset:mob/0456.gargo_ex_machina/death/kill_hitbox +# +# Mobの死亡時の処理 +# +# @within asset:mob/0456.gargo_ex_machina/death/ +# @within asset:mob/0456.gargo_ex_machina/remove/ + +# 当たり判定消去 + execute if entity @s[type=slime] run data merge entity @s {Size:0,Tags:["CO.Temp.Dummy"]} + execute if entity @s[type=slime] run tp @s ~ ~-100 ~ + kill @s[type=slime] diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/hurt/.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/hurt/.mcfunction index 4d087919b0..2e668cf2ae 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/hurt/.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/hurt/.mcfunction @@ -3,3 +3,8 @@ # Mobのダメージ時の処理 # # @within function asset:mob/alias/456/hurt + +# 継承元の処理実行 + function asset:mob/super.hurt + +say だめーじ diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/init/animated_java.m.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/init/animated_java.m.mcfunction index a3d154eaf3..eade628647 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/init/animated_java.m.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/init/animated_java.m.mcfunction @@ -1,4 +1,4 @@ -#> asset:mob/0456.gargo_ex_machina/init/animated_java +#> asset:mob/0456.gargo_ex_machina/init/animated_java.m # # 初期化処理 Aj関連 # @@ -11,7 +11,7 @@ execute as @e[type=item_display,tag=CO.ModelRoot] run data merge entity @s {view_range:16f,width:0f,height:0f,teleport_duration:2} execute as @e[type=item_display,tag=CO.ModelRoot] on passengers if entity @s[type=item_display] run data merge entity @s {view_range:16f,width:0f,height:0f,teleport_duration:2} # Locatorの初期化 - # execute as @e[type=item_display,tag=CO.ModelRoot] run function animated_java:heiloang_aj/as_own_locator_entities {command:'function asset:mob/0410.heiloang/init/locator'} + execute as @e[type=item_display,tag=CO.ModelRoot] run function animated_java:gargo_ex_machina/as_own_locator_entities {command:'function asset:mob/0456.gargo_ex_machina/init/locator'} # テスト # 待機モーション再生 diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/init/locator.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/init/locator.mcfunction new file mode 100644 index 0000000000..f35fdeef87 --- /dev/null +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/init/locator.mcfunction @@ -0,0 +1,21 @@ +#> asset:mob/0456.gargo_ex_machina/init/locator +# +# 初期化処理 Aj関連 +# +# @within asset:mob/0456.gargo_ex_machina/init/animated_java.m + +# slime以外では実行しない + execute unless entity @s[type=slime] run return 0 + +# Locatorに以下処理を実行する + data merge entity @s {CustomName:'{"text":"絡繰仕掛の石像","italic":false}',Silent:1b,NoAI:1b,DeathLootTable:"minecraft:empty",PersistenceRequired :1b,Attributes:[{Name:"generic.max_health",Base:1024d}],ArmorDropChances:[0.000f,0.000f,0.000f,0.000f]} + scoreboard players operation @s ForwardTargetMobUUID = @e[type=slime,tag=CO.EntityRoot,limit=1] MobUUID + tag @s add Enemy + tag @s add Enemy.Boss + tag @s add ExtendedCollision + tag @s add AlwaysInvisible + tag @s add ProcessCommonTag + tag @s add CO.Hitbox + # effect give @s instant_health infinite 0 true + +say initされました diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/remove/.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/remove/.mcfunction index f4c29d423a..394000b971 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/remove/.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/remove/.mcfunction @@ -17,11 +17,11 @@ # execute as @e[type=item_display,tag=BE.ModelRoot] on passengers if entity @s[type=snowball] on origin run data merge entity @s {Size:0,Tags:["BE.Temp.Dummy"]} # execute as @e[type=slime,tag=BE.Temp.Dummy] run tp @s ~ ~100 ~ # kill @e[type=slime,tag=BE.Temp.Dummy] - # execute as @e[type=item_display,tag=CO.ModelRoot] run function animated_java:gargo_ex_machina/as_own_locator_entities {command:'function asset:mob/0410.heiloang/remove/kill_hitbox'} - function animated_java:gargo_ex_machina/remove/all + # execute as @e[type=item_display,tag=CO.ModelRoot] run function animated_java:gargo_ex_machina/as_own_locator_entities {command:'function asset:mob/0456.gargo_ex_machina/remove/kill_hitbox'} + # function animated_java:gargo_ex_machina/remove/all # 当たり判定消去 - # execute as @e[type=item_display,tag=CO.ModelRoot] run function animated_java:heiloang_aj/as_own_locator_entities {command:'function asset:mob/0410.heiloang/death/kill_hitbox'} + execute as @e[type=item_display,tag=CO.ModelRoot] run function animated_java:gargo_ex_machina/as_own_locator_entities {command:'function asset:mob/0456.gargo_ex_machina/death/kill_hitbox'} function animated_java:gargo_ex_machina/remove/all # その他リセット From 17d9306087ccf10a7f760fb955ce29d60ec0ac58 Mon Sep 17 00:00:00 2001 From: mokkkk Date: Sun, 15 Mar 2026 12:49:53 +0900 Subject: [PATCH 50/98] =?UTF-8?q?=E5=BD=B1=E8=BF=BD=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../0456.gargo_ex_machina/_index.d.mcfunction | 3 +++ .../0456.gargo_ex_machina/hurt/.mcfunction | 2 -- .../init/locator.mcfunction | 2 -- .../mob/0456.gargo_ex_machina/load.mcfunction | 1 + .../tick/act/.mcfunction | 19 +++++++++++++++++++ .../tick/act/phase_1/.mcfunction | 17 +++++++++++++++++ .../tick/debug/interrupt.mcfunction | 2 +- .../tick/event/blute_force_attack/.mcfunction | 4 ++-- .../event/super_jump/event_attack.mcfunction | 2 +- .../event/super_jump/event_start.mcfunction | 2 ++ .../object/2270.yeeter_tnt/tick/.mcfunction | 2 ++ .../2270.yeeter_tnt/tick/damage.mcfunction | 2 +- 12 files changed, 49 insertions(+), 9 deletions(-) create mode 100644 Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/.mcfunction create mode 100644 Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/phase_1/.mcfunction diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/_index.d.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/_index.d.mcfunction index 2bcd7691ef..197f27c797 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/_index.d.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/_index.d.mcfunction @@ -8,6 +8,7 @@ #declare tag CO.ModelRoot AJモデルのRootEntity #declare tag CO.Hitbox 当たり判定 #declare tag CO.CenterPosition 中心点 + #declare tag CO.IsLatter 後半戦 # - スキル #declare tag CO.Skill.Activate 起動 #declare tag CO.Skill.Move 移動 @@ -100,6 +101,8 @@ #declare function animated_java:gargo_ex_machina/animations/walk_end/tween #declare function animated_java:gargo_ex_machina/animations/super_jump_start/tween #declare function animated_java:gargo_ex_machina/animations/super_jump_end/tween + #declare function animated_java:gargo_ex_machina/animations/super_jump_end/pause + #declare function animated_java:gargo_ex_machina/animations/super_jump_end/resume #declare function animated_java:gargo_ex_machina/animations/call_drone/tween #declare function animated_java:gargo_ex_machina/animations/change_to_shot/tween #declare function animated_java:gargo_ex_machina/animations/change_to_sword/tween diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/hurt/.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/hurt/.mcfunction index 2e668cf2ae..d1cc3aaf32 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/hurt/.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/hurt/.mcfunction @@ -6,5 +6,3 @@ # 継承元の処理実行 function asset:mob/super.hurt - -say だめーじ diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/init/locator.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/init/locator.mcfunction index f35fdeef87..c8bf14242b 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/init/locator.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/init/locator.mcfunction @@ -17,5 +17,3 @@ tag @s add ProcessCommonTag tag @s add CO.Hitbox # effect give @s instant_health infinite 0 true - -say initされました diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/load.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/load.mcfunction index 9512b683c9..7dfb5501b7 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/load.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/load.mcfunction @@ -9,6 +9,7 @@ scoreboard objectives add CO.EventTimer dummy scoreboard objectives add CO.FieldModify.Color dummy scoreboard objectives add CO.Counter dummy + scoreboard objectives add CO.IdleCount dummy #> Object管理用 # @within function asset:mob/0456.gargo_ex_machina/** # @within function asset:object/2260.gem_attack_drone/** diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/.mcfunction new file mode 100644 index 0000000000..371ce711fe --- /dev/null +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/.mcfunction @@ -0,0 +1,19 @@ +#> asset:mob/0456.gargo_ex_machina/tick/act/ +# +# Mobのtick時の処理 +# +# @within asset:mob/0456.gargo_ex_machina/tick/** + +# 行動リセット + # function asset:mob/0456.gargo_ex_machina/tick/util/remove_animation_tag + # execute as @e[type=item_display,tag=BE.ModelRoot,sort=nearest,limit=1] unless entity @s[tag=aj.heiloang_aj.animation.1_idle.playing] run function asset:mob/0456.gargo_ex_machina/tick/animated_java/play/1_idle + +# 行動回数増加 + # scoreboard players set @s BE.EventTimer -2 + scoreboard players add @s CO.Counter 1 + +# 前半戦 + execute unless entity @s[tag=CO.IsLatter] run function asset:mob/0456.gargo_ex_machina/tick/act/phase_1/ + +# 後半 + # execute if entity @s[tag=CO.IsLatter] run function asset:mob/0456.gargo_ex_machina/tick/act/phase_2/ diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/phase_1/.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/phase_1/.mcfunction new file mode 100644 index 0000000000..e8d00865bc --- /dev/null +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/phase_1/.mcfunction @@ -0,0 +1,17 @@ +#> asset:mob/0456.gargo_ex_machina/tick/act/phase_1/ +# +# Mobのtick時の処理 +# +# @within asset:mob/0456.gargo_ex_machina/tick/act/ + +# 最初に戻る + execute if score @s CO.Counter matches 7.. run scoreboard players set @s CO.Counter 1 + +# 3属性技 + # execute if score @s CO.Counter matches ..1 run function asset:mob/0410.heiloang/tick/act/phase_1/element.m {Count:1} + +# 待機 + execute if score @s CO.Counter matches 2 as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run scoreboard players set @s CO.IdleCount 3 + +# 3属性技 + # execute if score @s CO.Counter matches 5 run function asset:mob/0410.heiloang/tick/act/phase_1/element.m {Count:3} diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/debug/interrupt.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/debug/interrupt.mcfunction index ac2e6e72fd..0ad327e5bb 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/debug/interrupt.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/debug/interrupt.mcfunction @@ -18,4 +18,4 @@ # execute at @s run tp @e[type=item_display,tag=CO.ModelRoot] ~ ~ ~ ~ 0 # イベント実行 - tag @s add CO.Skill.BluteForce + tag @s add CO.Skill.Shot diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/blute_force_attack/.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/blute_force_attack/.mcfunction index f31d752485..0e303916a7 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/blute_force_attack/.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/blute_force_attack/.mcfunction @@ -29,8 +29,8 @@ # execute if score @s CO.EventTimer matches 28 positioned ^-20 ^ ^6 run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_panjan_drone.m # execute if score @s CO.EventTimer matches 29 positioned ^20 ^ ^6 run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_panjan_drone.m execute if score @s CO.EventTimer matches 28 positioned ^ ^ ^-8 rotated ~ ~ run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_yeeter_drone.m - execute if score @s CO.EventTimer matches 28 positioned ^-26 ^ ^-6 rotated ~-12 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_yeeter_drone.m - execute if score @s CO.EventTimer matches 28 positioned ^26 ^ ^-6 rotated ~12 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_yeeter_drone.m + execute if score @s CO.EventTimer matches 28 positioned ^-23 ^ ^-6 rotated ~ ~ run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_yeeter_drone.m + execute if score @s CO.EventTimer matches 28 positioned ^23 ^ ^-6 rotated ~ ~ run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_yeeter_drone.m # パンジャン+回転Yeeterパターン # execute if score @s CO.EventTimer matches 25 at @e[type=marker,tag=CO.CenterPosition,distance=..80] rotated ~ ~ positioned ^ ^ ^20 rotated ~-90 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_yeeter_drone.m # execute if score @s CO.EventTimer matches 25 at @e[type=marker,tag=CO.CenterPosition,distance=..80] rotated ~120 ~ positioned ^ ^ ^20 rotated ~-90 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_yeeter_drone.m diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/super_jump/event_attack.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/super_jump/event_attack.mcfunction index 24a393e3b6..32095cc67a 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/super_jump/event_attack.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/super_jump/event_attack.mcfunction @@ -9,7 +9,7 @@ # 攻撃 # アニメーション再生 - execute if score @s CO.EventTimer matches 1 as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run function animated_java:gargo_ex_machina/animations/super_jump_end/tween {duration:1, to_frame: 1} + execute if score @s CO.EventTimer matches 1 as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run function animated_java:gargo_ex_machina/animations/super_jump_end/resume {duration:1, to_frame: 1} # 効果音 execute if score @s CO.EventTimer matches 38 run function asset:mob/0456.gargo_ex_machina/tick/util/sound execute if score @s CO.EventTimer matches 63 run function asset:mob/0456.gargo_ex_machina/tick/util/sound diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/super_jump/event_start.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/super_jump/event_start.mcfunction index 62e646f5fd..fd2031a73f 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/super_jump/event_start.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/super_jump/event_start.mcfunction @@ -10,6 +10,8 @@ # 構え # アニメーション再生 execute if score @s CO.EventTimer matches 1 as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run function animated_java:gargo_ex_machina/animations/super_jump_start/tween {duration:1, to_frame: 1} + execute if score @s CO.EventTimer matches 32 as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run function animated_java:gargo_ex_machina/animations/super_jump_end/tween {duration:1, to_frame: 1} + execute if score @s CO.EventTimer matches 52 as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run function animated_java:gargo_ex_machina/animations/super_jump_end/pause # 効果音 execute if score @s CO.EventTimer matches 1 run function asset:mob/0456.gargo_ex_machina/tick/util/sound execute if score @s CO.EventTimer matches 13 run function asset:mob/0456.gargo_ex_machina/tick/util/sound diff --git a/Asset/data/asset/functions/object/2270.yeeter_tnt/tick/.mcfunction b/Asset/data/asset/functions/object/2270.yeeter_tnt/tick/.mcfunction index bc41e601f3..09547d03d7 100644 --- a/Asset/data/asset/functions/object/2270.yeeter_tnt/tick/.mcfunction +++ b/Asset/data/asset/functions/object/2270.yeeter_tnt/tick/.mcfunction @@ -8,10 +8,12 @@ scoreboard players add @s General.Object.Tick 1 # 拡大 + execute if entity @s[scores={General.Object.Tick=20}] run playsound entity.puffer_fish.blow_up hostile @a ~ ~ ~ 2 0.7 execute if entity @s[scores={General.Object.Tick=20}] run data modify entity @s start_interpolation set value -1 execute if entity @s[scores={General.Object.Tick=20}] run data modify entity @s transformation.translation set value [0.0f,0.75f,0.0f] execute if entity @s[scores={General.Object.Tick=20}] run data modify entity @s transformation.scale set value [3.0f,3.0f,3.0f] execute if entity @s[scores={General.Object.Tick=45}] run data modify entity @s start_interpolation set value -1 + execute if entity @s[scores={General.Object.Tick=45}] run playsound entity.puffer_fish.blow_up hostile @a ~ ~ ~ 2 1 execute if entity @s[scores={General.Object.Tick=45}] run data modify entity @s transformation.scale set value [0.0f,6.0f,0.0f] execute if entity @s[scores={General.Object.Tick=45}] run data modify entity @s transformation.scale set value [6.0f,6.0f,6.0f] diff --git a/Asset/data/asset/functions/object/2270.yeeter_tnt/tick/damage.mcfunction b/Asset/data/asset/functions/object/2270.yeeter_tnt/tick/damage.mcfunction index 21f0cb8b07..8ccbf84019 100644 --- a/Asset/data/asset/functions/object/2270.yeeter_tnt/tick/damage.mcfunction +++ b/Asset/data/asset/functions/object/2270.yeeter_tnt/tick/damage.mcfunction @@ -16,4 +16,4 @@ # 演出 particle explosion ~ ~1 ~ 3 1 3 0 20 force particle lava ~ ~1 ~ 3 1 3 0.2 10 - playsound entity.generic.explode hostile @a ~ ~ ~ 2 0.8 + playsound entity.generic.explode hostile @a ~ ~ ~ 1.5 0.8 From 01ca0d726ff97b2a71b4f24e1f10384c53a79b5b Mon Sep 17 00:00:00 2001 From: mokkkk Date: Sun, 15 Mar 2026 15:20:55 +0900 Subject: [PATCH 51/98] =?UTF-8?q?=E8=A1=8C=E5=8B=95=E3=83=91=E3=82=BF?= =?UTF-8?q?=E3=83=BC=E3=83=B3=E5=9F=BA=E7=A4=8E=E4=BD=9C=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../0456.gargo_ex_machina/_index.d.mcfunction | 1 + .../0456.gargo_ex_machina/init/.mcfunction | 3 +- .../init/animated_java.m.mcfunction | 10 ++++-- .../mob/0456.gargo_ex_machina/load.mcfunction | 2 +- .../tick/act/.mcfunction | 12 +++++-- .../tick/act/phase_1/.mcfunction | 11 +++--- .../act/phase_1/move_to_corner.mcfunction | 15 ++++++++ .../tick/debug/act.mcfunction | 18 ++++++++++ .../tick/debug/reset.mcfunction | 1 + .../tick/event/.mcfunction | 3 ++ .../tick/event/idle/.mcfunction | 11 ++++++ .../tick/util/change_target.mcfunction | 5 +-- .../tick/util/remove_animation_tag.mcfunction | 36 +++++++++++++++++++ 13 files changed, 113 insertions(+), 15 deletions(-) create mode 100644 Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/phase_1/move_to_corner.mcfunction create mode 100644 Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/debug/act.mcfunction create mode 100644 Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/idle/.mcfunction create mode 100644 Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/util/remove_animation_tag.mcfunction diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/_index.d.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/_index.d.mcfunction index 197f27c797..2bbba065f1 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/_index.d.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/_index.d.mcfunction @@ -69,6 +69,7 @@ #declare tag # - 自動生成 #declare tag aj.global.data + #declare tag aj.gargo_ex_machina.animation.idle.playing #declare function animated_java:gargo_ex_machina/summon #declare function animated_java:gargo_ex_machina/as_own_locator_entities #declare function animated_java:gargo_ex_machina/animations/pause_all diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/init/.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/init/.mcfunction index e5af55f93c..598a535970 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/init/.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/init/.mcfunction @@ -24,8 +24,7 @@ execute at @e[type=marker,tag=CO.CenterPosition] run tp @s ~ ~10 ~ # スコア初期化 scoreboard players set @s CO.EventTimer 0 - # 移動 - # execute at @s run tp @s ^ ^ ^ ~ 0 + scoreboard players set @s CO.Counter 0 # ダミー用ひつじ召喚 data modify storage api: Argument.ID set value 2264 diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/init/animated_java.m.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/init/animated_java.m.mcfunction index eade628647..4eafc886c7 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/init/animated_java.m.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/init/animated_java.m.mcfunction @@ -8,10 +8,14 @@ # execute positioned 527.5 91.0 836.0 rotated 180 ~ run function animated_java:gargo_ex_machina/summon {args: {animation: 'activation'}} $execute positioned $(X) $(Y) $(Z) rotated 180 ~ run function animated_java:gargo_ex_machina/summon {args: {animation: 'activation'}} # AjModelのパーツに以下処理を実行する - execute as @e[type=item_display,tag=CO.ModelRoot] run data merge entity @s {view_range:16f,width:0f,height:0f,teleport_duration:2} - execute as @e[type=item_display,tag=CO.ModelRoot] on passengers if entity @s[type=item_display] run data merge entity @s {view_range:16f,width:0f,height:0f,teleport_duration:2} + execute as @e[type=item_display,tag=CO.ModelRoot,distance=..80] run data merge entity @s {view_range:16f,width:0f,height:0f,teleport_duration:2} + execute as @e[type=item_display,tag=CO.ModelRoot,distance=..80] on passengers if entity @s[type=item_display] run data merge entity @s {view_range:16f,width:0f,height:0f,teleport_duration:2} # Locatorの初期化 - execute as @e[type=item_display,tag=CO.ModelRoot] run function animated_java:gargo_ex_machina/as_own_locator_entities {command:'function asset:mob/0456.gargo_ex_machina/init/locator'} + execute as @e[type=item_display,tag=CO.ModelRoot,distance=..80] run function animated_java:gargo_ex_machina/as_own_locator_entities {command:'function asset:mob/0456.gargo_ex_machina/init/locator'} + +# スコア初期化 + execute as @e[type=item_display,tag=CO.ModelRoot,distance=..80] run scoreboard players set @s CO.EventTimer 0 + execute as @e[type=item_display,tag=CO.ModelRoot,distance=..80] run scoreboard players set @s CO.IdleTimer 60 # テスト # 待機モーション再生 diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/load.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/load.mcfunction index 7dfb5501b7..e3a652f6d0 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/load.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/load.mcfunction @@ -9,7 +9,7 @@ scoreboard objectives add CO.EventTimer dummy scoreboard objectives add CO.FieldModify.Color dummy scoreboard objectives add CO.Counter dummy - scoreboard objectives add CO.IdleCount dummy + scoreboard objectives add CO.IdleTimer dummy #> Object管理用 # @within function asset:mob/0456.gargo_ex_machina/** # @within function asset:object/2260.gem_attack_drone/** diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/.mcfunction index 371ce711fe..ee570a908a 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/.mcfunction @@ -5,11 +5,15 @@ # @within asset:mob/0456.gargo_ex_machina/tick/** # 行動リセット - # function asset:mob/0456.gargo_ex_machina/tick/util/remove_animation_tag - # execute as @e[type=item_display,tag=BE.ModelRoot,sort=nearest,limit=1] unless entity @s[tag=aj.heiloang_aj.animation.1_idle.playing] run function asset:mob/0456.gargo_ex_machina/tick/animated_java/play/1_idle + function asset:mob/0456.gargo_ex_machina/tick/util/remove_animation_tag + execute as @e[type=item_display,tag=CO.ModelRoot,distance=..30,sort=nearest,limit=1] unless entity @s[tag=aj.gargo_ex_machina.animation.idle.playing] run function animated_java:gargo_ex_machina/animations/idle/tween {duration:1, to_frame: 1} + +# 待機時間仮設定 + scoreboard players set @e[type=item_display,tag=CO.ModelRoot,distance=..30] CO.EventTimer 0 + scoreboard players set @e[type=item_display,tag=CO.ModelRoot,distance=..30] CO.IdleTimer 2 # 行動回数増加 - # scoreboard players set @s BE.EventTimer -2 + scoreboard players set @s CO.EventTimer -1 scoreboard players add @s CO.Counter 1 # 前半戦 @@ -17,3 +21,5 @@ # 後半 # execute if entity @s[tag=CO.IsLatter] run function asset:mob/0456.gargo_ex_machina/tick/act/phase_2/ + +say act diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/phase_1/.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/phase_1/.mcfunction index e8d00865bc..a52454aa01 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/phase_1/.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/phase_1/.mcfunction @@ -5,13 +5,16 @@ # @within asset:mob/0456.gargo_ex_machina/tick/act/ # 最初に戻る - execute if score @s CO.Counter matches 7.. run scoreboard players set @s CO.Counter 1 + execute if score @s CO.Counter matches 4.. run scoreboard players set @s CO.Counter 1 -# 3属性技 - # execute if score @s CO.Counter matches ..1 run function asset:mob/0410.heiloang/tick/act/phase_1/element.m {Count:1} +# 移動 + execute if score @s CO.Counter matches ..1 run function asset:mob/0456.gargo_ex_machina/tick/act/phase_1/move_to_corner + +# 剣叩きつけ + execute if score @s CO.Counter matches 2 run tag @s add CO.Skill.SwordAttack # 待機 - execute if score @s CO.Counter matches 2 as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run scoreboard players set @s CO.IdleCount 3 + execute if score @s CO.Counter matches 3 as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run scoreboard players set @s CO.IdleTimer 60 # 3属性技 # execute if score @s CO.Counter matches 5 run function asset:mob/0410.heiloang/tick/act/phase_1/element.m {Count:3} diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/phase_1/move_to_corner.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/phase_1/move_to_corner.mcfunction new file mode 100644 index 0000000000..f05258fd7b --- /dev/null +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/phase_1/move_to_corner.mcfunction @@ -0,0 +1,15 @@ +#> asset:mob/0456.gargo_ex_machina/tick/act/phase_1/move_to_corner +# +# Mobのtick時の処理 +# +# @within asset:mob/0456.gargo_ex_machina/tick/act/phase_1/ + +#> Private +# @within function asset:mob/0456.gargo_ex_machina/tick/act/phase_1/move_to_corner + #declare score_holder $CO.Temp.Rotation + +# ランダムな4隅に移動 + execute store result score $CO.Temp.Rotation Global run random value 0..3 + execute store result entity @e[type=marker,tag=CO.CenterPosition,distance=..80,limit=1] Rotation[0] float 1 run scoreboard players operation $CO.Temp.Rotation Global *= $90 Const + execute at @e[type=marker,tag=CO.CenterPosition,distance=..80,limit=1] rotated ~45 ~ run summon area_effect_cloud ^ ^ ^32 {Tags:["CO.Aec.Destination"],Duration:80} + tag @s add CO.Skill.Move diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/debug/act.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/debug/act.mcfunction new file mode 100644 index 0000000000..0a0ca7207f --- /dev/null +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/debug/act.mcfunction @@ -0,0 +1,18 @@ +#> asset:mob/0456.gargo_ex_machina/tick/debug/act +# +# デバッグ用処理 割り込みで強制的にイベントを実行する +# +# @within asset:mob/alias/456/tick + +# メモ + # execute as @e[type=slime,tag=CO.EntityRoot] at @s run function asset:mob/0456.gargo_ex_machina/tick/debug/act + +# 全アニメーション停止 + function asset:mob/0456.gargo_ex_machina/tick/debug/reset + +# 位置リセット + # execute at @e[type=marker,tag=CO.CenterPosition] run tp @s ^ ^ ^ 0 0 + # execute at @s run tp @e[type=item_display,tag=CO.ModelRoot] ~ ~ ~ ~ 0 + +# イベント実行 + function asset:mob/0456.gargo_ex_machina/tick/act/ diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/debug/reset.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/debug/reset.mcfunction index f64fa377d7..e05cf7cf88 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/debug/reset.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/debug/reset.mcfunction @@ -4,6 +4,7 @@ # # @within asset:mob/0456.gargo_ex_machina/tick/debug/interrupt # @within asset:mob/0456.gargo_ex_machina/tick/debug/interrupt.m +# @within asset:mob/0456.gargo_ex_machina/tick/debug/act # メモ # execute as @e[type=slime,tag=BE.EntityRoot] at @s run function asset:mob/0456.gargo_ex_machina/tick/debug/reset diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/.mcfunction index d476a8b266..1cf828de95 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/.mcfunction @@ -4,6 +4,9 @@ # # @within asset:mob/0456.gargo_ex_machina/tick/ +# 待機検出 + execute as @e[type=item_display,tag=CO.ModelRoot,distance=..30] at @s if entity @s[tag=aj.gargo_ex_machina.animation.idle.playing] run function asset:mob/0456.gargo_ex_machina/tick/event/idle/ + # 起動 execute if entity @s[tag=CO.Skill.Activate] run function asset:mob/0456.gargo_ex_machina/tick/event/activate/ diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/idle/.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/idle/.mcfunction new file mode 100644 index 0000000000..fec1679636 --- /dev/null +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/idle/.mcfunction @@ -0,0 +1,11 @@ +#> asset:mob/0456.gargo_ex_machina/tick/event/idle/ +# +# 移動 +# +# @within asset:mob/0456.gargo_ex_machina/tick/event/ + +# タイマー増加 + scoreboard players add @s CO.EventTimer 1 + +# 行動 + execute if score @s CO.EventTimer >= @s CO.IdleTimer as @e[type=slime,tag=CO.EntityRoot,distance=..30] at @s run function asset:mob/0456.gargo_ex_machina/tick/act/ diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/util/change_target.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/util/change_target.mcfunction index a2603ac461..59ccda8a63 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/util/change_target.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/util/change_target.mcfunction @@ -1,9 +1,10 @@ #> asset:mob/0456.gargo_ex_machina/tick/util/change_target # -# ターゲットを向く +# ターゲット変更 # # @within asset:mob/0456.gargo_ex_machina/tick/** # ターゲットをランダムに指定 tag @a remove CO.MainTarget - tag @r[distance=..80] add CO.MainTarget + tag @r[tag=!PlayerShouldInvulnerable,distance=..80] add CO.MainTarget + execute unless entity @a[tag=CO.MainTarget,distance=..80] run tag @r[distance=..80] add CO.MainTarget diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/util/remove_animation_tag.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/util/remove_animation_tag.mcfunction new file mode 100644 index 0000000000..930d4dd216 --- /dev/null +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/util/remove_animation_tag.mcfunction @@ -0,0 +1,36 @@ +#> asset:mob/0456.gargo_ex_machina/tick/util/remove_animation_tag +# +# タグ消去 +# +# @within asset:mob/0456.gargo_ex_machina/tick/** + +# タグ消去 + tag @s remove CO.Skill.Activate + tag @s remove CO.Skill.Move + tag @s remove CO.Skill.Move.End + tag @s remove CO.Skill.Move.Near + tag @s remove CO.Skill.SwordAttack + tag @s remove CO.Skill.SwordAttack.Charge + tag @s remove CO.Skill.SwordAttack.Attack + tag @s remove CO.Skill.SwordAttack.Double + tag @s remove CO.Skill.HalfBeam + tag @s remove CO.Skill.HalfBeam.Charge + tag @s remove CO.Skill.HalfBeam.Attack + tag @s remove CO.Skill.HalfBeam.IsRight + tag @s remove CO.Skill.HalfBeamSword + tag @s remove CO.Skill.HalfBeamSword.Charge + tag @s remove CO.Skill.HalfBeamSword.Attack + tag @s remove CO.Skill.HalfBeamSword.IsRight + tag @s remove CO.Skill.HalfBeamShot + tag @s remove CO.Skill.HalfBeamShot.Charge + tag @s remove CO.Skill.HalfBeamShot.Attack + tag @s remove CO.Skill.HalfBeamShot.IsRight + tag @s remove CO.Skill.SuperJump + tag @s remove CO.Skill.SuperJump.Attack + tag @s remove CO.Skill.FieldModify + tag @s remove CO.Skill.Transform.Shoot + tag @s remove CO.Skill.Transform.Sword + tag @s remove CO.Skill.RocketPunch + tag @s remove CO.Skill.Shot + tag @s remove CO.Skill.UpperShot + tag @s remove CO.Skill.BluteForce From 142464f5a7dc0d24bc075f7a0f3637beb5401381 Mon Sep 17 00:00:00 2001 From: mokkkk Date: Sun, 15 Mar 2026 15:38:08 +0900 Subject: [PATCH 52/98] =?UTF-8?q?=E3=82=B9=E3=83=BC=E3=83=91=E3=83=BC?= =?UTF-8?q?=E3=82=B8=E3=83=A3=E3=83=B3=E3=83=97=E3=81=AE=E5=87=A6=E7=90=86?= =?UTF-8?q?=E3=82=92=E6=B1=8E=E7=94=A8=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mob/0456.gargo_ex_machina/load.mcfunction | 1 + .../tick/act/.mcfunction | 3 ++ .../tick/debug/interrupt.mcfunction | 2 +- .../tick/event/super_jump/end.mcfunction | 1 + .../event/super_jump/event_attack.mcfunction | 30 +++++++++++-------- .../event/super_jump/event_start.mcfunction | 26 +++++++++------- .../event/super_jump/prediction.m.mcfunction | 2 +- 7 files changed, 39 insertions(+), 26 deletions(-) diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/load.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/load.mcfunction index e3a652f6d0..2d810440ec 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/load.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/load.mcfunction @@ -10,6 +10,7 @@ scoreboard objectives add CO.FieldModify.Color dummy scoreboard objectives add CO.Counter dummy scoreboard objectives add CO.IdleTimer dummy + scoreboard objectives add CO.PreTimer dummy #> Object管理用 # @within function asset:mob/0456.gargo_ex_machina/** # @within function asset:object/2260.gem_attack_drone/** diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/.mcfunction index ee570a908a..dfa21b4b41 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/.mcfunction @@ -4,6 +4,9 @@ # # @within asset:mob/0456.gargo_ex_machina/tick/** +# debug + return 0 + # 行動リセット function asset:mob/0456.gargo_ex_machina/tick/util/remove_animation_tag execute as @e[type=item_display,tag=CO.ModelRoot,distance=..30,sort=nearest,limit=1] unless entity @s[tag=aj.gargo_ex_machina.animation.idle.playing] run function animated_java:gargo_ex_machina/animations/idle/tween {duration:1, to_frame: 1} diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/debug/interrupt.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/debug/interrupt.mcfunction index 0ad327e5bb..868b37b8ce 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/debug/interrupt.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/debug/interrupt.mcfunction @@ -18,4 +18,4 @@ # execute at @s run tp @e[type=item_display,tag=CO.ModelRoot] ~ ~ ~ ~ 0 # イベント実行 - tag @s add CO.Skill.Shot + tag @s add CO.Skill.SuperJump diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/super_jump/end.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/super_jump/end.mcfunction index 080cac4552..44d0730b1c 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/super_jump/end.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/super_jump/end.mcfunction @@ -7,6 +7,7 @@ # タグ消去 scoreboard players set @s CO.EventTimer 0 tag @s remove CO.Skill.SuperJump.Attack + scoreboard players reset @s CO.PreTimer # 待機モーション再生 execute as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run function animated_java:gargo_ex_machina/animations/idle/tween {duration:1, to_frame: 1} diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/super_jump/event_attack.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/super_jump/event_attack.mcfunction index 32095cc67a..c6ba986317 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/super_jump/event_attack.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/super_jump/event_attack.mcfunction @@ -9,23 +9,27 @@ # 攻撃 # アニメーション再生 - execute if score @s CO.EventTimer matches 1 as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run function animated_java:gargo_ex_machina/animations/super_jump_end/resume {duration:1, to_frame: 1} + execute if score @s CO.EventTimer matches 1 as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run function animated_java:gargo_ex_machina/animations/super_jump_end/tween {duration:1, to_frame: 1} + execute if score @s CO.EventTimer matches 21 as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run function animated_java:gargo_ex_machina/animations/super_jump_end/pause + execute if score @s CO.EventTimer matches 70 as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run function animated_java:gargo_ex_machina/animations/super_jump_end/resume # 効果音 - execute if score @s CO.EventTimer matches 38 run function asset:mob/0456.gargo_ex_machina/tick/util/sound - execute if score @s CO.EventTimer matches 63 run function asset:mob/0456.gargo_ex_machina/tick/util/sound + execute if score @s CO.EventTimer matches 131 run function asset:mob/0456.gargo_ex_machina/tick/util/sound + # 予兆 + execute if score @s CO.EventTimer matches 20 if predicate api:global_vars/difficulty/max/2_hard run function asset:mob/0456.gargo_ex_machina/tick/event/super_jump/prediction.m {Tick:60} + execute if score @s CO.EventTimer matches 70 if predicate api:global_vars/difficulty/min/3_blessless run function asset:mob/0456.gargo_ex_machina/tick/event/super_jump/prediction.m {Tick:10} # 攻撃 - execute if score @s CO.EventTimer matches 10 run function asset:mob/0456.gargo_ex_machina/tick/event/super_jump/attack + execute if score @s CO.EventTimer matches 80 run function asset:mob/0456.gargo_ex_machina/tick/event/super_jump/attack # 攻撃演出 - execute if score @s CO.EventTimer matches 10 as @a[distance=..80] at @s run tp @s ~ ~ ~ ~ ~2 - execute if score @s CO.EventTimer matches 11 as @a[distance=..80] at @s run tp @s ~ ~ ~ ~ ~-4 - execute if score @s CO.EventTimer matches 12 as @a[distance=..80] at @s run tp @s ~ ~ ~ ~ ~4 - execute if score @s CO.EventTimer matches 13 as @a[distance=..80] at @s run tp @s ~ ~ ~ ~ ~-4 - execute if score @s CO.EventTimer matches 14 as @a[distance=..80] at @s run tp @s ~ ~ ~ ~ ~3 - execute if score @s CO.EventTimer matches 15 as @a[distance=..80] at @s run tp @s ~ ~ ~ ~ ~-3 - execute if score @s CO.EventTimer matches 16 as @a[distance=..80] at @s run tp @s ~ ~ ~ ~ ~3 - execute if score @s CO.EventTimer matches 17 as @a[distance=..80] at @s run tp @s ~ ~ ~ ~ ~-1 + execute if score @s CO.EventTimer matches 80 as @a[distance=..80] at @s run tp @s ~ ~ ~ ~ ~2 + execute if score @s CO.EventTimer matches 81 as @a[distance=..80] at @s run tp @s ~ ~ ~ ~ ~-4 + execute if score @s CO.EventTimer matches 82 as @a[distance=..80] at @s run tp @s ~ ~ ~ ~ ~4 + execute if score @s CO.EventTimer matches 83 as @a[distance=..80] at @s run tp @s ~ ~ ~ ~ ~-4 + execute if score @s CO.EventTimer matches 84 as @a[distance=..80] at @s run tp @s ~ ~ ~ ~ ~3 + execute if score @s CO.EventTimer matches 85 as @a[distance=..80] at @s run tp @s ~ ~ ~ ~ ~-3 + execute if score @s CO.EventTimer matches 86 as @a[distance=..80] at @s run tp @s ~ ~ ~ ~ ~3 + execute if score @s CO.EventTimer matches 87 as @a[distance=..80] at @s run tp @s ~ ~ ~ ~ ~-1 # モデルを合わせる execute as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run tp @s ~ ~ ~ ~ ~ # 終了 - execute if score @s CO.EventTimer matches 69.. run function asset:mob/0456.gargo_ex_machina/tick/event/super_jump/end + execute if score @s CO.EventTimer matches 159.. run function asset:mob/0456.gargo_ex_machina/tick/event/super_jump/end diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/super_jump/event_start.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/super_jump/event_start.mcfunction index fd2031a73f..ef081ab953 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/super_jump/event_start.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/super_jump/event_start.mcfunction @@ -7,23 +7,27 @@ # タイマー増加 scoreboard players add @s CO.EventTimer 1 +# 待機時間が未設定の場合、指定する + execute if score @s CO.EventTimer matches 1 unless score @s CO.PreTimer matches 32.. run scoreboard players set @s CO.PreTimer 100 + # 構え # アニメーション再生 execute if score @s CO.EventTimer matches 1 as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run function animated_java:gargo_ex_machina/animations/super_jump_start/tween {duration:1, to_frame: 1} - execute if score @s CO.EventTimer matches 32 as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run function animated_java:gargo_ex_machina/animations/super_jump_end/tween {duration:1, to_frame: 1} - execute if score @s CO.EventTimer matches 52 as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run function animated_java:gargo_ex_machina/animations/super_jump_end/pause # 効果音 execute if score @s CO.EventTimer matches 1 run function asset:mob/0456.gargo_ex_machina/tick/util/sound execute if score @s CO.EventTimer matches 13 run function asset:mob/0456.gargo_ex_machina/tick/util/sound # 演出 execute if score @s CO.EventTimer matches 15 run particle block quartz_block ~ ~0.5 ~ 2 0.1 2 0 30 - # 影 - execute if score @s CO.EventTimer matches 18 as @e[type=item_display,tag=CO.Shadow] run function asset:mob/0456.gargo_ex_machina/tick/util/hide_shadow - execute if score @s CO.EventTimer matches 40 as @e[type=item_display,tag=CO.Shadow] run function asset:mob/0456.gargo_ex_machina/tick/util/show_shadow - # モデルを合わせる - execute as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run tp @s ~ ~ ~ ~ ~ - # 予兆 - execute if score @s CO.EventTimer matches 41 run function asset:mob/0456.gargo_ex_machina/tick/event/super_jump/prediction.m {Tick:69} - + +# 目的地決定 + # 目的地が指定されていない場合、ターゲット位置に移動 + execute if score @s CO.EventTimer matches 25 unless entity @e[type=area_effect_cloud,tag=CO.Aec.Destination,distance=..80] positioned as @p[tag=CO.MainTarget] run summon area_effect_cloud ~ ~ ~ {Tags:["CO.Aec.Destination"],Duration:80} + # 移動 + execute if score @s CO.EventTimer matches 25 positioned as @e[type=area_effect_cloud,tag=CO.Aec.Destination,distance=..80] run tp @s ~ ~ ~ + execute if score @s CO.EventTimer matches 25 at @s run function asset:mob/0456.gargo_ex_machina/tick/util/move_to_ground + +# モデルを合わせる + execute as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run tp @s ~ ~ ~ ~ ~ + # 攻撃に移行 - execute if score @s CO.EventTimer matches 100.. run function asset:mob/0456.gargo_ex_machina/tick/event/super_jump/start_attack + execute if score @s CO.EventTimer >= @s CO.PreTimer run function asset:mob/0456.gargo_ex_machina/tick/event/super_jump/start_attack diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/super_jump/prediction.m.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/super_jump/prediction.m.mcfunction index 97777bc9e3..b72859614d 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/super_jump/prediction.m.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/super_jump/prediction.m.mcfunction @@ -2,7 +2,7 @@ # # スーパージャンプ # -# @within asset:mob/0456.gargo_ex_machina/tick/event/super_jump/event_start +# @within asset:mob/0456.gargo_ex_machina/tick/event/super_jump/event_attack # 予告:円範囲 data modify storage api: Argument.ID set value 2063 From a2767ee0fe97e4ad008d859b0985d145503d087c Mon Sep 17 00:00:00 2001 From: mokkkk Date: Sun, 15 Mar 2026 15:52:20 +0900 Subject: [PATCH 53/98] =?UTF-8?q?=E3=83=AD=E3=82=B1=E3=83=83=E3=83=88?= =?UTF-8?q?=E3=83=91=E3=83=B3=E3=83=81=E3=81=AE=E4=BA=88=E5=85=86=E6=99=82?= =?UTF-8?q?=E9=96=93=E3=82=92=E5=8F=AF=E5=A4=89=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../tick/act/phase_1/.mcfunction | 10 ++++- .../tick/event/rocket_punch/end.mcfunction | 1 + .../rocket_punch/summon_punch.mcfunction | 1 + .../2269.gem_rocket_punch/_index.d.mcfunction | 2 +- .../2269.gem_rocket_punch/init/.mcfunction | 4 ++ .../2269.gem_rocket_punch/load.mcfunction | 2 +- .../2269.gem_rocket_punch/tick/.mcfunction | 44 ++----------------- .../tick/damage.mcfunction | 2 +- .../tick/event_attack.mcfunction | 37 ++++++++++++++++ .../tick/event_wait.mcfunction | 22 ++++++++++ .../tick/prediction.mcfunction | 2 +- .../tick/start_attack.mcfunction | 11 +++++ 12 files changed, 92 insertions(+), 46 deletions(-) create mode 100644 Asset/data/asset/functions/object/2269.gem_rocket_punch/tick/event_attack.mcfunction create mode 100644 Asset/data/asset/functions/object/2269.gem_rocket_punch/tick/event_wait.mcfunction create mode 100644 Asset/data/asset/functions/object/2269.gem_rocket_punch/tick/start_attack.mcfunction diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/phase_1/.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/phase_1/.mcfunction index a52454aa01..c42eae820b 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/phase_1/.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/phase_1/.mcfunction @@ -5,7 +5,7 @@ # @within asset:mob/0456.gargo_ex_machina/tick/act/ # 最初に戻る - execute if score @s CO.Counter matches 4.. run scoreboard players set @s CO.Counter 1 + execute if score @s CO.Counter matches 6.. run scoreboard players set @s CO.Counter 1 # 移動 execute if score @s CO.Counter matches ..1 run function asset:mob/0456.gargo_ex_machina/tick/act/phase_1/move_to_corner @@ -16,5 +16,13 @@ # 待機 execute if score @s CO.Counter matches 3 as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run scoreboard players set @s CO.IdleTimer 60 +# ロケットパンチ + execute if score @s CO.Counter matches 4 run scoreboard players set @s CO.PreTimer 80 + execute if score @s CO.Counter matches 4 run tag @s add CO.Skill.RocketPunch + +# スーパージャンプ + execute if score @s CO.Counter matches 5 run scoreboard players set @s CO.PreTimer 250 + execute if score @s CO.Counter matches 5 run tag @s add CO.Skill.SuperJump + # 3属性技 # execute if score @s CO.Counter matches 5 run function asset:mob/0410.heiloang/tick/act/phase_1/element.m {Count:3} diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/rocket_punch/end.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/rocket_punch/end.mcfunction index ba5810e0c5..442b187f10 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/rocket_punch/end.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/rocket_punch/end.mcfunction @@ -7,6 +7,7 @@ # タグ消去 scoreboard players set @s CO.EventTimer 0 tag @s remove CO.Skill.RocketPunch + scoreboard players reset @s CO.PreTimer # 待機モーション再生 execute as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run function animated_java:gargo_ex_machina/animations/idle/tween {duration:1, to_frame: 1} diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/rocket_punch/summon_punch.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/rocket_punch/summon_punch.mcfunction index 98230f03f1..87eea886a5 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/rocket_punch/summon_punch.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/rocket_punch/summon_punch.mcfunction @@ -8,6 +8,7 @@ data modify storage api: Argument.ID set value 2269 execute store result storage api: Argument.FieldOverride.MobUUID int 1 run scoreboard players get @s MobUUID data modify storage api: Argument.FieldOverride.Damage set from storage asset:context this.Damage.RocketPunch + execute if score @s CO.PreTimer matches 1.. store result storage api: Argument.FieldOverride.WaitTime int 1 run scoreboard players get @s CO.PreTimer function api:object/summon # 消去 diff --git a/Asset/data/asset/functions/object/2269.gem_rocket_punch/_index.d.mcfunction b/Asset/data/asset/functions/object/2269.gem_rocket_punch/_index.d.mcfunction index 42d2b12873..94f1f2d2c4 100644 --- a/Asset/data/asset/functions/object/2269.gem_rocket_punch/_index.d.mcfunction +++ b/Asset/data/asset/functions/object/2269.gem_rocket_punch/_index.d.mcfunction @@ -3,4 +3,4 @@ #> tag # @within function asset:object/2269.gem_rocket_punch/** - #declare \ No newline at end of file + #declare tag 2269.Attack diff --git a/Asset/data/asset/functions/object/2269.gem_rocket_punch/init/.mcfunction b/Asset/data/asset/functions/object/2269.gem_rocket_punch/init/.mcfunction index 76482602d9..280f5fabf1 100644 --- a/Asset/data/asset/functions/object/2269.gem_rocket_punch/init/.mcfunction +++ b/Asset/data/asset/functions/object/2269.gem_rocket_punch/init/.mcfunction @@ -6,3 +6,7 @@ # 角度を合わせる tp @s ~ ~ ~ ~ 90 + +# 待機時間 + scoreboard players set @s 2269.WaitTime 200 + execute if data storage asset:context this.WaitTime store result score @s 2269.WaitTime run data get storage asset:context this.WaitTime diff --git a/Asset/data/asset/functions/object/2269.gem_rocket_punch/load.mcfunction b/Asset/data/asset/functions/object/2269.gem_rocket_punch/load.mcfunction index 9f2f6f507e..d6bdd6aa72 100644 --- a/Asset/data/asset/functions/object/2269.gem_rocket_punch/load.mcfunction +++ b/Asset/data/asset/functions/object/2269.gem_rocket_punch/load.mcfunction @@ -6,4 +6,4 @@ #> 定義類はここに # @within function asset:object/2269.gem_rocket_punch/** - # scoreboard objectives add + scoreboard objectives add 2269.WaitTime dummy diff --git a/Asset/data/asset/functions/object/2269.gem_rocket_punch/tick/.mcfunction b/Asset/data/asset/functions/object/2269.gem_rocket_punch/tick/.mcfunction index b5705e297a..1f7fa08421 100644 --- a/Asset/data/asset/functions/object/2269.gem_rocket_punch/tick/.mcfunction +++ b/Asset/data/asset/functions/object/2269.gem_rocket_punch/tick/.mcfunction @@ -7,46 +7,8 @@ # Tick加算 scoreboard players add @s General.Object.Tick 1 -# 出現処理 - execute if score @s General.Object.Tick matches 1 run tp @s ^ ^-10 ^-51 - execute if score @s General.Object.Tick matches 3 run data modify entity @s start_interpolation set value -1 - execute if score @s General.Object.Tick matches 3 run data modify entity @s transformation.scale set value [8.0f,8.0f,8.0f] - execute if score @s General.Object.Tick matches 3..20 run tp @s ^ ^ ^3 - execute if score @s General.Object.Tick matches 21..25 run tp @s ^ ^ ^1 ~ ~-25 - execute if score @s General.Object.Tick matches 26..30 run tp @s ^ ^ ^1 ~ ~-15 - execute if score @s General.Object.Tick matches 31..34 run tp @s ^ ^ ^0.5 ~ ~3 - execute if score @s General.Object.Tick matches 35..46 run tp @s ^ ^ ^0.3 ~ ~7 - execute if score @s General.Object.Tick matches 47 run tp @s ^ ^ ^ ~ 0 - -# 移動 - execute if score @s General.Object.Tick matches 209 run tp @s ~ ~0.1 ~ ~ ~-4 - execute if score @s General.Object.Tick matches 210 run tp @s ~ ~-0.2 ~ ~ ~8 - execute if score @s General.Object.Tick matches 211 run tp @s ~ ~0.1 ~ ~ ~-4 - execute if score @s General.Object.Tick matches 209..222 at @s run tp @s ^ ^0.05 ^-0.05 - execute if score @s General.Object.Tick matches 233..236 at @s run tp @s ~ ~ ~ ~ ~1 - execute if score @s General.Object.Tick matches 240..245 at @s run tp @s ~ ~ ~ ~ ~-1 - execute if score @s General.Object.Tick matches 246..255 at @s run tp @s ~ ~ ~ ~ ~-7 - execute if score @s General.Object.Tick matches 256.. at @s run tp @s ~ ~ ~ ~ ~-15 - execute if score @s General.Object.Tick matches 233.. at @s run tp @s ^ ^ ^5 - execute if score @s General.Object.Tick matches 233.. run particle soul_fire_flame ~ ~ ~ 0.1 0.1 0.1 0.05 3 - execute if score @s General.Object.Tick matches 233.. run particle cloud ~ ~ ~ 0.1 0.1 0.1 0.05 3 +# 出現、待機 + execute unless entity @s[tag=2269.Attack] run function asset:object/2269.gem_rocket_punch/tick/event_wait # 攻撃 - execute if score @s General.Object.Tick matches 190 positioned ~ ~-3 ~ rotated ~ 0 run function asset:object/2269.gem_rocket_punch/tick/prediction - execute if score @s General.Object.Tick matches 233 at @s run function asset:object/2269.gem_rocket_punch/tick/damage - execute if score @s General.Object.Tick matches 235 at @s run function asset:object/2269.gem_rocket_punch/tick/damage - execute if score @s General.Object.Tick matches 237 at @s run function asset:object/2269.gem_rocket_punch/tick/damage - execute if score @s General.Object.Tick matches 239 at @s run function asset:object/2269.gem_rocket_punch/tick/damage - execute if score @s General.Object.Tick matches 241 at @s run function asset:object/2269.gem_rocket_punch/tick/damage - execute if score @s General.Object.Tick matches 243 at @s run function asset:object/2269.gem_rocket_punch/tick/damage - execute if score @s General.Object.Tick matches 245 at @s run function asset:object/2269.gem_rocket_punch/tick/damage - -# 演出 - execute if score @s General.Object.Tick matches 46 at @s run playsound block.piston.extend hostile @a ~ ~ ~ 2 0.9 - execute if score @s General.Object.Tick matches 209 at @s run playsound block.piston.extend hostile @a ~ ~ ~ 2 0.9 - execute if score @s General.Object.Tick matches 233 at @s run playsound entity.firework_rocket.launch hostile @a ~ ~ ~ 2 0.9 - -# 消滅処理 - execute if score @s General.Object.Tick matches 277 run data modify entity @s start_interpolation set value -1 - execute if score @s General.Object.Tick matches 277 run data modify entity @s transformation.scale set value [0.0f,0.0f,0.0f] - kill @s[scores={General.Object.Tick=280..}] + execute if entity @s[tag=2269.Attack] run function asset:object/2269.gem_rocket_punch/tick/event_attack diff --git a/Asset/data/asset/functions/object/2269.gem_rocket_punch/tick/damage.mcfunction b/Asset/data/asset/functions/object/2269.gem_rocket_punch/tick/damage.mcfunction index f8511d79aa..e32894b326 100644 --- a/Asset/data/asset/functions/object/2269.gem_rocket_punch/tick/damage.mcfunction +++ b/Asset/data/asset/functions/object/2269.gem_rocket_punch/tick/damage.mcfunction @@ -2,7 +2,7 @@ # # Objectのtick時の処理 # -# @within asset:object/2269.gem_rocket_punch/tick/ +# @within asset:object/2269.gem_rocket_punch/tick/event_attack # ヒット判定 data modify storage lib: args.dx set value 5 diff --git a/Asset/data/asset/functions/object/2269.gem_rocket_punch/tick/event_attack.mcfunction b/Asset/data/asset/functions/object/2269.gem_rocket_punch/tick/event_attack.mcfunction new file mode 100644 index 0000000000..4382e5bdb4 --- /dev/null +++ b/Asset/data/asset/functions/object/2269.gem_rocket_punch/tick/event_attack.mcfunction @@ -0,0 +1,37 @@ +#> asset:object/2269.gem_rocket_punch/tick/event_attack +# +# Objectのtick時の処理 +# +# @within asset:object/2269.gem_rocket_punch/tick/ + +# 移動 + execute if score @s General.Object.Tick matches 209 run tp @s ~ ~0.1 ~ ~ ~-4 + execute if score @s General.Object.Tick matches 210 run tp @s ~ ~-0.2 ~ ~ ~8 + execute if score @s General.Object.Tick matches 211 run tp @s ~ ~0.1 ~ ~ ~-4 + execute if score @s General.Object.Tick matches 209..222 at @s run tp @s ^ ^0.05 ^-0.05 + execute if score @s General.Object.Tick matches 233..236 at @s run tp @s ~ ~ ~ ~ ~1 + execute if score @s General.Object.Tick matches 240..245 at @s run tp @s ~ ~ ~ ~ ~-1 + execute if score @s General.Object.Tick matches 246..255 at @s run tp @s ~ ~ ~ ~ ~-7 + execute if score @s General.Object.Tick matches 256.. at @s run tp @s ~ ~ ~ ~ ~-15 + execute if score @s General.Object.Tick matches 233.. at @s run tp @s ^ ^ ^5 + execute if score @s General.Object.Tick matches 233.. run particle soul_fire_flame ~ ~ ~ 0.1 0.1 0.1 0.05 3 + execute if score @s General.Object.Tick matches 233.. run particle cloud ~ ~ ~ 0.1 0.1 0.1 0.05 3 + +# 攻撃 + execute if score @s General.Object.Tick matches 190 positioned ~ ~-3 ~ rotated ~ 0 run function asset:object/2269.gem_rocket_punch/tick/prediction + execute if score @s General.Object.Tick matches 233 at @s run function asset:object/2269.gem_rocket_punch/tick/damage + execute if score @s General.Object.Tick matches 235 at @s run function asset:object/2269.gem_rocket_punch/tick/damage + execute if score @s General.Object.Tick matches 237 at @s run function asset:object/2269.gem_rocket_punch/tick/damage + execute if score @s General.Object.Tick matches 239 at @s run function asset:object/2269.gem_rocket_punch/tick/damage + execute if score @s General.Object.Tick matches 241 at @s run function asset:object/2269.gem_rocket_punch/tick/damage + execute if score @s General.Object.Tick matches 243 at @s run function asset:object/2269.gem_rocket_punch/tick/damage + execute if score @s General.Object.Tick matches 245 at @s run function asset:object/2269.gem_rocket_punch/tick/damage + +# 演出 + execute if score @s General.Object.Tick matches 209 at @s run playsound block.piston.extend hostile @a ~ ~ ~ 2 0.9 + execute if score @s General.Object.Tick matches 233 at @s run playsound entity.firework_rocket.launch hostile @a ~ ~ ~ 2 0.9 + +# 消滅処理 + execute if score @s General.Object.Tick matches 277 run data modify entity @s start_interpolation set value -1 + execute if score @s General.Object.Tick matches 277 run data modify entity @s transformation.scale set value [0.0f,0.0f,0.0f] + kill @s[scores={General.Object.Tick=280..}] diff --git a/Asset/data/asset/functions/object/2269.gem_rocket_punch/tick/event_wait.mcfunction b/Asset/data/asset/functions/object/2269.gem_rocket_punch/tick/event_wait.mcfunction new file mode 100644 index 0000000000..91d9a5547a --- /dev/null +++ b/Asset/data/asset/functions/object/2269.gem_rocket_punch/tick/event_wait.mcfunction @@ -0,0 +1,22 @@ +#> asset:object/2269.gem_rocket_punch/tick/event_wait +# +# Objectのtick時の処理 +# +# @within asset:object/2269.gem_rocket_punch/tick/ + +# 出現処理 + execute if score @s General.Object.Tick matches 1 run tp @s ^ ^-10 ^-51 + execute if score @s General.Object.Tick matches 3 run data modify entity @s start_interpolation set value -1 + execute if score @s General.Object.Tick matches 3 run data modify entity @s transformation.scale set value [8.0f,8.0f,8.0f] + execute if score @s General.Object.Tick matches 3..20 run tp @s ^ ^ ^3 + execute if score @s General.Object.Tick matches 21..25 run tp @s ^ ^ ^1 ~ ~-25 + execute if score @s General.Object.Tick matches 26..30 run tp @s ^ ^ ^1 ~ ~-15 + execute if score @s General.Object.Tick matches 31..34 run tp @s ^ ^ ^0.5 ~ ~3 + execute if score @s General.Object.Tick matches 35..46 run tp @s ^ ^ ^0.3 ~ ~7 + execute if score @s General.Object.Tick matches 47 run tp @s ^ ^ ^ ~ 0 + +# 演出 + execute if score @s General.Object.Tick matches 46 at @s run playsound block.piston.extend hostile @a ~ ~ ~ 2 0.9 + +# 攻撃開始 + execute if score @s General.Object.Tick matches 47.. if score @s General.Object.Tick >= @s 2269.WaitTime run function asset:object/2269.gem_rocket_punch/tick/start_attack diff --git a/Asset/data/asset/functions/object/2269.gem_rocket_punch/tick/prediction.mcfunction b/Asset/data/asset/functions/object/2269.gem_rocket_punch/tick/prediction.mcfunction index 942f8b3068..424df6fa6f 100644 --- a/Asset/data/asset/functions/object/2269.gem_rocket_punch/tick/prediction.mcfunction +++ b/Asset/data/asset/functions/object/2269.gem_rocket_punch/tick/prediction.mcfunction @@ -2,7 +2,7 @@ # # Objectのtick時の処理 # -# @within asset:object/2269.gem_rocket_punch/tick/ +# @within asset:object/2269.gem_rocket_punch/tick/event_attack # 予告 data modify storage api: Argument.ID set value 2113 diff --git a/Asset/data/asset/functions/object/2269.gem_rocket_punch/tick/start_attack.mcfunction b/Asset/data/asset/functions/object/2269.gem_rocket_punch/tick/start_attack.mcfunction new file mode 100644 index 0000000000..23bd72e9ef --- /dev/null +++ b/Asset/data/asset/functions/object/2269.gem_rocket_punch/tick/start_attack.mcfunction @@ -0,0 +1,11 @@ +#> asset:object/2269.gem_rocket_punch/tick/start_attack +# +# Objectのtick時の処理 +# +# @within asset:object/2269.gem_rocket_punch/tick/event_wait + +# Tick設定 + scoreboard players set @s General.Object.Tick 190 + +# タグ付与 + tag @s add 2269.Attack From cdf315e7baf3b412cba1e421e5cda9b24e3e78c9 Mon Sep 17 00:00:00 2001 From: mokkkk Date: Sun, 15 Mar 2026 16:30:35 +0900 Subject: [PATCH 54/98] =?UTF-8?q?=E8=89=B2=E5=88=86=E3=81=91=E5=BA=8A?= =?UTF-8?q?=E3=81=AE=E3=83=A2=E3=83=87=E3=83=AB=E9=81=A9=E7=94=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../0456.gargo_ex_machina/_index.d.mcfunction | 1 + .../tick/act/phase_1/.mcfunction | 35 +++++++++++++++---- .../act/phase_1/move_to_center.mcfunction | 9 +++++ .../tick/debug/interrupt.mcfunction | 2 +- .../tick/event/.mcfunction | 2 +- .../event/field_modify/event_start.mcfunction | 2 +- .../field_modify/summon_field.m.mcfunction | 2 +- .../summon_field_start.mcfunction | 8 ++--- .../tick/event/idle/.mcfunction | 2 +- .../tick/event/idle/check.mcfunction | 9 +++++ .../tick/event/super_jump/attack.mcfunction | 2 +- .../sword_attack/event_attack.mcfunction | 2 +- .../tick/event/transform_shoot/end.mcfunction | 3 -- .../object/2266.field_modify/init/.mcfunction | 2 +- .../init/change_model.m.mcfunction | 8 +++++ .../2266.field_modify/summon/.mcfunction | 2 +- .../object/2266.field_modify/tick/.mcfunction | 4 +-- 17 files changed, 70 insertions(+), 25 deletions(-) create mode 100644 Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/phase_1/move_to_center.mcfunction create mode 100644 Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/idle/check.mcfunction create mode 100644 Asset/data/asset/functions/object/2266.field_modify/init/change_model.m.mcfunction diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/_index.d.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/_index.d.mcfunction index 2bbba065f1..a3dbfaec85 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/_index.d.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/_index.d.mcfunction @@ -70,6 +70,7 @@ # - 自動生成 #declare tag aj.global.data #declare tag aj.gargo_ex_machina.animation.idle.playing + #declare tag aj.gargo_ex_machina.animation.idle_shot.playing #declare function animated_java:gargo_ex_machina/summon #declare function animated_java:gargo_ex_machina/as_own_locator_entities #declare function animated_java:gargo_ex_machina/animations/pause_all diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/phase_1/.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/phase_1/.mcfunction index c42eae820b..338bba5c95 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/phase_1/.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/phase_1/.mcfunction @@ -5,24 +5,45 @@ # @within asset:mob/0456.gargo_ex_machina/tick/act/ # 最初に戻る - execute if score @s CO.Counter matches 6.. run scoreboard players set @s CO.Counter 1 + execute if score @s CO.Counter matches 14.. run scoreboard players set @s CO.Counter 1 -# 移動 +# 四隅に移動 execute if score @s CO.Counter matches ..1 run function asset:mob/0456.gargo_ex_machina/tick/act/phase_1/move_to_corner # 剣叩きつけ execute if score @s CO.Counter matches 2 run tag @s add CO.Skill.SwordAttack # 待機 - execute if score @s CO.Counter matches 3 as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run scoreboard players set @s CO.IdleTimer 60 + execute if score @s CO.Counter matches 3 as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run scoreboard players set @s CO.IdleTimer 80 # ロケットパンチ - execute if score @s CO.Counter matches 4 run scoreboard players set @s CO.PreTimer 80 + execute if score @s CO.Counter matches 4 run scoreboard players set @s CO.PreTimer 140 execute if score @s CO.Counter matches 4 run tag @s add CO.Skill.RocketPunch # スーパージャンプ - execute if score @s CO.Counter matches 5 run scoreboard players set @s CO.PreTimer 250 + execute if score @s CO.Counter matches 5 run scoreboard players set @s CO.PreTimer 150 execute if score @s CO.Counter matches 5 run tag @s add CO.Skill.SuperJump -# 3属性技 - # execute if score @s CO.Counter matches 5 run function asset:mob/0410.heiloang/tick/act/phase_1/element.m {Count:3} +# 中心に移動 + execute if score @s CO.Counter matches 6 run function asset:mob/0456.gargo_ex_machina/tick/act/phase_1/move_to_center + +# 薙ぎ払いレーザー + execute if score @s CO.Counter matches 7 run tag @s add CO.Skill.HalfBeam + +# 待機 + execute if score @s CO.Counter matches 8 as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run scoreboard players set @s CO.IdleTimer 80 + +# 変形 + execute if score @s CO.Counter matches 9 run tag @s add CO.Skill.Transform.Shoot + +# プレイヤー狙い弾 + execute if score @s CO.Counter matches 10 run tag @s add CO.Skill.Shot + +# 待機 + execute if score @s CO.Counter matches 11 as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run scoreboard players set @s CO.IdleTimer 40 + +# 上空射撃 + execute if score @s CO.Counter matches 12 run tag @s add CO.Skill.UpperShot + +# 変形 + execute if score @s CO.Counter matches 13 run tag @s add CO.Skill.Transform.Sword diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/phase_1/move_to_center.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/phase_1/move_to_center.mcfunction new file mode 100644 index 0000000000..5c2bd94e30 --- /dev/null +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/phase_1/move_to_center.mcfunction @@ -0,0 +1,9 @@ +#> asset:mob/0456.gargo_ex_machina/tick/act/phase_1/move_to_center +# +# Mobのtick時の処理 +# +# @within asset:mob/0456.gargo_ex_machina/tick/act/phase_1/ + +# 中心点に移動 + execute at @e[type=marker,tag=CO.CenterPosition,distance=..80,limit=1] run summon area_effect_cloud ^ ^ ^ {Tags:["CO.Aec.Destination"],Duration:80} + tag @s add CO.Skill.Move diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/debug/interrupt.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/debug/interrupt.mcfunction index 868b37b8ce..4df7d8c269 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/debug/interrupt.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/debug/interrupt.mcfunction @@ -18,4 +18,4 @@ # execute at @s run tp @e[type=item_display,tag=CO.ModelRoot] ~ ~ ~ ~ 0 # イベント実行 - tag @s add CO.Skill.SuperJump + tag @s add CO.Skill.FieldModify diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/.mcfunction index 1cf828de95..f2ae8d44ad 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/.mcfunction @@ -5,7 +5,7 @@ # @within asset:mob/0456.gargo_ex_machina/tick/ # 待機検出 - execute as @e[type=item_display,tag=CO.ModelRoot,distance=..30] at @s if entity @s[tag=aj.gargo_ex_machina.animation.idle.playing] run function asset:mob/0456.gargo_ex_machina/tick/event/idle/ + execute as @e[type=item_display,tag=CO.ModelRoot,distance=..30] at @s run function asset:mob/0456.gargo_ex_machina/tick/event/idle/check # 起動 execute if entity @s[tag=CO.Skill.Activate] run function asset:mob/0456.gargo_ex_machina/tick/event/activate/ diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/field_modify/event_start.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/field_modify/event_start.mcfunction index 1fd9433f4b..1462b83749 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/field_modify/event_start.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/field_modify/event_start.mcfunction @@ -26,7 +26,7 @@ execute as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run tp @s ~ ~ ~ ~ ~ # 召喚 execute if score @s CO.EventTimer matches 25 run function asset:mob/0456.gargo_ex_machina/tick/event/field_modify/summon_manager - execute if score @s CO.EventTimer matches 22 positioned as @e[type=marker,tag=CO.CenterPosition,sort=nearest,limit=1] positioned ~ ~-0.4 ~ rotated 0 0 run function asset:mob/0456.gargo_ex_machina/tick/event/field_modify/summon_field_start + execute if score @s CO.EventTimer matches 22 positioned as @e[type=marker,tag=CO.CenterPosition,sort=nearest,limit=1] positioned ~ ~-0.49 ~ rotated 0 0 run function asset:mob/0456.gargo_ex_machina/tick/event/field_modify/summon_field_start # 終了 execute if score @s CO.EventTimer matches 65.. run function asset:mob/0456.gargo_ex_machina/tick/event/field_modify/end diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/field_modify/summon_field.m.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/field_modify/summon_field.m.mcfunction index 81d49d9114..215812d02d 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/field_modify/summon_field.m.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/field_modify/summon_field.m.mcfunction @@ -8,7 +8,7 @@ data modify storage api: Argument.ID set value 2266 $data modify storage api: Argument.FieldOverride.Model set value "$(Model)" $data modify storage api: Argument.FieldOverride.Color set value $(Color) - function api:object/summon + execute positioned ~ ~ ~ run function api:object/summon # 終了 kill @s diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/field_modify/summon_field_start.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/field_modify/summon_field_start.mcfunction index 2bab175822..d1e31a355b 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/field_modify/summon_field_start.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/field_modify/summon_field_start.mcfunction @@ -28,10 +28,10 @@ summon area_effect_cloud ^22.5 ^ ^-22.5 {Tags:["CO.Aec.FieldModify","CO.Aec.FieldModify.Init"]} # 初期化 - execute as @e[type=area_effect_cloud,tag=CO.Aec.FieldModify.Init,distance=..80,sort=random,limit=4] at @s run function asset:mob/0456.gargo_ex_machina/tick/event/field_modify/summon_field.m {Model:"minecraft:red_stained_glass",Color:0} - execute as @e[type=area_effect_cloud,tag=CO.Aec.FieldModify.Init,distance=..80,sort=random,limit=4] at @s run function asset:mob/0456.gargo_ex_machina/tick/event/field_modify/summon_field.m {Model:"minecraft:blue_stained_glass",Color:1} - execute as @e[type=area_effect_cloud,tag=CO.Aec.FieldModify.Init,distance=..80,sort=random,limit=4] at @s run function asset:mob/0456.gargo_ex_machina/tick/event/field_modify/summon_field.m {Model:"minecraft:green_stained_glass",Color:2} - execute as @e[type=area_effect_cloud,tag=CO.Aec.FieldModify.Init,distance=..80,sort=random,limit=4] at @s run function asset:mob/0456.gargo_ex_machina/tick/event/field_modify/summon_field.m {Model:"minecraft:yellow_stained_glass",Color:3} + execute as @e[type=area_effect_cloud,tag=CO.Aec.FieldModify.Init,distance=..80,sort=random,limit=4] at @s run function asset:mob/0456.gargo_ex_machina/tick/event/field_modify/summon_field.m {Model:20591,Color:0} + execute as @e[type=area_effect_cloud,tag=CO.Aec.FieldModify.Init,distance=..80,sort=random,limit=4] at @s run function asset:mob/0456.gargo_ex_machina/tick/event/field_modify/summon_field.m {Model:20592,Color:1} + execute as @e[type=area_effect_cloud,tag=CO.Aec.FieldModify.Init,distance=..80,sort=random,limit=4] at @s run function asset:mob/0456.gargo_ex_machina/tick/event/field_modify/summon_field.m {Model:20593,Color:2} + execute as @e[type=area_effect_cloud,tag=CO.Aec.FieldModify.Init,distance=..80,sort=random,limit=4] at @s run function asset:mob/0456.gargo_ex_machina/tick/event/field_modify/summon_field.m {Model:20594,Color:3} # 終了 kill @e[type=area_effect_cloud,tag=CO.Aec.FieldModify,distance=..80] diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/idle/.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/idle/.mcfunction index fec1679636..920ef32981 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/idle/.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/idle/.mcfunction @@ -2,7 +2,7 @@ # # 移動 # -# @within asset:mob/0456.gargo_ex_machina/tick/event/ +# @within asset:mob/0456.gargo_ex_machina/tick/event/idle/check # タイマー増加 scoreboard players add @s CO.EventTimer 1 diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/idle/check.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/idle/check.mcfunction new file mode 100644 index 0000000000..3bb29b345d --- /dev/null +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/idle/check.mcfunction @@ -0,0 +1,9 @@ +#> asset:mob/0456.gargo_ex_machina/tick/event/idle/check +# +# 移動 +# +# @within asset:mob/0456.gargo_ex_machina/tick/event/ + +# 待機検証 + execute if entity @s[tag=aj.gargo_ex_machina.animation.idle.playing] run function asset:mob/0456.gargo_ex_machina/tick/event/idle/ + execute if entity @s[tag=aj.gargo_ex_machina.animation.idle_shot.playing] run function asset:mob/0456.gargo_ex_machina/tick/event/idle/ diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/super_jump/attack.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/super_jump/attack.mcfunction index 35dfe12785..4411eb28ea 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/super_jump/attack.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/super_jump/attack.mcfunction @@ -6,7 +6,7 @@ # ヒット判定 # 円範囲 - tag @a[distance=..15] add DXYZ + tag @a[tag=!PlayerShouldInvulnerable,distance=..15] add DXYZ # ダメージ data modify storage api: Argument.Damage set from storage asset:context this.Damage.SuperJump.Amount diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/sword_attack/event_attack.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/sword_attack/event_attack.mcfunction index 77eedffab0..124418a1c8 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/sword_attack/event_attack.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/sword_attack/event_attack.mcfunction @@ -33,7 +33,7 @@ execute if score @s CO.EventTimer matches 23 as @a[distance=..80] at @s run tp @s ~ ~ ~ ~ ~-1 # 2連叩きつけに遷移 - execute if score @s CO.EventTimer matches 30 run function asset:mob/0456.gargo_ex_machina/tick/event/sword_attack/start_double + execute if entity @s[tag=CO.IsLatter] if score @s CO.EventTimer matches 30 run function asset:mob/0456.gargo_ex_machina/tick/event/sword_attack/start_double # 終了 execute if score @s CO.EventTimer matches 95.. run function asset:mob/0456.gargo_ex_machina/tick/event/sword_attack/end diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/transform_shoot/end.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/transform_shoot/end.mcfunction index 71c74b84d2..b3c23b05e5 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/transform_shoot/end.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/transform_shoot/end.mcfunction @@ -8,9 +8,6 @@ scoreboard players set @s CO.EventTimer 0 tag @s remove CO.Skill.Transform.Shoot -# 目的地消去 - kill @e[type=area_effect_cloud,tag=CO.Aec.Destination,distance=..80] - # 待機モーション再生 execute as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run function animated_java:gargo_ex_machina/animations/idle_shot/tween {duration:1, to_frame: 1} diff --git a/Asset/data/asset/functions/object/2266.field_modify/init/.mcfunction b/Asset/data/asset/functions/object/2266.field_modify/init/.mcfunction index 94879e1a03..abe3289ac6 100644 --- a/Asset/data/asset/functions/object/2266.field_modify/init/.mcfunction +++ b/Asset/data/asset/functions/object/2266.field_modify/init/.mcfunction @@ -5,7 +5,7 @@ # @within asset:object/alias/2266/init # モデル上書き - data modify entity @s item.id set from storage asset:context this.Model + function asset:object/2266.field_modify/init/change_model.m with storage asset:context this # 色設定 execute store result score @s 2266.Color run data get storage asset:context this.Color diff --git a/Asset/data/asset/functions/object/2266.field_modify/init/change_model.m.mcfunction b/Asset/data/asset/functions/object/2266.field_modify/init/change_model.m.mcfunction new file mode 100644 index 0000000000..26065bfd83 --- /dev/null +++ b/Asset/data/asset/functions/object/2266.field_modify/init/change_model.m.mcfunction @@ -0,0 +1,8 @@ +#> asset:object/2266.field_modify/init/change_model.m +# +# Objectのinit時の処理 +# +# @within asset:object/2266.field_modify/init/ + +# モデル上書き + $data modify entity @s item set value {id:"minecraft:stick",Count:1b,tag:{CustomModelData:$(Model)}} diff --git a/Asset/data/asset/functions/object/2266.field_modify/summon/.mcfunction b/Asset/data/asset/functions/object/2266.field_modify/summon/.mcfunction index 8d2e345f7b..92f6111b12 100644 --- a/Asset/data/asset/functions/object/2266.field_modify/summon/.mcfunction +++ b/Asset/data/asset/functions/object/2266.field_modify/summon/.mcfunction @@ -5,4 +5,4 @@ # @within asset:object/alias/2266/summon # 元となるEntityを召喚する - summon item_display ~ ~ ~ {Tags:["ObjectInit","CO.Object","CO.Object.FieldModify"],brightness:{sky:15,block:15},interpolation_duration:5,teleport_duration:1,item:{id:"red_stained_glass",Count:1b,tag:{CustomModelData:0}},transformation:{left_rotation:[0.0f,0.0f,0.0f,1.0f],right_rotation:[0.0f,0.0f,0.0f,1.0f],translation:[0.0f,0.0f,0.0f],scale:[0.0f,0.1f,0.0f]}} + summon item_display ~ ~ ~ {Tags:["ObjectInit","CO.Object","CO.Object.FieldModify"],brightness:{sky:15,block:15},interpolation_duration:5,teleport_duration:1,item:{id:"minecraft:stick",Count:1b,tag:{CustomModelData:20591}},transformation:{left_rotation:[0.0f,0.0f,0.0f,1.0f],right_rotation:[0.0f,0.0f,0.0f,1.0f],translation:[0.0f,0.0f,0.0f],scale:[0.0f,8.0f,0.0f]}} diff --git a/Asset/data/asset/functions/object/2266.field_modify/tick/.mcfunction b/Asset/data/asset/functions/object/2266.field_modify/tick/.mcfunction index 537415f490..c0aedbff80 100644 --- a/Asset/data/asset/functions/object/2266.field_modify/tick/.mcfunction +++ b/Asset/data/asset/functions/object/2266.field_modify/tick/.mcfunction @@ -10,9 +10,9 @@ # 拡大 execute if score @s General.Object.Tick matches 3 run data modify entity @s start_interpolation set value -1 - execute if score @s General.Object.Tick matches 3 run data modify entity @s transformation.scale set value [15.0f,0.1f,15.0f] + execute if score @s General.Object.Tick matches 3 run data modify entity @s transformation.scale set value [15.0f,1.0f,15.0f] execute if score @s 2266.RemoveTimer matches 3 run data modify entity @s start_interpolation set value -1 - execute if score @s 2266.RemoveTimer matches 3 run data modify entity @s transformation.scale set value [0.0f,0.1f,0.0f] + execute if score @s 2266.RemoveTimer matches 3 run data modify entity @s transformation.scale set value [0.0f,8.0f,0.0f] # 消滅処理 kill @s[scores={General.Object.Tick=1000..}] From 8f71ed9f0f23f84e7f8bbedb7341d7ea94718d2b Mon Sep 17 00:00:00 2001 From: mokkkk Date: Sun, 15 Mar 2026 16:56:53 +0900 Subject: [PATCH 55/98] =?UTF-8?q?=E6=94=BB=E6=92=83=E6=B8=88=E3=81=BF?= =?UTF-8?q?=E3=81=AE=E8=89=B2=E5=BA=8A=E3=82=92=E3=82=B0=E3=83=AC=E3=83=BC?= =?UTF-8?q?=E5=8C=96=E3=81=99=E3=82=8B=E3=82=88=E3=81=86=E5=A4=89=E6=9B=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../tick/event/field_modify/event_start.mcfunction | 2 +- .../tick/event/field_modify/summon_manager.mcfunction | 2 +- .../object/2265.field_modify_manager/init/.mcfunction | 1 + .../init/decide_color_loop.mcfunction | 8 ++++---- .../object/2265.field_modify_manager/load.mcfunction | 1 + .../2265.field_modify_manager/tick/attack.mcfunction | 5 +++++ .../tick/set_bossbar_color.m.mcfunction | 8 ++++++++ .../functions/object/2266.field_modify/tick/.mcfunction | 2 +- 8 files changed, 22 insertions(+), 7 deletions(-) create mode 100644 Asset/data/asset/functions/object/2265.field_modify_manager/tick/set_bossbar_color.m.mcfunction diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/field_modify/event_start.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/field_modify/event_start.mcfunction index 1462b83749..f255f4ee7d 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/field_modify/event_start.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/field_modify/event_start.mcfunction @@ -26,7 +26,7 @@ execute as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run tp @s ~ ~ ~ ~ ~ # 召喚 execute if score @s CO.EventTimer matches 25 run function asset:mob/0456.gargo_ex_machina/tick/event/field_modify/summon_manager - execute if score @s CO.EventTimer matches 22 positioned as @e[type=marker,tag=CO.CenterPosition,sort=nearest,limit=1] positioned ~ ~-0.49 ~ rotated 0 0 run function asset:mob/0456.gargo_ex_machina/tick/event/field_modify/summon_field_start + execute if score @s CO.EventTimer matches 22 positioned as @e[type=marker,tag=CO.CenterPosition,sort=nearest,limit=1] positioned ~ ~-0.499 ~ rotated 0 0 run function asset:mob/0456.gargo_ex_machina/tick/event/field_modify/summon_field_start # 終了 execute if score @s CO.EventTimer matches 65.. run function asset:mob/0456.gargo_ex_machina/tick/event/field_modify/end diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/field_modify/summon_manager.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/field_modify/summon_manager.mcfunction index 86210b504b..89eb24c826 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/field_modify/summon_manager.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/field_modify/summon_manager.mcfunction @@ -6,7 +6,7 @@ # マネージャー召喚 data modify storage api: Argument.ID set value 2265 - data modify storage api: Argument.FieldOverride.AttackCount set value 2 + data modify storage api: Argument.FieldOverride.AttackCount set value 4 data modify storage api: Argument.FieldOverride.Damage set from storage asset:context this.Damage.FieldModify execute store result storage api: Argument.FieldOverride.UUID int 1 run scoreboard players get @s MobUUID function api:object/summon diff --git a/Asset/data/asset/functions/object/2265.field_modify_manager/init/.mcfunction b/Asset/data/asset/functions/object/2265.field_modify_manager/init/.mcfunction index 57bb519ad6..63e1ad7172 100644 --- a/Asset/data/asset/functions/object/2265.field_modify_manager/init/.mcfunction +++ b/Asset/data/asset/functions/object/2265.field_modify_manager/init/.mcfunction @@ -8,6 +8,7 @@ # 攻撃回数決定 execute store result score @s 2265.AttackCount store result score $Temp.Count 2265.AttackCount run data get storage asset:context this.AttackCount + scoreboard players set @s 2265.AttackCount.Inc 0 # Progressバーの最大値を決定 scoreboard players set @s 2265.Progress.Current 0 diff --git a/Asset/data/asset/functions/object/2265.field_modify_manager/init/decide_color_loop.mcfunction b/Asset/data/asset/functions/object/2265.field_modify_manager/init/decide_color_loop.mcfunction index 0fc390aac2..3cab9b8f98 100644 --- a/Asset/data/asset/functions/object/2265.field_modify_manager/init/decide_color_loop.mcfunction +++ b/Asset/data/asset/functions/object/2265.field_modify_manager/init/decide_color_loop.mcfunction @@ -15,10 +15,10 @@ execute if entity @e[type=area_effect_cloud,tag=2265.Aec.Target,tag=2265.Aec.Blue,distance=..10,limit=1] run data modify storage asset:context this.Target append value 1 execute if entity @e[type=area_effect_cloud,tag=2265.Aec.Target,tag=2265.Aec.Green,distance=..10,limit=1] run data modify storage asset:context this.Target append value 2 execute if entity @e[type=area_effect_cloud,tag=2265.Aec.Target,tag=2265.Aec.Yellow,distance=..10,limit=1] run data modify storage asset:context this.Target append value 3 - execute if entity @e[type=area_effect_cloud,tag=2265.Aec.Target,tag=2265.Aec.Red,distance=..10,limit=1] run data modify storage asset:context this.BossBar.Color append value '{"text":"■","color":"red"}' - execute if entity @e[type=area_effect_cloud,tag=2265.Aec.Target,tag=2265.Aec.Blue,distance=..10,limit=1] run data modify storage asset:context this.BossBar.Color append value '{"text":"■","color":"blue"}' - execute if entity @e[type=area_effect_cloud,tag=2265.Aec.Target,tag=2265.Aec.Green,distance=..10,limit=1] run data modify storage asset:context this.BossBar.Color append value '{"text":"■","color":"green"}' - execute if entity @e[type=area_effect_cloud,tag=2265.Aec.Target,tag=2265.Aec.Yellow,distance=..10,limit=1] run data modify storage asset:context this.BossBar.Color append value '{"text":"■","color":"gold"}' + execute if entity @e[type=area_effect_cloud,tag=2265.Aec.Target,tag=2265.Aec.Red,distance=..10,limit=1] run data modify storage asset:context this.BossBar.Color append value '{"text":"■","color":"#FF61DF"}' + execute if entity @e[type=area_effect_cloud,tag=2265.Aec.Target,tag=2265.Aec.Blue,distance=..10,limit=1] run data modify storage asset:context this.BossBar.Color append value '{"text":"■","color":"#5C7CFF"}' + execute if entity @e[type=area_effect_cloud,tag=2265.Aec.Target,tag=2265.Aec.Green,distance=..10,limit=1] run data modify storage asset:context this.BossBar.Color append value '{"text":"■","color":"#6FFF59"}' + execute if entity @e[type=area_effect_cloud,tag=2265.Aec.Target,tag=2265.Aec.Yellow,distance=..10,limit=1] run data modify storage asset:context this.BossBar.Color append value '{"text":"■","color":"#FFAC59"}' kill @e[type=area_effect_cloud,tag=2265.Aec.Target,distance=..10] # 繰り返す diff --git a/Asset/data/asset/functions/object/2265.field_modify_manager/load.mcfunction b/Asset/data/asset/functions/object/2265.field_modify_manager/load.mcfunction index 7a91bc94e2..dfb5e67f2b 100644 --- a/Asset/data/asset/functions/object/2265.field_modify_manager/load.mcfunction +++ b/Asset/data/asset/functions/object/2265.field_modify_manager/load.mcfunction @@ -7,6 +7,7 @@ #> 定義類はここに # @within function asset:object/2265.field_modify_manager/** scoreboard objectives add 2265.AttackCount dummy + scoreboard objectives add 2265.AttackCount.Inc dummy scoreboard objectives add 2265.Period dummy scoreboard objectives add 2265.Progress.Current dummy scoreboard objectives add 2265.Progress.Max dummy diff --git a/Asset/data/asset/functions/object/2265.field_modify_manager/tick/attack.mcfunction b/Asset/data/asset/functions/object/2265.field_modify_manager/tick/attack.mcfunction index da71219edc..0fe1bf318c 100644 --- a/Asset/data/asset/functions/object/2265.field_modify_manager/tick/attack.mcfunction +++ b/Asset/data/asset/functions/object/2265.field_modify_manager/tick/attack.mcfunction @@ -31,6 +31,11 @@ scoreboard players reset $Temp.Color Global scoreboard players set @s 2265.Progress.Current 0 +# Bossbar変更 + execute store result storage asset:context this.Index int 1 run scoreboard players get @s 2265.AttackCount.Inc + function asset:object/2265.field_modify_manager/tick/set_bossbar_color.m with storage asset:context this + scoreboard players add @s 2265.AttackCount.Inc 2 + # カウントを減らし、攻撃が終了した場合自身を消去 data remove storage asset:context this.Target[0] scoreboard players remove @s 2265.AttackCount 1 diff --git a/Asset/data/asset/functions/object/2265.field_modify_manager/tick/set_bossbar_color.m.mcfunction b/Asset/data/asset/functions/object/2265.field_modify_manager/tick/set_bossbar_color.m.mcfunction new file mode 100644 index 0000000000..619feb81b6 --- /dev/null +++ b/Asset/data/asset/functions/object/2265.field_modify_manager/tick/set_bossbar_color.m.mcfunction @@ -0,0 +1,8 @@ +#> asset:object/2265.field_modify_manager/tick/set_bossbar_color.m +# +# Objectのtick時の処理 +# +# @within asset:object/2265.field_modify_manager/tick/attack + +# + $data modify storage asset:context this.BossBar.Color[$(Index)] set value '{"text":"■","color":"#5E5E5E"}' diff --git a/Asset/data/asset/functions/object/2266.field_modify/tick/.mcfunction b/Asset/data/asset/functions/object/2266.field_modify/tick/.mcfunction index c0aedbff80..2673211a0e 100644 --- a/Asset/data/asset/functions/object/2266.field_modify/tick/.mcfunction +++ b/Asset/data/asset/functions/object/2266.field_modify/tick/.mcfunction @@ -10,7 +10,7 @@ # 拡大 execute if score @s General.Object.Tick matches 3 run data modify entity @s start_interpolation set value -1 - execute if score @s General.Object.Tick matches 3 run data modify entity @s transformation.scale set value [15.0f,1.0f,15.0f] + execute if score @s General.Object.Tick matches 3 run data modify entity @s transformation.scale set value [15.0f,2.0f,15.0f] execute if score @s 2266.RemoveTimer matches 3 run data modify entity @s start_interpolation set value -1 execute if score @s 2266.RemoveTimer matches 3 run data modify entity @s transformation.scale set value [0.0f,8.0f,0.0f] From 3d65b37a0ac5fe0a88b0fa3b3b3db4e340bc52ab Mon Sep 17 00:00:00 2001 From: mokkkk Date: Sun, 15 Mar 2026 17:25:54 +0900 Subject: [PATCH 56/98] =?UTF-8?q?=E4=B8=8A=E7=A9=BA=E5=B0=84=E6=92=83?= =?UTF-8?q?=E3=81=AE=E6=94=BB=E6=92=83=E5=87=A6=E7=90=86=E3=82=92=E9=9D=9E?= =?UTF-8?q?=E5=90=8C=E6=9C=9F=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../0456.gargo_ex_machina/_index.d.mcfunction | 2 + .../mob/0456.gargo_ex_machina/load.mcfunction | 1 + .../tick/debug/interrupt.mcfunction | 2 +- .../tick/event/.mcfunction | 2 + .../tick/event/upper_shot/.mcfunction | 2 +- .../event/upper_shot/async_attack.mcfunction | 10 + .../event/upper_shot/async_end.mcfunction | 9 + .../tick/event/upper_shot/attack.mcfunction | 4 +- .../event/upper_shot/pattern_mesh.mcfunction | 182 +++++++++--------- .../tick/set_bossbar_name.mcfunction | 4 +- 10 files changed, 121 insertions(+), 97 deletions(-) create mode 100644 Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/upper_shot/async_attack.mcfunction create mode 100644 Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/upper_shot/async_end.mcfunction diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/_index.d.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/_index.d.mcfunction index a3dbfaec85..91dbab090a 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/_index.d.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/_index.d.mcfunction @@ -38,6 +38,7 @@ #declare tag CO.Skill.RocketPunch ロケットパンチ #declare tag CO.Skill.Shot 射撃 #declare tag CO.Skill.UpperShot 上空射撃 + #declare tag CO.UpperShot.Asyuc 上空射撃攻撃判定用 #declare tag CO.Skill.BluteForce ブルートフォースアタック #declare tag #declare tag @@ -54,6 +55,7 @@ #declare tag CO.Temp.Rotation #declare tag CO.Aec.Destination #declare tag CO.Aec.AttackPosition + #declare tag CO.Aec.UpperShotPosition #declare tag CO.Aec.FieldModify #declare tag CO.Aec.FieldModify.Init #declare tag CO.Temp.Ground diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/load.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/load.mcfunction index 2d810440ec..5597bd2e46 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/load.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/load.mcfunction @@ -7,6 +7,7 @@ #> 定義類はここに # @within function asset:mob/0456.gargo_ex_machina/** scoreboard objectives add CO.EventTimer dummy + scoreboard objectives add CO.EventTimer.UpperShot dummy scoreboard objectives add CO.FieldModify.Color dummy scoreboard objectives add CO.Counter dummy scoreboard objectives add CO.IdleTimer dummy diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/debug/interrupt.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/debug/interrupt.mcfunction index 4df7d8c269..5ba2625ec7 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/debug/interrupt.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/debug/interrupt.mcfunction @@ -18,4 +18,4 @@ # execute at @s run tp @e[type=item_display,tag=CO.ModelRoot] ~ ~ ~ ~ 0 # イベント実行 - tag @s add CO.Skill.FieldModify + tag @s add CO.Skill.UpperShot diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/.mcfunction index f2ae8d44ad..495f41ec84 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/.mcfunction @@ -54,6 +54,8 @@ # 上空射撃 execute if entity @s[tag=CO.Skill.UpperShot] run function asset:mob/0456.gargo_ex_machina/tick/event/upper_shot/ + # 攻撃判定用 + execute if entity @s[tag=CO.UpperShot.Asyuc] run function asset:mob/0456.gargo_ex_machina/tick/event/upper_shot/async_attack # ブルートフォースアタック execute if entity @s[tag=CO.Skill.BluteForce] run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/ diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/upper_shot/.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/upper_shot/.mcfunction index 2af7d0d75a..1a26fdbf4b 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/upper_shot/.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/upper_shot/.mcfunction @@ -25,7 +25,7 @@ execute if score @s CO.EventTimer matches 30..32 run playsound entity.breeze.jump hostile @a ~ ~ ~ 2 0.5 execute if score @s CO.EventTimer matches 30..32 run playsound entity.breeze.jump hostile @a ~ ~ ~ 2 0.6 # 攻撃 - execute if score @s CO.EventTimer matches 30..60 at @e[type=area_effect_cloud,tag=CO.Aec.AttackPosition,distance=..80,sort=random,limit=2] run function asset:mob/0456.gargo_ex_machina/tick/event/upper_shot/attack + execute if score @s CO.EventTimer matches 28 run tag @s add CO.UpperShot.Asyuc # 終了 execute if score @s CO.EventTimer matches 70.. run function asset:mob/0456.gargo_ex_machina/tick/event/upper_shot/end diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/upper_shot/async_attack.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/upper_shot/async_attack.mcfunction new file mode 100644 index 0000000000..ad1906ce49 --- /dev/null +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/upper_shot/async_attack.mcfunction @@ -0,0 +1,10 @@ +#> asset:mob/0456.gargo_ex_machina/tick/event/upper_shot/async_attack +# +# 上空射撃 設置後すぐ別の動きをしてもいいように、攻撃処理だけ非同期で実行 +# +# @within asset:mob/0456.gargo_ex_machina/tick/event/ + +# 実行 + scoreboard players add @s CO.EventTimer.UpperShot 1 + execute at @e[type=area_effect_cloud,tag=CO.Aec.UpperShotPosition,distance=..80,sort=random,limit=2] run function asset:mob/0456.gargo_ex_machina/tick/event/upper_shot/attack + execute if score @s CO.EventTimer.UpperShot matches 40.. run function asset:mob/0456.gargo_ex_machina/tick/event/upper_shot/async_end diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/upper_shot/async_end.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/upper_shot/async_end.mcfunction new file mode 100644 index 0000000000..df6506b2f4 --- /dev/null +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/upper_shot/async_end.mcfunction @@ -0,0 +1,9 @@ +#> asset:mob/0456.gargo_ex_machina/tick/event/upper_shot/async_end +# +# 上空射撃 設置後すぐ別の動きをしてもいいように、攻撃処理だけ非同期で実行 +# +# @within asset:mob/0456.gargo_ex_machina/tick/event/upper_shot/async_attack + +# 実行 + scoreboard players set @s CO.EventTimer.UpperShot 0 + execute unless entity @e[type=area_effect_cloud,tag=CO.Aec.UpperShotPosition,distance=..80] run tag @s remove CO.UpperShot.Asyuc diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/upper_shot/attack.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/upper_shot/attack.mcfunction index bd7d7e5f34..5df33ba8c7 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/upper_shot/attack.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/upper_shot/attack.mcfunction @@ -2,11 +2,11 @@ # # 射撃 # -# @within asset:mob/0456.gargo_ex_machina/tick/event/upper_shot/ +# @within asset:mob/0456.gargo_ex_machina/tick/event/upper_shot/async_attack # 攻撃判定召喚 data modify storage api: Argument.ID set value 2268 data modify storage api: Argument.FieldOverride.Damage set from storage asset:context this.Damage.Shot execute store result storage api: Argument.FieldOverride.MobUUID int 1 run scoreboard players get @s MobUUID execute positioned ~ ~ ~ run function api:object/summon - kill @e[type=area_effect_cloud,tag=CO.Aec.AttackPosition,distance=..10,sort=nearest,limit=1] + kill @e[type=area_effect_cloud,tag=CO.Aec.UpperShotPosition,distance=..10,sort=nearest,limit=1] diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/upper_shot/pattern_mesh.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/upper_shot/pattern_mesh.mcfunction index 2f7ec9248a..bbaccadd76 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/upper_shot/pattern_mesh.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/upper_shot/pattern_mesh.mcfunction @@ -6,104 +6,104 @@ # [ImportKey]: NobwRALgngDgpmAXGANgSwHYIDRgK55oAmSYAbAKwAcALAOxzUC0ZAZmQMZM01UDMTKlTJwmAIz5lOATgqUiNHGAwBDALYJkgLd8ABAEYwuGCoBO6gM5JwHAPZ4MEJHoAMuViZtqrYAG4qUeJrgAB5ITHwUuFBIzgC+sbgQNt5+AUFgoYgRUTHxuDasrOZwjoiuYGJwAF5ocCYxuGjmAELVtSYAogCOeP4oUADKxhxwJIis-sV54NDwpOhYhviEY2BwHCJUYgBMZOJw0jTcYkJMKttiFExEzjQUfBcc51R0S6oapLp6TLYw0UamCzeWz2UouNweLyIcCpQLeTLhSJgaKIbYUPKQZLQ3z+OHYzLZZFINEYgpFEoNCptOqUpqtGp1bq9FD9IYqEZjCYoKYJGawTSoTBKAjEUjnIhUZzbbZHaTSHbcDh8MRnGh6FV8dYUOBkFQSvh6KhvdQCr4-Gx-c1-JbGMxqSzYkEOJzldyeFK49IIwkow0YpIetLwpA+pxUUmFYqlcqVBn1MqNFrUzo9PqDYajJBcnnYPlzZALYUrUh6Dg0MRiFxcSjOUQ0G7bQTKo5iFR8WscVg7aRUVjGj7afRWqDD4c2wH24F2Z2IcFgN1QmGe4OIRE5Vd+hKYwN4kIhpEopib-KRikJqlx2lJuNMtNsjlZyZwaaQfnzIVLEWrCjSKXSTgqnodD-twNBlvsDAsM4RBKrceh8EIfa4O8ppDr8I7oeOdoOtY05gq6kI7l6YShquET+liS5Bvi+7roiEbktGuCxu0V70u0t4sum7KZuMT4vrMAqFp+xbIHQTxgc4ZB0D82x6I2vB8DJ-BECoZwSmIziSBQRCsDQ0j9qh3zoaOmEAthU6gi6ELutisLEWRB77hRRErqR5FbmSUaUixNLnnSyacayGacvxvKvvmgqLLgX6kKpFD6c4KgqiorA6twfCKEw0isOqZxPGQETqm20gqIZnxoRaGFVVhQKOnh1nzoRdnLjRjl0SSW4Bi11F7lkTmrp1J6MT5yZsYFqZcfevHZs+4WCe+0XLKKyDSEQRAISMKXSGixyyKqFCNtsHDONIow0El8EcOVg7GVVpk1eZdW4VZs4EbZVG7hkJEDUecRdZROK9d9-V0S4DHeeevnxuUAU3pNwU8aF3JzbmEVCR+MWiWAfBlhQ4l0N80gcLQ3BkJUgj8FQ2W8P+2zSO22xwEhygmhVd2WiZXOPWAtrPWATr4TZi5A193oDeDAOuW1pGS8NkMxmN-nXhxCPcQ+fEo-EAC6QA_3 # 線 1 -summon area_effect_cloud ^-35 ^ ^0 {Tags:["CO.Aec.AttackPosition"],Duration:80} -summon area_effect_cloud ^-27.22222 ^ ^0 {Tags:["CO.Aec.AttackPosition"],Duration:80} -summon area_effect_cloud ^-19.44444 ^ ^0 {Tags:["CO.Aec.AttackPosition"],Duration:80} -summon area_effect_cloud ^-11.66667 ^ ^0 {Tags:["CO.Aec.AttackPosition"],Duration:80} -summon area_effect_cloud ^-3.88889 ^ ^0 {Tags:["CO.Aec.AttackPosition"],Duration:80} -summon area_effect_cloud ^3.88889 ^ ^0 {Tags:["CO.Aec.AttackPosition"],Duration:80} -summon area_effect_cloud ^11.66667 ^ ^0 {Tags:["CO.Aec.AttackPosition"],Duration:80} -summon area_effect_cloud ^19.44444 ^ ^0 {Tags:["CO.Aec.AttackPosition"],Duration:80} -summon area_effect_cloud ^27.22222 ^ ^0 {Tags:["CO.Aec.AttackPosition"],Duration:80} -summon area_effect_cloud ^35 ^ ^0 {Tags:["CO.Aec.AttackPosition"],Duration:80} +summon area_effect_cloud ^-35 ^ ^0 {Tags:["CO.Aec.UpperShotPosition"],Duration:80} +summon area_effect_cloud ^-27.22222 ^ ^0 {Tags:["CO.Aec.UpperShotPosition"],Duration:80} +summon area_effect_cloud ^-19.44444 ^ ^0 {Tags:["CO.Aec.UpperShotPosition"],Duration:80} +summon area_effect_cloud ^-11.66667 ^ ^0 {Tags:["CO.Aec.UpperShotPosition"],Duration:80} +summon area_effect_cloud ^-3.88889 ^ ^0 {Tags:["CO.Aec.UpperShotPosition"],Duration:80} +summon area_effect_cloud ^3.88889 ^ ^0 {Tags:["CO.Aec.UpperShotPosition"],Duration:80} +summon area_effect_cloud ^11.66667 ^ ^0 {Tags:["CO.Aec.UpperShotPosition"],Duration:80} +summon area_effect_cloud ^19.44444 ^ ^0 {Tags:["CO.Aec.UpperShotPosition"],Duration:80} +summon area_effect_cloud ^27.22222 ^ ^0 {Tags:["CO.Aec.UpperShotPosition"],Duration:80} +summon area_effect_cloud ^35 ^ ^0 {Tags:["CO.Aec.UpperShotPosition"],Duration:80} # 線 1-copy -summon area_effect_cloud ^-35 ^ ^25 {Tags:["CO.Aec.AttackPosition"],Duration:80} -summon area_effect_cloud ^-27.22222 ^ ^25 {Tags:["CO.Aec.AttackPosition"],Duration:80} -summon area_effect_cloud ^-19.44444 ^ ^25 {Tags:["CO.Aec.AttackPosition"],Duration:80} -summon area_effect_cloud ^-11.66667 ^ ^25 {Tags:["CO.Aec.AttackPosition"],Duration:80} -summon area_effect_cloud ^-3.88889 ^ ^25 {Tags:["CO.Aec.AttackPosition"],Duration:80} -summon area_effect_cloud ^3.88889 ^ ^25 {Tags:["CO.Aec.AttackPosition"],Duration:80} -summon area_effect_cloud ^11.66667 ^ ^25 {Tags:["CO.Aec.AttackPosition"],Duration:80} -summon area_effect_cloud ^19.44444 ^ ^25 {Tags:["CO.Aec.AttackPosition"],Duration:80} -summon area_effect_cloud ^27.22222 ^ ^25 {Tags:["CO.Aec.AttackPosition"],Duration:80} -summon area_effect_cloud ^35 ^ ^25 {Tags:["CO.Aec.AttackPosition"],Duration:80} +summon area_effect_cloud ^-35 ^ ^25 {Tags:["CO.Aec.UpperShotPosition"],Duration:80} +summon area_effect_cloud ^-27.22222 ^ ^25 {Tags:["CO.Aec.UpperShotPosition"],Duration:80} +summon area_effect_cloud ^-19.44444 ^ ^25 {Tags:["CO.Aec.UpperShotPosition"],Duration:80} +summon area_effect_cloud ^-11.66667 ^ ^25 {Tags:["CO.Aec.UpperShotPosition"],Duration:80} +summon area_effect_cloud ^-3.88889 ^ ^25 {Tags:["CO.Aec.UpperShotPosition"],Duration:80} +summon area_effect_cloud ^3.88889 ^ ^25 {Tags:["CO.Aec.UpperShotPosition"],Duration:80} +summon area_effect_cloud ^11.66667 ^ ^25 {Tags:["CO.Aec.UpperShotPosition"],Duration:80} +summon area_effect_cloud ^19.44444 ^ ^25 {Tags:["CO.Aec.UpperShotPosition"],Duration:80} +summon area_effect_cloud ^27.22222 ^ ^25 {Tags:["CO.Aec.UpperShotPosition"],Duration:80} +summon area_effect_cloud ^35 ^ ^25 {Tags:["CO.Aec.UpperShotPosition"],Duration:80} # 線 1-copy-copy -summon area_effect_cloud ^-35 ^ ^18 {Tags:["CO.Aec.AttackPosition"],Duration:80} -summon area_effect_cloud ^-27.22222 ^ ^18 {Tags:["CO.Aec.AttackPosition"],Duration:80} -summon area_effect_cloud ^-19.44444 ^ ^18 {Tags:["CO.Aec.AttackPosition"],Duration:80} -summon area_effect_cloud ^-11.66667 ^ ^18 {Tags:["CO.Aec.AttackPosition"],Duration:80} -summon area_effect_cloud ^-3.88889 ^ ^18 {Tags:["CO.Aec.AttackPosition"],Duration:80} -summon area_effect_cloud ^3.88889 ^ ^18 {Tags:["CO.Aec.AttackPosition"],Duration:80} -summon area_effect_cloud ^11.66667 ^ ^18 {Tags:["CO.Aec.AttackPosition"],Duration:80} -summon area_effect_cloud ^19.44444 ^ ^18 {Tags:["CO.Aec.AttackPosition"],Duration:80} -summon area_effect_cloud ^27.22222 ^ ^18 {Tags:["CO.Aec.AttackPosition"],Duration:80} -summon area_effect_cloud ^35 ^ ^18 {Tags:["CO.Aec.AttackPosition"],Duration:80} +summon area_effect_cloud ^-35 ^ ^18 {Tags:["CO.Aec.UpperShotPosition"],Duration:80} +summon area_effect_cloud ^-27.22222 ^ ^18 {Tags:["CO.Aec.UpperShotPosition"],Duration:80} +summon area_effect_cloud ^-19.44444 ^ ^18 {Tags:["CO.Aec.UpperShotPosition"],Duration:80} +summon area_effect_cloud ^-11.66667 ^ ^18 {Tags:["CO.Aec.UpperShotPosition"],Duration:80} +summon area_effect_cloud ^-3.88889 ^ ^18 {Tags:["CO.Aec.UpperShotPosition"],Duration:80} +summon area_effect_cloud ^3.88889 ^ ^18 {Tags:["CO.Aec.UpperShotPosition"],Duration:80} +summon area_effect_cloud ^11.66667 ^ ^18 {Tags:["CO.Aec.UpperShotPosition"],Duration:80} +summon area_effect_cloud ^19.44444 ^ ^18 {Tags:["CO.Aec.UpperShotPosition"],Duration:80} +summon area_effect_cloud ^27.22222 ^ ^18 {Tags:["CO.Aec.UpperShotPosition"],Duration:80} +summon area_effect_cloud ^35 ^ ^18 {Tags:["CO.Aec.UpperShotPosition"],Duration:80} # 線 1-copy-copy-copy -summon area_effect_cloud ^-35 ^ ^-18 {Tags:["CO.Aec.AttackPosition"],Duration:80} -summon area_effect_cloud ^-27.22222 ^ ^-18 {Tags:["CO.Aec.AttackPosition"],Duration:80} -summon area_effect_cloud ^-19.44444 ^ ^-18 {Tags:["CO.Aec.AttackPosition"],Duration:80} -summon area_effect_cloud ^-11.66667 ^ ^-18 {Tags:["CO.Aec.AttackPosition"],Duration:80} -summon area_effect_cloud ^-3.88889 ^ ^-18 {Tags:["CO.Aec.AttackPosition"],Duration:80} -summon area_effect_cloud ^3.88889 ^ ^-18 {Tags:["CO.Aec.AttackPosition"],Duration:80} -summon area_effect_cloud ^11.66667 ^ ^-18 {Tags:["CO.Aec.AttackPosition"],Duration:80} -summon area_effect_cloud ^19.44444 ^ ^-18 {Tags:["CO.Aec.AttackPosition"],Duration:80} -summon area_effect_cloud ^27.22222 ^ ^-18 {Tags:["CO.Aec.AttackPosition"],Duration:80} -summon area_effect_cloud ^35 ^ ^-18 {Tags:["CO.Aec.AttackPosition"],Duration:80} +summon area_effect_cloud ^-35 ^ ^-18 {Tags:["CO.Aec.UpperShotPosition"],Duration:80} +summon area_effect_cloud ^-27.22222 ^ ^-18 {Tags:["CO.Aec.UpperShotPosition"],Duration:80} +summon area_effect_cloud ^-19.44444 ^ ^-18 {Tags:["CO.Aec.UpperShotPosition"],Duration:80} +summon area_effect_cloud ^-11.66667 ^ ^-18 {Tags:["CO.Aec.UpperShotPosition"],Duration:80} +summon area_effect_cloud ^-3.88889 ^ ^-18 {Tags:["CO.Aec.UpperShotPosition"],Duration:80} +summon area_effect_cloud ^3.88889 ^ ^-18 {Tags:["CO.Aec.UpperShotPosition"],Duration:80} +summon area_effect_cloud ^11.66667 ^ ^-18 {Tags:["CO.Aec.UpperShotPosition"],Duration:80} +summon area_effect_cloud ^19.44444 ^ ^-18 {Tags:["CO.Aec.UpperShotPosition"],Duration:80} +summon area_effect_cloud ^27.22222 ^ ^-18 {Tags:["CO.Aec.UpperShotPosition"],Duration:80} +summon area_effect_cloud ^35 ^ ^-18 {Tags:["CO.Aec.UpperShotPosition"],Duration:80} # 線 1-copy-copy -summon area_effect_cloud ^-35 ^ ^-35 {Tags:["CO.Aec.AttackPosition"],Duration:80} -summon area_effect_cloud ^-27.22222 ^ ^-35 {Tags:["CO.Aec.AttackPosition"],Duration:80} -summon area_effect_cloud ^-19.44444 ^ ^-35 {Tags:["CO.Aec.AttackPosition"],Duration:80} -summon area_effect_cloud ^-11.66667 ^ ^-35 {Tags:["CO.Aec.AttackPosition"],Duration:80} -summon area_effect_cloud ^-3.88889 ^ ^-35 {Tags:["CO.Aec.AttackPosition"],Duration:80} -summon area_effect_cloud ^3.88889 ^ ^-35 {Tags:["CO.Aec.AttackPosition"],Duration:80} -summon area_effect_cloud ^11.66667 ^ ^-35 {Tags:["CO.Aec.AttackPosition"],Duration:80} -summon area_effect_cloud ^19.44444 ^ ^-35 {Tags:["CO.Aec.AttackPosition"],Duration:80} -summon area_effect_cloud ^27.22222 ^ ^-35 {Tags:["CO.Aec.AttackPosition"],Duration:80} -summon area_effect_cloud ^35 ^ ^-35 {Tags:["CO.Aec.AttackPosition"],Duration:80} +summon area_effect_cloud ^-35 ^ ^-35 {Tags:["CO.Aec.UpperShotPosition"],Duration:80} +summon area_effect_cloud ^-27.22222 ^ ^-35 {Tags:["CO.Aec.UpperShotPosition"],Duration:80} +summon area_effect_cloud ^-19.44444 ^ ^-35 {Tags:["CO.Aec.UpperShotPosition"],Duration:80} +summon area_effect_cloud ^-11.66667 ^ ^-35 {Tags:["CO.Aec.UpperShotPosition"],Duration:80} +summon area_effect_cloud ^-3.88889 ^ ^-35 {Tags:["CO.Aec.UpperShotPosition"],Duration:80} +summon area_effect_cloud ^3.88889 ^ ^-35 {Tags:["CO.Aec.UpperShotPosition"],Duration:80} +summon area_effect_cloud ^11.66667 ^ ^-35 {Tags:["CO.Aec.UpperShotPosition"],Duration:80} +summon area_effect_cloud ^19.44444 ^ ^-35 {Tags:["CO.Aec.UpperShotPosition"],Duration:80} +summon area_effect_cloud ^27.22222 ^ ^-35 {Tags:["CO.Aec.UpperShotPosition"],Duration:80} +summon area_effect_cloud ^35 ^ ^-35 {Tags:["CO.Aec.UpperShotPosition"],Duration:80} # 線 1-copy-copy-copy -summon area_effect_cloud ^-35 ^ ^35 {Tags:["CO.Aec.AttackPosition"],Duration:80} -summon area_effect_cloud ^-27.22222 ^ ^35 {Tags:["CO.Aec.AttackPosition"],Duration:80} -summon area_effect_cloud ^-19.44444 ^ ^35 {Tags:["CO.Aec.AttackPosition"],Duration:80} -summon area_effect_cloud ^-11.66667 ^ ^35 {Tags:["CO.Aec.AttackPosition"],Duration:80} -summon area_effect_cloud ^-3.88889 ^ ^35 {Tags:["CO.Aec.AttackPosition"],Duration:80} -summon area_effect_cloud ^3.88889 ^ ^35 {Tags:["CO.Aec.AttackPosition"],Duration:80} -summon area_effect_cloud ^11.66667 ^ ^35 {Tags:["CO.Aec.AttackPosition"],Duration:80} -summon area_effect_cloud ^19.44444 ^ ^35 {Tags:["CO.Aec.AttackPosition"],Duration:80} -summon area_effect_cloud ^27.22222 ^ ^35 {Tags:["CO.Aec.AttackPosition"],Duration:80} -summon area_effect_cloud ^35 ^ ^35 {Tags:["CO.Aec.AttackPosition"],Duration:80} +summon area_effect_cloud ^-35 ^ ^35 {Tags:["CO.Aec.UpperShotPosition"],Duration:80} +summon area_effect_cloud ^-27.22222 ^ ^35 {Tags:["CO.Aec.UpperShotPosition"],Duration:80} +summon area_effect_cloud ^-19.44444 ^ ^35 {Tags:["CO.Aec.UpperShotPosition"],Duration:80} +summon area_effect_cloud ^-11.66667 ^ ^35 {Tags:["CO.Aec.UpperShotPosition"],Duration:80} +summon area_effect_cloud ^-3.88889 ^ ^35 {Tags:["CO.Aec.UpperShotPosition"],Duration:80} +summon area_effect_cloud ^3.88889 ^ ^35 {Tags:["CO.Aec.UpperShotPosition"],Duration:80} +summon area_effect_cloud ^11.66667 ^ ^35 {Tags:["CO.Aec.UpperShotPosition"],Duration:80} +summon area_effect_cloud ^19.44444 ^ ^35 {Tags:["CO.Aec.UpperShotPosition"],Duration:80} +summon area_effect_cloud ^27.22222 ^ ^35 {Tags:["CO.Aec.UpperShotPosition"],Duration:80} +summon area_effect_cloud ^35 ^ ^35 {Tags:["CO.Aec.UpperShotPosition"],Duration:80} # 線 1-copy-copy -summon area_effect_cloud ^-35 ^ ^-25 {Tags:["CO.Aec.AttackPosition"],Duration:80} -summon area_effect_cloud ^-27.22222 ^ ^-25 {Tags:["CO.Aec.AttackPosition"],Duration:80} -summon area_effect_cloud ^-19.44444 ^ ^-25 {Tags:["CO.Aec.AttackPosition"],Duration:80} -summon area_effect_cloud ^-11.66667 ^ ^-25 {Tags:["CO.Aec.AttackPosition"],Duration:80} -summon area_effect_cloud ^-3.88889 ^ ^-25 {Tags:["CO.Aec.AttackPosition"],Duration:80} -summon area_effect_cloud ^3.88889 ^ ^-25 {Tags:["CO.Aec.AttackPosition"],Duration:80} -summon area_effect_cloud ^11.66667 ^ ^-25 {Tags:["CO.Aec.AttackPosition"],Duration:80} -summon area_effect_cloud ^19.44444 ^ ^-25 {Tags:["CO.Aec.AttackPosition"],Duration:80} -summon area_effect_cloud ^27.22222 ^ ^-25 {Tags:["CO.Aec.AttackPosition"],Duration:80} -summon area_effect_cloud ^35 ^ ^-25 {Tags:["CO.Aec.AttackPosition"],Duration:80} +summon area_effect_cloud ^-35 ^ ^-25 {Tags:["CO.Aec.UpperShotPosition"],Duration:80} +summon area_effect_cloud ^-27.22222 ^ ^-25 {Tags:["CO.Aec.UpperShotPosition"],Duration:80} +summon area_effect_cloud ^-19.44444 ^ ^-25 {Tags:["CO.Aec.UpperShotPosition"],Duration:80} +summon area_effect_cloud ^-11.66667 ^ ^-25 {Tags:["CO.Aec.UpperShotPosition"],Duration:80} +summon area_effect_cloud ^-3.88889 ^ ^-25 {Tags:["CO.Aec.UpperShotPosition"],Duration:80} +summon area_effect_cloud ^3.88889 ^ ^-25 {Tags:["CO.Aec.UpperShotPosition"],Duration:80} +summon area_effect_cloud ^11.66667 ^ ^-25 {Tags:["CO.Aec.UpperShotPosition"],Duration:80} +summon area_effect_cloud ^19.44444 ^ ^-25 {Tags:["CO.Aec.UpperShotPosition"],Duration:80} +summon area_effect_cloud ^27.22222 ^ ^-25 {Tags:["CO.Aec.UpperShotPosition"],Duration:80} +summon area_effect_cloud ^35 ^ ^-25 {Tags:["CO.Aec.UpperShotPosition"],Duration:80} # 線 1-copy-copy-copy -summon area_effect_cloud ^-35 ^ ^-10 {Tags:["CO.Aec.AttackPosition"],Duration:80} -summon area_effect_cloud ^-27.22222 ^ ^-10 {Tags:["CO.Aec.AttackPosition"],Duration:80} -summon area_effect_cloud ^-19.44444 ^ ^-10 {Tags:["CO.Aec.AttackPosition"],Duration:80} -summon area_effect_cloud ^-11.66667 ^ ^-10 {Tags:["CO.Aec.AttackPosition"],Duration:80} -summon area_effect_cloud ^-3.88889 ^ ^-10 {Tags:["CO.Aec.AttackPosition"],Duration:80} -summon area_effect_cloud ^3.88889 ^ ^-10 {Tags:["CO.Aec.AttackPosition"],Duration:80} -summon area_effect_cloud ^11.66667 ^ ^-10 {Tags:["CO.Aec.AttackPosition"],Duration:80} -summon area_effect_cloud ^19.44444 ^ ^-10 {Tags:["CO.Aec.AttackPosition"],Duration:80} -summon area_effect_cloud ^27.22222 ^ ^-10 {Tags:["CO.Aec.AttackPosition"],Duration:80} -summon area_effect_cloud ^35 ^ ^-10 {Tags:["CO.Aec.AttackPosition"],Duration:80} +summon area_effect_cloud ^-35 ^ ^-10 {Tags:["CO.Aec.UpperShotPosition"],Duration:80} +summon area_effect_cloud ^-27.22222 ^ ^-10 {Tags:["CO.Aec.UpperShotPosition"],Duration:80} +summon area_effect_cloud ^-19.44444 ^ ^-10 {Tags:["CO.Aec.UpperShotPosition"],Duration:80} +summon area_effect_cloud ^-11.66667 ^ ^-10 {Tags:["CO.Aec.UpperShotPosition"],Duration:80} +summon area_effect_cloud ^-3.88889 ^ ^-10 {Tags:["CO.Aec.UpperShotPosition"],Duration:80} +summon area_effect_cloud ^3.88889 ^ ^-10 {Tags:["CO.Aec.UpperShotPosition"],Duration:80} +summon area_effect_cloud ^11.66667 ^ ^-10 {Tags:["CO.Aec.UpperShotPosition"],Duration:80} +summon area_effect_cloud ^19.44444 ^ ^-10 {Tags:["CO.Aec.UpperShotPosition"],Duration:80} +summon area_effect_cloud ^27.22222 ^ ^-10 {Tags:["CO.Aec.UpperShotPosition"],Duration:80} +summon area_effect_cloud ^35 ^ ^-10 {Tags:["CO.Aec.UpperShotPosition"],Duration:80} # 線 1-copy-copy-copy-copy -summon area_effect_cloud ^-35 ^ ^10 {Tags:["CO.Aec.AttackPosition"],Duration:80} -summon area_effect_cloud ^-27.22222 ^ ^10 {Tags:["CO.Aec.AttackPosition"],Duration:80} -summon area_effect_cloud ^-19.44444 ^ ^10 {Tags:["CO.Aec.AttackPosition"],Duration:80} -summon area_effect_cloud ^-11.66667 ^ ^10 {Tags:["CO.Aec.AttackPosition"],Duration:80} -summon area_effect_cloud ^-3.88889 ^ ^10 {Tags:["CO.Aec.AttackPosition"],Duration:80} -summon area_effect_cloud ^3.88889 ^ ^10 {Tags:["CO.Aec.AttackPosition"],Duration:80} -summon area_effect_cloud ^11.66667 ^ ^10 {Tags:["CO.Aec.AttackPosition"],Duration:80} -summon area_effect_cloud ^19.44444 ^ ^10 {Tags:["CO.Aec.AttackPosition"],Duration:80} -summon area_effect_cloud ^27.22222 ^ ^10 {Tags:["CO.Aec.AttackPosition"],Duration:80} -summon area_effect_cloud ^35 ^ ^10 {Tags:["CO.Aec.AttackPosition"],Duration:80} +summon area_effect_cloud ^-35 ^ ^10 {Tags:["CO.Aec.UpperShotPosition"],Duration:80} +summon area_effect_cloud ^-27.22222 ^ ^10 {Tags:["CO.Aec.UpperShotPosition"],Duration:80} +summon area_effect_cloud ^-19.44444 ^ ^10 {Tags:["CO.Aec.UpperShotPosition"],Duration:80} +summon area_effect_cloud ^-11.66667 ^ ^10 {Tags:["CO.Aec.UpperShotPosition"],Duration:80} +summon area_effect_cloud ^-3.88889 ^ ^10 {Tags:["CO.Aec.UpperShotPosition"],Duration:80} +summon area_effect_cloud ^3.88889 ^ ^10 {Tags:["CO.Aec.UpperShotPosition"],Duration:80} +summon area_effect_cloud ^11.66667 ^ ^10 {Tags:["CO.Aec.UpperShotPosition"],Duration:80} +summon area_effect_cloud ^19.44444 ^ ^10 {Tags:["CO.Aec.UpperShotPosition"],Duration:80} +summon area_effect_cloud ^27.22222 ^ ^10 {Tags:["CO.Aec.UpperShotPosition"],Duration:80} +summon area_effect_cloud ^35 ^ ^10 {Tags:["CO.Aec.UpperShotPosition"],Duration:80} # 数を減らす - kill @e[type=area_effect_cloud,tag=CO.Aec.AttackPosition,distance=..80,sort=random,limit=15] + kill @e[type=area_effect_cloud,tag=CO.Aec.UpperShotPosition,distance=..80,sort=random,limit=15] diff --git a/Asset/data/asset/functions/object/2265.field_modify_manager/tick/set_bossbar_name.mcfunction b/Asset/data/asset/functions/object/2265.field_modify_manager/tick/set_bossbar_name.mcfunction index 70faf0c7a3..a6eea355b7 100644 --- a/Asset/data/asset/functions/object/2265.field_modify_manager/tick/set_bossbar_name.mcfunction +++ b/Asset/data/asset/functions/object/2265.field_modify_manager/tick/set_bossbar_name.mcfunction @@ -7,8 +7,8 @@ # ピリオド scoreboard players add @s 2265.Period 1 execute if score @s 2265.Period matches 30.. run scoreboard players set @s 2265.Period 0 - execute if score @s 2265.Period matches ..9 run data modify storage asset:context this.BossBar.Period set value ['{"text":"."}','{"text":"\\u0005","font":"space"}'] - execute if score @s 2265.Period matches 10..19 run data modify storage asset:context this.BossBar.Period set value ['{"text":".."}','{"text":"\\u0002","font":"space"}'] + execute if score @s 2265.Period matches ..9 run data modify storage asset:context this.BossBar.Period set value ['{"text":"."}','{"text":"\\uF005","font":"uniform"}','{"text":"\\uE005","font":"default"}'] + execute if score @s 2265.Period matches 10..19 run data modify storage asset:context this.BossBar.Period set value ['{"text":".."}','{"text":"\\uF002","font":"uniform"}','{"text":"\\uE002","font":"default"}'] execute if score @s 2265.Period matches 20.. run data modify storage asset:context this.BossBar.Period set value ['{"text":"..."}'] # ボスバー表示 From 4d67c07768a70b06cfde6c8b6bb4d584f3c9ea07 Mon Sep 17 00:00:00 2001 From: mokkkk Date: Sun, 15 Mar 2026 17:45:31 +0900 Subject: [PATCH 57/98] =?UTF-8?q?=E6=B1=8E=E7=94=A8=E9=95=B7=E6=96=B9?= =?UTF-8?q?=E5=BD=A2=E4=BA=88=E5=85=86=E3=81=ABViewRange=E8=A8=AD=E5=AE=9A?= =?UTF-8?q?=E9=A0=85=E7=9B=AE=E3=82=92=E8=BF=BD=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../tick/act/.mcfunction | 2 +- .../tick/act/phase_1/.mcfunction | 18 +- .../tick/debug/interrupt.mcfunction | 2 +- .../tick/event/field_modify/end.mcfunction | 1 + .../field_modify/summon_manager.mcfunction | 3 +- .../event/half_beam/prediction.m.mcfunction | 1 + .../half_beam_shot/prediction.m.mcfunction | 1 + .../half_beam_sword/prediction.m.mcfunction | 1 + .../tick/event/upper_shot/.mcfunction | 4 +- .../event/upper_shot/pattern_mesh.mcfunction | 180 +++++++++--------- .../2113.rectangle_announce/init/.mcfunction | 3 + .../tick/set_bossbar_name.mcfunction | 4 +- 12 files changed, 121 insertions(+), 99 deletions(-) diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/.mcfunction index dfa21b4b41..310994776c 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/.mcfunction @@ -9,7 +9,7 @@ # 行動リセット function asset:mob/0456.gargo_ex_machina/tick/util/remove_animation_tag - execute as @e[type=item_display,tag=CO.ModelRoot,distance=..30,sort=nearest,limit=1] unless entity @s[tag=aj.gargo_ex_machina.animation.idle.playing] run function animated_java:gargo_ex_machina/animations/idle/tween {duration:1, to_frame: 1} + # execute as @e[type=item_display,tag=CO.ModelRoot,distance=..30,sort=nearest,limit=1] unless entity @s[tag=aj.gargo_ex_machina.animation.idle.playing] run function animated_java:gargo_ex_machina/animations/idle/tween {duration:1, to_frame: 1} # 待機時間仮設定 scoreboard players set @e[type=item_display,tag=CO.ModelRoot,distance=..30] CO.EventTimer 0 diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/phase_1/.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/phase_1/.mcfunction index 338bba5c95..04a0afaebe 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/phase_1/.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/phase_1/.mcfunction @@ -5,7 +5,7 @@ # @within asset:mob/0456.gargo_ex_machina/tick/act/ # 最初に戻る - execute if score @s CO.Counter matches 14.. run scoreboard players set @s CO.Counter 1 + execute if score @s CO.Counter matches 18.. run scoreboard players set @s CO.Counter 1 # 四隅に移動 execute if score @s CO.Counter matches ..1 run function asset:mob/0456.gargo_ex_machina/tick/act/phase_1/move_to_corner @@ -45,5 +45,19 @@ # 上空射撃 execute if score @s CO.Counter matches 12 run tag @s add CO.Skill.UpperShot +# 待機 + execute if score @s CO.Counter matches 13 as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run scoreboard players set @s CO.IdleTimer 60 + # 変形 - execute if score @s CO.Counter matches 13 run tag @s add CO.Skill.Transform.Sword + execute if score @s CO.Counter matches 14 run tag @s add CO.Skill.Transform.Sword + +# フィールドモディファイ + execute if score @s CO.Counter matches 15 run scoreboard players set @s CO.PreTimer 2 + execute if score @s CO.Counter matches 15 run tag @s add CO.Skill.FieldModify + +# スーパージャンプ + execute if score @s CO.Counter matches 16 run scoreboard players set @s CO.PreTimer 520 + execute if score @s CO.Counter matches 16 run tag @s add CO.Skill.SuperJump + +# 待機 + execute if score @s CO.Counter matches 17 as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run scoreboard players set @s CO.IdleTimer 100 diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/debug/interrupt.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/debug/interrupt.mcfunction index 5ba2625ec7..b94e066863 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/debug/interrupt.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/debug/interrupt.mcfunction @@ -18,4 +18,4 @@ # execute at @s run tp @e[type=item_display,tag=CO.ModelRoot] ~ ~ ~ ~ 0 # イベント実行 - tag @s add CO.Skill.UpperShot + tag @s add CO.Skill.HalfBeam diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/field_modify/end.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/field_modify/end.mcfunction index cd55636cb4..6501d579b9 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/field_modify/end.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/field_modify/end.mcfunction @@ -7,6 +7,7 @@ # タグ消去 scoreboard players set @s CO.EventTimer 0 tag @s remove CO.Skill.FieldModify + scoreboard players reset @s CO.PreTimer # 待機モーション再生 execute as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run function animated_java:gargo_ex_machina/animations/idle/tween {duration:1, to_frame: 1} diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/field_modify/summon_manager.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/field_modify/summon_manager.mcfunction index 89eb24c826..2a6553e633 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/field_modify/summon_manager.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/field_modify/summon_manager.mcfunction @@ -6,7 +6,8 @@ # マネージャー召喚 data modify storage api: Argument.ID set value 2265 - data modify storage api: Argument.FieldOverride.AttackCount set value 4 + data modify storage api: Argument.FieldOverride.AttackCount set value 1 + execute if score @s CO.PreTimer matches 1.. store result storage api: Argument.FieldOverride.AttackCount int 1 run scoreboard players get @s CO.PreTimer data modify storage api: Argument.FieldOverride.Damage set from storage asset:context this.Damage.FieldModify execute store result storage api: Argument.FieldOverride.UUID int 1 run scoreboard players get @s MobUUID function api:object/summon diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam/prediction.m.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam/prediction.m.mcfunction index bc11d494ed..782d703d1f 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam/prediction.m.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam/prediction.m.mcfunction @@ -11,4 +11,5 @@ data modify storage api: Argument.FieldOverride.Scale set value [60f,100f] $data modify storage api: Argument.FieldOverride.Interpolation set value $(Interpolation) $data modify storage api: Argument.FieldOverride.Tick set value $(Tick) + data modify storage api: Argument.FieldOverride.ViewRange set value 16f execute positioned ^ ^0.1 ^50 rotated ~180 0 run function api:object/summon diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam_shot/prediction.m.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam_shot/prediction.m.mcfunction index 264235cc47..1e78f76ca3 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam_shot/prediction.m.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam_shot/prediction.m.mcfunction @@ -11,4 +11,5 @@ data modify storage api: Argument.FieldOverride.Scale set value [60f,100f] $data modify storage api: Argument.FieldOverride.Interpolation set value $(Interpolation) $data modify storage api: Argument.FieldOverride.Tick set value $(Tick) + data modify storage api: Argument.FieldOverride.ViewRange set value 16f execute positioned ^ ^0.1 ^50 rotated ~180 0 run function api:object/summon diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam_sword/prediction.m.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam_sword/prediction.m.mcfunction index 1f38cc9de9..176327a1a7 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam_sword/prediction.m.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam_sword/prediction.m.mcfunction @@ -11,4 +11,5 @@ data modify storage api: Argument.FieldOverride.Scale set value [60f,100f] $data modify storage api: Argument.FieldOverride.Interpolation set value $(Interpolation) $data modify storage api: Argument.FieldOverride.Tick set value $(Tick) + data modify storage api: Argument.FieldOverride.ViewRange set value 16f execute positioned ^ ^0.1 ^50 rotated ~180 0 run function api:object/summon diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/upper_shot/.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/upper_shot/.mcfunction index 1a26fdbf4b..898741c7f9 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/upper_shot/.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/upper_shot/.mcfunction @@ -24,8 +24,8 @@ execute if score @s CO.EventTimer matches 28 as @e[type=item_display,tag=CO.ModelRoot,distance=..80,sort=nearest,limit=1] at @s on passengers if entity @s[tag=aj.global.data] run function asset:mob/0456.gargo_ex_machina/tick/event/upper_shot/summon_laser.m with entity @s data.locators.muzzle execute if score @s CO.EventTimer matches 30..32 run playsound entity.breeze.jump hostile @a ~ ~ ~ 2 0.5 execute if score @s CO.EventTimer matches 30..32 run playsound entity.breeze.jump hostile @a ~ ~ ~ 2 0.6 - # 攻撃 - execute if score @s CO.EventTimer matches 28 run tag @s add CO.UpperShot.Asyuc + # 攻撃開始 + execute if score @s CO.EventTimer matches 48 run tag @s add CO.UpperShot.Asyuc # 終了 execute if score @s CO.EventTimer matches 70.. run function asset:mob/0456.gargo_ex_machina/tick/event/upper_shot/end diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/upper_shot/pattern_mesh.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/upper_shot/pattern_mesh.mcfunction index bbaccadd76..ada5962179 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/upper_shot/pattern_mesh.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/upper_shot/pattern_mesh.mcfunction @@ -6,104 +6,104 @@ # [ImportKey]: NobwRALgngDgpmAXGANgSwHYIDRgK55oAmSYAbAKwAcALAOxzUC0ZAZmQMZM01UDMTKlTJwmAIz5lOATgqUiNHGAwBDALYJkgLd8ABAEYwuGCoBO6gM5JwHAPZ4MEJHoAMuViZtqrYAG4qUeJrgAB5ITHwUuFBIzgC+sbgQNt5+AUFgoYgRUTHxuDasrOZwjoiuYGJwAF5ocCYxuGjmAELVtSYAogCOeP4oUADKxhxwJIis-sV54NDwpOhYhviEY2BwHCJUYgBMZOJw0jTcYkJMKttiFExEzjQUfBcc51R0S6oapLp6TLYw0UamCzeWz2UouNweLyIcCpQLeTLhSJgaKIbYUPKQZLQ3z+OHYzLZZFINEYgpFEoNCptOqUpqtGp1bq9FD9IYqEZjCYoKYJGawTSoTBKAjEUjnIhUZzbbZHaTSHbcDh8MRnGh6FV8dYUOBkFQSvh6KhvdQCr4-Gx-c1-JbGMxqSzYkEOJzldyeFK49IIwkow0YpIetLwpA+pxUUmFYqlcqVBn1MqNFrUzo9PqDYajJBcnnYPlzZALYUrUh6Dg0MRiFxcSjOUQ0G7bQTKo5iFR8WscVg7aRUVjGj7afRWqDD4c2wH24F2Z2IcFgN1QmGe4OIRE5Vd+hKYwN4kIhpEopib-KRikJqlx2lJuNMtNsjlZyZwaaQfnzIVLEWrCjSKXSTgqnodD-twNBlvsDAsM4RBKrceh8EIfa4O8ppDr8I7oeOdoOtY05gq6kI7l6YShquET+liS5Bvi+7roiEbktGuCxu0V70u0t4sum7KZuMT4vrMAqFp+xbIHQTxgc4ZB0D82x6I2vB8DJ-BECoZwSmIziSBQRCsDQ0j9qh3zoaOmEAthU6gi6ELutisLEWRB77hRRErqR5FbmSUaUixNLnnSyacayGacvxvKvvmgqLLgX6kKpFD6c4KgqiorA6twfCKEw0isOqZxPGQETqm20gqIZnxoRaGFVVhQKOnh1nzoRdnLjRjl0SSW4Bi11F7lkTmrp1J6MT5yZsYFqZcfevHZs+4WCe+0XLKKyDSEQRAISMKXSGixyyKqFCNtsHDONIow0El8EcOVg7GVVpk1eZdW4VZs4EbZVG7hkJEDUecRdZROK9d9-V0S4DHeeevnxuUAU3pNwU8aF3JzbmEVCR+MWiWAfBlhQ4l0N80gcLQ3BkJUgj8FQ2W8P+2zSO22xwEhygmhVd2WiZXOPWAtrPWATr4TZi5A193oDeDAOuW1pGS8NkMxmN-nXhxCPcQ+fEo-EAC6QA_3 # 線 1 -summon area_effect_cloud ^-35 ^ ^0 {Tags:["CO.Aec.UpperShotPosition"],Duration:80} -summon area_effect_cloud ^-27.22222 ^ ^0 {Tags:["CO.Aec.UpperShotPosition"],Duration:80} -summon area_effect_cloud ^-19.44444 ^ ^0 {Tags:["CO.Aec.UpperShotPosition"],Duration:80} -summon area_effect_cloud ^-11.66667 ^ ^0 {Tags:["CO.Aec.UpperShotPosition"],Duration:80} -summon area_effect_cloud ^-3.88889 ^ ^0 {Tags:["CO.Aec.UpperShotPosition"],Duration:80} -summon area_effect_cloud ^3.88889 ^ ^0 {Tags:["CO.Aec.UpperShotPosition"],Duration:80} -summon area_effect_cloud ^11.66667 ^ ^0 {Tags:["CO.Aec.UpperShotPosition"],Duration:80} -summon area_effect_cloud ^19.44444 ^ ^0 {Tags:["CO.Aec.UpperShotPosition"],Duration:80} -summon area_effect_cloud ^27.22222 ^ ^0 {Tags:["CO.Aec.UpperShotPosition"],Duration:80} -summon area_effect_cloud ^35 ^ ^0 {Tags:["CO.Aec.UpperShotPosition"],Duration:80} +summon area_effect_cloud ^-35 ^ ^0 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^-27.22222 ^ ^0 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^-19.44444 ^ ^0 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^-11.66667 ^ ^0 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^-3.88889 ^ ^0 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^3.88889 ^ ^0 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^11.66667 ^ ^0 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^19.44444 ^ ^0 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^27.22222 ^ ^0 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^35 ^ ^0 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} # 線 1-copy -summon area_effect_cloud ^-35 ^ ^25 {Tags:["CO.Aec.UpperShotPosition"],Duration:80} -summon area_effect_cloud ^-27.22222 ^ ^25 {Tags:["CO.Aec.UpperShotPosition"],Duration:80} -summon area_effect_cloud ^-19.44444 ^ ^25 {Tags:["CO.Aec.UpperShotPosition"],Duration:80} -summon area_effect_cloud ^-11.66667 ^ ^25 {Tags:["CO.Aec.UpperShotPosition"],Duration:80} -summon area_effect_cloud ^-3.88889 ^ ^25 {Tags:["CO.Aec.UpperShotPosition"],Duration:80} -summon area_effect_cloud ^3.88889 ^ ^25 {Tags:["CO.Aec.UpperShotPosition"],Duration:80} -summon area_effect_cloud ^11.66667 ^ ^25 {Tags:["CO.Aec.UpperShotPosition"],Duration:80} -summon area_effect_cloud ^19.44444 ^ ^25 {Tags:["CO.Aec.UpperShotPosition"],Duration:80} -summon area_effect_cloud ^27.22222 ^ ^25 {Tags:["CO.Aec.UpperShotPosition"],Duration:80} -summon area_effect_cloud ^35 ^ ^25 {Tags:["CO.Aec.UpperShotPosition"],Duration:80} +summon area_effect_cloud ^-35 ^ ^25 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^-27.22222 ^ ^25 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^-19.44444 ^ ^25 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^-11.66667 ^ ^25 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^-3.88889 ^ ^25 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^3.88889 ^ ^25 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^11.66667 ^ ^25 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^19.44444 ^ ^25 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^27.22222 ^ ^25 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^35 ^ ^25 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} # 線 1-copy-copy -summon area_effect_cloud ^-35 ^ ^18 {Tags:["CO.Aec.UpperShotPosition"],Duration:80} -summon area_effect_cloud ^-27.22222 ^ ^18 {Tags:["CO.Aec.UpperShotPosition"],Duration:80} -summon area_effect_cloud ^-19.44444 ^ ^18 {Tags:["CO.Aec.UpperShotPosition"],Duration:80} -summon area_effect_cloud ^-11.66667 ^ ^18 {Tags:["CO.Aec.UpperShotPosition"],Duration:80} -summon area_effect_cloud ^-3.88889 ^ ^18 {Tags:["CO.Aec.UpperShotPosition"],Duration:80} -summon area_effect_cloud ^3.88889 ^ ^18 {Tags:["CO.Aec.UpperShotPosition"],Duration:80} -summon area_effect_cloud ^11.66667 ^ ^18 {Tags:["CO.Aec.UpperShotPosition"],Duration:80} -summon area_effect_cloud ^19.44444 ^ ^18 {Tags:["CO.Aec.UpperShotPosition"],Duration:80} -summon area_effect_cloud ^27.22222 ^ ^18 {Tags:["CO.Aec.UpperShotPosition"],Duration:80} -summon area_effect_cloud ^35 ^ ^18 {Tags:["CO.Aec.UpperShotPosition"],Duration:80} +summon area_effect_cloud ^-35 ^ ^18 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^-27.22222 ^ ^18 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^-19.44444 ^ ^18 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^-11.66667 ^ ^18 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^-3.88889 ^ ^18 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^3.88889 ^ ^18 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^11.66667 ^ ^18 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^19.44444 ^ ^18 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^27.22222 ^ ^18 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^35 ^ ^18 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} # 線 1-copy-copy-copy -summon area_effect_cloud ^-35 ^ ^-18 {Tags:["CO.Aec.UpperShotPosition"],Duration:80} -summon area_effect_cloud ^-27.22222 ^ ^-18 {Tags:["CO.Aec.UpperShotPosition"],Duration:80} -summon area_effect_cloud ^-19.44444 ^ ^-18 {Tags:["CO.Aec.UpperShotPosition"],Duration:80} -summon area_effect_cloud ^-11.66667 ^ ^-18 {Tags:["CO.Aec.UpperShotPosition"],Duration:80} -summon area_effect_cloud ^-3.88889 ^ ^-18 {Tags:["CO.Aec.UpperShotPosition"],Duration:80} -summon area_effect_cloud ^3.88889 ^ ^-18 {Tags:["CO.Aec.UpperShotPosition"],Duration:80} -summon area_effect_cloud ^11.66667 ^ ^-18 {Tags:["CO.Aec.UpperShotPosition"],Duration:80} -summon area_effect_cloud ^19.44444 ^ ^-18 {Tags:["CO.Aec.UpperShotPosition"],Duration:80} -summon area_effect_cloud ^27.22222 ^ ^-18 {Tags:["CO.Aec.UpperShotPosition"],Duration:80} -summon area_effect_cloud ^35 ^ ^-18 {Tags:["CO.Aec.UpperShotPosition"],Duration:80} +summon area_effect_cloud ^-35 ^ ^-18 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^-27.22222 ^ ^-18 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^-19.44444 ^ ^-18 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^-11.66667 ^ ^-18 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^-3.88889 ^ ^-18 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^3.88889 ^ ^-18 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^11.66667 ^ ^-18 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^19.44444 ^ ^-18 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^27.22222 ^ ^-18 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^35 ^ ^-18 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} # 線 1-copy-copy -summon area_effect_cloud ^-35 ^ ^-35 {Tags:["CO.Aec.UpperShotPosition"],Duration:80} -summon area_effect_cloud ^-27.22222 ^ ^-35 {Tags:["CO.Aec.UpperShotPosition"],Duration:80} -summon area_effect_cloud ^-19.44444 ^ ^-35 {Tags:["CO.Aec.UpperShotPosition"],Duration:80} -summon area_effect_cloud ^-11.66667 ^ ^-35 {Tags:["CO.Aec.UpperShotPosition"],Duration:80} -summon area_effect_cloud ^-3.88889 ^ ^-35 {Tags:["CO.Aec.UpperShotPosition"],Duration:80} -summon area_effect_cloud ^3.88889 ^ ^-35 {Tags:["CO.Aec.UpperShotPosition"],Duration:80} -summon area_effect_cloud ^11.66667 ^ ^-35 {Tags:["CO.Aec.UpperShotPosition"],Duration:80} -summon area_effect_cloud ^19.44444 ^ ^-35 {Tags:["CO.Aec.UpperShotPosition"],Duration:80} -summon area_effect_cloud ^27.22222 ^ ^-35 {Tags:["CO.Aec.UpperShotPosition"],Duration:80} -summon area_effect_cloud ^35 ^ ^-35 {Tags:["CO.Aec.UpperShotPosition"],Duration:80} +summon area_effect_cloud ^-35 ^ ^-35 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^-27.22222 ^ ^-35 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^-19.44444 ^ ^-35 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^-11.66667 ^ ^-35 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^-3.88889 ^ ^-35 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^3.88889 ^ ^-35 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^11.66667 ^ ^-35 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^19.44444 ^ ^-35 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^27.22222 ^ ^-35 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^35 ^ ^-35 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} # 線 1-copy-copy-copy -summon area_effect_cloud ^-35 ^ ^35 {Tags:["CO.Aec.UpperShotPosition"],Duration:80} -summon area_effect_cloud ^-27.22222 ^ ^35 {Tags:["CO.Aec.UpperShotPosition"],Duration:80} -summon area_effect_cloud ^-19.44444 ^ ^35 {Tags:["CO.Aec.UpperShotPosition"],Duration:80} -summon area_effect_cloud ^-11.66667 ^ ^35 {Tags:["CO.Aec.UpperShotPosition"],Duration:80} -summon area_effect_cloud ^-3.88889 ^ ^35 {Tags:["CO.Aec.UpperShotPosition"],Duration:80} -summon area_effect_cloud ^3.88889 ^ ^35 {Tags:["CO.Aec.UpperShotPosition"],Duration:80} -summon area_effect_cloud ^11.66667 ^ ^35 {Tags:["CO.Aec.UpperShotPosition"],Duration:80} -summon area_effect_cloud ^19.44444 ^ ^35 {Tags:["CO.Aec.UpperShotPosition"],Duration:80} -summon area_effect_cloud ^27.22222 ^ ^35 {Tags:["CO.Aec.UpperShotPosition"],Duration:80} -summon area_effect_cloud ^35 ^ ^35 {Tags:["CO.Aec.UpperShotPosition"],Duration:80} +summon area_effect_cloud ^-35 ^ ^35 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^-27.22222 ^ ^35 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^-19.44444 ^ ^35 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^-11.66667 ^ ^35 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^-3.88889 ^ ^35 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^3.88889 ^ ^35 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^11.66667 ^ ^35 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^19.44444 ^ ^35 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^27.22222 ^ ^35 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^35 ^ ^35 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} # 線 1-copy-copy -summon area_effect_cloud ^-35 ^ ^-25 {Tags:["CO.Aec.UpperShotPosition"],Duration:80} -summon area_effect_cloud ^-27.22222 ^ ^-25 {Tags:["CO.Aec.UpperShotPosition"],Duration:80} -summon area_effect_cloud ^-19.44444 ^ ^-25 {Tags:["CO.Aec.UpperShotPosition"],Duration:80} -summon area_effect_cloud ^-11.66667 ^ ^-25 {Tags:["CO.Aec.UpperShotPosition"],Duration:80} -summon area_effect_cloud ^-3.88889 ^ ^-25 {Tags:["CO.Aec.UpperShotPosition"],Duration:80} -summon area_effect_cloud ^3.88889 ^ ^-25 {Tags:["CO.Aec.UpperShotPosition"],Duration:80} -summon area_effect_cloud ^11.66667 ^ ^-25 {Tags:["CO.Aec.UpperShotPosition"],Duration:80} -summon area_effect_cloud ^19.44444 ^ ^-25 {Tags:["CO.Aec.UpperShotPosition"],Duration:80} -summon area_effect_cloud ^27.22222 ^ ^-25 {Tags:["CO.Aec.UpperShotPosition"],Duration:80} -summon area_effect_cloud ^35 ^ ^-25 {Tags:["CO.Aec.UpperShotPosition"],Duration:80} +summon area_effect_cloud ^-35 ^ ^-25 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^-27.22222 ^ ^-25 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^-19.44444 ^ ^-25 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^-11.66667 ^ ^-25 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^-3.88889 ^ ^-25 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^3.88889 ^ ^-25 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^11.66667 ^ ^-25 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^19.44444 ^ ^-25 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^27.22222 ^ ^-25 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^35 ^ ^-25 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} # 線 1-copy-copy-copy -summon area_effect_cloud ^-35 ^ ^-10 {Tags:["CO.Aec.UpperShotPosition"],Duration:80} -summon area_effect_cloud ^-27.22222 ^ ^-10 {Tags:["CO.Aec.UpperShotPosition"],Duration:80} -summon area_effect_cloud ^-19.44444 ^ ^-10 {Tags:["CO.Aec.UpperShotPosition"],Duration:80} -summon area_effect_cloud ^-11.66667 ^ ^-10 {Tags:["CO.Aec.UpperShotPosition"],Duration:80} -summon area_effect_cloud ^-3.88889 ^ ^-10 {Tags:["CO.Aec.UpperShotPosition"],Duration:80} -summon area_effect_cloud ^3.88889 ^ ^-10 {Tags:["CO.Aec.UpperShotPosition"],Duration:80} -summon area_effect_cloud ^11.66667 ^ ^-10 {Tags:["CO.Aec.UpperShotPosition"],Duration:80} -summon area_effect_cloud ^19.44444 ^ ^-10 {Tags:["CO.Aec.UpperShotPosition"],Duration:80} -summon area_effect_cloud ^27.22222 ^ ^-10 {Tags:["CO.Aec.UpperShotPosition"],Duration:80} -summon area_effect_cloud ^35 ^ ^-10 {Tags:["CO.Aec.UpperShotPosition"],Duration:80} +summon area_effect_cloud ^-35 ^ ^-10 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^-27.22222 ^ ^-10 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^-19.44444 ^ ^-10 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^-11.66667 ^ ^-10 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^-3.88889 ^ ^-10 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^3.88889 ^ ^-10 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^11.66667 ^ ^-10 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^19.44444 ^ ^-10 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^27.22222 ^ ^-10 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^35 ^ ^-10 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} # 線 1-copy-copy-copy-copy -summon area_effect_cloud ^-35 ^ ^10 {Tags:["CO.Aec.UpperShotPosition"],Duration:80} -summon area_effect_cloud ^-27.22222 ^ ^10 {Tags:["CO.Aec.UpperShotPosition"],Duration:80} -summon area_effect_cloud ^-19.44444 ^ ^10 {Tags:["CO.Aec.UpperShotPosition"],Duration:80} -summon area_effect_cloud ^-11.66667 ^ ^10 {Tags:["CO.Aec.UpperShotPosition"],Duration:80} -summon area_effect_cloud ^-3.88889 ^ ^10 {Tags:["CO.Aec.UpperShotPosition"],Duration:80} -summon area_effect_cloud ^3.88889 ^ ^10 {Tags:["CO.Aec.UpperShotPosition"],Duration:80} -summon area_effect_cloud ^11.66667 ^ ^10 {Tags:["CO.Aec.UpperShotPosition"],Duration:80} -summon area_effect_cloud ^19.44444 ^ ^10 {Tags:["CO.Aec.UpperShotPosition"],Duration:80} -summon area_effect_cloud ^27.22222 ^ ^10 {Tags:["CO.Aec.UpperShotPosition"],Duration:80} -summon area_effect_cloud ^35 ^ ^10 {Tags:["CO.Aec.UpperShotPosition"],Duration:80} +summon area_effect_cloud ^-35 ^ ^10 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^-27.22222 ^ ^10 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^-19.44444 ^ ^10 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^-11.66667 ^ ^10 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^-3.88889 ^ ^10 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^3.88889 ^ ^10 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^11.66667 ^ ^10 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^19.44444 ^ ^10 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^27.22222 ^ ^10 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^35 ^ ^10 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} # 数を減らす kill @e[type=area_effect_cloud,tag=CO.Aec.UpperShotPosition,distance=..80,sort=random,limit=15] diff --git a/Asset/data/asset/functions/object/2113.rectangle_announce/init/.mcfunction b/Asset/data/asset/functions/object/2113.rectangle_announce/init/.mcfunction index 043ab50859..0dc506a1e6 100644 --- a/Asset/data/asset/functions/object/2113.rectangle_announce/init/.mcfunction +++ b/Asset/data/asset/functions/object/2113.rectangle_announce/init/.mcfunction @@ -9,3 +9,6 @@ # ToForward:trueなら、this.Scale[1]の半分をthis.translationZへ execute if data storage asset:context this{ToForward:true} store result storage asset:context this.TranslationZ float 0.05 run data get storage asset:context this.Scale[1] 10 + +# ViewRange設定 + execute if data storage asset:context this.ViewRange run data modify entity @s view_range set from storage asset:context this.ViewRange diff --git a/Asset/data/asset/functions/object/2265.field_modify_manager/tick/set_bossbar_name.mcfunction b/Asset/data/asset/functions/object/2265.field_modify_manager/tick/set_bossbar_name.mcfunction index a6eea355b7..2afeb81a70 100644 --- a/Asset/data/asset/functions/object/2265.field_modify_manager/tick/set_bossbar_name.mcfunction +++ b/Asset/data/asset/functions/object/2265.field_modify_manager/tick/set_bossbar_name.mcfunction @@ -7,8 +7,8 @@ # ピリオド scoreboard players add @s 2265.Period 1 execute if score @s 2265.Period matches 30.. run scoreboard players set @s 2265.Period 0 - execute if score @s 2265.Period matches ..9 run data modify storage asset:context this.BossBar.Period set value ['{"text":"."}','{"text":"\\uF005","font":"uniform"}','{"text":"\\uE005","font":"default"}'] - execute if score @s 2265.Period matches 10..19 run data modify storage asset:context this.BossBar.Period set value ['{"text":".."}','{"text":"\\uF002","font":"uniform"}','{"text":"\\uE002","font":"default"}'] + execute if score @s 2265.Period matches ..9 run data modify storage asset:context this.BossBar.Period set value ['{"text":"."}','{"text":"\\uF004","font":"default"}'] + execute if score @s 2265.Period matches 10..19 run data modify storage asset:context this.BossBar.Period set value ['{"text":".."}','{"text":"\\uF002","font":"default"}'] execute if score @s 2265.Period matches 20.. run data modify storage asset:context this.BossBar.Period set value ['{"text":"..."}'] # ボスバー表示 From 417ad95b2066bf2e614379a4ab31eb1657dfa633 Mon Sep 17 00:00:00 2001 From: mokkkk Date: Sun, 15 Mar 2026 18:14:49 +0900 Subject: [PATCH 58/98] =?UTF-8?q?=E5=BE=8C=E5=8D=8A=E3=83=91=E3=82=BF?= =?UTF-8?q?=E3=83=BC=E3=83=B3=E4=B8=80=E9=83=A8=E4=BD=9C=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../tick/act/.mcfunction | 2 +- .../tick/act/phase_1/.mcfunction | 53 ++++++++++++------- .../tick/debug/interrupt.mcfunction | 2 +- .../event/super_jump/event_attack.mcfunction | 2 +- .../tick/set_bossbar_name.mcfunction | 6 +-- 5 files changed, 39 insertions(+), 26 deletions(-) diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/.mcfunction index 310994776c..bb25a2ba34 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/.mcfunction @@ -5,7 +5,7 @@ # @within asset:mob/0456.gargo_ex_machina/tick/** # debug - return 0 + # return 0 # 行動リセット function asset:mob/0456.gargo_ex_machina/tick/util/remove_animation_tag diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/phase_1/.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/phase_1/.mcfunction index 04a0afaebe..46f7327772 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/phase_1/.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/phase_1/.mcfunction @@ -5,59 +5,72 @@ # @within asset:mob/0456.gargo_ex_machina/tick/act/ # 最初に戻る - execute if score @s CO.Counter matches 18.. run scoreboard players set @s CO.Counter 1 + execute if score @s CO.Counter matches 29.. run scoreboard players set @s CO.Counter 18 # 四隅に移動 execute if score @s CO.Counter matches ..1 run function asset:mob/0456.gargo_ex_machina/tick/act/phase_1/move_to_corner - # 剣叩きつけ execute if score @s CO.Counter matches 2 run tag @s add CO.Skill.SwordAttack - # 待機 execute if score @s CO.Counter matches 3 as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run scoreboard players set @s CO.IdleTimer 80 - # ロケットパンチ execute if score @s CO.Counter matches 4 run scoreboard players set @s CO.PreTimer 140 execute if score @s CO.Counter matches 4 run tag @s add CO.Skill.RocketPunch - # スーパージャンプ execute if score @s CO.Counter matches 5 run scoreboard players set @s CO.PreTimer 150 execute if score @s CO.Counter matches 5 run tag @s add CO.Skill.SuperJump - # 中心に移動 execute if score @s CO.Counter matches 6 run function asset:mob/0456.gargo_ex_machina/tick/act/phase_1/move_to_center - # 薙ぎ払いレーザー execute if score @s CO.Counter matches 7 run tag @s add CO.Skill.HalfBeam - # 待機 execute if score @s CO.Counter matches 8 as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run scoreboard players set @s CO.IdleTimer 80 - -# 変形 +# 銃変形 execute if score @s CO.Counter matches 9 run tag @s add CO.Skill.Transform.Shoot - # プレイヤー狙い弾 execute if score @s CO.Counter matches 10 run tag @s add CO.Skill.Shot - # 待機 execute if score @s CO.Counter matches 11 as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run scoreboard players set @s CO.IdleTimer 40 - # 上空射撃 execute if score @s CO.Counter matches 12 run tag @s add CO.Skill.UpperShot - # 待機 execute if score @s CO.Counter matches 13 as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run scoreboard players set @s CO.IdleTimer 60 - -# 変形 +# 剣変形 execute if score @s CO.Counter matches 14 run tag @s add CO.Skill.Transform.Sword - # フィールドモディファイ execute if score @s CO.Counter matches 15 run scoreboard players set @s CO.PreTimer 2 execute if score @s CO.Counter matches 15 run tag @s add CO.Skill.FieldModify - -# スーパージャンプ +# 中央にスーパージャンプ execute if score @s CO.Counter matches 16 run scoreboard players set @s CO.PreTimer 520 + execute if score @s CO.Counter matches 16 at @e[type=marker,tag=CO.CenterPosition,distance=..80,limit=1] run summon area_effect_cloud ^ ^ ^ {Tags:["CO.Aec.Destination"],Duration:80} execute if score @s CO.Counter matches 16 run tag @s add CO.Skill.SuperJump - # 待機 execute if score @s CO.Counter matches 17 as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run scoreboard players set @s CO.IdleTimer 100 + +## 以下ループ +# ロケットパンチ + 剣 + # ロケットパンチ + execute if score @s CO.Counter matches 18 run scoreboard players set @s CO.PreTimer 140 + execute if score @s CO.Counter matches 18 run tag @s add CO.Skill.RocketPunch + # 四隅に移動 + execute if score @s CO.Counter matches 19 run function asset:mob/0456.gargo_ex_machina/tick/act/phase_1/move_to_corner + # 剣叩きつけ + execute if score @s CO.Counter matches 20 run tag @s add CO.Skill.SwordAttack +# 待機 + execute if score @s CO.Counter matches 21 as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run scoreboard players set @s CO.IdleTimer 80 +# 上空射撃 + 通常射撃 + # 中心に移動 + execute if score @s CO.Counter matches 22 run function asset:mob/0456.gargo_ex_machina/tick/act/phase_1/move_to_center + # 銃変形 + execute if score @s CO.Counter matches 23 run tag @s add CO.Skill.Transform.Shoot + # 上空射撃 + execute if score @s CO.Counter matches 24 run tag @s add CO.Skill.UpperShot + # プレイヤー狙い弾 + execute if score @s CO.Counter matches 25 run tag @s add CO.Skill.Shot + # 剣変形 + execute if score @s CO.Counter matches 26 run tag @s add CO.Skill.Transform.Sword + # スーパージャンプ + execute if score @s CO.Counter matches 27 run scoreboard players set @s CO.PreTimer 60 + execute if score @s CO.Counter matches 27 run tag @s add CO.Skill.SuperJump +# 待機 + execute if score @s CO.Counter matches 28 as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run scoreboard players set @s CO.IdleTimer 80 diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/debug/interrupt.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/debug/interrupt.mcfunction index b94e066863..4df7d8c269 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/debug/interrupt.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/debug/interrupt.mcfunction @@ -18,4 +18,4 @@ # execute at @s run tp @e[type=item_display,tag=CO.ModelRoot] ~ ~ ~ ~ 0 # イベント実行 - tag @s add CO.Skill.HalfBeam + tag @s add CO.Skill.FieldModify diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/super_jump/event_attack.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/super_jump/event_attack.mcfunction index c6ba986317..4281d4a239 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/super_jump/event_attack.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/super_jump/event_attack.mcfunction @@ -32,4 +32,4 @@ execute as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run tp @s ~ ~ ~ ~ ~ # 終了 - execute if score @s CO.EventTimer matches 159.. run function asset:mob/0456.gargo_ex_machina/tick/event/super_jump/end + execute if score @s CO.EventTimer matches 139.. run function asset:mob/0456.gargo_ex_machina/tick/event/super_jump/end diff --git a/Asset/data/asset/functions/object/2265.field_modify_manager/tick/set_bossbar_name.mcfunction b/Asset/data/asset/functions/object/2265.field_modify_manager/tick/set_bossbar_name.mcfunction index 2afeb81a70..d011ca83e1 100644 --- a/Asset/data/asset/functions/object/2265.field_modify_manager/tick/set_bossbar_name.mcfunction +++ b/Asset/data/asset/functions/object/2265.field_modify_manager/tick/set_bossbar_name.mcfunction @@ -7,9 +7,9 @@ # ピリオド scoreboard players add @s 2265.Period 1 execute if score @s 2265.Period matches 30.. run scoreboard players set @s 2265.Period 0 - execute if score @s 2265.Period matches ..9 run data modify storage asset:context this.BossBar.Period set value ['{"text":"."}','{"text":"\\uF004","font":"default"}'] - execute if score @s 2265.Period matches 10..19 run data modify storage asset:context this.BossBar.Period set value ['{"text":".."}','{"text":"\\uF002","font":"default"}'] - execute if score @s 2265.Period matches 20.. run data modify storage asset:context this.BossBar.Period set value ['{"text":"..."}'] + execute if score @s 2265.Period matches ..9 run data modify storage asset:context this.BossBar.Period set value ['{"text":".","bold": false}','{"text":"\\uF004\\uE004","bold": false}}'] + execute if score @s 2265.Period matches 10..19 run data modify storage asset:context this.BossBar.Period set value ['{"text":"..","bold": false}','{"text":"\\uF004\\uE004","bold": false}}'] + execute if score @s 2265.Period matches 20.. run data modify storage asset:context this.BossBar.Period set value ['{"text":"...","bold": false}'] # ボスバー表示 bossbar set asset:co_field_modify name [{"text":"> FIELD MODIFY PROCEEDING","color": "white","bold": true},{"storage":"asset:context","nbt":"this.BossBar.Period[]","interpret":true,"separator":""},{"text":" ","color": "white","bold": true},{"storage":"asset:context","nbt":"this.BossBar.Color[]","interpret":true,"separator":" "}] From 1ba331e10a0f6c06cfe7d9623b594c6360d8ef63 Mon Sep 17 00:00:00 2001 From: mokkkk Date: Sun, 15 Mar 2026 18:49:09 +0900 Subject: [PATCH 59/98] =?UTF-8?q?=E8=89=B2=E5=BA=8A=E3=81=AEBossbar?= =?UTF-8?q?=E3=81=AE=E3=83=95=E3=82=A9=E3=83=B3=E3=83=88=E9=81=A9=E7=94=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../0456.gargo_ex_machina/_index.d.mcfunction | 2 ++ .../tick/act/.mcfunction | 2 +- .../tick/act/phase_1/.mcfunction | 2 ++ .../tick/event/.mcfunction | 2 +- .../field_modify/summon_manager.mcfunction | 2 +- .../tick/event/rocket_punch/.mcfunction | 1 + .../tick/event/rocket_punch/end.mcfunction | 1 + .../event/rocket_punch/summon_aec.mcfunction | 19 +++++++++++-------- .../init/decide_color_loop.mcfunction | 10 +++++----- .../tick/attack.mcfunction | 1 + .../tick/set_bossbar_color.m.mcfunction | 2 +- .../tick/set_bossbar_name.mcfunction | 8 ++++---- 12 files changed, 31 insertions(+), 21 deletions(-) diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/_index.d.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/_index.d.mcfunction index 91dbab090a..a94906d4e0 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/_index.d.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/_index.d.mcfunction @@ -36,6 +36,7 @@ #declare tag CO.Skill.Transform.Shoot 銃変形 #declare tag CO.Skill.Transform.Sword 剣変形 #declare tag CO.Skill.RocketPunch ロケットパンチ + #declare tag CO.Skill.RocketPunch.Cross 交差ロケットパンチ #declare tag CO.Skill.Shot 射撃 #declare tag CO.Skill.UpperShot 上空射撃 #declare tag CO.UpperShot.Asyuc 上空射撃攻撃判定用 @@ -55,6 +56,7 @@ #declare tag CO.Temp.Rotation #declare tag CO.Aec.Destination #declare tag CO.Aec.AttackPosition + #declare tag CO.Aec.AttackPosition.Init #declare tag CO.Aec.UpperShotPosition #declare tag CO.Aec.FieldModify #declare tag CO.Aec.FieldModify.Init diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/.mcfunction index bb25a2ba34..310994776c 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/.mcfunction @@ -5,7 +5,7 @@ # @within asset:mob/0456.gargo_ex_machina/tick/** # debug - # return 0 + return 0 # 行動リセット function asset:mob/0456.gargo_ex_machina/tick/util/remove_animation_tag diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/phase_1/.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/phase_1/.mcfunction index 46f7327772..7d33b716ca 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/phase_1/.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/phase_1/.mcfunction @@ -74,3 +74,5 @@ execute if score @s CO.Counter matches 27 run tag @s add CO.Skill.SuperJump # 待機 execute if score @s CO.Counter matches 28 as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run scoreboard players set @s CO.IdleTimer 80 +# 交差ロケットパンチ + execute if score @s CO.Counter matches 29 run tag @s add CO.Skill.RocketPunch.Cross diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/.mcfunction index 495f41ec84..4f3c6c9a0a 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/.mcfunction @@ -46,7 +46,7 @@ # フィールド・モディファイ execute if entity @s[tag=CO.Skill.FieldModify] run function asset:mob/0456.gargo_ex_machina/tick/event/field_modify/event_start -# 射撃 +# ロケットパンチ execute if entity @s[tag=CO.Skill.RocketPunch] run function asset:mob/0456.gargo_ex_machina/tick/event/rocket_punch/ # 射撃 diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/field_modify/summon_manager.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/field_modify/summon_manager.mcfunction index 2a6553e633..0eed491fd8 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/field_modify/summon_manager.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/field_modify/summon_manager.mcfunction @@ -6,7 +6,7 @@ # マネージャー召喚 data modify storage api: Argument.ID set value 2265 - data modify storage api: Argument.FieldOverride.AttackCount set value 1 + data modify storage api: Argument.FieldOverride.AttackCount set value 4 execute if score @s CO.PreTimer matches 1.. store result storage api: Argument.FieldOverride.AttackCount int 1 run scoreboard players get @s CO.PreTimer data modify storage api: Argument.FieldOverride.Damage set from storage asset:context this.Damage.FieldModify execute store result storage api: Argument.FieldOverride.UUID int 1 run scoreboard players get @s MobUUID diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/rocket_punch/.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/rocket_punch/.mcfunction index 671978b847..8d8374d0cb 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/rocket_punch/.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/rocket_punch/.mcfunction @@ -19,6 +19,7 @@ execute as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run tp @s ~ ~ ~ ~ ~ # 攻撃位置決定 execute if score @s CO.EventTimer matches 14 at @e[type=marker,tag=CO.CenterPosition,distance=..80,limit=1] positioned ^ ^ ^35 rotated ~180 0 run function asset:mob/0456.gargo_ex_machina/tick/event/rocket_punch/summon_aec + execute if entity @s[tag=CO.Skill.RocketPunch.Cross] if score @s CO.EventTimer matches 14 at @e[type=marker,tag=CO.CenterPosition,distance=..80,limit=1] rotated ~90 ~ positioned ^ ^ ^35 rotated ~180 0 run function asset:mob/0456.gargo_ex_machina/tick/event/rocket_punch/summon_aec # 召喚 execute if score @s CO.EventTimer matches 14.. at @e[type=area_effect_cloud,tag=CO.Aec.AttackPosition,distance=..80,sort=random,limit=1] run function asset:mob/0456.gargo_ex_machina/tick/event/rocket_punch/summon_punch execute if score @s CO.EventTimer matches 40 run kill @e[type=area_effect_cloud,tag=CO.Aec.AttackPosition,distance=..80] diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/rocket_punch/end.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/rocket_punch/end.mcfunction index 442b187f10..251879fcbd 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/rocket_punch/end.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/rocket_punch/end.mcfunction @@ -7,6 +7,7 @@ # タグ消去 scoreboard players set @s CO.EventTimer 0 tag @s remove CO.Skill.RocketPunch + tag @s remove CO.Skill.RocketPunch.Cross scoreboard players reset @s CO.PreTimer # 待機モーション再生 diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/rocket_punch/summon_aec.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/rocket_punch/summon_aec.mcfunction index 15107e548e..5d72e1fbe4 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/rocket_punch/summon_aec.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/rocket_punch/summon_aec.mcfunction @@ -6,15 +6,18 @@ # [ImportKey]: NobwRALgngDgpmAXGANgSwHYIDRgK55oAmSYRA7ACzkCGNATAGwC0ArAMb3vOUCcADAGZmNOERrN+tIgCM4-fpXqywuDDQC2CZIC3fAAQBGVWBg0ATpoDOScOwD2eDBCSNcAMzN2NNsADcaKHja4AAeSMz0rLhQSPwAvnG4EHY+-oHBYGGIkdGxCbh2bm6WcM6I-LhyAF5ocGaxuGiWAEJwNXUAogCOeAEoUADKpuxiSG4BJQkAukA_3 # 線 1 -summon area_effect_cloud ^-25 ^ ^0 {Tags:["CO.Aec.AttackPosition"],Duration:80} -summon area_effect_cloud ^-15 ^ ^0 {Tags:["CO.Aec.AttackPosition"],Duration:80} -summon area_effect_cloud ^-5 ^ ^0 {Tags:["CO.Aec.AttackPosition"],Duration:80} -summon area_effect_cloud ^5 ^ ^0 {Tags:["CO.Aec.AttackPosition"],Duration:80} -summon area_effect_cloud ^15 ^ ^0 {Tags:["CO.Aec.AttackPosition"],Duration:80} -summon area_effect_cloud ^25 ^ ^0 {Tags:["CO.Aec.AttackPosition"],Duration:80} +summon area_effect_cloud ^-25 ^ ^0 {Tags:["CO.Aec.AttackPosition","CO.Aec.AttackPosition.Init"],Duration:80} +summon area_effect_cloud ^-15 ^ ^0 {Tags:["CO.Aec.AttackPosition","CO.Aec.AttackPosition.Init"],Duration:80} +summon area_effect_cloud ^-5 ^ ^0 {Tags:["CO.Aec.AttackPosition","CO.Aec.AttackPosition.Init"],Duration:80} +summon area_effect_cloud ^5 ^ ^0 {Tags:["CO.Aec.AttackPosition","CO.Aec.AttackPosition.Init"],Duration:80} +summon area_effect_cloud ^15 ^ ^0 {Tags:["CO.Aec.AttackPosition","CO.Aec.AttackPosition.Init"],Duration:80} +summon area_effect_cloud ^25 ^ ^0 {Tags:["CO.Aec.AttackPosition","CO.Aec.AttackPosition.Init"],Duration:80} # 数を減らす - kill @e[type=area_effect_cloud,tag=CO.Aec.AttackPosition,distance=..80,sort=random,limit=1] + kill @e[type=area_effect_cloud,tag=CO.Aec.AttackPosition,tag=CO.Aec.AttackPosition.Init,distance=..80,sort=random,limit=1] # 回転 - execute as @e[type=area_effect_cloud,tag=CO.Aec.AttackPosition,distance=..80] positioned as @s run tp @s ~ ~ ~ ~ ~ + execute as @e[type=area_effect_cloud,tag=CO.Aec.AttackPosition,tag=CO.Aec.AttackPosition.Init,distance=..80] positioned as @s run tp @s ~ ~ ~ ~ ~ + +# 終了 + tag @e[type=area_effect_cloud,tag=CO.Aec.AttackPosition,tag=CO.Aec.AttackPosition.Init,distance=..80] remove CO.Aec.AttackPosition.Init diff --git a/Asset/data/asset/functions/object/2265.field_modify_manager/init/decide_color_loop.mcfunction b/Asset/data/asset/functions/object/2265.field_modify_manager/init/decide_color_loop.mcfunction index 3cab9b8f98..5ead5362f7 100644 --- a/Asset/data/asset/functions/object/2265.field_modify_manager/init/decide_color_loop.mcfunction +++ b/Asset/data/asset/functions/object/2265.field_modify_manager/init/decide_color_loop.mcfunction @@ -15,12 +15,12 @@ execute if entity @e[type=area_effect_cloud,tag=2265.Aec.Target,tag=2265.Aec.Blue,distance=..10,limit=1] run data modify storage asset:context this.Target append value 1 execute if entity @e[type=area_effect_cloud,tag=2265.Aec.Target,tag=2265.Aec.Green,distance=..10,limit=1] run data modify storage asset:context this.Target append value 2 execute if entity @e[type=area_effect_cloud,tag=2265.Aec.Target,tag=2265.Aec.Yellow,distance=..10,limit=1] run data modify storage asset:context this.Target append value 3 - execute if entity @e[type=area_effect_cloud,tag=2265.Aec.Target,tag=2265.Aec.Red,distance=..10,limit=1] run data modify storage asset:context this.BossBar.Color append value '{"text":"■","color":"#FF61DF"}' - execute if entity @e[type=area_effect_cloud,tag=2265.Aec.Target,tag=2265.Aec.Blue,distance=..10,limit=1] run data modify storage asset:context this.BossBar.Color append value '{"text":"■","color":"#5C7CFF"}' - execute if entity @e[type=area_effect_cloud,tag=2265.Aec.Target,tag=2265.Aec.Green,distance=..10,limit=1] run data modify storage asset:context this.BossBar.Color append value '{"text":"■","color":"#6FFF59"}' - execute if entity @e[type=area_effect_cloud,tag=2265.Aec.Target,tag=2265.Aec.Yellow,distance=..10,limit=1] run data modify storage asset:context this.BossBar.Color append value '{"text":"■","color":"#FFAC59"}' + execute if entity @e[type=area_effect_cloud,tag=2265.Aec.Target,tag=2265.Aec.Red,distance=..10,limit=1] run data modify storage asset:context this.BossBar.Color append value '{"text":"0","color":"#FF61DF","font":"mob/456/modify","bold":false}' + execute if entity @e[type=area_effect_cloud,tag=2265.Aec.Target,tag=2265.Aec.Blue,distance=..10,limit=1] run data modify storage asset:context this.BossBar.Color append value '{"text":"1","color":"#5C7CFF","font":"mob/456/modify","bold":false}' + execute if entity @e[type=area_effect_cloud,tag=2265.Aec.Target,tag=2265.Aec.Green,distance=..10,limit=1] run data modify storage asset:context this.BossBar.Color append value '{"text":"2","color":"#6FFF59","font":"mob/456/modify","bold":false}' + execute if entity @e[type=area_effect_cloud,tag=2265.Aec.Target,tag=2265.Aec.Yellow,distance=..10,limit=1] run data modify storage asset:context this.BossBar.Color append value '{"text":"3","color":"#FFAC59","font":"mob/456/modify","bold":false}' kill @e[type=area_effect_cloud,tag=2265.Aec.Target,distance=..10] # 繰り返す - execute if score $Temp.Count 2265.AttackCount matches 1.. run data modify storage asset:context this.BossBar.Color append value '{"text":"→","color":"white"}' + execute if score $Temp.Count 2265.AttackCount matches 1.. run data modify storage asset:context this.BossBar.Color append value '{"text":"→","color":"white","font":"default","bold":false}' execute if score $Temp.Count 2265.AttackCount matches 1.. run function asset:object/2265.field_modify_manager/init/decide_color_loop diff --git a/Asset/data/asset/functions/object/2265.field_modify_manager/tick/attack.mcfunction b/Asset/data/asset/functions/object/2265.field_modify_manager/tick/attack.mcfunction index 0fe1bf318c..d86efa4294 100644 --- a/Asset/data/asset/functions/object/2265.field_modify_manager/tick/attack.mcfunction +++ b/Asset/data/asset/functions/object/2265.field_modify_manager/tick/attack.mcfunction @@ -32,6 +32,7 @@ scoreboard players set @s 2265.Progress.Current 0 # Bossbar変更 + data modify storage asset:context this.Text set from storage asset:context this.Target[0] execute store result storage asset:context this.Index int 1 run scoreboard players get @s 2265.AttackCount.Inc function asset:object/2265.field_modify_manager/tick/set_bossbar_color.m with storage asset:context this scoreboard players add @s 2265.AttackCount.Inc 2 diff --git a/Asset/data/asset/functions/object/2265.field_modify_manager/tick/set_bossbar_color.m.mcfunction b/Asset/data/asset/functions/object/2265.field_modify_manager/tick/set_bossbar_color.m.mcfunction index 619feb81b6..4c72ae6c79 100644 --- a/Asset/data/asset/functions/object/2265.field_modify_manager/tick/set_bossbar_color.m.mcfunction +++ b/Asset/data/asset/functions/object/2265.field_modify_manager/tick/set_bossbar_color.m.mcfunction @@ -5,4 +5,4 @@ # @within asset:object/2265.field_modify_manager/tick/attack # - $data modify storage asset:context this.BossBar.Color[$(Index)] set value '{"text":"■","color":"#5E5E5E"}' + $data modify storage asset:context this.BossBar.Color[$(Index)] set value '{"text":"$(Text)","color":"#5E5E5E","font":"mob/456/modify","bold":false}' diff --git a/Asset/data/asset/functions/object/2265.field_modify_manager/tick/set_bossbar_name.mcfunction b/Asset/data/asset/functions/object/2265.field_modify_manager/tick/set_bossbar_name.mcfunction index d011ca83e1..19fa11b992 100644 --- a/Asset/data/asset/functions/object/2265.field_modify_manager/tick/set_bossbar_name.mcfunction +++ b/Asset/data/asset/functions/object/2265.field_modify_manager/tick/set_bossbar_name.mcfunction @@ -7,9 +7,9 @@ # ピリオド scoreboard players add @s 2265.Period 1 execute if score @s 2265.Period matches 30.. run scoreboard players set @s 2265.Period 0 - execute if score @s 2265.Period matches ..9 run data modify storage asset:context this.BossBar.Period set value ['{"text":".","bold": false}','{"text":"\\uF004\\uE004","bold": false}}'] - execute if score @s 2265.Period matches 10..19 run data modify storage asset:context this.BossBar.Period set value ['{"text":"..","bold": false}','{"text":"\\uF004\\uE004","bold": false}}'] - execute if score @s 2265.Period matches 20.. run data modify storage asset:context this.BossBar.Period set value ['{"text":"...","bold": false}'] - + execute if score @s 2265.Period matches ..9 run data modify storage asset:context this.BossBar.Period set value ['{"text":"ac","font":"mob/456/modify","bold":false}'] + execute if score @s 2265.Period matches 10..19 run data modify storage asset:context this.BossBar.Period set value ['{"text":"bc","font":"mob/456/modify","bold":false}'] + execute if score @s 2265.Period matches 20.. run data modify storage asset:context this.BossBar.Period set value ['{"text":"ba","font":"mob/456/modify","bold":false}'] + # ボスバー表示 bossbar set asset:co_field_modify name [{"text":"> FIELD MODIFY PROCEEDING","color": "white","bold": true},{"storage":"asset:context","nbt":"this.BossBar.Period[]","interpret":true,"separator":""},{"text":" ","color": "white","bold": true},{"storage":"asset:context","nbt":"this.BossBar.Color[]","interpret":true,"separator":" "}] From fba4238ff922e22fba20755f8648fabb125f87ed Mon Sep 17 00:00:00 2001 From: mokkkk Date: Sun, 15 Mar 2026 19:00:23 +0900 Subject: [PATCH 60/98] =?UTF-8?q?bossbar=E3=81=AEspace=E3=83=95=E3=82=A9?= =?UTF-8?q?=E3=83=B3=E3=83=88=E8=AA=BF=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../0456.gargo_ex_machina/tick/act/phase_1/.mcfunction | 6 +++++- .../tick/set_bossbar_name.mcfunction | 8 ++++---- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/phase_1/.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/phase_1/.mcfunction index 7d33b716ca..f8e37474e4 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/phase_1/.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/phase_1/.mcfunction @@ -5,7 +5,7 @@ # @within asset:mob/0456.gargo_ex_machina/tick/act/ # 最初に戻る - execute if score @s CO.Counter matches 29.. run scoreboard players set @s CO.Counter 18 + execute if score @s CO.Counter matches 31.. run scoreboard players set @s CO.Counter 18 # 四隅に移動 execute if score @s CO.Counter matches ..1 run function asset:mob/0456.gargo_ex_machina/tick/act/phase_1/move_to_corner @@ -76,3 +76,7 @@ execute if score @s CO.Counter matches 28 as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run scoreboard players set @s CO.IdleTimer 80 # 交差ロケットパンチ execute if score @s CO.Counter matches 29 run tag @s add CO.Skill.RocketPunch.Cross + execute if score @s CO.Counter matches 29 run scoreboard players set @s CO.PreTimer 140 + execute if score @s CO.Counter matches 29 run tag @s add CO.Skill.RocketPunch +# 待機 + execute if score @s CO.Counter matches 30 as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run scoreboard players set @s CO.IdleTimer 80 diff --git a/Asset/data/asset/functions/object/2265.field_modify_manager/tick/set_bossbar_name.mcfunction b/Asset/data/asset/functions/object/2265.field_modify_manager/tick/set_bossbar_name.mcfunction index 19fa11b992..c16946837a 100644 --- a/Asset/data/asset/functions/object/2265.field_modify_manager/tick/set_bossbar_name.mcfunction +++ b/Asset/data/asset/functions/object/2265.field_modify_manager/tick/set_bossbar_name.mcfunction @@ -7,9 +7,9 @@ # ピリオド scoreboard players add @s 2265.Period 1 execute if score @s 2265.Period matches 30.. run scoreboard players set @s 2265.Period 0 - execute if score @s 2265.Period matches ..9 run data modify storage asset:context this.BossBar.Period set value ['{"text":"ac","font":"mob/456/modify","bold":false}'] - execute if score @s 2265.Period matches 10..19 run data modify storage asset:context this.BossBar.Period set value ['{"text":"bc","font":"mob/456/modify","bold":false}'] - execute if score @s 2265.Period matches 20.. run data modify storage asset:context this.BossBar.Period set value ['{"text":"ba","font":"mob/456/modify","bold":false}'] - + execute if score @s 2265.Period matches ..9 run data modify storage asset:context this.BossBar.Period set value ['{"text":".","bold":false}','{"text":"\\uE004","font":"uniform","bold":false}'] + execute if score @s 2265.Period matches 10..19 run data modify storage asset:context this.BossBar.Period set value ['{"text":"..","bold":false}','{"text":"\\uE002","font":"uniform","bold":false}'] + execute if score @s 2265.Period matches 20.. run data modify storage asset:context this.BossBar.Period set value ['{"text":"...","bold":false}'] + # ボスバー表示 bossbar set asset:co_field_modify name [{"text":"> FIELD MODIFY PROCEEDING","color": "white","bold": true},{"storage":"asset:context","nbt":"this.BossBar.Period[]","interpret":true,"separator":""},{"text":" ","color": "white","bold": true},{"storage":"asset:context","nbt":"this.BossBar.Color[]","interpret":true,"separator":" "}] From b2e8bdbe33f44f77bc76e6131ef851afa85df2a9 Mon Sep 17 00:00:00 2001 From: mokkkk Date: Tue, 17 Mar 2026 22:34:50 +0900 Subject: [PATCH 61/98] =?UTF-8?q?=E3=83=95=E3=82=A3=E3=83=BC=E3=83=AB?= =?UTF-8?q?=E3=83=89=E3=83=A2=E3=83=87=E3=82=A3=E3=83=95=E3=82=A1=E3=82=A4?= =?UTF-8?q?=E3=81=AE=E8=89=B2=E9=85=8D=E7=BD=AE=E6=96=B9=E6=B3=95=E3=82=92?= =?UTF-8?q?=E5=A4=89=E6=9B=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../0456.gargo_ex_machina/_index.d.mcfunction | 4 ++ .../tick/act/.mcfunction | 2 +- .../tick/act/phase_1/.mcfunction | 48 +++++++++++++++---- .../phase_1/field_modify_square.mcfunction | 27 +++++++++++ .../event/field_modify/event_start.mcfunction | 4 +- .../field_modify/summon_field.m.mcfunction | 14 ------ .../field_modify/summon_field.mcfunction | 20 ++++++++ .../summon_field_init.m.mcfunction | 9 ++++ .../summon_field_start.mcfunction | 11 ++--- .../tick/set_bossbar_name.mcfunction | 6 +-- 10 files changed, 109 insertions(+), 36 deletions(-) create mode 100644 Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/phase_1/field_modify_square.mcfunction delete mode 100644 Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/field_modify/summon_field.m.mcfunction create mode 100644 Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/field_modify/summon_field.mcfunction create mode 100644 Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/field_modify/summon_field_init.m.mcfunction diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/_index.d.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/_index.d.mcfunction index a94906d4e0..3db051532d 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/_index.d.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/_index.d.mcfunction @@ -59,6 +59,10 @@ #declare tag CO.Aec.AttackPosition.Init #declare tag CO.Aec.UpperShotPosition #declare tag CO.Aec.FieldModify + #declare tag CO.Aec.FieldModify.A + #declare tag CO.Aec.FieldModify.B + #declare tag CO.Aec.FieldModify.C + #declare tag CO.Aec.FieldModify.D #declare tag CO.Aec.FieldModify.Init #declare tag CO.Temp.Ground #declare tag CO.Temp.Dummy diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/.mcfunction index 310994776c..bb25a2ba34 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/.mcfunction @@ -5,7 +5,7 @@ # @within asset:mob/0456.gargo_ex_machina/tick/** # debug - return 0 + # return 0 # 行動リセット function asset:mob/0456.gargo_ex_machina/tick/util/remove_animation_tag diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/phase_1/.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/phase_1/.mcfunction index f8e37474e4..a8e9a6544b 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/phase_1/.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/phase_1/.mcfunction @@ -5,7 +5,7 @@ # @within asset:mob/0456.gargo_ex_machina/tick/act/ # 最初に戻る - execute if score @s CO.Counter matches 31.. run scoreboard players set @s CO.Counter 18 + execute if score @s CO.Counter matches 40.. run scoreboard players set @s CO.Counter 18 # 四隅に移動 execute if score @s CO.Counter matches ..1 run function asset:mob/0456.gargo_ex_machina/tick/act/phase_1/move_to_corner @@ -67,16 +67,44 @@ execute if score @s CO.Counter matches 24 run tag @s add CO.Skill.UpperShot # プレイヤー狙い弾 execute if score @s CO.Counter matches 25 run tag @s add CO.Skill.Shot +# 待機 + execute if score @s CO.Counter matches 26 as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run scoreboard players set @s CO.IdleTimer 120 +# 交差ロケットパンチ # 剣変形 - execute if score @s CO.Counter matches 26 run tag @s add CO.Skill.Transform.Sword + execute if score @s CO.Counter matches 27 run tag @s add CO.Skill.Transform.Sword + # 1回目 + execute if score @s CO.Counter matches 28 run tag @s add CO.Skill.RocketPunch.Cross + execute if score @s CO.Counter matches 28 run scoreboard players set @s CO.PreTimer 180 + execute if score @s CO.Counter matches 28 run tag @s add CO.Skill.RocketPunch + # 待機 + execute if score @s CO.Counter matches 29 as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run scoreboard players set @s CO.IdleTimer 40 + # 2回目 + execute if score @s CO.Counter matches 30 as @e[type=marker,tag=CO.CenterPosition,distance=..80,limit=1] at @s run tp @s ~ ~ ~ ~180 0 + execute if score @s CO.Counter matches 30 run tag @s add CO.Skill.RocketPunch.Cross + execute if score @s CO.Counter matches 30 run scoreboard players set @s CO.PreTimer 280 + execute if score @s CO.Counter matches 30 run tag @s add CO.Skill.RocketPunch # スーパージャンプ - execute if score @s CO.Counter matches 27 run scoreboard players set @s CO.PreTimer 60 - execute if score @s CO.Counter matches 27 run tag @s add CO.Skill.SuperJump + execute if score @s CO.Counter matches 31 run scoreboard players set @s CO.PreTimer 240 + execute if score @s CO.Counter matches 31 run tag @s add CO.Skill.SuperJump # 待機 - execute if score @s CO.Counter matches 28 as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run scoreboard players set @s CO.IdleTimer 80 -# 交差ロケットパンチ - execute if score @s CO.Counter matches 29 run tag @s add CO.Skill.RocketPunch.Cross - execute if score @s CO.Counter matches 29 run scoreboard players set @s CO.PreTimer 140 - execute if score @s CO.Counter matches 29 run tag @s add CO.Skill.RocketPunch + execute if score @s CO.Counter matches 32 as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run scoreboard players set @s CO.IdleTimer 80 +# 中心に移動 + execute if score @s CO.Counter matches 33 run function asset:mob/0456.gargo_ex_machina/tick/act/phase_1/move_to_center +# 薙ぎ払いレーザー + execute if score @s CO.Counter matches 34 run tag @s add CO.Skill.HalfBeam +# モディファイ + 連続ジャンプ + # フィールドモディファイ + execute if score @s CO.Counter matches 35 as @e[type=marker,tag=CO.CenterPosition,distance=..80,limit=1] at @s positioned ~ ~-0.499 ~ rotated 0 0 run function asset:mob/0456.gargo_ex_machina/tick/act/phase_1/field_modify_square + execute if score @s CO.Counter matches 35 run scoreboard players set @s CO.PreTimer 2 + execute if score @s CO.Counter matches 35 run tag @s add CO.Skill.FieldModify + # スーパージャンプ + execute if score @s CO.Counter matches 36 run scoreboard players set @s CO.PreTimer 40 + execute if score @s CO.Counter matches 36 run tag @s add CO.Skill.SuperJump + execute if score @s CO.Counter matches 37 run scoreboard players set @s CO.PreTimer 40 + execute if score @s CO.Counter matches 37 run tag @s add CO.Skill.SuperJump + execute if score @s CO.Counter matches 38 run scoreboard players set @s CO.PreTimer 40 + execute if score @s CO.Counter matches 38 run tag @s add CO.Skill.SuperJump + execute if score @s CO.Counter matches 38 run scoreboard players set @s CO.PreTimer 40 + execute if score @s CO.Counter matches 38 run tag @s add CO.Skill.SuperJump # 待機 - execute if score @s CO.Counter matches 30 as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run scoreboard players set @s CO.IdleTimer 80 + execute if score @s CO.Counter matches 39 as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run scoreboard players set @s CO.IdleTimer 160 diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/phase_1/field_modify_square.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/phase_1/field_modify_square.mcfunction new file mode 100644 index 0000000000..263989c051 --- /dev/null +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/phase_1/field_modify_square.mcfunction @@ -0,0 +1,27 @@ +#> asset:mob/0456.gargo_ex_machina/tick/act/phase_1/field_modify_square +# +# フィールド・モディファイ +# +# @within asset:mob/0456.gargo_ex_machina/tick/act/phase_1/ + +# 位置決定用AEC召喚 + # A + summon area_effect_cloud ^22.5 ^ ^7.5 {Tags:["CO.Aec.FieldModify","CO.Aec.FieldModify.A"],Duration:80} + summon area_effect_cloud ^7.5 ^ ^7.5 {Tags:["CO.Aec.FieldModify","CO.Aec.FieldModify.A"],Duration:80} + summon area_effect_cloud ^7.5 ^ ^22.5 {Tags:["CO.Aec.FieldModify","CO.Aec.FieldModify.A"],Duration:80} + summon area_effect_cloud ^22.5 ^ ^22.5 {Tags:["CO.Aec.FieldModify","CO.Aec.FieldModify.A"],Duration:80} + # B + summon area_effect_cloud ^-22.5 ^ ^7.5 {Tags:["CO.Aec.FieldModify","CO.Aec.FieldModify.B"],Duration:80} + summon area_effect_cloud ^-7.5 ^ ^7.5 {Tags:["CO.Aec.FieldModify","CO.Aec.FieldModify.B"],Duration:80} + summon area_effect_cloud ^-22.5 ^ ^22.5 {Tags:["CO.Aec.FieldModify","CO.Aec.FieldModify.B"],Duration:80} + summon area_effect_cloud ^-7.5 ^ ^22.5 {Tags:["CO.Aec.FieldModify","CO.Aec.FieldModify.B"],Duration:80} + # C + summon area_effect_cloud ^7.5 ^ ^-7.5 {Tags:["CO.Aec.FieldModify","CO.Aec.FieldModify.C"],Duration:80} + summon area_effect_cloud ^22.5 ^ ^-7.5 {Tags:["CO.Aec.FieldModify","CO.Aec.FieldModify.C"],Duration:80} + summon area_effect_cloud ^7.5 ^ ^-22.5 {Tags:["CO.Aec.FieldModify","CO.Aec.FieldModify.C"],Duration:80} + summon area_effect_cloud ^22.5 ^ ^-22.5 {Tags:["CO.Aec.FieldModify","CO.Aec.FieldModify.C"],Duration:80} + # D + summon area_effect_cloud ^-22.5 ^ ^-7.5 {Tags:["CO.Aec.FieldModify","CO.Aec.FieldModify.D"],Duration:80} + summon area_effect_cloud ^-7.5 ^ ^-7.5 {Tags:["CO.Aec.FieldModify","CO.Aec.FieldModify.D"],Duration:80} + summon area_effect_cloud ^-22.5 ^ ^-22.5 {Tags:["CO.Aec.FieldModify","CO.Aec.FieldModify.D"],Duration:80} + summon area_effect_cloud ^-7.5 ^ ^-22.5 {Tags:["CO.Aec.FieldModify","CO.Aec.FieldModify.D"],Duration:80} diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/field_modify/event_start.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/field_modify/event_start.mcfunction index f255f4ee7d..d38d5d4586 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/field_modify/event_start.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/field_modify/event_start.mcfunction @@ -26,7 +26,9 @@ execute as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run tp @s ~ ~ ~ ~ ~ # 召喚 execute if score @s CO.EventTimer matches 25 run function asset:mob/0456.gargo_ex_machina/tick/event/field_modify/summon_manager - execute if score @s CO.EventTimer matches 22 positioned as @e[type=marker,tag=CO.CenterPosition,sort=nearest,limit=1] positioned ~ ~-0.499 ~ rotated 0 0 run function asset:mob/0456.gargo_ex_machina/tick/event/field_modify/summon_field_start + # 床召喚位置が配置されていない場合、ランダム配置 + execute if score @s CO.EventTimer matches 22 unless entity @e[type=area_effect_cloud,tag=CO.Aec.FieldModify,distance=..80] positioned as @e[type=marker,tag=CO.CenterPosition,distance=..80,sort=nearest,limit=1] positioned ~ ~-0.499 ~ rotated 0 0 run function asset:mob/0456.gargo_ex_machina/tick/event/field_modify/summon_field_start + execute if score @s CO.EventTimer matches 22 as @e[type=area_effect_cloud,tag=CO.Aec.FieldModify,distance=..80] at @s run function asset:mob/0456.gargo_ex_machina/tick/event/field_modify/summon_field # 終了 execute if score @s CO.EventTimer matches 65.. run function asset:mob/0456.gargo_ex_machina/tick/event/field_modify/end diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/field_modify/summon_field.m.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/field_modify/summon_field.m.mcfunction deleted file mode 100644 index 215812d02d..0000000000 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/field_modify/summon_field.m.mcfunction +++ /dev/null @@ -1,14 +0,0 @@ -#> asset:mob/0456.gargo_ex_machina/tick/event/field_modify/summon_field.m -# -# フィールド・モディファイ -# -# @within asset:mob/0456.gargo_ex_machina/tick/event/field_modify/summon_field_start - -# マネージャー召喚 - data modify storage api: Argument.ID set value 2266 - $data modify storage api: Argument.FieldOverride.Model set value "$(Model)" - $data modify storage api: Argument.FieldOverride.Color set value $(Color) - execute positioned ~ ~ ~ run function api:object/summon - -# 終了 - kill @s diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/field_modify/summon_field.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/field_modify/summon_field.mcfunction new file mode 100644 index 0000000000..a968acb18b --- /dev/null +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/field_modify/summon_field.mcfunction @@ -0,0 +1,20 @@ +#> asset:mob/0456.gargo_ex_machina/tick/event/field_modify/summon_field +# +# フィールド・モディファイ +# +# @within asset:mob/0456.gargo_ex_machina/tick/event/field_modify/event_start + +# マネージャー召喚 + data modify storage api: Argument.ID set value 2266 + execute if entity @s[tag=CO.Aec.FieldModify.A] run data modify storage api: Argument.FieldOverride.Model set value 20591 + execute if entity @s[tag=CO.Aec.FieldModify.A] run data modify storage api: Argument.FieldOverride.Color set value 0 + execute if entity @s[tag=CO.Aec.FieldModify.B] run data modify storage api: Argument.FieldOverride.Model set value 20592 + execute if entity @s[tag=CO.Aec.FieldModify.B] run data modify storage api: Argument.FieldOverride.Color set value 1 + execute if entity @s[tag=CO.Aec.FieldModify.C] run data modify storage api: Argument.FieldOverride.Model set value 20593 + execute if entity @s[tag=CO.Aec.FieldModify.C] run data modify storage api: Argument.FieldOverride.Color set value 2 + execute if entity @s[tag=CO.Aec.FieldModify.D] run data modify storage api: Argument.FieldOverride.Model set value 20594 + execute if entity @s[tag=CO.Aec.FieldModify.D] run data modify storage api: Argument.FieldOverride.Color set value 3 + execute positioned ~ ~ ~ run function api:object/summon + +# 終了 + kill @s diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/field_modify/summon_field_init.m.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/field_modify/summon_field_init.m.mcfunction new file mode 100644 index 0000000000..6a46316c6c --- /dev/null +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/field_modify/summon_field_init.m.mcfunction @@ -0,0 +1,9 @@ +#> asset:mob/0456.gargo_ex_machina/tick/event/field_modify/summon_field_init.m +# +# フィールド・モディファイ +# +# @within asset:mob/0456.gargo_ex_machina/tick/event/field_modify/summon_field_start + +# 初期化 + $tag @s add CO.Aec.FieldModify.$(Tag) + tag @s remove CO.Aec.FieldModify.Init diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/field_modify/summon_field_start.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/field_modify/summon_field_start.mcfunction index d1e31a355b..b656f5f5fb 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/field_modify/summon_field_start.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/field_modify/summon_field_start.mcfunction @@ -28,10 +28,7 @@ summon area_effect_cloud ^22.5 ^ ^-22.5 {Tags:["CO.Aec.FieldModify","CO.Aec.FieldModify.Init"]} # 初期化 - execute as @e[type=area_effect_cloud,tag=CO.Aec.FieldModify.Init,distance=..80,sort=random,limit=4] at @s run function asset:mob/0456.gargo_ex_machina/tick/event/field_modify/summon_field.m {Model:20591,Color:0} - execute as @e[type=area_effect_cloud,tag=CO.Aec.FieldModify.Init,distance=..80,sort=random,limit=4] at @s run function asset:mob/0456.gargo_ex_machina/tick/event/field_modify/summon_field.m {Model:20592,Color:1} - execute as @e[type=area_effect_cloud,tag=CO.Aec.FieldModify.Init,distance=..80,sort=random,limit=4] at @s run function asset:mob/0456.gargo_ex_machina/tick/event/field_modify/summon_field.m {Model:20593,Color:2} - execute as @e[type=area_effect_cloud,tag=CO.Aec.FieldModify.Init,distance=..80,sort=random,limit=4] at @s run function asset:mob/0456.gargo_ex_machina/tick/event/field_modify/summon_field.m {Model:20594,Color:3} - -# 終了 - kill @e[type=area_effect_cloud,tag=CO.Aec.FieldModify,distance=..80] + execute as @e[type=area_effect_cloud,tag=CO.Aec.FieldModify.Init,distance=..80,sort=random,limit=4] at @s run function asset:mob/0456.gargo_ex_machina/tick/event/field_modify/summon_field_init.m {Tag:"A"} + execute as @e[type=area_effect_cloud,tag=CO.Aec.FieldModify.Init,distance=..80,sort=random,limit=4] at @s run function asset:mob/0456.gargo_ex_machina/tick/event/field_modify/summon_field_init.m {Tag:"B"} + execute as @e[type=area_effect_cloud,tag=CO.Aec.FieldModify.Init,distance=..80,sort=random,limit=4] at @s run function asset:mob/0456.gargo_ex_machina/tick/event/field_modify/summon_field_init.m {Tag:"C"} + execute as @e[type=area_effect_cloud,tag=CO.Aec.FieldModify.Init,distance=..80,sort=random,limit=4] at @s run function asset:mob/0456.gargo_ex_machina/tick/event/field_modify/summon_field_init.m {Tag:"D"} diff --git a/Asset/data/asset/functions/object/2265.field_modify_manager/tick/set_bossbar_name.mcfunction b/Asset/data/asset/functions/object/2265.field_modify_manager/tick/set_bossbar_name.mcfunction index c16946837a..e8fd2249c8 100644 --- a/Asset/data/asset/functions/object/2265.field_modify_manager/tick/set_bossbar_name.mcfunction +++ b/Asset/data/asset/functions/object/2265.field_modify_manager/tick/set_bossbar_name.mcfunction @@ -7,9 +7,9 @@ # ピリオド scoreboard players add @s 2265.Period 1 execute if score @s 2265.Period matches 30.. run scoreboard players set @s 2265.Period 0 - execute if score @s 2265.Period matches ..9 run data modify storage asset:context this.BossBar.Period set value ['{"text":".","bold":false}','{"text":"\\uE004","font":"uniform","bold":false}'] - execute if score @s 2265.Period matches 10..19 run data modify storage asset:context this.BossBar.Period set value ['{"text":"..","bold":false}','{"text":"\\uE002","font":"uniform","bold":false}'] - execute if score @s 2265.Period matches 20.. run data modify storage asset:context this.BossBar.Period set value ['{"text":"...","bold":false}'] + execute if score @s 2265.Period matches ..9 run data modify storage asset:context this.BossBar.Period set value ['{"text":".","bold":false,"font":"default"}','{"text":"\\uE004","font":"uniform","bold":false}'] + execute if score @s 2265.Period matches 10..19 run data modify storage asset:context this.BossBar.Period set value ['{"text":"..","bold":false,"font":"default"}','{"text":"\\uE002","font":"uniform","bold":false}'] + execute if score @s 2265.Period matches 20.. run data modify storage asset:context this.BossBar.Period set value ['{"text":"...","bold":false,"font":"default"}'] # ボスバー表示 bossbar set asset:co_field_modify name [{"text":"> FIELD MODIFY PROCEEDING","color": "white","bold": true},{"storage":"asset:context","nbt":"this.BossBar.Period[]","interpret":true,"separator":""},{"text":" ","color": "white","bold": true},{"storage":"asset:context","nbt":"this.BossBar.Color[]","interpret":true,"separator":" "}] From 6e10a0677083182a869501069f462dd4175ab4e9 Mon Sep 17 00:00:00 2001 From: mokkkk Date: Tue, 17 Mar 2026 22:45:45 +0900 Subject: [PATCH 62/98] =?UTF-8?q?=E9=80=A3=E7=B6=9A=E3=82=B8=E3=83=A3?= =?UTF-8?q?=E3=83=B3=E3=83=97=E4=BD=9C=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mob/0456.gargo_ex_machina/load.mcfunction | 1 + .../tick/act/phase_1/.mcfunction | 11 +++-------- .../tick/event/super_jump/continue.mcfunction | 13 +++++++++++++ .../tick/event/super_jump/end.mcfunction | 1 + .../tick/event/super_jump/event_attack.mcfunction | 3 +++ .../tick/event/super_jump/start_attack.mcfunction | 3 +++ 6 files changed, 24 insertions(+), 8 deletions(-) create mode 100644 Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/super_jump/continue.mcfunction diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/load.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/load.mcfunction index 5597bd2e46..8c1b93a09c 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/load.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/load.mcfunction @@ -12,6 +12,7 @@ scoreboard objectives add CO.Counter dummy scoreboard objectives add CO.IdleTimer dummy scoreboard objectives add CO.PreTimer dummy + scoreboard objectives add CO.JumpCount dummy #> Object管理用 # @within function asset:mob/0456.gargo_ex_machina/** # @within function asset:object/2260.gem_attack_drone/** diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/phase_1/.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/phase_1/.mcfunction index a8e9a6544b..5ccbaa84a0 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/phase_1/.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/phase_1/.mcfunction @@ -87,7 +87,7 @@ execute if score @s CO.Counter matches 31 run scoreboard players set @s CO.PreTimer 240 execute if score @s CO.Counter matches 31 run tag @s add CO.Skill.SuperJump # 待機 - execute if score @s CO.Counter matches 32 as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run scoreboard players set @s CO.IdleTimer 80 + execute if score @s CO.Counter matches 32 as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run scoreboard players set @s CO.IdleTimer 120 # 中心に移動 execute if score @s CO.Counter matches 33 run function asset:mob/0456.gargo_ex_machina/tick/act/phase_1/move_to_center # 薙ぎ払いレーザー @@ -98,13 +98,8 @@ execute if score @s CO.Counter matches 35 run scoreboard players set @s CO.PreTimer 2 execute if score @s CO.Counter matches 35 run tag @s add CO.Skill.FieldModify # スーパージャンプ + execute if score @s CO.Counter matches 36 run scoreboard players set @s CO.JumpCount 4 execute if score @s CO.Counter matches 36 run scoreboard players set @s CO.PreTimer 40 execute if score @s CO.Counter matches 36 run tag @s add CO.Skill.SuperJump - execute if score @s CO.Counter matches 37 run scoreboard players set @s CO.PreTimer 40 - execute if score @s CO.Counter matches 37 run tag @s add CO.Skill.SuperJump - execute if score @s CO.Counter matches 38 run scoreboard players set @s CO.PreTimer 40 - execute if score @s CO.Counter matches 38 run tag @s add CO.Skill.SuperJump - execute if score @s CO.Counter matches 38 run scoreboard players set @s CO.PreTimer 40 - execute if score @s CO.Counter matches 38 run tag @s add CO.Skill.SuperJump # 待機 - execute if score @s CO.Counter matches 39 as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run scoreboard players set @s CO.IdleTimer 160 + execute if score @s CO.Counter matches 37 as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run scoreboard players set @s CO.IdleTimer 200 diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/super_jump/continue.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/super_jump/continue.mcfunction new file mode 100644 index 0000000000..c2cc0ce906 --- /dev/null +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/super_jump/continue.mcfunction @@ -0,0 +1,13 @@ +#> asset:mob/0456.gargo_ex_machina/tick/event/super_jump/continue +# +# スーパージャンプ +# +# @within asset:mob/0456.gargo_ex_machina/tick/event/super_jump/event_attack + +# タグ更新 + scoreboard players set @s CO.EventTimer 5 + tag @s remove CO.Skill.SuperJump.Attack + tag @s add CO.Skill.SuperJump + +# アニメーション再生 + execute as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run function animated_java:gargo_ex_machina/animations/super_jump_start/tween {duration:5, to_frame: 10} diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/super_jump/end.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/super_jump/end.mcfunction index 44d0730b1c..1c80c7c36e 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/super_jump/end.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/super_jump/end.mcfunction @@ -8,6 +8,7 @@ scoreboard players set @s CO.EventTimer 0 tag @s remove CO.Skill.SuperJump.Attack scoreboard players reset @s CO.PreTimer + scoreboard players reset @s CO.JumpCount # 待機モーション再生 execute as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run function animated_java:gargo_ex_machina/animations/idle/tween {duration:1, to_frame: 1} diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/super_jump/event_attack.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/super_jump/event_attack.mcfunction index 4281d4a239..bdc4be9848 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/super_jump/event_attack.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/super_jump/event_attack.mcfunction @@ -31,5 +31,8 @@ # モデルを合わせる execute as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run tp @s ~ ~ ~ ~ ~ +# 継続 + execute if score @s CO.EventTimer matches 90 if score @s CO.JumpCount matches 1.. run function asset:mob/0456.gargo_ex_machina/tick/event/super_jump/continue + # 終了 execute if score @s CO.EventTimer matches 139.. run function asset:mob/0456.gargo_ex_machina/tick/event/super_jump/end diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/super_jump/start_attack.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/super_jump/start_attack.mcfunction index 7206d40a25..f3c67e0301 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/super_jump/start_attack.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/super_jump/start_attack.mcfunction @@ -8,3 +8,6 @@ scoreboard players set @s CO.EventTimer 0 tag @s remove CO.Skill.SuperJump tag @s add CO.Skill.SuperJump.Attack + +# 連続ジャンプ回数減算 + execute if score @s CO.JumpCount matches 1.. run scoreboard players remove @s CO.JumpCount 1 From 5e9845fc95af90d24f1ed8f34ed1ac9de261fc77 Mon Sep 17 00:00:00 2001 From: mokkkk Date: Tue, 17 Mar 2026 22:50:29 +0900 Subject: [PATCH 63/98] =?UTF-8?q?=E3=83=AD=E3=82=B1=E3=83=83=E3=83=88?= =?UTF-8?q?=E3=83=91=E3=83=B3=E3=83=81=E3=82=92=E9=9B=A3=E6=98=93=E5=BA=A6?= =?UTF-8?q?=E3=81=AB=E5=BF=9C=E3=81=98=E3=81=A6=E6=98=93=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mob/0456.gargo_ex_machina/tick/act/phase_1/.mcfunction | 2 +- .../0456.gargo_ex_machina/tick/event/rocket_punch/.mcfunction | 2 +- .../tick/event/rocket_punch/summon_aec.mcfunction | 3 ++- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/phase_1/.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/phase_1/.mcfunction index 5ccbaa84a0..19e1b1f0b6 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/phase_1/.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/phase_1/.mcfunction @@ -5,7 +5,7 @@ # @within asset:mob/0456.gargo_ex_machina/tick/act/ # 最初に戻る - execute if score @s CO.Counter matches 40.. run scoreboard players set @s CO.Counter 18 + execute if score @s CO.Counter matches 38.. run scoreboard players set @s CO.Counter 18 # 四隅に移動 execute if score @s CO.Counter matches ..1 run function asset:mob/0456.gargo_ex_machina/tick/act/phase_1/move_to_corner diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/rocket_punch/.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/rocket_punch/.mcfunction index 8d8374d0cb..118b4242d6 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/rocket_punch/.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/rocket_punch/.mcfunction @@ -19,7 +19,7 @@ execute as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run tp @s ~ ~ ~ ~ ~ # 攻撃位置決定 execute if score @s CO.EventTimer matches 14 at @e[type=marker,tag=CO.CenterPosition,distance=..80,limit=1] positioned ^ ^ ^35 rotated ~180 0 run function asset:mob/0456.gargo_ex_machina/tick/event/rocket_punch/summon_aec - execute if entity @s[tag=CO.Skill.RocketPunch.Cross] if score @s CO.EventTimer matches 14 at @e[type=marker,tag=CO.CenterPosition,distance=..80,limit=1] rotated ~90 ~ positioned ^ ^ ^35 rotated ~180 0 run function asset:mob/0456.gargo_ex_machina/tick/event/rocket_punch/summon_aec + execute if entity @s[tag=CO.Skill.RocketPunch.Cross] if score @s CO.EventTimer matches 14 if predicate api:global_vars/difficulty/min/2_hard at @e[type=marker,tag=CO.CenterPosition,distance=..80,limit=1] rotated ~90 ~ positioned ^ ^ ^35 rotated ~180 0 run function asset:mob/0456.gargo_ex_machina/tick/event/rocket_punch/summon_aec # 召喚 execute if score @s CO.EventTimer matches 14.. at @e[type=area_effect_cloud,tag=CO.Aec.AttackPosition,distance=..80,sort=random,limit=1] run function asset:mob/0456.gargo_ex_machina/tick/event/rocket_punch/summon_punch execute if score @s CO.EventTimer matches 40 run kill @e[type=area_effect_cloud,tag=CO.Aec.AttackPosition,distance=..80] diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/rocket_punch/summon_aec.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/rocket_punch/summon_aec.mcfunction index 5d72e1fbe4..ada329c6a2 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/rocket_punch/summon_aec.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/rocket_punch/summon_aec.mcfunction @@ -14,7 +14,8 @@ summon area_effect_cloud ^15 ^ ^0 {Tags:["CO.Aec.AttackPosition","CO.Aec.AttackP summon area_effect_cloud ^25 ^ ^0 {Tags:["CO.Aec.AttackPosition","CO.Aec.AttackPosition.Init"],Duration:80} # 数を減らす - kill @e[type=area_effect_cloud,tag=CO.Aec.AttackPosition,tag=CO.Aec.AttackPosition.Init,distance=..80,sort=random,limit=1] + execute if predicate api:global_vars/difficulty/1_normal run kill @e[type=area_effect_cloud,tag=CO.Aec.AttackPosition,tag=CO.Aec.AttackPosition.Init,distance=..80,sort=random,limit=2] + execute if predicate api:global_vars/difficulty/min/2_hard run kill @e[type=area_effect_cloud,tag=CO.Aec.AttackPosition,tag=CO.Aec.AttackPosition.Init,distance=..80,sort=random,limit=1] # 回転 execute as @e[type=area_effect_cloud,tag=CO.Aec.AttackPosition,tag=CO.Aec.AttackPosition.Init,distance=..80] positioned as @s run tp @s ~ ~ ~ ~ ~ From 59a88f92cb573bf97f8c5d173043d908875ce220 Mon Sep 17 00:00:00 2001 From: mokkkk Date: Wed, 18 Mar 2026 23:40:18 +0900 Subject: [PATCH 64/98] =?UTF-8?q?=E3=83=89=E3=83=AD=E3=83=BC=E3=83=B3?= =?UTF-8?q?=E5=8F=AC=E5=96=9A=E5=87=A6=E7=90=86=E3=81=AE=E9=9D=9E=E5=90=8C?= =?UTF-8?q?=E6=9C=9F=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../0456.gargo_ex_machina/_index.d.mcfunction | 12 ++--------- .../mob/0456.gargo_ex_machina/load.mcfunction | 1 + .../tick/act/.mcfunction | 2 +- .../tick/act/phase_1/.mcfunction | 2 +- .../tick/debug/interrupt.mcfunction | 3 ++- .../tick/event/.mcfunction | 2 ++ .../tick/event/blute_force_attack/.mcfunction | 10 +++++---- .../blute_force_attack/async_end.mcfunction | 12 +++++++++++ .../async_pattern_tutorial.mcfunction | 21 +++++++++++++++++++ .../summon_attack_drone.m.mcfunction | 4 ++-- .../summon_panjan_drone.m.mcfunction | 4 ++-- .../summon_yeeter_drone.m.mcfunction | 6 +++--- 12 files changed, 55 insertions(+), 24 deletions(-) create mode 100644 Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/blute_force_attack/async_end.mcfunction create mode 100644 Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/blute_force_attack/async_pattern_tutorial.mcfunction diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/_index.d.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/_index.d.mcfunction index 3db051532d..83a1c68e36 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/_index.d.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/_index.d.mcfunction @@ -41,7 +41,8 @@ #declare tag CO.Skill.UpperShot 上空射撃 #declare tag CO.UpperShot.Asyuc 上空射撃攻撃判定用 #declare tag CO.Skill.BluteForce ブルートフォースアタック - #declare tag + #declare tag CO.Skill.BluteForce.Async ブルートフォースアタック攻撃判定用 + #declare tag CO.Skill.BluteForce.Pt.Tutorial ブルートフォースアタック全員お披露目用 #declare tag #declare tag #declare tag @@ -66,15 +67,6 @@ #declare tag CO.Aec.FieldModify.Init #declare tag CO.Temp.Ground #declare tag CO.Temp.Dummy - #declare tag - #declare tag - #declare tag - #declare tag - #declare tag - #declare tag - #declare tag - #declare tag - #declare tag # - 自動生成 #declare tag aj.global.data #declare tag aj.gargo_ex_machina.animation.idle.playing diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/load.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/load.mcfunction index 8c1b93a09c..33431b7d79 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/load.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/load.mcfunction @@ -8,6 +8,7 @@ # @within function asset:mob/0456.gargo_ex_machina/** scoreboard objectives add CO.EventTimer dummy scoreboard objectives add CO.EventTimer.UpperShot dummy + scoreboard objectives add CO.EventTimer.BluteForce dummy scoreboard objectives add CO.FieldModify.Color dummy scoreboard objectives add CO.Counter dummy scoreboard objectives add CO.IdleTimer dummy diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/.mcfunction index bb25a2ba34..310994776c 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/.mcfunction @@ -5,7 +5,7 @@ # @within asset:mob/0456.gargo_ex_machina/tick/** # debug - # return 0 + return 0 # 行動リセット function asset:mob/0456.gargo_ex_machina/tick/util/remove_animation_tag diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/phase_1/.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/phase_1/.mcfunction index 19e1b1f0b6..b1dd55fdf3 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/phase_1/.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/phase_1/.mcfunction @@ -93,7 +93,7 @@ # 薙ぎ払いレーザー execute if score @s CO.Counter matches 34 run tag @s add CO.Skill.HalfBeam # モディファイ + 連続ジャンプ - # フィールドモディファイ + # フィールドモディファイ・四分割パターン execute if score @s CO.Counter matches 35 as @e[type=marker,tag=CO.CenterPosition,distance=..80,limit=1] at @s positioned ~ ~-0.499 ~ rotated 0 0 run function asset:mob/0456.gargo_ex_machina/tick/act/phase_1/field_modify_square execute if score @s CO.Counter matches 35 run scoreboard players set @s CO.PreTimer 2 execute if score @s CO.Counter matches 35 run tag @s add CO.Skill.FieldModify diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/debug/interrupt.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/debug/interrupt.mcfunction index 4df7d8c269..d9c6ab5fef 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/debug/interrupt.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/debug/interrupt.mcfunction @@ -18,4 +18,5 @@ # execute at @s run tp @e[type=item_display,tag=CO.ModelRoot] ~ ~ ~ ~ 0 # イベント実行 - tag @s add CO.Skill.FieldModify + tag @s add CO.Skill.BluteForce + tag @s add CO.Skill.BluteForce.Pt.Tutorial diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/.mcfunction index 4f3c6c9a0a..1b71a2fca9 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/.mcfunction @@ -59,3 +59,5 @@ # ブルートフォースアタック execute if entity @s[tag=CO.Skill.BluteForce] run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/ + # お披露目パターン + execute if entity @s[tag=CO.Skill.BluteForce.Async,tag=CO.Skill.BluteForce.Pt.Tutorial] at @e[type=marker,tag=CO.CenterPosition,distance=..80] run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/async_pattern_tutorial diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/blute_force_attack/.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/blute_force_attack/.mcfunction index 0e303916a7..83601b8da9 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/blute_force_attack/.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/blute_force_attack/.mcfunction @@ -21,16 +21,18 @@ execute if score @s CO.EventTimer matches 25 run playsound block.beacon.power_select hostile @a ~ ~ ~ 4 1.7 # モデルを合わせる execute as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run tp @s ~ ~ ~ ~ ~ - # 召喚 + # 召喚開始 + execute if score @s CO.EventTimer matches 24 run tag @s add CO.Skill.BluteForce.Async + execute if score @s CO.EventTimer matches 24 run scoreboard players set @s CO.EventTimer.BluteForce 0 # 全員お披露目パターン # execute if score @s CO.EventTimer matches 25 positioned ^ ^ ^10 run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_attack_drone.m # execute if score @s CO.EventTimer matches 26 positioned ^-15 ^ ^8 run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_attack_drone.m # execute if score @s CO.EventTimer matches 27 positioned ^15 ^ ^8 run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_attack_drone.m # execute if score @s CO.EventTimer matches 28 positioned ^-20 ^ ^6 run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_panjan_drone.m # execute if score @s CO.EventTimer matches 29 positioned ^20 ^ ^6 run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_panjan_drone.m - execute if score @s CO.EventTimer matches 28 positioned ^ ^ ^-8 rotated ~ ~ run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_yeeter_drone.m - execute if score @s CO.EventTimer matches 28 positioned ^-23 ^ ^-6 rotated ~ ~ run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_yeeter_drone.m - execute if score @s CO.EventTimer matches 28 positioned ^23 ^ ^-6 rotated ~ ~ run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_yeeter_drone.m + # execute if score @s CO.EventTimer matches 28 positioned ^ ^ ^-8 rotated ~ ~ run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_yeeter_drone.m + # execute if score @s CO.EventTimer matches 28 positioned ^-23 ^ ^-6 rotated ~ ~ run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_yeeter_drone.m + # execute if score @s CO.EventTimer matches 28 positioned ^23 ^ ^-6 rotated ~ ~ run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_yeeter_drone.m # パンジャン+回転Yeeterパターン # execute if score @s CO.EventTimer matches 25 at @e[type=marker,tag=CO.CenterPosition,distance=..80] rotated ~ ~ positioned ^ ^ ^20 rotated ~-90 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_yeeter_drone.m # execute if score @s CO.EventTimer matches 25 at @e[type=marker,tag=CO.CenterPosition,distance=..80] rotated ~120 ~ positioned ^ ^ ^20 rotated ~-90 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_yeeter_drone.m diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/blute_force_attack/async_end.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/blute_force_attack/async_end.mcfunction new file mode 100644 index 0000000000..aaf0c3b033 --- /dev/null +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/blute_force_attack/async_end.mcfunction @@ -0,0 +1,12 @@ +#> asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/async_end +# +# ブルートフォースアタック +# +# @within asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/async_pattern_tutorial + +# タイマーリセット + scoreboard players reset @s CO.EventTimer.BluteForce + +# タグ消去 + tag @s remove CO.Skill.BluteForce.Async + tag @s remove CO.Skill.BluteForce.Pt.Tutorial diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/blute_force_attack/async_pattern_tutorial.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/blute_force_attack/async_pattern_tutorial.mcfunction new file mode 100644 index 0000000000..a1f9c8c948 --- /dev/null +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/blute_force_attack/async_pattern_tutorial.mcfunction @@ -0,0 +1,21 @@ +#> asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/async_pattern_tutorial +# +# ブルートフォースアタック +# +# @within asset:mob/0456.gargo_ex_machina/tick/event/ + +# タイマー増加 + scoreboard players add @s CO.EventTimer.BluteForce 1 + +# 全員お披露目パターン + execute if score @s CO.EventTimer.BluteForce matches 1 positioned ^ ^ ^-8 run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_attack_drone.m {IsTarget:"true"} + execute if score @s CO.EventTimer.BluteForce matches 2 positioned ^-15 ^ ^-12 run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_attack_drone.m {IsTarget:"true"} + execute if score @s CO.EventTimer.BluteForce matches 3 positioned ^15 ^ ^-12 run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_attack_drone.m {IsTarget:"true"} + execute if score @s CO.EventTimer.BluteForce matches 73 positioned ^ ^ ^-28 rotated ~ ~ run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_yeeter_drone.m {IsRotate:"false",IsRotateInverse:"false"} + execute if score @s CO.EventTimer.BluteForce matches 74 positioned ^-23 ^ ^-28 rotated ~ ~ run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_yeeter_drone.m {IsRotate:"false",IsRotateInverse:"false"} + execute if score @s CO.EventTimer.BluteForce matches 75 positioned ^23 ^ ^-28 rotated ~ ~ run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_yeeter_drone.m {IsRotate:"false",IsRotateInverse:"false"} + execute if score @s CO.EventTimer.BluteForce matches 140 positioned ^-12 ^ ^-18 run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_panjan_drone.m {IsMove:"true"} + execute if score @s CO.EventTimer.BluteForce matches 141 positioned ^12 ^ ^-18 run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_panjan_drone.m {IsMove:"true"} + +# 終了 + execute if score @s CO.EventTimer.BluteForce matches 142.. run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/async_end diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_attack_drone.m.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_attack_drone.m.mcfunction index ce6f89519e..565420ffa1 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_attack_drone.m.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_attack_drone.m.mcfunction @@ -2,12 +2,12 @@ # # ブルートフォースアタック # -# @within asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/ +# @within asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/** # ATTACKドローン召喚 data modify storage api: Argument.ID set value 2260 execute store result storage api: Argument.FieldOverride.MobUUID int 1 run scoreboard players get @s MobUUID function asset:mob/0456.gargo_ex_machina/tick/util/assing_object_id data modify storage api: Argument.FieldOverride.Damage set from storage asset:context this.Damage.AttackDrone - data modify storage api: Argument.FieldOverride.IsTarget set value true + $data modify storage api: Argument.FieldOverride.IsTarget set value $(IsTarget) function api:object/summon diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_panjan_drone.m.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_panjan_drone.m.mcfunction index 00d7d91514..85dfd7476a 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_panjan_drone.m.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_panjan_drone.m.mcfunction @@ -2,7 +2,7 @@ # # ブルートフォースアタック # -# @within asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/ +# @within asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/** # ATTACKドローン召喚 data modify storage api: Argument.ID set value 2262 @@ -10,5 +10,5 @@ function asset:mob/0456.gargo_ex_machina/tick/util/assing_object_id data modify storage api: Argument.FieldOverride.Damage set from storage asset:context this.Damage.PanjanDrone data modify storage api: Argument.FieldOverride.FlameDamage set from storage asset:context this.Damage.PanjanDrone.Flame - data modify storage api: Argument.FieldOverride.IsMove set value true + $data modify storage api: Argument.FieldOverride.IsMove set value $(IsMove) function api:object/summon diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_yeeter_drone.m.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_yeeter_drone.m.mcfunction index fdf6c0d577..05e6e463b2 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_yeeter_drone.m.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_yeeter_drone.m.mcfunction @@ -2,13 +2,13 @@ # # ブルートフォースアタック # -# @within asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/ +# @within asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/** # ATTACKドローン召喚 data modify storage api: Argument.ID set value 2261 execute store result storage api: Argument.FieldOverride.MobUUID int 1 run scoreboard players get @s MobUUID function asset:mob/0456.gargo_ex_machina/tick/util/assing_object_id data modify storage api: Argument.FieldOverride.Damage set from storage asset:context this.Damage.YeeterDrone - data modify storage api: Argument.FieldOverride.IsRotate set value false - data modify storage api: Argument.FieldOverride.IsRotateInverse set value false + $data modify storage api: Argument.FieldOverride.IsRotate set value $(IsRotate) + $data modify storage api: Argument.FieldOverride.IsRotateInverse set value $(IsRotateInverse) function api:object/summon From c2c25bb748b8d277378c3c10ac33f2fc77c34b3e Mon Sep 17 00:00:00 2001 From: mokkkk Date: Fri, 20 Mar 2026 14:23:39 +0900 Subject: [PATCH 65/98] =?UTF-8?q?=E5=9B=9E=E8=BB=A2=E3=83=91=E3=82=BF?= =?UTF-8?q?=E3=83=BC=E3=83=B3=E4=BD=9C=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../0456.gargo_ex_machina/_index.d.mcfunction | 4 ++- .../tick/debug/interrupt.mcfunction | 2 +- .../tick/event/.mcfunction | 3 +++ .../blute_force_attack/async_end.mcfunction | 4 +++ .../async_pattern_spin.mcfunction | 25 +++++++++++++++++++ .../async_pattern_spin_inv.mcfunction | 25 +++++++++++++++++++ .../2260.gem_attack_drone/init/.mcfunction | 1 - .../tick/event_attack.mcfunction | 2 ++ 8 files changed, 63 insertions(+), 3 deletions(-) create mode 100644 Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/blute_force_attack/async_pattern_spin.mcfunction create mode 100644 Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/blute_force_attack/async_pattern_spin_inv.mcfunction diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/_index.d.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/_index.d.mcfunction index 83a1c68e36..e3fabbd42a 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/_index.d.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/_index.d.mcfunction @@ -42,7 +42,9 @@ #declare tag CO.UpperShot.Asyuc 上空射撃攻撃判定用 #declare tag CO.Skill.BluteForce ブルートフォースアタック #declare tag CO.Skill.BluteForce.Async ブルートフォースアタック攻撃判定用 - #declare tag CO.Skill.BluteForce.Pt.Tutorial ブルートフォースアタック全員お披露目用 + #declare tag CO.Skill.BluteForce.Pt.Tutorial 全員お披露目パターン + #declare tag CO.Skill.BluteForce.Pt.Spin 回転パターン + #declare tag CO.Skill.BluteForce.Pt.SpinInv 回転パターン #declare tag #declare tag #declare tag diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/debug/interrupt.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/debug/interrupt.mcfunction index d9c6ab5fef..754a68e390 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/debug/interrupt.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/debug/interrupt.mcfunction @@ -19,4 +19,4 @@ # イベント実行 tag @s add CO.Skill.BluteForce - tag @s add CO.Skill.BluteForce.Pt.Tutorial + tag @s add CO.Skill.BluteForce.Pt.SpinInv diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/.mcfunction index 1b71a2fca9..2863b3533d 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/.mcfunction @@ -61,3 +61,6 @@ execute if entity @s[tag=CO.Skill.BluteForce] run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/ # お披露目パターン execute if entity @s[tag=CO.Skill.BluteForce.Async,tag=CO.Skill.BluteForce.Pt.Tutorial] at @e[type=marker,tag=CO.CenterPosition,distance=..80] run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/async_pattern_tutorial + # 回転パターン + execute if entity @s[tag=CO.Skill.BluteForce.Async,tag=CO.Skill.BluteForce.Pt.Spin] at @e[type=marker,tag=CO.CenterPosition,distance=..80] run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/async_pattern_spin + execute if entity @s[tag=CO.Skill.BluteForce.Async,tag=CO.Skill.BluteForce.Pt.SpinInv] at @e[type=marker,tag=CO.CenterPosition,distance=..80] run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/async_pattern_spin_inv diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/blute_force_attack/async_end.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/blute_force_attack/async_end.mcfunction index aaf0c3b033..5466a65660 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/blute_force_attack/async_end.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/blute_force_attack/async_end.mcfunction @@ -3,6 +3,8 @@ # ブルートフォースアタック # # @within asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/async_pattern_tutorial +# @within asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/async_pattern_spin +# @within asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/async_pattern_spin_inv # タイマーリセット scoreboard players reset @s CO.EventTimer.BluteForce @@ -10,3 +12,5 @@ # タグ消去 tag @s remove CO.Skill.BluteForce.Async tag @s remove CO.Skill.BluteForce.Pt.Tutorial + tag @s remove CO.Skill.BluteForce.Pt.Spin + tag @s remove CO.Skill.BluteForce.Pt.SpinInv diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/blute_force_attack/async_pattern_spin.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/blute_force_attack/async_pattern_spin.mcfunction new file mode 100644 index 0000000000..2320680385 --- /dev/null +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/blute_force_attack/async_pattern_spin.mcfunction @@ -0,0 +1,25 @@ +#> asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/async_pattern_spin +# +# ブルートフォースアタック +# +# @within asset:mob/0456.gargo_ex_machina/tick/event/ + +# タイマー増加 + scoreboard players add @s CO.EventTimer.BluteForce 1 + +# 回転パターン + execute if score @s CO.EventTimer.BluteForce matches 1 positioned ^ ^ ^ run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_panjan_drone.m {IsMove:"false"} + execute if score @s CO.EventTimer.BluteForce matches 1 positioned ^22 ^ ^22 run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_panjan_drone.m {IsMove:"false"} + execute if score @s CO.EventTimer.BluteForce matches 1 positioned ^-22 ^ ^22 run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_panjan_drone.m {IsMove:"false"} + execute if score @s CO.EventTimer.BluteForce matches 1 positioned ^22 ^ ^-22 run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_panjan_drone.m {IsMove:"false"} + execute if score @s CO.EventTimer.BluteForce matches 1 positioned ^-22 ^ ^-22 run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_panjan_drone.m {IsMove:"false"} + execute if score @s CO.EventTimer.BluteForce matches 40 if predicate api:global_vars/difficulty/max/2_hard rotated ~ ~ positioned ^ ^ ^20 rotated ~90 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_yeeter_drone.m {IsRotate:"true",IsRotateInverse:"false"} + execute if score @s CO.EventTimer.BluteForce matches 40 if predicate api:global_vars/difficulty/max/2_hard rotated ~120 ~ positioned ^ ^ ^20 rotated ~90 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_yeeter_drone.m {IsRotate:"true",IsRotateInverse:"false"} + execute if score @s CO.EventTimer.BluteForce matches 40 if predicate api:global_vars/difficulty/max/2_hard rotated ~240 ~ positioned ^ ^ ^20 rotated ~90 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_yeeter_drone.m {IsRotate:"true",IsRotateInverse:"false"} + execute if score @s CO.EventTimer.BluteForce matches 40 if predicate api:global_vars/difficulty/min/3_blessless rotated ~ ~ positioned ^ ^ ^20 rotated ~90 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_yeeter_drone.m {IsRotate:"true",IsRotateInverse:"false"} + execute if score @s CO.EventTimer.BluteForce matches 40 if predicate api:global_vars/difficulty/min/3_blessless rotated ~90 ~ positioned ^ ^ ^20 rotated ~90 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_yeeter_drone.m {IsRotate:"true",IsRotateInverse:"false"} + execute if score @s CO.EventTimer.BluteForce matches 40 if predicate api:global_vars/difficulty/min/3_blessless rotated ~180 ~ positioned ^ ^ ^20 rotated ~90 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_yeeter_drone.m {IsRotate:"true",IsRotateInverse:"false"} + execute if score @s CO.EventTimer.BluteForce matches 40 if predicate api:global_vars/difficulty/min/3_blessless rotated ~270 ~ positioned ^ ^ ^20 rotated ~90 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_yeeter_drone.m {IsRotate:"true",IsRotateInverse:"false"} + +# 終了 + execute if score @s CO.EventTimer.BluteForce matches 41.. run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/async_end diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/blute_force_attack/async_pattern_spin_inv.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/blute_force_attack/async_pattern_spin_inv.mcfunction new file mode 100644 index 0000000000..2b51cd3407 --- /dev/null +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/blute_force_attack/async_pattern_spin_inv.mcfunction @@ -0,0 +1,25 @@ +#> asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/async_pattern_spin_inv +# +# ブルートフォースアタック +# +# @within asset:mob/0456.gargo_ex_machina/tick/event/ + +# タイマー増加 + scoreboard players add @s CO.EventTimer.BluteForce 1 + +# 回転パターン + execute if score @s CO.EventTimer.BluteForce matches 1 positioned ^ ^ ^ run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_panjan_drone.m {IsMove:"false"} + execute if score @s CO.EventTimer.BluteForce matches 1 positioned ^22 ^ ^22 run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_panjan_drone.m {IsMove:"false"} + execute if score @s CO.EventTimer.BluteForce matches 1 positioned ^-22 ^ ^22 run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_panjan_drone.m {IsMove:"false"} + execute if score @s CO.EventTimer.BluteForce matches 1 positioned ^22 ^ ^-22 run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_panjan_drone.m {IsMove:"false"} + execute if score @s CO.EventTimer.BluteForce matches 1 positioned ^-22 ^ ^-22 run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_panjan_drone.m {IsMove:"false"} + execute if score @s CO.EventTimer.BluteForce matches 40 if predicate api:global_vars/difficulty/max/2_hard rotated ~ ~ positioned ^ ^ ^20 rotated ~-90 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_yeeter_drone.m {IsRotate:"false",IsRotateInverse:"true"} + execute if score @s CO.EventTimer.BluteForce matches 40 if predicate api:global_vars/difficulty/max/2_hard rotated ~120 ~ positioned ^ ^ ^20 rotated ~-90 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_yeeter_drone.m {IsRotate:"false",IsRotateInverse:"true"} + execute if score @s CO.EventTimer.BluteForce matches 40 if predicate api:global_vars/difficulty/max/2_hard rotated ~240 ~ positioned ^ ^ ^20 rotated ~-90 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_yeeter_drone.m {IsRotate:"false",IsRotateInverse:"true"} + execute if score @s CO.EventTimer.BluteForce matches 40 if predicate api:global_vars/difficulty/min/3_blessless rotated ~ ~ positioned ^ ^ ^20 rotated ~-90 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_yeeter_drone.m {IsRotate:"false",IsRotateInverse:"true"} + execute if score @s CO.EventTimer.BluteForce matches 40 if predicate api:global_vars/difficulty/min/3_blessless rotated ~90 ~ positioned ^ ^ ^20 rotated ~-90 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_yeeter_drone.m {IsRotate:"false",IsRotateInverse:"true"} + execute if score @s CO.EventTimer.BluteForce matches 40 if predicate api:global_vars/difficulty/min/3_blessless rotated ~180 ~ positioned ^ ^ ^20 rotated ~-90 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_yeeter_drone.m {IsRotate:"false",IsRotateInverse:"true"} + execute if score @s CO.EventTimer.BluteForce matches 40 if predicate api:global_vars/difficulty/min/3_blessless rotated ~270 ~ positioned ^ ^ ^20 rotated ~-90 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_yeeter_drone.m {IsRotate:"false",IsRotateInverse:"true"} + +# 終了 + execute if score @s CO.EventTimer.BluteForce matches 41.. run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/async_end diff --git a/Asset/data/asset/functions/object/2260.gem_attack_drone/init/.mcfunction b/Asset/data/asset/functions/object/2260.gem_attack_drone/init/.mcfunction index faf79bc510..1c46ab3418 100644 --- a/Asset/data/asset/functions/object/2260.gem_attack_drone/init/.mcfunction +++ b/Asset/data/asset/functions/object/2260.gem_attack_drone/init/.mcfunction @@ -15,7 +15,6 @@ # 仮指定 scoreboard players set @s 2260.IdleTime 80 - # tag @s add 2260.IsTarget # IdleTime diff --git a/Asset/data/asset/functions/object/2261.gem_yeeter_drone/tick/event_attack.mcfunction b/Asset/data/asset/functions/object/2261.gem_yeeter_drone/tick/event_attack.mcfunction index 2e6fe5a41b..28c4a4ff4d 100644 --- a/Asset/data/asset/functions/object/2261.gem_yeeter_drone/tick/event_attack.mcfunction +++ b/Asset/data/asset/functions/object/2261.gem_yeeter_drone/tick/event_attack.mcfunction @@ -17,6 +17,8 @@ execute if entity @s[scores={General.Object.Tick=1..20}] run tp @s ^ ^ ^-0.05 execute if entity @s[tag=!2261.IsRotate,tag=!2261.IsRotate.Inverse,scores={General.Object.Tick=36..40}] run tp @s ^ ^ ^0.2 execute if entity @s[tag=!2261.IsRotate,tag=!2261.IsRotate.Inverse,scores={General.Object.Tick=41..}] run tp @s ^ ^ ^0.4 + execute if entity @s[tag=2261.IsRotate,scores={General.Object.Tick=35..40}] at @s run tp @s ^ ^ ^0.1308 ~0.375 ~ + execute if entity @s[tag=2261.IsRotate,scores={General.Object.Tick=41..}] at @s run tp @s ^ ^ ^0.2616 ~0.75 ~ execute if entity @s[tag=2261.IsRotate.Inverse,scores={General.Object.Tick=35..40}] at @s run tp @s ^ ^ ^0.1308 ~-0.375 ~ execute if entity @s[tag=2261.IsRotate.Inverse,scores={General.Object.Tick=41..}] at @s run tp @s ^ ^ ^0.2616 ~-0.75 ~ From 481a5f6a250d3ce9931b83699ea238ddc0684ab4 Mon Sep 17 00:00:00 2001 From: mokkkk Date: Fri, 20 Mar 2026 14:37:02 +0900 Subject: [PATCH 66/98] =?UTF-8?q?=E5=B0=84=E6=92=83=E3=81=AE=E3=83=AD?= =?UTF-8?q?=E3=83=83=E3=82=AF=E3=82=AA=E3=83=B3=E3=83=9E=E3=83=BC=E3=82=AB?= =?UTF-8?q?=E3=83=BC=E9=81=A9=E7=94=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../0456.gargo_ex_machina/tick/debug/interrupt.mcfunction | 4 ++-- .../functions/object/2268.gem_upper_shot/init/.mcfunction | 7 ++++--- .../object/2268.gem_upper_shot/summon/.mcfunction | 2 +- .../functions/object/2268.gem_upper_shot/tick/.mcfunction | 6 +++++- .../2268.gem_upper_shot/tick/summon_laser.mcfunction | 1 + 5 files changed, 13 insertions(+), 7 deletions(-) diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/debug/interrupt.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/debug/interrupt.mcfunction index 754a68e390..449e51aefc 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/debug/interrupt.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/debug/interrupt.mcfunction @@ -18,5 +18,5 @@ # execute at @s run tp @e[type=item_display,tag=CO.ModelRoot] ~ ~ ~ ~ 0 # イベント実行 - tag @s add CO.Skill.BluteForce - tag @s add CO.Skill.BluteForce.Pt.SpinInv + tag @s add CO.Skill.UpperShot + # tag @s add CO.Skill.BluteForce.Pt.SpinInv diff --git a/Asset/data/asset/functions/object/2268.gem_upper_shot/init/.mcfunction b/Asset/data/asset/functions/object/2268.gem_upper_shot/init/.mcfunction index d21a3992c0..898a6c7f77 100644 --- a/Asset/data/asset/functions/object/2268.gem_upper_shot/init/.mcfunction +++ b/Asset/data/asset/functions/object/2268.gem_upper_shot/init/.mcfunction @@ -5,8 +5,9 @@ # @within asset:object/alias/2268/init # 角度をランダムに設定 - execute store result entity @s Rotation[0] float 0.1 run random value 0..3600 - execute store result entity @s Rotation[1] float 0.1 run random value -900..-700 + data modify storage asset:context this.Rotation set value [0.0f, -90.0f] + execute store result storage asset:context this.Rotation[0] float 0.1 run random value 0..3600 + execute store result storage asset:context this.Rotation[1] float 0.1 run random value -900..-700 # 予兆・攻撃時間 scoreboard players set @s 2268.AttackTime 60 @@ -17,4 +18,4 @@ # その他時間 execute store result score @s 2268.VfxTime store result score @s 2268.KillTime run scoreboard players get @s 2268.AttackTime scoreboard players remove @s 2268.VfxTime 3 - scoreboard players add @s 2268.KillTime 1 + scoreboard players add @s 2268.KillTime 5 diff --git a/Asset/data/asset/functions/object/2268.gem_upper_shot/summon/.mcfunction b/Asset/data/asset/functions/object/2268.gem_upper_shot/summon/.mcfunction index f54a3e9ac4..88179fe909 100644 --- a/Asset/data/asset/functions/object/2268.gem_upper_shot/summon/.mcfunction +++ b/Asset/data/asset/functions/object/2268.gem_upper_shot/summon/.mcfunction @@ -5,4 +5,4 @@ # @within asset:object/alias/2268/summon # 元となるEntityを召喚する - summon marker ~ ~ ~ {Tags:["ObjectInit"]} + summon item_display ~ ~ ~ {Tags:["ObjectInit","CO.Object"],brightness:{sky:15,block:15},interpolation_duration:3,teleport_duration:1,item:{id:"minecraft:stick",Count:1b,tag:{CustomModelData:20595}},transformation:{left_rotation:[0.0f,0.0f,0.0f,1.0f],right_rotation:[0.0f,0.0f,0.0f,1.0f],translation:[0.0f,0.0f,0.0f],scale:[0.0f,0.0f,0.0f]}} diff --git a/Asset/data/asset/functions/object/2268.gem_upper_shot/tick/.mcfunction b/Asset/data/asset/functions/object/2268.gem_upper_shot/tick/.mcfunction index cf44a3f979..b92aa0df23 100644 --- a/Asset/data/asset/functions/object/2268.gem_upper_shot/tick/.mcfunction +++ b/Asset/data/asset/functions/object/2268.gem_upper_shot/tick/.mcfunction @@ -8,11 +8,15 @@ scoreboard players add @s General.Object.Tick 1 # 予兆 - execute if entity @s[scores={General.Object.Tick=1}] run function asset:object/2268.gem_upper_shot/tick/prediction.m with storage asset:context this + execute if score @s General.Object.Tick matches 3 run data modify entity @s start_interpolation set value -1 + execute if score @s General.Object.Tick matches 3 run data modify entity @s transformation.scale set value [12.0f,0.0f,12.0f] + # execute if entity @s[scores={General.Object.Tick=1}] run function asset:object/2268.gem_upper_shot/tick/prediction.m with storage asset:context this # 攻撃 execute if score @s General.Object.Tick = @s 2268.VfxTime run function asset:object/2268.gem_upper_shot/tick/summon_laser execute if score @s General.Object.Tick = @s 2268.AttackTime run function asset:object/2268.gem_upper_shot/tick/damage + execute if score @s General.Object.Tick = @s 2268.AttackTime run data modify entity @s start_interpolation set value -1 + execute if score @s General.Object.Tick = @s 2268.AttackTime run data modify entity @s transformation.scale set value [0.0f,0.0f,0.0f] # 消滅処理 execute if score @s General.Object.Tick >= @s 2268.KillTime run kill @s diff --git a/Asset/data/asset/functions/object/2268.gem_upper_shot/tick/summon_laser.mcfunction b/Asset/data/asset/functions/object/2268.gem_upper_shot/tick/summon_laser.mcfunction index d08e9f4174..7b1ea1c8fa 100644 --- a/Asset/data/asset/functions/object/2268.gem_upper_shot/tick/summon_laser.mcfunction +++ b/Asset/data/asset/functions/object/2268.gem_upper_shot/tick/summon_laser.mcfunction @@ -7,6 +7,7 @@ # 演出 data modify storage api: Argument.ID set value 2263 data modify storage api: Argument.FieldOverride.Rotation set from entity @s Rotation + data modify storage api: Argument.FieldOverride.Rotation set from storage asset:context this.Rotation data modify storage api: Argument.FieldOverride.IsShot set value true data modify storage api: Argument.FieldOverride.IsUpperShot set value true function api:object/summon From 20070229bfa821823a734dd87d5c7bac6711b0d5 Mon Sep 17 00:00:00 2001 From: mokkkk Date: Fri, 20 Mar 2026 15:49:38 +0900 Subject: [PATCH 67/98] =?UTF-8?q?=E3=83=AD=E3=82=B1=E3=83=83=E3=83=88?= =?UTF-8?q?=E3=83=91=E3=83=B3=E3=83=81=E4=BA=A4=E4=BA=92=E3=83=91=E3=82=BF?= =?UTF-8?q?=E3=83=BC=E3=83=B3=E4=BD=9C=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../0456.gargo_ex_machina/_index.d.mcfunction | 5 +- .../0456.gargo_ex_machina/init/.mcfunction | 2 +- .../tick/act/.mcfunction | 4 +- .../tick/act/phase_1/.mcfunction | 16 ++-- .../act/phase_1/move_to_corner.mcfunction | 13 +++- .../tick/act/phase_2/.mcfunction | 73 +++++++++++++++++++ .../act/phase_2/bluteforce_spin.mcfunction | 9 +++ .../phase_2/field_modify_border.mcfunction | 27 +++++++ .../phase_2/field_modify_square.mcfunction | 27 +++++++ .../tick/act/phase_2/half_beam.mcfunction | 9 +++ .../act/phase_2/move_to_center.mcfunction | 9 +++ .../act/phase_2/move_to_corner.mcfunction | 26 +++++++ .../tick/act/phase_2/move_to_line.mcfunction | 11 +++ .../tick/debug/act.mcfunction | 3 + .../tick/debug/interrupt.mcfunction | 2 +- .../tick/event/.mcfunction | 1 + .../event/blute_force_attack/end.mcfunction | 2 + .../blute_force_attack/event_first.mcfunction | 32 ++++++++ .../tick/event/rocket_punch/.mcfunction | 9 ++- .../tick/event/rocket_punch/end.mcfunction | 2 + .../rocket_punch/pattern_alter.mcfunction | 8 ++ .../rocket_punch/pattern_alter_inv.mcfunction | 8 ++ .../rocket_punch/pattern_cross.mcfunction | 9 +++ .../rocket_punch/pattern_normal.mcfunction | 8 ++ .../event/rocket_punch/summon_aec.mcfunction | 2 +- .../rocket_punch/summon_aec_alter.mcfunction | 20 +++++ 26 files changed, 320 insertions(+), 17 deletions(-) create mode 100644 Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/phase_2/.mcfunction create mode 100644 Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/phase_2/bluteforce_spin.mcfunction create mode 100644 Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/phase_2/field_modify_border.mcfunction create mode 100644 Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/phase_2/field_modify_square.mcfunction create mode 100644 Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/phase_2/half_beam.mcfunction create mode 100644 Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/phase_2/move_to_center.mcfunction create mode 100644 Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/phase_2/move_to_corner.mcfunction create mode 100644 Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/phase_2/move_to_line.mcfunction create mode 100644 Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/blute_force_attack/event_first.mcfunction create mode 100644 Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/rocket_punch/pattern_alter.mcfunction create mode 100644 Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/rocket_punch/pattern_alter_inv.mcfunction create mode 100644 Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/rocket_punch/pattern_cross.mcfunction create mode 100644 Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/rocket_punch/pattern_normal.mcfunction create mode 100644 Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/rocket_punch/summon_aec_alter.mcfunction diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/_index.d.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/_index.d.mcfunction index e3fabbd42a..cd202634a5 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/_index.d.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/_index.d.mcfunction @@ -37,10 +37,13 @@ #declare tag CO.Skill.Transform.Sword 剣変形 #declare tag CO.Skill.RocketPunch ロケットパンチ #declare tag CO.Skill.RocketPunch.Cross 交差ロケットパンチ + #declare tag CO.Skill.RocketPunch.Alter 交互ロケットパンチ + #declare tag CO.Skill.RocketPunch.AlterInv 交互ロケットパンチ #declare tag CO.Skill.Shot 射撃 #declare tag CO.Skill.UpperShot 上空射撃 #declare tag CO.UpperShot.Asyuc 上空射撃攻撃判定用 #declare tag CO.Skill.BluteForce ブルートフォースアタック + #declare tag CO.Skill.BluteForce.First ブルートフォースアタック #declare tag CO.Skill.BluteForce.Async ブルートフォースアタック攻撃判定用 #declare tag CO.Skill.BluteForce.Pt.Tutorial 全員お披露目パターン #declare tag CO.Skill.BluteForce.Pt.Spin 回転パターン @@ -108,6 +111,7 @@ #declare function animated_java:gargo_ex_machina/animations/super_jump_end/pause #declare function animated_java:gargo_ex_machina/animations/super_jump_end/resume #declare function animated_java:gargo_ex_machina/animations/call_drone/tween + #declare function animated_java:gargo_ex_machina/animations/call_drone_first/tween #declare function animated_java:gargo_ex_machina/animations/change_to_shot/tween #declare function animated_java:gargo_ex_machina/animations/change_to_sword/tween #declare function animated_java:gargo_ex_machina/animations/idle_shot/tween @@ -119,5 +123,4 @@ #declare function #declare function #declare function - #declare function #declare function animated_java:gargo_ex_machina/remove/all diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/init/.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/init/.mcfunction index 598a535970..875acacb0e 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/init/.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/init/.mcfunction @@ -36,4 +36,4 @@ tag @s add CO.Skill.Activate # デバッグ - # scoreboard players set @s CO.Phase 1 + tag @s add CO.IsLatter diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/.mcfunction index 310994776c..381b036d11 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/.mcfunction @@ -5,7 +5,7 @@ # @within asset:mob/0456.gargo_ex_machina/tick/** # debug - return 0 + # return 0 # 行動リセット function asset:mob/0456.gargo_ex_machina/tick/util/remove_animation_tag @@ -23,6 +23,6 @@ execute unless entity @s[tag=CO.IsLatter] run function asset:mob/0456.gargo_ex_machina/tick/act/phase_1/ # 後半 - # execute if entity @s[tag=CO.IsLatter] run function asset:mob/0456.gargo_ex_machina/tick/act/phase_2/ + execute if entity @s[tag=CO.IsLatter] run function asset:mob/0456.gargo_ex_machina/tick/act/phase_2/ say act diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/phase_1/.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/phase_1/.mcfunction index b1dd55fdf3..aa051e95ff 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/phase_1/.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/phase_1/.mcfunction @@ -47,8 +47,8 @@ # 待機 execute if score @s CO.Counter matches 17 as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run scoreboard players set @s CO.IdleTimer 100 -## 以下ループ -# ロケットパンチ + 剣 +# 以下ループ +## ロケットパンチ + 剣 # ロケットパンチ execute if score @s CO.Counter matches 18 run scoreboard players set @s CO.PreTimer 140 execute if score @s CO.Counter matches 18 run tag @s add CO.Skill.RocketPunch @@ -58,7 +58,7 @@ execute if score @s CO.Counter matches 20 run tag @s add CO.Skill.SwordAttack # 待機 execute if score @s CO.Counter matches 21 as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run scoreboard players set @s CO.IdleTimer 80 -# 上空射撃 + 通常射撃 +## 上空射撃 + 通常射撃 # 中心に移動 execute if score @s CO.Counter matches 22 run function asset:mob/0456.gargo_ex_machina/tick/act/phase_1/move_to_center # 銃変形 @@ -69,16 +69,16 @@ execute if score @s CO.Counter matches 25 run tag @s add CO.Skill.Shot # 待機 execute if score @s CO.Counter matches 26 as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run scoreboard players set @s CO.IdleTimer 120 -# 交差ロケットパンチ +## 交差ロケットパンチ # 剣変形 execute if score @s CO.Counter matches 27 run tag @s add CO.Skill.Transform.Sword - # 1回目 + # ロケットパンチ1回目 execute if score @s CO.Counter matches 28 run tag @s add CO.Skill.RocketPunch.Cross execute if score @s CO.Counter matches 28 run scoreboard players set @s CO.PreTimer 180 execute if score @s CO.Counter matches 28 run tag @s add CO.Skill.RocketPunch # 待機 execute if score @s CO.Counter matches 29 as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run scoreboard players set @s CO.IdleTimer 40 - # 2回目 + # ロケットパンチ2回目 execute if score @s CO.Counter matches 30 as @e[type=marker,tag=CO.CenterPosition,distance=..80,limit=1] at @s run tp @s ~ ~ ~ ~180 0 execute if score @s CO.Counter matches 30 run tag @s add CO.Skill.RocketPunch.Cross execute if score @s CO.Counter matches 30 run scoreboard players set @s CO.PreTimer 280 @@ -90,9 +90,9 @@ execute if score @s CO.Counter matches 32 as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run scoreboard players set @s CO.IdleTimer 120 # 中心に移動 execute if score @s CO.Counter matches 33 run function asset:mob/0456.gargo_ex_machina/tick/act/phase_1/move_to_center -# 薙ぎ払いレーザー +## 薙ぎ払いレーザー execute if score @s CO.Counter matches 34 run tag @s add CO.Skill.HalfBeam -# モディファイ + 連続ジャンプ +## モディファイ + 連続ジャンプ # フィールドモディファイ・四分割パターン execute if score @s CO.Counter matches 35 as @e[type=marker,tag=CO.CenterPosition,distance=..80,limit=1] at @s positioned ~ ~-0.499 ~ rotated 0 0 run function asset:mob/0456.gargo_ex_machina/tick/act/phase_1/field_modify_square execute if score @s CO.Counter matches 35 run scoreboard players set @s CO.PreTimer 2 diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/phase_1/move_to_corner.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/phase_1/move_to_corner.mcfunction index f05258fd7b..91bf6bf1ae 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/phase_1/move_to_corner.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/phase_1/move_to_corner.mcfunction @@ -8,8 +8,19 @@ # @within function asset:mob/0456.gargo_ex_machina/tick/act/phase_1/move_to_corner #declare score_holder $CO.Temp.Rotation -# ランダムな4隅に移動 +# 中心点ランダム回転 execute store result score $CO.Temp.Rotation Global run random value 0..3 execute store result entity @e[type=marker,tag=CO.CenterPosition,distance=..80,limit=1] Rotation[0] float 1 run scoreboard players operation $CO.Temp.Rotation Global *= $90 Const + +# 4隅にポイント召喚 execute at @e[type=marker,tag=CO.CenterPosition,distance=..80,limit=1] rotated ~45 ~ run summon area_effect_cloud ^ ^ ^32 {Tags:["CO.Aec.Destination"],Duration:80} + execute at @e[type=marker,tag=CO.CenterPosition,distance=..80,limit=1] rotated ~135 ~ run summon area_effect_cloud ^ ^ ^32 {Tags:["CO.Aec.Destination"],Duration:80} + execute at @e[type=marker,tag=CO.CenterPosition,distance=..80,limit=1] rotated ~225 ~ run summon area_effect_cloud ^ ^ ^32 {Tags:["CO.Aec.Destination"],Duration:80} + execute at @e[type=marker,tag=CO.CenterPosition,distance=..80,limit=1] rotated ~315 ~ run summon area_effect_cloud ^ ^ ^32 {Tags:["CO.Aec.Destination"],Duration:80} + +# 自身に近い位置と、ランダム2か所を削除 + kill @e[type=area_effect_cloud,tag=CO.Aec.Destination,distance=..80,sort=nearest,limit=1] + kill @e[type=area_effect_cloud,tag=CO.Aec.Destination,distance=..80,sort=random,limit=2] + +# 終了 tag @s add CO.Skill.Move diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/phase_2/.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/phase_2/.mcfunction new file mode 100644 index 0000000000..48e2b487b4 --- /dev/null +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/phase_2/.mcfunction @@ -0,0 +1,73 @@ +#> asset:mob/0456.gargo_ex_machina/tick/act/phase_2/ +# +# Mobのtick時の処理 +# +# @within asset:mob/0456.gargo_ex_machina/tick/act/ + +# 最初に戻る + # execute if score @s CO.Counter matches 38.. run scoreboard players set @s CO.Counter 18 + +## ブルートフォース:チュートリアル + # 四辺に移動 + execute if score @s CO.Counter matches ..1 run function asset:mob/0456.gargo_ex_machina/tick/act/phase_2/move_to_line + # ブルートフォース:チュートリアル + execute if score @s CO.Counter matches 2 run tag @s add CO.Skill.BluteForce.First + execute if score @s CO.Counter matches 2 run tag @s add CO.Skill.BluteForce.Pt.Tutorial + # スーパージャンプ + execute if score @s CO.Counter matches 3 run scoreboard players set @s CO.PreTimer 500 + execute if score @s CO.Counter matches 3 run tag @s add CO.Skill.SuperJump +# 待機 + execute if score @s CO.Counter matches 4 as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run scoreboard players set @s CO.IdleTimer 160 +## 剣叩きつけ + execute if score @s CO.Counter matches 5 run tag @s add CO.Skill.SwordAttack +# 待機 + execute if score @s CO.Counter matches 6 as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run scoreboard players set @s CO.IdleTimer 80 +## 薙ぎ払いレーザー + # 中心に移動 + execute if score @s CO.Counter matches 7 run function asset:mob/0456.gargo_ex_machina/tick/act/phase_2/move_to_center + # 薙ぎ払いレーザー + execute if score @s CO.Counter matches 8 run function asset:mob/0456.gargo_ex_machina/tick/act/phase_2/half_beam +# 待機 + execute if score @s CO.Counter matches 9 as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run scoreboard players set @s CO.IdleTimer 80 +## ブルートフォース:回転パターン + # 中央に移動 + execute if score @s CO.Counter matches 10 run function asset:mob/0456.gargo_ex_machina/tick/act/phase_2/move_to_center + # ブルートフォース:チュートリアル + execute if score @s CO.Counter matches 11 run tag @s add CO.Skill.BluteForce + execute if score @s CO.Counter matches 11 run function asset:mob/0456.gargo_ex_machina/tick/act/phase_2/bluteforce_spin + # スーパージャンプ + execute if score @s CO.Counter matches 12 run scoreboard players set @s CO.PreTimer 400 + execute if score @s CO.Counter matches 12 run tag @s add CO.Skill.SuperJump +# 待機 + execute if score @s CO.Counter matches 13 as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run scoreboard players set @s CO.IdleTimer 160 +## モディファイ + ロケットパンチ + # フィールドモディファイ・ボーダーパターン + execute if score @s CO.Counter matches 14 as @e[type=marker,tag=CO.CenterPosition,distance=..80,limit=1] at @s positioned ~ ~-0.499 ~ run function asset:mob/0456.gargo_ex_machina/tick/act/phase_2/field_modify_border + execute if score @s CO.Counter matches 14 run scoreboard players set @s CO.PreTimer 3 + execute if score @s CO.Counter matches 14 run tag @s add CO.Skill.FieldModify + # ロケットパンチ1回目 + execute if score @s CO.Counter matches 15 as @e[type=marker,tag=CO.CenterPosition,distance=..80,limit=1] at @s run tp @s ~ ~ ~ ~90 0 + execute if score @s CO.Counter matches 15 run tag @s add CO.Skill.RocketPunch.Alter + execute if score @s CO.Counter matches 15 run scoreboard players set @s CO.PreTimer 180 + execute if score @s CO.Counter matches 15 run tag @s add CO.Skill.RocketPunch + # ロケットパンチ2回目 + execute if score @s CO.Counter matches 16 run tag @s add CO.Skill.RocketPunch.AlterInv + execute if score @s CO.Counter matches 16 run scoreboard players set @s CO.PreTimer 180 + execute if score @s CO.Counter matches 16 run tag @s add CO.Skill.RocketPunch + # 待機 + execute if score @s CO.Counter matches 17 as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run scoreboard players set @s CO.IdleTimer 220 + # ロケットパンチ3回目 + execute if score @s CO.Counter matches 18 as @e[type=marker,tag=CO.CenterPosition,distance=..80,limit=1] at @s run tp @s ~ ~ ~ ~180 0 + execute if score @s CO.Counter matches 18 run scoreboard players set @s CO.PreTimer 180 + execute if score @s CO.Counter matches 18 run tag @s add CO.Skill.RocketPunch + # 四隅に移動 + execute if score @s CO.Counter matches 19 run function asset:mob/0456.gargo_ex_machina/tick/act/phase_2/move_to_corner + ## 剣叩きつけ + execute if score @s CO.Counter matches 20 run tag @s add CO.Skill.SwordAttack +## 薙ぎ払いレーザー + # 中心に移動 + execute if score @s CO.Counter matches 21 run function asset:mob/0456.gargo_ex_machina/tick/act/phase_2/move_to_center + # 薙ぎ払いレーザー + execute if score @s CO.Counter matches 22 run function asset:mob/0456.gargo_ex_machina/tick/act/phase_2/half_beam +# 待機 + execute if score @s CO.Counter matches 23 as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run scoreboard players set @s CO.IdleTimer 200 diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/phase_2/bluteforce_spin.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/phase_2/bluteforce_spin.mcfunction new file mode 100644 index 0000000000..19d91e8236 --- /dev/null +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/phase_2/bluteforce_spin.mcfunction @@ -0,0 +1,9 @@ +#> asset:mob/0456.gargo_ex_machina/tick/act/phase_2/bluteforce_spin +# +# Mobのtick時の処理 +# +# @within asset:mob/0456.gargo_ex_machina/tick/act/phase_2/ + +# ランダムで使用 + execute if predicate lib:random_pass_per/50 run tag @s add CO.Skill.BluteForce.Pt.Spin + execute unless entity @s[tag=CO.Skill.BluteForce.Pt.Spin] run tag @s add CO.Skill.BluteForce.Pt.SpinInv diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/phase_2/field_modify_border.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/phase_2/field_modify_border.mcfunction new file mode 100644 index 0000000000..2dc983f246 --- /dev/null +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/phase_2/field_modify_border.mcfunction @@ -0,0 +1,27 @@ +#> asset:mob/0456.gargo_ex_machina/tick/act/phase_2/field_modify_border +# +# フィールド・モディファイ +# +# @within asset:mob/0456.gargo_ex_machina/tick/act/phase_2/ + +# 位置決定用AEC召喚 + # A + summon area_effect_cloud ^22.5 ^ ^7.5 {Tags:["CO.Aec.FieldModify","CO.Aec.FieldModify.A"],Duration:80} + summon area_effect_cloud ^22.5 ^ ^-7.5 {Tags:["CO.Aec.FieldModify","CO.Aec.FieldModify.A"],Duration:80} + summon area_effect_cloud ^22.5 ^ ^22.5 {Tags:["CO.Aec.FieldModify","CO.Aec.FieldModify.A"],Duration:80} + summon area_effect_cloud ^22.5 ^ ^-22.5 {Tags:["CO.Aec.FieldModify","CO.Aec.FieldModify.A"],Duration:80} + # B + summon area_effect_cloud ^7.5 ^ ^7.5 {Tags:["CO.Aec.FieldModify","CO.Aec.FieldModify.B"],Duration:80} + summon area_effect_cloud ^7.5 ^ ^22.5 {Tags:["CO.Aec.FieldModify","CO.Aec.FieldModify.B"],Duration:80} + summon area_effect_cloud ^7.5 ^ ^-7.5 {Tags:["CO.Aec.FieldModify","CO.Aec.FieldModify.B"],Duration:80} + summon area_effect_cloud ^7.5 ^ ^-22.5 {Tags:["CO.Aec.FieldModify","CO.Aec.FieldModify.B"],Duration:80} + # C + summon area_effect_cloud ^-7.5 ^ ^-7.5 {Tags:["CO.Aec.FieldModify","CO.Aec.FieldModify.C"],Duration:80} + summon area_effect_cloud ^-7.5 ^ ^7.5 {Tags:["CO.Aec.FieldModify","CO.Aec.FieldModify.C"],Duration:80} + summon area_effect_cloud ^-7.5 ^ ^22.5 {Tags:["CO.Aec.FieldModify","CO.Aec.FieldModify.C"],Duration:80} + summon area_effect_cloud ^-7.5 ^ ^-22.5 {Tags:["CO.Aec.FieldModify","CO.Aec.FieldModify.C"],Duration:80} + # D + summon area_effect_cloud ^-22.5 ^ ^7.5 {Tags:["CO.Aec.FieldModify","CO.Aec.FieldModify.D"],Duration:80} + summon area_effect_cloud ^-22.5 ^ ^-7.5 {Tags:["CO.Aec.FieldModify","CO.Aec.FieldModify.D"],Duration:80} + summon area_effect_cloud ^-22.5 ^ ^22.5 {Tags:["CO.Aec.FieldModify","CO.Aec.FieldModify.D"],Duration:80} + summon area_effect_cloud ^-22.5 ^ ^-22.5 {Tags:["CO.Aec.FieldModify","CO.Aec.FieldModify.D"],Duration:80} diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/phase_2/field_modify_square.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/phase_2/field_modify_square.mcfunction new file mode 100644 index 0000000000..263989c051 --- /dev/null +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/phase_2/field_modify_square.mcfunction @@ -0,0 +1,27 @@ +#> asset:mob/0456.gargo_ex_machina/tick/act/phase_1/field_modify_square +# +# フィールド・モディファイ +# +# @within asset:mob/0456.gargo_ex_machina/tick/act/phase_1/ + +# 位置決定用AEC召喚 + # A + summon area_effect_cloud ^22.5 ^ ^7.5 {Tags:["CO.Aec.FieldModify","CO.Aec.FieldModify.A"],Duration:80} + summon area_effect_cloud ^7.5 ^ ^7.5 {Tags:["CO.Aec.FieldModify","CO.Aec.FieldModify.A"],Duration:80} + summon area_effect_cloud ^7.5 ^ ^22.5 {Tags:["CO.Aec.FieldModify","CO.Aec.FieldModify.A"],Duration:80} + summon area_effect_cloud ^22.5 ^ ^22.5 {Tags:["CO.Aec.FieldModify","CO.Aec.FieldModify.A"],Duration:80} + # B + summon area_effect_cloud ^-22.5 ^ ^7.5 {Tags:["CO.Aec.FieldModify","CO.Aec.FieldModify.B"],Duration:80} + summon area_effect_cloud ^-7.5 ^ ^7.5 {Tags:["CO.Aec.FieldModify","CO.Aec.FieldModify.B"],Duration:80} + summon area_effect_cloud ^-22.5 ^ ^22.5 {Tags:["CO.Aec.FieldModify","CO.Aec.FieldModify.B"],Duration:80} + summon area_effect_cloud ^-7.5 ^ ^22.5 {Tags:["CO.Aec.FieldModify","CO.Aec.FieldModify.B"],Duration:80} + # C + summon area_effect_cloud ^7.5 ^ ^-7.5 {Tags:["CO.Aec.FieldModify","CO.Aec.FieldModify.C"],Duration:80} + summon area_effect_cloud ^22.5 ^ ^-7.5 {Tags:["CO.Aec.FieldModify","CO.Aec.FieldModify.C"],Duration:80} + summon area_effect_cloud ^7.5 ^ ^-22.5 {Tags:["CO.Aec.FieldModify","CO.Aec.FieldModify.C"],Duration:80} + summon area_effect_cloud ^22.5 ^ ^-22.5 {Tags:["CO.Aec.FieldModify","CO.Aec.FieldModify.C"],Duration:80} + # D + summon area_effect_cloud ^-22.5 ^ ^-7.5 {Tags:["CO.Aec.FieldModify","CO.Aec.FieldModify.D"],Duration:80} + summon area_effect_cloud ^-7.5 ^ ^-7.5 {Tags:["CO.Aec.FieldModify","CO.Aec.FieldModify.D"],Duration:80} + summon area_effect_cloud ^-22.5 ^ ^-22.5 {Tags:["CO.Aec.FieldModify","CO.Aec.FieldModify.D"],Duration:80} + summon area_effect_cloud ^-7.5 ^ ^-22.5 {Tags:["CO.Aec.FieldModify","CO.Aec.FieldModify.D"],Duration:80} diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/phase_2/half_beam.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/phase_2/half_beam.mcfunction new file mode 100644 index 0000000000..bff0cce547 --- /dev/null +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/phase_2/half_beam.mcfunction @@ -0,0 +1,9 @@ +#> asset:mob/0456.gargo_ex_machina/tick/act/phase_2/half_beam +# +# Mobのtick時の処理 +# +# @within asset:mob/0456.gargo_ex_machina/tick/act/phase_2/ + +# ランダムで使用 + execute if predicate lib:random_pass_per/50 run tag @s add CO.Skill.HalfBeamSword + execute unless entity @s[tag=CO.Skill.HalfBeamSword] run tag @s add CO.Skill.HalfBeamShot diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/phase_2/move_to_center.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/phase_2/move_to_center.mcfunction new file mode 100644 index 0000000000..fafb807b33 --- /dev/null +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/phase_2/move_to_center.mcfunction @@ -0,0 +1,9 @@ +#> asset:mob/0456.gargo_ex_machina/tick/act/phase_2/move_to_center +# +# Mobのtick時の処理 +# +# @within asset:mob/0456.gargo_ex_machina/tick/act/phase_2/ + +# 中心点に移動 + execute at @e[type=marker,tag=CO.CenterPosition,distance=..80,limit=1] run summon area_effect_cloud ^ ^ ^ {Tags:["CO.Aec.Destination"],Duration:80} + tag @s add CO.Skill.Move diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/phase_2/move_to_corner.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/phase_2/move_to_corner.mcfunction new file mode 100644 index 0000000000..df62df4f75 --- /dev/null +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/phase_2/move_to_corner.mcfunction @@ -0,0 +1,26 @@ +#> asset:mob/0456.gargo_ex_machina/tick/act/phase_2/move_to_corner +# +# Mobのtick時の処理 +# +# @within asset:mob/0456.gargo_ex_machina/tick/act/phase_2/ + +#> Private +# @within function asset:mob/0456.gargo_ex_machina/tick/act/phase_2/move_to_corner + #declare score_holder $CO.Temp.Rotation + +# 中心点ランダム回転 + execute store result score $CO.Temp.Rotation Global run random value 0..3 + execute store result entity @e[type=marker,tag=CO.CenterPosition,distance=..80,limit=1] Rotation[0] float 1 run scoreboard players operation $CO.Temp.Rotation Global *= $90 Const + +# 4隅にポイント召喚 + execute at @e[type=marker,tag=CO.CenterPosition,distance=..80,limit=1] rotated ~45 ~ run summon area_effect_cloud ^ ^ ^32 {Tags:["CO.Aec.Destination"],Duration:80} + execute at @e[type=marker,tag=CO.CenterPosition,distance=..80,limit=1] rotated ~135 ~ run summon area_effect_cloud ^ ^ ^32 {Tags:["CO.Aec.Destination"],Duration:80} + execute at @e[type=marker,tag=CO.CenterPosition,distance=..80,limit=1] rotated ~225 ~ run summon area_effect_cloud ^ ^ ^32 {Tags:["CO.Aec.Destination"],Duration:80} + execute at @e[type=marker,tag=CO.CenterPosition,distance=..80,limit=1] rotated ~315 ~ run summon area_effect_cloud ^ ^ ^32 {Tags:["CO.Aec.Destination"],Duration:80} + +# 自身に近い位置と、ランダム2か所を削除 + kill @e[type=area_effect_cloud,tag=CO.Aec.Destination,distance=..80,sort=nearest,limit=1] + kill @e[type=area_effect_cloud,tag=CO.Aec.Destination,distance=..80,sort=random,limit=2] + +# 終了 + tag @s add CO.Skill.Move diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/phase_2/move_to_line.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/phase_2/move_to_line.mcfunction new file mode 100644 index 0000000000..629c32bd94 --- /dev/null +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/phase_2/move_to_line.mcfunction @@ -0,0 +1,11 @@ +#> asset:mob/0456.gargo_ex_machina/tick/act/phase_2/move_to_line +# +# Mobのtick時の処理 +# +# @within asset:mob/0456.gargo_ex_machina/tick/act/phase_2/ + +# ランダムな4辺中央に移動 + execute store result score $CO.Temp.Rotation Global run random value 0..3 + execute store result entity @e[type=marker,tag=CO.CenterPosition,distance=..80,limit=1] Rotation[0] float 1 run scoreboard players operation $CO.Temp.Rotation Global *= $90 Const + execute at @e[type=marker,tag=CO.CenterPosition,distance=..80,limit=1] rotated ~ ~ run summon area_effect_cloud ^ ^ ^-25 {Tags:["CO.Aec.Destination"],Duration:80} + tag @s add CO.Skill.Move diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/debug/act.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/debug/act.mcfunction index 0a0ca7207f..8b275d257c 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/debug/act.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/debug/act.mcfunction @@ -14,5 +14,8 @@ # execute at @e[type=marker,tag=CO.CenterPosition] run tp @s ^ ^ ^ 0 0 # execute at @s run tp @e[type=item_display,tag=CO.ModelRoot] ~ ~ ~ ~ 0 +# パターンを任意のタイミングに設定 + scoreboard players set @s CO.Counter 13 + # イベント実行 function asset:mob/0456.gargo_ex_machina/tick/act/ diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/debug/interrupt.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/debug/interrupt.mcfunction index 449e51aefc..f927c6dbe2 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/debug/interrupt.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/debug/interrupt.mcfunction @@ -18,5 +18,5 @@ # execute at @s run tp @e[type=item_display,tag=CO.ModelRoot] ~ ~ ~ ~ 0 # イベント実行 - tag @s add CO.Skill.UpperShot + tag @s add CO.Skill.HalfBeamShot # tag @s add CO.Skill.BluteForce.Pt.SpinInv diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/.mcfunction index 2863b3533d..359c72b3ff 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/.mcfunction @@ -59,6 +59,7 @@ # ブルートフォースアタック execute if entity @s[tag=CO.Skill.BluteForce] run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/ + execute if entity @s[tag=CO.Skill.BluteForce.First] run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/event_first # お披露目パターン execute if entity @s[tag=CO.Skill.BluteForce.Async,tag=CO.Skill.BluteForce.Pt.Tutorial] at @e[type=marker,tag=CO.CenterPosition,distance=..80] run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/async_pattern_tutorial # 回転パターン diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/blute_force_attack/end.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/blute_force_attack/end.mcfunction index 13bdff0aab..dfa3091aea 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/blute_force_attack/end.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/blute_force_attack/end.mcfunction @@ -3,10 +3,12 @@ # ブルートフォースアタック # # @within asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/ +# @within asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/event_first # タグ消去 scoreboard players set @s CO.EventTimer 0 tag @s remove CO.Skill.BluteForce + tag @s remove CO.Skill.BluteForce.First # 待機モーション再生 execute as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run function animated_java:gargo_ex_machina/animations/idle/tween {duration:1, to_frame: 1} diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/blute_force_attack/event_first.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/blute_force_attack/event_first.mcfunction new file mode 100644 index 0000000000..786bc780f4 --- /dev/null +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/blute_force_attack/event_first.mcfunction @@ -0,0 +1,32 @@ +#> asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/event_first +# +# ブルートフォースアタック +# +# @within asset:mob/0456.gargo_ex_machina/tick/event/ + +# タイマー増加 + scoreboard players add @s CO.EventTimer 1 + +# 構え + # アニメーション再生 + execute if score @s CO.EventTimer matches 1 as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run function animated_java:gargo_ex_machina/animations/call_drone_first/tween {duration:1, to_frame: 1} + # 効果音 + execute if score @s CO.EventTimer matches 1 run function asset:mob/0456.gargo_ex_machina/tick/util/sound + execute if score @s CO.EventTimer matches 90 run function asset:mob/0456.gargo_ex_machina/tick/util/sound + # 演出 + # 画面エフェクト + execute if score @s CO.EventTimer matches 73 run title @a[distance=..160] times 3 0 5 + execute if score @s CO.EventTimer matches 73 run title @a[distance=..160] title {"text":"\uE010","font":"screen_effect","color":"#E8E8E8"} + execute if score @s CO.EventTimer matches 75 run playsound block.beacon.power_select hostile @a ~ ~ ~ 4 1.5 + execute if score @s CO.EventTimer matches 75 run playsound block.beacon.power_select hostile @a ~ ~ ~ 4 1.7 + # 中央を見る + execute if score @s CO.EventTimer matches 1 at @e[type=marker,tag=CO.CenterPosition,distance=..80] run summon area_effect_cloud ~ ~ ~ {Tags:["CO.Aec.Destination"],Duration:45} + execute if score @s CO.EventTimer matches 1..40 run function asset:mob/0456.gargo_ex_machina/tick/util/rotate_to_destination + # モデルを合わせる + execute as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run tp @s ~ ~ ~ ~ ~ + # 召喚開始 + execute if score @s CO.EventTimer matches 74 run tag @s add CO.Skill.BluteForce.Async + execute if score @s CO.EventTimer matches 74 run scoreboard players set @s CO.EventTimer.BluteForce 0 + +# 終了 + execute if score @s CO.EventTimer matches 110.. run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/end diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/rocket_punch/.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/rocket_punch/.mcfunction index 118b4242d6..12bc74edd6 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/rocket_punch/.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/rocket_punch/.mcfunction @@ -18,8 +18,13 @@ # モデルを合わせる execute as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run tp @s ~ ~ ~ ~ ~ # 攻撃位置決定 - execute if score @s CO.EventTimer matches 14 at @e[type=marker,tag=CO.CenterPosition,distance=..80,limit=1] positioned ^ ^ ^35 rotated ~180 0 run function asset:mob/0456.gargo_ex_machina/tick/event/rocket_punch/summon_aec - execute if entity @s[tag=CO.Skill.RocketPunch.Cross] if score @s CO.EventTimer matches 14 if predicate api:global_vars/difficulty/min/2_hard at @e[type=marker,tag=CO.CenterPosition,distance=..80,limit=1] rotated ~90 ~ positioned ^ ^ ^35 rotated ~180 0 run function asset:mob/0456.gargo_ex_machina/tick/event/rocket_punch/summon_aec + # 通常パターン + execute if entity @s[tag=!CO.Skill.RocketPunch.Alter,tag=!CO.Skill.RocketPunch.AlterInv,tag=!CO.Skill.RocketPunch.Cross] if score @s CO.EventTimer matches 14 at @e[type=marker,tag=CO.CenterPosition,distance=..80,limit=1] run function asset:mob/0456.gargo_ex_machina/tick/event/rocket_punch/pattern_normal + # 交差パターン + execute if entity @s[tag=CO.Skill.RocketPunch.Cross,tag=!CO.Skill.RocketPunch.Alter,tag=!CO.Skill.RocketPunch.AlterInv] if score @s CO.EventTimer matches 14 at @e[type=marker,tag=CO.CenterPosition,distance=..80,limit=1] run function asset:mob/0456.gargo_ex_machina/tick/event/rocket_punch/pattern_cross + # 交互パターン + execute if entity @s[tag=CO.Skill.RocketPunch.Alter,tag=!CO.Skill.RocketPunch.Cross] if score @s CO.EventTimer matches 14 at @e[type=marker,tag=CO.CenterPosition,distance=..80,limit=1] run function asset:mob/0456.gargo_ex_machina/tick/event/rocket_punch/pattern_alter + execute if entity @s[tag=CO.Skill.RocketPunch.AlterInv,tag=!CO.Skill.RocketPunch.Cross] if score @s CO.EventTimer matches 14 at @e[type=marker,tag=CO.CenterPosition,distance=..80,limit=1] run function asset:mob/0456.gargo_ex_machina/tick/event/rocket_punch/pattern_alter_inv # 召喚 execute if score @s CO.EventTimer matches 14.. at @e[type=area_effect_cloud,tag=CO.Aec.AttackPosition,distance=..80,sort=random,limit=1] run function asset:mob/0456.gargo_ex_machina/tick/event/rocket_punch/summon_punch execute if score @s CO.EventTimer matches 40 run kill @e[type=area_effect_cloud,tag=CO.Aec.AttackPosition,distance=..80] diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/rocket_punch/end.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/rocket_punch/end.mcfunction index 251879fcbd..a38b0f4013 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/rocket_punch/end.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/rocket_punch/end.mcfunction @@ -8,6 +8,8 @@ scoreboard players set @s CO.EventTimer 0 tag @s remove CO.Skill.RocketPunch tag @s remove CO.Skill.RocketPunch.Cross + tag @s remove CO.Skill.RocketPunch.Alter + tag @s remove CO.Skill.RocketPunch.AlterInv scoreboard players reset @s CO.PreTimer # 待機モーション再生 diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/rocket_punch/pattern_alter.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/rocket_punch/pattern_alter.mcfunction new file mode 100644 index 0000000000..dc6e0c2347 --- /dev/null +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/rocket_punch/pattern_alter.mcfunction @@ -0,0 +1,8 @@ +#> asset:mob/0456.gargo_ex_machina/tick/event/rocket_punch/pattern_alter +# +# ロケットパンチ +# +# @within asset:mob/0456.gargo_ex_machina/tick/event/rocket_punch/ + +# 攻撃位置決定 + execute positioned ^ ^ ^35 rotated ~180 0 run function asset:mob/0456.gargo_ex_machina/tick/event/rocket_punch/summon_aec_alter diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/rocket_punch/pattern_alter_inv.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/rocket_punch/pattern_alter_inv.mcfunction new file mode 100644 index 0000000000..95f9078baa --- /dev/null +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/rocket_punch/pattern_alter_inv.mcfunction @@ -0,0 +1,8 @@ +#> asset:mob/0456.gargo_ex_machina/tick/event/rocket_punch/pattern_alter_inv +# +# ロケットパンチ +# +# @within asset:mob/0456.gargo_ex_machina/tick/event/rocket_punch/ + +# 攻撃位置決定 + execute positioned ^ ^ ^35 rotated ~180 0 positioned ^10 ^ ^ run function asset:mob/0456.gargo_ex_machina/tick/event/rocket_punch/summon_aec_alter diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/rocket_punch/pattern_cross.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/rocket_punch/pattern_cross.mcfunction new file mode 100644 index 0000000000..5707174e70 --- /dev/null +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/rocket_punch/pattern_cross.mcfunction @@ -0,0 +1,9 @@ +#> asset:mob/0456.gargo_ex_machina/tick/event/rocket_punch/pattern_cross +# +# ロケットパンチ +# +# @within asset:mob/0456.gargo_ex_machina/tick/event/rocket_punch/ + +# 攻撃位置決定 + execute positioned ^ ^ ^35 rotated ~180 0 run function asset:mob/0456.gargo_ex_machina/tick/event/rocket_punch/summon_aec + execute rotated ~90 ~ positioned ^ ^ ^35 rotated ~180 0 run function asset:mob/0456.gargo_ex_machina/tick/event/rocket_punch/summon_aec diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/rocket_punch/pattern_normal.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/rocket_punch/pattern_normal.mcfunction new file mode 100644 index 0000000000..242b351d68 --- /dev/null +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/rocket_punch/pattern_normal.mcfunction @@ -0,0 +1,8 @@ +#> asset:mob/0456.gargo_ex_machina/tick/event/rocket_punch/pattern_normal +# +# ロケットパンチ +# +# @within asset:mob/0456.gargo_ex_machina/tick/event/rocket_punch/ + +# 攻撃位置決定 + execute positioned ^ ^ ^35 rotated ~180 0 run function asset:mob/0456.gargo_ex_machina/tick/event/rocket_punch/summon_aec diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/rocket_punch/summon_aec.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/rocket_punch/summon_aec.mcfunction index ada329c6a2..ad2a93af87 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/rocket_punch/summon_aec.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/rocket_punch/summon_aec.mcfunction @@ -2,7 +2,7 @@ # # ロケットパンチ # -# @within asset:mob/0456.gargo_ex_machina/tick/event/rocket_punch/ +# @within asset:mob/0456.gargo_ex_machina/tick/event/rocket_punch/** # [ImportKey]: NobwRALgngDgpmAXGANgSwHYIDRgK55oAmSYRA7ACzkCGNATAGwC0ArAMb3vOUCcADAGZmNOERrN+tIgCM4-fpXqywuDDQC2CZIC3fAAQBGVWBg0ATpoDOScOwD2eDBCSNcAMzN2NNsADcaKHja4AAeSMz0rLhQSPwAvnG4EHY+-oHBYGGIkdGxCbh2bm6WcM6I-LhyAF5ocGaxuGiWAEJwNXUAogCOeAEoUADKpuxiSG4BJQkAukA_3 # 線 1 diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/rocket_punch/summon_aec_alter.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/rocket_punch/summon_aec_alter.mcfunction new file mode 100644 index 0000000000..f54aaa0187 --- /dev/null +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/rocket_punch/summon_aec_alter.mcfunction @@ -0,0 +1,20 @@ +#> asset:mob/0456.gargo_ex_machina/tick/event/rocket_punch/summon_aec_alter +# +# ロケットパンチ +# +# @within asset:mob/0456.gargo_ex_machina/tick/event/rocket_punch/** + +# [ImportKey]: NobwRALgngDgpmAXGANgSwHYIDRgK55oAmSYRA7ACzkCGNATAGwC0ArAMb3vOUCcADAGZmNOERrN+tIgCM4-fpXqywuDDQC2CZIC3fAAQBGVWBg0ATpoDOScOwD2eDBCSNcAMzN2NNsADcaKHja4AAeSMz0rLhQSPwAvnG4EHY+-oHBYGGIkdGxCbh2bm6WcM6I-LhyAF5ocGaxuGiWAEJwNXUAogCOeAEoUADKpuxiSG4BJQkAukA_3 +# 線 1 +summon area_effect_cloud ^-25 ^ ^0 {Tags:["CO.Aec.AttackPosition","CO.Aec.AttackPosition.Init"],Duration:80} +# summon area_effect_cloud ^-15 ^ ^0 {Tags:["CO.Aec.AttackPosition","CO.Aec.AttackPosition.Init"],Duration:80} +summon area_effect_cloud ^-5 ^ ^0 {Tags:["CO.Aec.AttackPosition","CO.Aec.AttackPosition.Init"],Duration:80} +# summon area_effect_cloud ^5 ^ ^0 {Tags:["CO.Aec.AttackPosition","CO.Aec.AttackPosition.Init"],Duration:80} +summon area_effect_cloud ^15 ^ ^0 {Tags:["CO.Aec.AttackPosition","CO.Aec.AttackPosition.Init"],Duration:80} +# summon area_effect_cloud ^25 ^ ^0 {Tags:["CO.Aec.AttackPosition","CO.Aec.AttackPosition.Init"],Duration:80} + +# 回転 + execute as @e[type=area_effect_cloud,tag=CO.Aec.AttackPosition,tag=CO.Aec.AttackPosition.Init,distance=..80] positioned as @s run tp @s ~ ~ ~ ~ ~ + +# 終了 + tag @e[type=area_effect_cloud,tag=CO.Aec.AttackPosition,tag=CO.Aec.AttackPosition.Init,distance=..80] remove CO.Aec.AttackPosition.Init From fc31ec57b78405d6a8d9f2b7999f4f66b5b8a884 Mon Sep 17 00:00:00 2001 From: mokkkk Date: Fri, 20 Mar 2026 16:13:43 +0900 Subject: [PATCH 68/98] =?UTF-8?q?=E3=83=AC=E3=83=BC=E3=82=B6=E3=83=BC+?= =?UTF-8?q?=E5=B0=84=E6=92=83=E3=81=AE=E5=BD=93=E3=81=9F=E3=82=8A=E5=88=A4?= =?UTF-8?q?=E5=AE=9A=E4=BB=95=E6=A7=98=E5=A4=89=E6=9B=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../half_beam_shot/attack_shot.mcfunction | 22 +++ .../half_beam_shot/event_attack.mcfunction | 1 + .../half_beam_shot/event_charging.mcfunction | 6 +- .../set_attack_position.mcfunction | 135 +++++++----------- ....m.mcfunction => summon_shot.m.mcfunction} | 6 +- .../2268.gem_upper_shot/_index.d.mcfunction | 1 + .../2268.gem_upper_shot/init/.mcfunction | 3 + .../2268.gem_upper_shot/tick/.mcfunction | 3 +- .../tick/damage.mcfunction | 5 - .../tick/damage_vfx.mcfunction | 10 ++ 10 files changed, 101 insertions(+), 91 deletions(-) create mode 100644 Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam_shot/attack_shot.mcfunction rename Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam_shot/{attack_shot.m.mcfunction => summon_shot.m.mcfunction} (68%) create mode 100644 Asset/data/asset/functions/object/2268.gem_upper_shot/tick/damage_vfx.mcfunction diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam_shot/attack_shot.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam_shot/attack_shot.mcfunction new file mode 100644 index 0000000000..35e4e080d1 --- /dev/null +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam_shot/attack_shot.mcfunction @@ -0,0 +1,22 @@ +#> asset:mob/0456.gargo_ex_machina/tick/event/half_beam_shot/attack_shot +# +# 半面焼きビーム +# +# @within asset:mob/0456.gargo_ex_machina/tick/event/half_beam_shot/event_attack + +# ヒット判定 + # ドーナツ範囲 + tag @a[tag=DXYZ] remove DXYZ + tag @a[tag=!PlayerShouldInvulnerable,distance=..80] add DXYZ + tag @a[tag=DXYZ,distance=..18] remove DXYZ + +# ダメージ + data modify storage api: Argument.Damage set from storage asset:context this.Damage.Shot.Amount + data modify storage api: Argument.AttackType set from storage asset:context this.Damage.Shot.Type + data modify storage api: Argument.ElementType set from storage asset:context this.Damage.Shot.Element + function api:damage/modifier + execute as @a[tag=DXYZ] run function api:damage/ + function api:damage/reset + +# 終了 + tag @a[tag=DXYZ] remove DXYZ diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam_shot/event_attack.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam_shot/event_attack.mcfunction index 2ff39dd494..30c182561d 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam_shot/event_attack.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam_shot/event_attack.mcfunction @@ -31,6 +31,7 @@ # 攻撃 execute if entity @s[tag=CO.Skill.HalfBeam.IsRight] if score @s CO.EventTimer matches 19 positioned ^-30 ^ ^ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_shot/attack execute unless entity @s[tag=CO.Skill.HalfBeam.IsRight] if score @s CO.EventTimer matches 19 positioned ^30 ^ ^ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_shot/attack + execute if score @s CO.EventTimer matches 19 run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_shot/attack_shot # 攻撃演出 execute if score @s CO.EventTimer matches 7 positioned ~ ~15 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_shot/summon_laser_start execute if score @s CO.EventTimer matches 7..14 run playsound entity.breeze.jump hostile @a ~ ~ ~ 2 0.5 diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam_shot/event_charging.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam_shot/event_charging.mcfunction index 867951b439..e6e5fec09c 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam_shot/event_charging.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam_shot/event_charging.mcfunction @@ -32,11 +32,11 @@ # 射撃 execute if score @s CO.EventTimer matches 10 at @e[type=marker,tag=CO.CenterPosition] run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_shot/set_attack_position # ノーマル - execute if predicate api:global_vars/difficulty/1_normal if score @s CO.EventTimer matches 15.. at @e[type=area_effect_cloud,tag=CO.Aec.AttackPosition,distance=..80,sort=random,limit=5] run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_shot/attack_shot.m {PredictionTime:105,AttackTime:105} + execute if predicate api:global_vars/difficulty/1_normal if score @s CO.EventTimer matches 15.. at @e[type=area_effect_cloud,tag=CO.Aec.AttackPosition,distance=..80,sort=random,limit=5] run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_shot/summon_shot.m {PredictionTime:105,AttackTime:105} # ハード - execute if predicate api:global_vars/difficulty/2_hard if score @s CO.EventTimer matches 45.. at @e[type=area_effect_cloud,tag=CO.Aec.AttackPosition,distance=..80,sort=random,limit=5] run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_shot/attack_shot.m {PredictionTime:75,AttackTime:75} + execute if predicate api:global_vars/difficulty/2_hard if score @s CO.EventTimer matches 45.. at @e[type=area_effect_cloud,tag=CO.Aec.AttackPosition,distance=..80,sort=random,limit=5] run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_shot/summon_shot.m {PredictionTime:75,AttackTime:75} # ブレスレス - execute if predicate api:global_vars/difficulty/min/3_blessless if score @s CO.EventTimer matches 85.. at @e[type=area_effect_cloud,tag=CO.Aec.AttackPosition,distance=..80,sort=random,limit=5] run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_shot/attack_shot.m {PredictionTime:35,AttackTime:35} + execute if predicate api:global_vars/difficulty/min/3_blessless if score @s CO.EventTimer matches 85.. at @e[type=area_effect_cloud,tag=CO.Aec.AttackPosition,distance=..80,sort=random,limit=5] run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_shot/summon_shot.m {PredictionTime:35,AttackTime:35} # 効果音 execute if score @s CO.EventTimer matches 1..100 positioned ~ ~15 ~ run particle end_rod ~ ~ ~ 2 2 2 0.05 1 diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam_shot/set_attack_position.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam_shot/set_attack_position.mcfunction index d64ceb2758..41b861a7e5 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam_shot/set_attack_position.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam_shot/set_attack_position.mcfunction @@ -4,84 +4,57 @@ # # @within asset:mob/0456.gargo_ex_machina/tick/event/half_beam_shot/event_charging -# [ImportKey]: NobwRALgngDgpmAXGGB7ANlA5qgdmAGjAFdiBLAEyTAEYB2ANgCMBWFigZgFoaK4AWLvyYMaXABwNxAQy7SWcaf3EBOfgDMAxh3WEwuaQFsEyQFiagJcjARvoACGnpjSATkYDOScJtTFcEJAyKacD5wju5gAG7S6MQm4AAeSAAMRFBJAL5pRM4UZMRuiPwATAB0RUQuEE6+BSxEcOjoZDAuJjSJyWCOqJUQJh2ejrghSPxEAFbEhjBINERMcABeZMOIHWQuAKINTS0bAI7EUZgAyg6BVIjqUS1E6wBCi8uO+4cNUKfS50hX6C0ZBOBoPBqGhMDh8ERSJRqHAaJoaIVChQ6HI6NJxEIVCoxOJWGJESx1HBFBQKJp5HoDMZqBYbGJPDBUkQHM5DPkPF4fEhamBAsFQohwJForEwAlVil0plOtIcnkkBwSmUwBUqiMefVGs1Wu0st1pL0kgFUIMVqMwBMpjM5o8VmtNtttS8ju8znALj8bmB7rbngcXR8vpdrnB-oDYCYUBhsHg9FCLmA4JpCuomDI4FxNCxEiiiuIM+iFFwVOJxIUaAwkTR+BQmJSjJHabZM6hGS3GfYnK4wp5vNVzXzegKhVEYmFxR1Uqt-jK5flEaVCuVKo5+xrHS0ZrrOvrDRLeSahgLzZbpohZmB5ks7bcHVrdv63oH3d8Q7eHte-a8Tm6PSGw5AEYgtG4JxuQCaJAIHB0Jo6gYhQiKCMoDAMMWdBolwhTSIqdClhwnAsHYRBUo2VjNgyUDtpRFGdqy7IHn2SBLryQRDmEwpjoKYpGmAU6JDO2S5PkCKLsuao1HUG46h0XQ9H0xqmse4yTGeF5Xk8PHrFs95wM6T6-q+vxwO+vp6T+nwvsGRkAUCkagjGEIkOB1DiPwnwIbCEhwIUqH8BwDAqFwTB0PwqEUJB+bqFoNDiBwLD1tSZhkfSrbUalVFUbR3Zcb2XLngErErCOIrjjxfECbKQkKqJKormukk6VuMm7vJB6KSMylWvll6+ppd47Lpj7mUGnrGd6Lgfk8ZmuhZf7WWkAC6QA_3 -# 多角形 1-copy-copy-copy-copy -summon area_effect_cloud ^2.41831 ^ ^-2.41831 {Tags:["CO.Aec.AttackPosition"],Duration:100} -summon area_effect_cloud ^2.41831 ^ ^2.41831 {Tags:["CO.Aec.AttackPosition"],Duration:100} -summon area_effect_cloud ^-2.41831 ^ ^2.41831 {Tags:["CO.Aec.AttackPosition"],Duration:100} -summon area_effect_cloud ^-2.41831 ^ ^-2.41831 {Tags:["CO.Aec.AttackPosition"],Duration:100} -# 多角形 1 -summon area_effect_cloud ^29.99547 ^ ^-29.99547 {Tags:["CO.Aec.AttackPosition"],Duration:100} -summon area_effect_cloud ^29.99547 ^ ^-19.99698 {Tags:["CO.Aec.AttackPosition"],Duration:100} -summon area_effect_cloud ^29.99547 ^ ^-9.99849 {Tags:["CO.Aec.AttackPosition"],Duration:100} -summon area_effect_cloud ^29.99547 ^ ^0 {Tags:["CO.Aec.AttackPosition"],Duration:100} -summon area_effect_cloud ^29.99547 ^ ^9.99849 {Tags:["CO.Aec.AttackPosition"],Duration:100} -summon area_effect_cloud ^29.99547 ^ ^19.99698 {Tags:["CO.Aec.AttackPosition"],Duration:100} -summon area_effect_cloud ^29.99547 ^ ^29.99547 {Tags:["CO.Aec.AttackPosition"],Duration:100} -summon area_effect_cloud ^19.99698 ^ ^29.99547 {Tags:["CO.Aec.AttackPosition"],Duration:100} -summon area_effect_cloud ^9.99849 ^ ^29.99547 {Tags:["CO.Aec.AttackPosition"],Duration:100} -summon area_effect_cloud ^0 ^ ^29.99547 {Tags:["CO.Aec.AttackPosition"],Duration:100} -summon area_effect_cloud ^-9.99849 ^ ^29.99547 {Tags:["CO.Aec.AttackPosition"],Duration:100} -summon area_effect_cloud ^-19.99698 ^ ^29.99547 {Tags:["CO.Aec.AttackPosition"],Duration:100} -summon area_effect_cloud ^-29.99547 ^ ^29.99547 {Tags:["CO.Aec.AttackPosition"],Duration:100} -summon area_effect_cloud ^-29.99547 ^ ^19.99698 {Tags:["CO.Aec.AttackPosition"],Duration:100} -summon area_effect_cloud ^-29.99547 ^ ^9.99849 {Tags:["CO.Aec.AttackPosition"],Duration:100} -summon area_effect_cloud ^-29.99547 ^ ^0 {Tags:["CO.Aec.AttackPosition"],Duration:100} -summon area_effect_cloud ^-29.99547 ^ ^-9.99849 {Tags:["CO.Aec.AttackPosition"],Duration:100} -summon area_effect_cloud ^-29.99547 ^ ^-19.99698 {Tags:["CO.Aec.AttackPosition"],Duration:100} -summon area_effect_cloud ^-29.99547 ^ ^-29.99547 {Tags:["CO.Aec.AttackPosition"],Duration:100} -summon area_effect_cloud ^-19.99698 ^ ^-29.99547 {Tags:["CO.Aec.AttackPosition"],Duration:100} -summon area_effect_cloud ^-9.99849 ^ ^-29.99547 {Tags:["CO.Aec.AttackPosition"],Duration:100} -summon area_effect_cloud ^0 ^ ^-29.99547 {Tags:["CO.Aec.AttackPosition"],Duration:100} -summon area_effect_cloud ^9.99849 ^ ^-29.99547 {Tags:["CO.Aec.AttackPosition"],Duration:100} -summon area_effect_cloud ^19.99698 ^ ^-29.99547 {Tags:["CO.Aec.AttackPosition"],Duration:100} -# 多角形 1-copy -summon area_effect_cloud ^22.9244 ^ ^-22.9244 {Tags:["CO.Aec.AttackPosition"],Duration:100} -summon area_effect_cloud ^22.9244 ^ ^-13.75464 {Tags:["CO.Aec.AttackPosition"],Duration:100} -summon area_effect_cloud ^22.9244 ^ ^-4.58488 {Tags:["CO.Aec.AttackPosition"],Duration:100} -summon area_effect_cloud ^22.9244 ^ ^4.58488 {Tags:["CO.Aec.AttackPosition"],Duration:100} -summon area_effect_cloud ^22.9244 ^ ^13.75464 {Tags:["CO.Aec.AttackPosition"],Duration:100} -summon area_effect_cloud ^22.9244 ^ ^22.9244 {Tags:["CO.Aec.AttackPosition"],Duration:100} -summon area_effect_cloud ^13.75464 ^ ^22.9244 {Tags:["CO.Aec.AttackPosition"],Duration:100} -summon area_effect_cloud ^4.58488 ^ ^22.9244 {Tags:["CO.Aec.AttackPosition"],Duration:100} -summon area_effect_cloud ^-4.58488 ^ ^22.9244 {Tags:["CO.Aec.AttackPosition"],Duration:100} -summon area_effect_cloud ^-13.75464 ^ ^22.9244 {Tags:["CO.Aec.AttackPosition"],Duration:100} -summon area_effect_cloud ^-22.9244 ^ ^22.9244 {Tags:["CO.Aec.AttackPosition"],Duration:100} -summon area_effect_cloud ^-22.9244 ^ ^13.75464 {Tags:["CO.Aec.AttackPosition"],Duration:100} -summon area_effect_cloud ^-22.9244 ^ ^4.58488 {Tags:["CO.Aec.AttackPosition"],Duration:100} -summon area_effect_cloud ^-22.9244 ^ ^-4.58488 {Tags:["CO.Aec.AttackPosition"],Duration:100} -summon area_effect_cloud ^-22.9244 ^ ^-13.75464 {Tags:["CO.Aec.AttackPosition"],Duration:100} -summon area_effect_cloud ^-22.9244 ^ ^-22.9244 {Tags:["CO.Aec.AttackPosition"],Duration:100} -summon area_effect_cloud ^-13.75464 ^ ^-22.9244 {Tags:["CO.Aec.AttackPosition"],Duration:100} -summon area_effect_cloud ^-4.58488 ^ ^-22.9244 {Tags:["CO.Aec.AttackPosition"],Duration:100} -summon area_effect_cloud ^4.58488 ^ ^-22.9244 {Tags:["CO.Aec.AttackPosition"],Duration:100} -summon area_effect_cloud ^13.75464 ^ ^-22.9244 {Tags:["CO.Aec.AttackPosition"],Duration:100} -# 多角形 1-copy-copy -summon area_effect_cloud ^15.85333 ^ ^-15.85333 {Tags:["CO.Aec.AttackPosition"],Duration:100} -summon area_effect_cloud ^15.85333 ^ ^-7.92667 {Tags:["CO.Aec.AttackPosition"],Duration:100} -summon area_effect_cloud ^15.85333 ^ ^0 {Tags:["CO.Aec.AttackPosition"],Duration:100} -summon area_effect_cloud ^15.85333 ^ ^7.92667 {Tags:["CO.Aec.AttackPosition"],Duration:100} -summon area_effect_cloud ^15.85333 ^ ^15.85333 {Tags:["CO.Aec.AttackPosition"],Duration:100} -summon area_effect_cloud ^7.92667 ^ ^15.85333 {Tags:["CO.Aec.AttackPosition"],Duration:100} -summon area_effect_cloud ^0 ^ ^15.85333 {Tags:["CO.Aec.AttackPosition"],Duration:100} -summon area_effect_cloud ^-7.92667 ^ ^15.85333 {Tags:["CO.Aec.AttackPosition"],Duration:100} -summon area_effect_cloud ^-15.85333 ^ ^15.85333 {Tags:["CO.Aec.AttackPosition"],Duration:100} -summon area_effect_cloud ^-15.85333 ^ ^7.92667 {Tags:["CO.Aec.AttackPosition"],Duration:100} -summon area_effect_cloud ^-15.85333 ^ ^0 {Tags:["CO.Aec.AttackPosition"],Duration:100} -summon area_effect_cloud ^-15.85333 ^ ^-7.92667 {Tags:["CO.Aec.AttackPosition"],Duration:100} -summon area_effect_cloud ^-15.85333 ^ ^-15.85333 {Tags:["CO.Aec.AttackPosition"],Duration:100} -summon area_effect_cloud ^-7.92667 ^ ^-15.85333 {Tags:["CO.Aec.AttackPosition"],Duration:100} -summon area_effect_cloud ^0 ^ ^-15.85333 {Tags:["CO.Aec.AttackPosition"],Duration:100} -summon area_effect_cloud ^7.92667 ^ ^-15.85333 {Tags:["CO.Aec.AttackPosition"],Duration:100} -# 多角形 1-copy-copy-copy -summon area_effect_cloud ^8.78227 ^ ^-8.78227 {Tags:["CO.Aec.AttackPosition"],Duration:100} -summon area_effect_cloud ^8.78227 ^ ^0 {Tags:["CO.Aec.AttackPosition"],Duration:100} -summon area_effect_cloud ^8.78227 ^ ^8.78227 {Tags:["CO.Aec.AttackPosition"],Duration:100} -summon area_effect_cloud ^0 ^ ^8.78227 {Tags:["CO.Aec.AttackPosition"],Duration:100} -summon area_effect_cloud ^-8.78227 ^ ^8.78227 {Tags:["CO.Aec.AttackPosition"],Duration:100} -summon area_effect_cloud ^-8.78227 ^ ^0 {Tags:["CO.Aec.AttackPosition"],Duration:100} -summon area_effect_cloud ^-8.78227 ^ ^-8.78227 {Tags:["CO.Aec.AttackPosition"],Duration:100} -summon area_effect_cloud ^0 ^ ^-8.78227 {Tags:["CO.Aec.AttackPosition"],Duration:100} - -# 自身の周囲を消去 - execute at @s run kill @e[tag=CO.Aec.AttackPosition,distance=..22] +# [ImportKey]: NobwRALgngDgpmAXGAxgSwE4oDYIDRgCuhaAJkqgCwDMcAnAGYAMTAtHQOwCMARq5Qy5dWADjhcUrAGxS6XJgEMuI6kylcwBAHYKAtgmSAwxQAEGgjAUY9AZyTgUAe0JaISLhwIo4LuBjtgANwVsQgNwAA8kJgIoKIBfOIIrUjRCW0QAJhEAOikCawhLV0RosDhsbDQYawN5UowHQogDUrRrAFEKqpr2gEdCYOwoAGULL3JEBmCahLxwaHgKdCxcTSISCbAFEQEmDhE2EW42GgVqVh44JkkuDJ5qOhEAVgUnhieMtZ19ChNhRxgsXMlhs-kczmKXCenm8zT8iHAQRCYTAkRKMXiiTAyVS6QyXHyhQwxQ8ZS61VqLCSjQUzSiBDanUqFL6AwqIzGcAmU2wM0S81gBlQmBw+HWZAoeykpDgKCelFYGTuGX4ElIogebFIShEGWol1IpGoZjA3yFJk+wKsunS9icLjcIhhPnhiOCoX8aNKsRKs2xChSaSQ1Eo2UohKKbgyBHKzJqbip2JpdPRYEZ5J6-UGHIU4yQPL5AF0gA_3 +# 円 1-copy +summon area_effect_cloud ^2.55926 ^ ^-20.84347 {Tags:["CO.Aec.AttackPosition"],Duration:100} +summon area_effect_cloud ^10.8158 ^ ^-18.00051 {Tags:["CO.Aec.AttackPosition"],Duration:100} +summon area_effect_cloud ^17.20219 ^ ^-12.04511 {Tags:["CO.Aec.AttackPosition"],Duration:100} +summon area_effect_cloud ^20.61417 ^ ^-4.00699 {Tags:["CO.Aec.AttackPosition"],Duration:100} +summon area_effect_cloud ^20.46177 ^ ^4.72397 {Tags:["CO.Aec.AttackPosition"],Duration:100} +summon area_effect_cloud ^16.77135 ^ ^12.63812 {Tags:["CO.Aec.AttackPosition"],Duration:100} +summon area_effect_cloud ^10.181 ^ ^18.36701 {Tags:["CO.Aec.AttackPosition"],Duration:100} +summon area_effect_cloud ^1.83027 ^ ^20.92009 {Tags:["CO.Aec.AttackPosition"],Duration:100} +summon area_effect_cloud ^-6.83693 ^ ^19.85589 {Tags:["CO.Aec.AttackPosition"],Duration:100} +summon area_effect_cloud ^-14.32197 ^ ^15.35843 {Tags:["CO.Aec.AttackPosition"],Duration:100} +summon area_effect_cloud ^-19.3306 ^ ^8.20535 {Tags:["CO.Aec.AttackPosition"],Duration:100} +summon area_effect_cloud ^-20.9968 ^ ^-0.3665 {Tags:["CO.Aec.AttackPosition"],Duration:100} +summon area_effect_cloud ^-19.03246 ^ ^-8.87498 {Tags:["CO.Aec.AttackPosition"],Duration:100} +summon area_effect_cloud ^-13.77724 ^ ^-15.8489 {Tags:["CO.Aec.AttackPosition"],Duration:100} +summon area_effect_cloud ^-6.13981 ^ ^-20.0824 {Tags:["CO.Aec.AttackPosition"],Duration:100} +# 円 1 +summon area_effect_cloud ^0 ^ ^-28.6 {Tags:["CO.Aec.AttackPosition"],Duration:100} +summon area_effect_cloud ^10.33151 ^ ^-26.66871 {Tags:["CO.Aec.AttackPosition"],Duration:100} +summon area_effect_cloud ^19.2677 ^ ^-21.13566 {Tags:["CO.Aec.AttackPosition"],Duration:100} +summon area_effect_cloud ^25.60167 ^ ^-12.74812 {Tags:["CO.Aec.AttackPosition"],Duration:100} +summon area_effect_cloud ^28.478 ^ ^-2.63888 {Tags:["CO.Aec.AttackPosition"],Duration:100} +summon area_effect_cloud ^27.50821 ^ ^7.82676 {Tags:["CO.Aec.AttackPosition"],Duration:100} +summon area_effect_cloud ^22.82329 ^ ^17.23535 {Tags:["CO.Aec.AttackPosition"],Duration:100} +summon area_effect_cloud ^15.05596 ^ ^24.31621 {Tags:["CO.Aec.AttackPosition"],Duration:100} +summon area_effect_cloud ^5.25524 ^ ^28.11303 {Tags:["CO.Aec.AttackPosition"],Duration:100} +summon area_effect_cloud ^-5.25524 ^ ^28.11303 {Tags:["CO.Aec.AttackPosition"],Duration:100} +summon area_effect_cloud ^-15.05596 ^ ^24.31621 {Tags:["CO.Aec.AttackPosition"],Duration:100} +summon area_effect_cloud ^-22.82329 ^ ^17.23535 {Tags:["CO.Aec.AttackPosition"],Duration:100} +summon area_effect_cloud ^-27.50821 ^ ^7.82676 {Tags:["CO.Aec.AttackPosition"],Duration:100} +summon area_effect_cloud ^-28.478 ^ ^-2.63888 {Tags:["CO.Aec.AttackPosition"],Duration:100} +summon area_effect_cloud ^-25.60167 ^ ^-12.74812 {Tags:["CO.Aec.AttackPosition"],Duration:100} +summon area_effect_cloud ^-19.2677 ^ ^-21.13566 {Tags:["CO.Aec.AttackPosition"],Duration:100} +summon area_effect_cloud ^-10.33151 ^ ^-26.66871 {Tags:["CO.Aec.AttackPosition"],Duration:100} +# 円 2 +summon area_effect_cloud ^7.15216 ^ ^-33.64828 {Tags:["CO.Aec.AttackPosition"],Duration:100} +summon area_effect_cloud ^18.22922 ^ ^-29.17285 {Tags:["CO.Aec.AttackPosition"],Duration:100} +summon area_effect_cloud ^27.10757 ^ ^-21.17875 {Tags:["CO.Aec.AttackPosition"],Duration:100} +summon area_effect_cloud ^32.71634 ^ ^-10.63018 {Tags:["CO.Aec.AttackPosition"],Duration:100} +summon area_effect_cloud ^34.37904 ^ ^1.20054 {Tags:["CO.Aec.AttackPosition"],Duration:100} +summon area_effect_cloud ^31.89512 ^ ^12.88647 {Tags:["CO.Aec.AttackPosition"],Duration:100} +summon area_effect_cloud ^25.56418 ^ ^23.01809 {Tags:["CO.Aec.AttackPosition"],Duration:100} +summon area_effect_cloud ^16.14982 ^ ^30.3734 {Tags:["CO.Aec.AttackPosition"],Duration:100} +summon area_effect_cloud ^4.78755 ^ ^34.06522 {Tags:["CO.Aec.AttackPosition"],Duration:100} +summon area_effect_cloud ^-7.15216 ^ ^33.64828 {Tags:["CO.Aec.AttackPosition"],Duration:100} +summon area_effect_cloud ^-18.22922 ^ ^29.17285 {Tags:["CO.Aec.AttackPosition"],Duration:100} +summon area_effect_cloud ^-27.10757 ^ ^21.17875 {Tags:["CO.Aec.AttackPosition"],Duration:100} +summon area_effect_cloud ^-32.71634 ^ ^10.63018 {Tags:["CO.Aec.AttackPosition"],Duration:100} +summon area_effect_cloud ^-34.37904 ^ ^-1.20054 {Tags:["CO.Aec.AttackPosition"],Duration:100} +summon area_effect_cloud ^-31.89512 ^ ^-12.88647 {Tags:["CO.Aec.AttackPosition"],Duration:100} +summon area_effect_cloud ^-25.56418 ^ ^-23.01809 {Tags:["CO.Aec.AttackPosition"],Duration:100} +summon area_effect_cloud ^-16.14982 ^ ^-30.3734 {Tags:["CO.Aec.AttackPosition"],Duration:100} +summon area_effect_cloud ^-4.78755 ^ ^-34.06522 {Tags:["CO.Aec.AttackPosition"],Duration:100} diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam_shot/attack_shot.m.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam_shot/summon_shot.m.mcfunction similarity index 68% rename from Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam_shot/attack_shot.m.mcfunction rename to Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam_shot/summon_shot.m.mcfunction index dbcb5b38fa..fc67ea97b2 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam_shot/attack_shot.m.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam_shot/summon_shot.m.mcfunction @@ -1,14 +1,18 @@ -#> asset:mob/0456.gargo_ex_machina/tick/event/half_beam_shot/attack_shot.m +#> asset:mob/0456.gargo_ex_machina/tick/event/half_beam_shot/summon_shot.m # # 射撃 # # @within asset:mob/0456.gargo_ex_machina/tick/event/half_beam_shot/event_charging +# 床が無い場合、消去 + execute if block ~ ~-1 ~ #lib:no_collision run return run kill @e[type=area_effect_cloud,tag=CO.Aec.AttackPosition,distance=..10,sort=nearest,limit=1] + # 攻撃判定召喚 data modify storage api: Argument.ID set value 2268 data modify storage api: Argument.FieldOverride.Damage set from storage asset:context this.Damage.Shot $data modify storage api: Argument.FieldOverride.PredictionTime set value $(PredictionTime) $data modify storage api: Argument.FieldOverride.AttackTime set value $(AttackTime) + data modify storage api: Argument.FieldOverride.IsNoDamage set value true execute store result storage api: Argument.FieldOverride.MobUUID int 1 run scoreboard players get @s MobUUID execute positioned ~ ~ ~ run function api:object/summon kill @e[type=area_effect_cloud,tag=CO.Aec.AttackPosition,distance=..10,sort=nearest,limit=1] diff --git a/Asset/data/asset/functions/object/2268.gem_upper_shot/_index.d.mcfunction b/Asset/data/asset/functions/object/2268.gem_upper_shot/_index.d.mcfunction index 71a76ba4bd..e4b43c3e98 100644 --- a/Asset/data/asset/functions/object/2268.gem_upper_shot/_index.d.mcfunction +++ b/Asset/data/asset/functions/object/2268.gem_upper_shot/_index.d.mcfunction @@ -4,3 +4,4 @@ #> tag # @within function asset:object/2268.gem_upper_shot/** #declare tag CO.Object + #declare tag 2268.IsNoDamage diff --git a/Asset/data/asset/functions/object/2268.gem_upper_shot/init/.mcfunction b/Asset/data/asset/functions/object/2268.gem_upper_shot/init/.mcfunction index 898a6c7f77..32a590c897 100644 --- a/Asset/data/asset/functions/object/2268.gem_upper_shot/init/.mcfunction +++ b/Asset/data/asset/functions/object/2268.gem_upper_shot/init/.mcfunction @@ -19,3 +19,6 @@ execute store result score @s 2268.VfxTime store result score @s 2268.KillTime run scoreboard players get @s 2268.AttackTime scoreboard players remove @s 2268.VfxTime 3 scoreboard players add @s 2268.KillTime 5 + +# 演出のみ + execute if data storage asset:context this{IsNoDamage:true} run tag @s add 2268.IsNoDamage diff --git a/Asset/data/asset/functions/object/2268.gem_upper_shot/tick/.mcfunction b/Asset/data/asset/functions/object/2268.gem_upper_shot/tick/.mcfunction index b92aa0df23..0766fc31dc 100644 --- a/Asset/data/asset/functions/object/2268.gem_upper_shot/tick/.mcfunction +++ b/Asset/data/asset/functions/object/2268.gem_upper_shot/tick/.mcfunction @@ -14,7 +14,8 @@ # 攻撃 execute if score @s General.Object.Tick = @s 2268.VfxTime run function asset:object/2268.gem_upper_shot/tick/summon_laser - execute if score @s General.Object.Tick = @s 2268.AttackTime run function asset:object/2268.gem_upper_shot/tick/damage + execute unless entity @s[tag=2268.IsNoDamage] if score @s General.Object.Tick = @s 2268.AttackTime run function asset:object/2268.gem_upper_shot/tick/damage + execute if score @s General.Object.Tick = @s 2268.AttackTime run function asset:object/2268.gem_upper_shot/tick/damage_vfx execute if score @s General.Object.Tick = @s 2268.AttackTime run data modify entity @s start_interpolation set value -1 execute if score @s General.Object.Tick = @s 2268.AttackTime run data modify entity @s transformation.scale set value [0.0f,0.0f,0.0f] diff --git a/Asset/data/asset/functions/object/2268.gem_upper_shot/tick/damage.mcfunction b/Asset/data/asset/functions/object/2268.gem_upper_shot/tick/damage.mcfunction index 8efec2edad..5abc7dabca 100644 --- a/Asset/data/asset/functions/object/2268.gem_upper_shot/tick/damage.mcfunction +++ b/Asset/data/asset/functions/object/2268.gem_upper_shot/tick/damage.mcfunction @@ -12,8 +12,3 @@ function api:damage/modifier_manual execute as @a[tag=!PlayerShouldInvulnerable,distance=..6] run function api:damage/ function api:damage/reset - -# 演出 - particle explosion ~ ~1 ~ 3 1 3 0 20 force - particle lava ~ ~1 ~ 3 1 3 0.2 10 - playsound entity.generic.explode hostile @a ~ ~ ~ 1 0.8 diff --git a/Asset/data/asset/functions/object/2268.gem_upper_shot/tick/damage_vfx.mcfunction b/Asset/data/asset/functions/object/2268.gem_upper_shot/tick/damage_vfx.mcfunction new file mode 100644 index 0000000000..f397fb4719 --- /dev/null +++ b/Asset/data/asset/functions/object/2268.gem_upper_shot/tick/damage_vfx.mcfunction @@ -0,0 +1,10 @@ +#> asset:object/2268.gem_upper_shot/tick/damage_vfx +# +# Objectのtick時の処理 +# +# @within asset:object/2268.gem_upper_shot/tick/ + +# 演出 + particle explosion ~ ~1 ~ 3 1 3 0 20 force + particle lava ~ ~1 ~ 3 1 3 0.2 10 + playsound entity.generic.explode hostile @a ~ ~ ~ 1 0.8 From 305247ae619d03a7c24c6005d315e469f09b0608 Mon Sep 17 00:00:00 2001 From: mokkkk Date: Fri, 20 Mar 2026 16:19:19 +0900 Subject: [PATCH 69/98] =?UTF-8?q?=E5=B7=A6=E5=8F=B3=E8=96=99=E3=81=8E?= =?UTF-8?q?=E6=89=95=E3=81=84=E3=83=93=E3=83=BC=E3=83=A0=E3=81=AE=E9=9B=A3?= =?UTF-8?q?=E6=98=93=E5=BA=A6=E3=82=92=E4=BD=8E=E4=B8=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../tick/debug/act.mcfunction | 2 +- .../event/half_beam/event_charging.mcfunction | 28 +++++++------- .../half_beam_shot/event_charging.mcfunction | 38 +++++++++---------- .../half_beam_sword/event_charging.mcfunction | 38 +++++++++---------- 4 files changed, 53 insertions(+), 53 deletions(-) diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/debug/act.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/debug/act.mcfunction index 8b275d257c..060db410a5 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/debug/act.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/debug/act.mcfunction @@ -15,7 +15,7 @@ # execute at @s run tp @e[type=item_display,tag=CO.ModelRoot] ~ ~ ~ ~ 0 # パターンを任意のタイミングに設定 - scoreboard players set @s CO.Counter 13 + $scoreboard players set @s CO.Counter $(Act) # イベント実行 function asset:mob/0456.gargo_ex_machina/tick/act/ diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam/event_charging.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam/event_charging.mcfunction index 652cc2f0ca..4d2d0a2acb 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam/event_charging.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam/event_charging.mcfunction @@ -14,20 +14,20 @@ execute as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run tp @s ~ ~ ~ ~ ~ # 予告 # ノーマル - execute if entity @s[tag=CO.Skill.HalfBeam.IsRight] if predicate api:global_vars/difficulty/1_normal if score @s CO.EventTimer matches 15 positioned ^-30 ^ ^ rotated ~-20 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam/prediction.m {Interpolation:20,Tick:108} - execute if entity @s[tag=CO.Skill.HalfBeam.IsRight] if predicate api:global_vars/difficulty/1_normal if score @s CO.EventTimer matches 35 positioned ^-30 ^0.05 ^ rotated ~20 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam/prediction.m {Interpolation:20,Tick:88} - execute unless entity @s[tag=CO.Skill.HalfBeam.IsRight] if predicate api:global_vars/difficulty/1_normal if score @s CO.EventTimer matches 15 positioned ^30 ^ ^ rotated ~20 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam/prediction.m {Interpolation:20,Tick:108} - execute unless entity @s[tag=CO.Skill.HalfBeam.IsRight] if predicate api:global_vars/difficulty/1_normal if score @s CO.EventTimer matches 35 positioned ^30 ^0.05 ^ rotated ~-20 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam/prediction.m {Interpolation:20,Tick:88} - # ハード - execute if entity @s[tag=CO.Skill.HalfBeam.IsRight] if predicate api:global_vars/difficulty/2_hard if score @s CO.EventTimer matches 35 positioned ^-30 ^ ^ rotated ~-20 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam/prediction.m {Interpolation:20,Tick:88} - execute if entity @s[tag=CO.Skill.HalfBeam.IsRight] if predicate api:global_vars/difficulty/2_hard if score @s CO.EventTimer matches 55 positioned ^-30 ^0.05 ^ rotated ~20 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam/prediction.m {Interpolation:20,Tick:68} - execute unless entity @s[tag=CO.Skill.HalfBeam.IsRight] if predicate api:global_vars/difficulty/2_hard if score @s CO.EventTimer matches 35 positioned ^30 ^ ^ rotated ~20 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam/prediction.m {Interpolation:20,Tick:88} - execute unless entity @s[tag=CO.Skill.HalfBeam.IsRight] if predicate api:global_vars/difficulty/2_hard if score @s CO.EventTimer matches 55 positioned ^30 ^0.05 ^ rotated ~-20 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam/prediction.m {Interpolation:20,Tick:68} - # ブレスレス - execute if entity @s[tag=CO.Skill.HalfBeam.IsRight] if predicate api:global_vars/difficulty/min/3_blessless if score @s CO.EventTimer matches 90 positioned ^-30 ^ ^ rotated ~-20 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam/prediction.m {Interpolation:2,Tick:33} - execute if entity @s[tag=CO.Skill.HalfBeam.IsRight] if predicate api:global_vars/difficulty/min/3_blessless if score @s CO.EventTimer matches 95 positioned ^-30 ^0.05 ^ rotated ~20 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam/prediction.m {Interpolation:2,Tick:28} - execute unless entity @s[tag=CO.Skill.HalfBeam.IsRight] if predicate api:global_vars/difficulty/min/3_blessless if score @s CO.EventTimer matches 90 positioned ^30 ^ ^ rotated ~20 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam/prediction.m {Interpolation:2,Tick:33} - execute unless entity @s[tag=CO.Skill.HalfBeam.IsRight] if predicate api:global_vars/difficulty/min/3_blessless if score @s CO.EventTimer matches 95 positioned ^30 ^0.05 ^ rotated ~-20 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam/prediction.m {Interpolation:2,Tick:28} + execute if entity @s[tag=CO.Skill.HalfBeam.IsRight] if score @s CO.EventTimer matches 15 positioned ^-30 ^ ^ rotated ~-20 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam/prediction.m {Interpolation:20,Tick:108} + execute if entity @s[tag=CO.Skill.HalfBeam.IsRight] if score @s CO.EventTimer matches 35 positioned ^-30 ^0.05 ^ rotated ~20 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam/prediction.m {Interpolation:20,Tick:88} + execute unless entity @s[tag=CO.Skill.HalfBeam.IsRight] if score @s CO.EventTimer matches 15 positioned ^30 ^ ^ rotated ~20 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam/prediction.m {Interpolation:20,Tick:108} + execute unless entity @s[tag=CO.Skill.HalfBeam.IsRight] if score @s CO.EventTimer matches 35 positioned ^30 ^0.05 ^ rotated ~-20 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam/prediction.m {Interpolation:20,Tick:88} + # # ハード + # execute if entity @s[tag=CO.Skill.HalfBeam.IsRight] if predicate api:global_vars/difficulty/2_hard if score @s CO.EventTimer matches 35 positioned ^-30 ^ ^ rotated ~-20 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam/prediction.m {Interpolation:20,Tick:88} + # execute if entity @s[tag=CO.Skill.HalfBeam.IsRight] if predicate api:global_vars/difficulty/2_hard if score @s CO.EventTimer matches 55 positioned ^-30 ^0.05 ^ rotated ~20 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam/prediction.m {Interpolation:20,Tick:68} + # execute unless entity @s[tag=CO.Skill.HalfBeam.IsRight] if predicate api:global_vars/difficulty/2_hard if score @s CO.EventTimer matches 35 positioned ^30 ^ ^ rotated ~20 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam/prediction.m {Interpolation:20,Tick:88} + # execute unless entity @s[tag=CO.Skill.HalfBeam.IsRight] if predicate api:global_vars/difficulty/2_hard if score @s CO.EventTimer matches 55 positioned ^30 ^0.05 ^ rotated ~-20 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam/prediction.m {Interpolation:20,Tick:68} + # # ブレスレス + # execute if entity @s[tag=CO.Skill.HalfBeam.IsRight] if predicate api:global_vars/difficulty/min/3_blessless if score @s CO.EventTimer matches 90 positioned ^-30 ^ ^ rotated ~-20 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam/prediction.m {Interpolation:2,Tick:33} + # execute if entity @s[tag=CO.Skill.HalfBeam.IsRight] if predicate api:global_vars/difficulty/min/3_blessless if score @s CO.EventTimer matches 95 positioned ^-30 ^0.05 ^ rotated ~20 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam/prediction.m {Interpolation:2,Tick:28} + # execute unless entity @s[tag=CO.Skill.HalfBeam.IsRight] if predicate api:global_vars/difficulty/min/3_blessless if score @s CO.EventTimer matches 90 positioned ^30 ^ ^ rotated ~20 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam/prediction.m {Interpolation:2,Tick:33} + # execute unless entity @s[tag=CO.Skill.HalfBeam.IsRight] if predicate api:global_vars/difficulty/min/3_blessless if score @s CO.EventTimer matches 95 positioned ^30 ^0.05 ^ rotated ~-20 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam/prediction.m {Interpolation:2,Tick:28} # 効果音 execute if score @s CO.EventTimer matches 1..100 positioned ~ ~15 ~ run particle end_rod ~ ~ ~ 2 2 2 0.05 1 diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam_shot/event_charging.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam_shot/event_charging.mcfunction index e6e5fec09c..fe2aeaa489 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam_shot/event_charging.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam_shot/event_charging.mcfunction @@ -15,28 +15,28 @@ # 予告 # レーザー # ノーマル - execute if entity @s[tag=CO.Skill.HalfBeam.IsRight] if predicate api:global_vars/difficulty/1_normal if score @s CO.EventTimer matches 15 positioned ^-30 ^ ^ rotated ~-20 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_shot/prediction.m {Interpolation:20,Tick:104} - execute if entity @s[tag=CO.Skill.HalfBeam.IsRight] if predicate api:global_vars/difficulty/1_normal if score @s CO.EventTimer matches 35 positioned ^-30 ^0.05 ^ rotated ~20 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_shot/prediction.m {Interpolation:20,Tick:84} - execute unless entity @s[tag=CO.Skill.HalfBeam.IsRight] if predicate api:global_vars/difficulty/1_normal if score @s CO.EventTimer matches 15 positioned ^30 ^ ^ rotated ~20 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_shot/prediction.m {Interpolation:20,Tick:104} - execute unless entity @s[tag=CO.Skill.HalfBeam.IsRight] if predicate api:global_vars/difficulty/1_normal if score @s CO.EventTimer matches 35 positioned ^30 ^0.05 ^ rotated ~-20 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_shot/prediction.m {Interpolation:20,Tick:84} - # ハード - execute if entity @s[tag=CO.Skill.HalfBeam.IsRight] if predicate api:global_vars/difficulty/2_hard if score @s CO.EventTimer matches 35 positioned ^-30 ^ ^ rotated ~-20 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_shot/prediction.m {Interpolation:20,Tick:84} - execute if entity @s[tag=CO.Skill.HalfBeam.IsRight] if predicate api:global_vars/difficulty/2_hard if score @s CO.EventTimer matches 55 positioned ^-30 ^0.05 ^ rotated ~20 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_shot/prediction.m {Interpolation:20,Tick:64} - execute unless entity @s[tag=CO.Skill.HalfBeam.IsRight] if predicate api:global_vars/difficulty/2_hard if score @s CO.EventTimer matches 35 positioned ^30 ^ ^ rotated ~20 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_shot/prediction.m {Interpolation:20,Tick:84} - execute unless entity @s[tag=CO.Skill.HalfBeam.IsRight] if predicate api:global_vars/difficulty/2_hard if score @s CO.EventTimer matches 55 positioned ^30 ^0.05 ^ rotated ~-20 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_shot/prediction.m {Interpolation:20,Tick:64} - # ブレスレス - execute if entity @s[tag=CO.Skill.HalfBeam.IsRight] if predicate api:global_vars/difficulty/min/3_blessless if score @s CO.EventTimer matches 90 positioned ^-30 ^ ^ rotated ~-20 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_shot/prediction.m {Interpolation:2,Tick:29} - execute if entity @s[tag=CO.Skill.HalfBeam.IsRight] if predicate api:global_vars/difficulty/min/3_blessless if score @s CO.EventTimer matches 95 positioned ^-30 ^0.05 ^ rotated ~20 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_shot/prediction.m {Interpolation:2,Tick:24} - execute unless entity @s[tag=CO.Skill.HalfBeam.IsRight] if predicate api:global_vars/difficulty/min/3_blessless if score @s CO.EventTimer matches 90 positioned ^30 ^ ^ rotated ~20 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_shot/prediction.m {Interpolation:2,Tick:29} - execute unless entity @s[tag=CO.Skill.HalfBeam.IsRight] if predicate api:global_vars/difficulty/min/3_blessless if score @s CO.EventTimer matches 95 positioned ^30 ^0.05 ^ rotated ~-20 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_shot/prediction.m {Interpolation:2,Tick:24} + execute if entity @s[tag=CO.Skill.HalfBeam.IsRight] if score @s CO.EventTimer matches 15 positioned ^-30 ^ ^ rotated ~-20 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_shot/prediction.m {Interpolation:20,Tick:104} + execute if entity @s[tag=CO.Skill.HalfBeam.IsRight] if score @s CO.EventTimer matches 35 positioned ^-30 ^0.05 ^ rotated ~20 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_shot/prediction.m {Interpolation:20,Tick:84} + execute unless entity @s[tag=CO.Skill.HalfBeam.IsRight] if score @s CO.EventTimer matches 15 positioned ^30 ^ ^ rotated ~20 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_shot/prediction.m {Interpolation:20,Tick:104} + execute unless entity @s[tag=CO.Skill.HalfBeam.IsRight] if score @s CO.EventTimer matches 35 positioned ^30 ^0.05 ^ rotated ~-20 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_shot/prediction.m {Interpolation:20,Tick:84} + # # ハード + # execute if entity @s[tag=CO.Skill.HalfBeam.IsRight] if predicate api:global_vars/difficulty/2_hard if score @s CO.EventTimer matches 35 positioned ^-30 ^ ^ rotated ~-20 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_shot/prediction.m {Interpolation:20,Tick:84} + # execute if entity @s[tag=CO.Skill.HalfBeam.IsRight] if predicate api:global_vars/difficulty/2_hard if score @s CO.EventTimer matches 55 positioned ^-30 ^0.05 ^ rotated ~20 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_shot/prediction.m {Interpolation:20,Tick:64} + # execute unless entity @s[tag=CO.Skill.HalfBeam.IsRight] if predicate api:global_vars/difficulty/2_hard if score @s CO.EventTimer matches 35 positioned ^30 ^ ^ rotated ~20 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_shot/prediction.m {Interpolation:20,Tick:84} + # execute unless entity @s[tag=CO.Skill.HalfBeam.IsRight] if predicate api:global_vars/difficulty/2_hard if score @s CO.EventTimer matches 55 positioned ^30 ^0.05 ^ rotated ~-20 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_shot/prediction.m {Interpolation:20,Tick:64} + # # ブレスレス + # execute if entity @s[tag=CO.Skill.HalfBeam.IsRight] if predicate api:global_vars/difficulty/min/3_blessless if score @s CO.EventTimer matches 90 positioned ^-30 ^ ^ rotated ~-20 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_shot/prediction.m {Interpolation:2,Tick:29} + # execute if entity @s[tag=CO.Skill.HalfBeam.IsRight] if predicate api:global_vars/difficulty/min/3_blessless if score @s CO.EventTimer matches 95 positioned ^-30 ^0.05 ^ rotated ~20 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_shot/prediction.m {Interpolation:2,Tick:24} + # execute unless entity @s[tag=CO.Skill.HalfBeam.IsRight] if predicate api:global_vars/difficulty/min/3_blessless if score @s CO.EventTimer matches 90 positioned ^30 ^ ^ rotated ~20 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_shot/prediction.m {Interpolation:2,Tick:29} + # execute unless entity @s[tag=CO.Skill.HalfBeam.IsRight] if predicate api:global_vars/difficulty/min/3_blessless if score @s CO.EventTimer matches 95 positioned ^30 ^0.05 ^ rotated ~-20 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_shot/prediction.m {Interpolation:2,Tick:24} # 射撃 execute if score @s CO.EventTimer matches 10 at @e[type=marker,tag=CO.CenterPosition] run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_shot/set_attack_position # ノーマル - execute if predicate api:global_vars/difficulty/1_normal if score @s CO.EventTimer matches 15.. at @e[type=area_effect_cloud,tag=CO.Aec.AttackPosition,distance=..80,sort=random,limit=5] run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_shot/summon_shot.m {PredictionTime:105,AttackTime:105} - # ハード - execute if predicate api:global_vars/difficulty/2_hard if score @s CO.EventTimer matches 45.. at @e[type=area_effect_cloud,tag=CO.Aec.AttackPosition,distance=..80,sort=random,limit=5] run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_shot/summon_shot.m {PredictionTime:75,AttackTime:75} - # ブレスレス - execute if predicate api:global_vars/difficulty/min/3_blessless if score @s CO.EventTimer matches 85.. at @e[type=area_effect_cloud,tag=CO.Aec.AttackPosition,distance=..80,sort=random,limit=5] run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_shot/summon_shot.m {PredictionTime:35,AttackTime:35} + execute if score @s CO.EventTimer matches 15.. at @e[type=area_effect_cloud,tag=CO.Aec.AttackPosition,distance=..80,sort=random,limit=5] run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_shot/summon_shot.m {PredictionTime:105,AttackTime:105} + # # ハード + # execute if predicate api:global_vars/difficulty/2_hard if score @s CO.EventTimer matches 45.. at @e[type=area_effect_cloud,tag=CO.Aec.AttackPosition,distance=..80,sort=random,limit=5] run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_shot/summon_shot.m {PredictionTime:75,AttackTime:75} + # # ブレスレス + # execute if predicate api:global_vars/difficulty/min/3_blessless if score @s CO.EventTimer matches 85.. at @e[type=area_effect_cloud,tag=CO.Aec.AttackPosition,distance=..80,sort=random,limit=5] run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_shot/summon_shot.m {PredictionTime:35,AttackTime:35} # 効果音 execute if score @s CO.EventTimer matches 1..100 positioned ~ ~15 ~ run particle end_rod ~ ~ ~ 2 2 2 0.05 1 diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam_sword/event_charging.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam_sword/event_charging.mcfunction index e445659888..a1d20ca5ff 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam_sword/event_charging.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam_sword/event_charging.mcfunction @@ -15,27 +15,27 @@ # 予告 # レーザー # ノーマル - execute if entity @s[tag=CO.Skill.HalfBeam.IsRight] if predicate api:global_vars/difficulty/1_normal if score @s CO.EventTimer matches 15 positioned ^-30 ^ ^ rotated ~-20 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_sword/prediction.m {Interpolation:20,Tick:108} - execute if entity @s[tag=CO.Skill.HalfBeam.IsRight] if predicate api:global_vars/difficulty/1_normal if score @s CO.EventTimer matches 35 positioned ^-30 ^0.05 ^ rotated ~20 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_sword/prediction.m {Interpolation:20,Tick:88} - execute unless entity @s[tag=CO.Skill.HalfBeam.IsRight] if predicate api:global_vars/difficulty/1_normal if score @s CO.EventTimer matches 15 positioned ^30 ^ ^ rotated ~20 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_sword/prediction.m {Interpolation:20,Tick:108} - execute unless entity @s[tag=CO.Skill.HalfBeam.IsRight] if predicate api:global_vars/difficulty/1_normal if score @s CO.EventTimer matches 35 positioned ^30 ^0.05 ^ rotated ~-20 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_sword/prediction.m {Interpolation:20,Tick:88} - # ハード - execute if entity @s[tag=CO.Skill.HalfBeam.IsRight] if predicate api:global_vars/difficulty/2_hard if score @s CO.EventTimer matches 35 positioned ^-30 ^ ^ rotated ~-20 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_sword/prediction.m {Interpolation:20,Tick:88} - execute if entity @s[tag=CO.Skill.HalfBeam.IsRight] if predicate api:global_vars/difficulty/2_hard if score @s CO.EventTimer matches 55 positioned ^-30 ^0.05 ^ rotated ~20 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_sword/prediction.m {Interpolation:20,Tick:68} - execute unless entity @s[tag=CO.Skill.HalfBeam.IsRight] if predicate api:global_vars/difficulty/2_hard if score @s CO.EventTimer matches 35 positioned ^30 ^ ^ rotated ~20 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_sword/prediction.m {Interpolation:20,Tick:88} - execute unless entity @s[tag=CO.Skill.HalfBeam.IsRight] if predicate api:global_vars/difficulty/2_hard if score @s CO.EventTimer matches 55 positioned ^30 ^0.05 ^ rotated ~-20 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_sword/prediction.m {Interpolation:20,Tick:68} - # ブレスレス - execute if entity @s[tag=CO.Skill.HalfBeam.IsRight] if predicate api:global_vars/difficulty/min/3_blessless if score @s CO.EventTimer matches 90 positioned ^-30 ^ ^ rotated ~-20 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_sword/prediction.m {Interpolation:2,Tick:33} - execute if entity @s[tag=CO.Skill.HalfBeam.IsRight] if predicate api:global_vars/difficulty/min/3_blessless if score @s CO.EventTimer matches 95 positioned ^-30 ^0.05 ^ rotated ~20 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_sword/prediction.m {Interpolation:2,Tick:28} - execute unless entity @s[tag=CO.Skill.HalfBeam.IsRight] if predicate api:global_vars/difficulty/min/3_blessless if score @s CO.EventTimer matches 90 positioned ^30 ^ ^ rotated ~20 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_sword/prediction.m {Interpolation:2,Tick:33} - execute unless entity @s[tag=CO.Skill.HalfBeam.IsRight] if predicate api:global_vars/difficulty/min/3_blessless if score @s CO.EventTimer matches 95 positioned ^30 ^0.05 ^ rotated ~-20 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_sword/prediction.m {Interpolation:2,Tick:28} + execute if entity @s[tag=CO.Skill.HalfBeam.IsRight] if score @s CO.EventTimer matches 15 positioned ^-30 ^ ^ rotated ~-20 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_sword/prediction.m {Interpolation:20,Tick:108} + execute if entity @s[tag=CO.Skill.HalfBeam.IsRight] if score @s CO.EventTimer matches 35 positioned ^-30 ^0.05 ^ rotated ~20 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_sword/prediction.m {Interpolation:20,Tick:88} + execute unless entity @s[tag=CO.Skill.HalfBeam.IsRight] if score @s CO.EventTimer matches 15 positioned ^30 ^ ^ rotated ~20 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_sword/prediction.m {Interpolation:20,Tick:108} + execute unless entity @s[tag=CO.Skill.HalfBeam.IsRight] if score @s CO.EventTimer matches 35 positioned ^30 ^0.05 ^ rotated ~-20 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_sword/prediction.m {Interpolation:20,Tick:88} + # # ハード + # execute if entity @s[tag=CO.Skill.HalfBeam.IsRight] if predicate api:global_vars/difficulty/2_hard if score @s CO.EventTimer matches 35 positioned ^-30 ^ ^ rotated ~-20 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_sword/prediction.m {Interpolation:20,Tick:88} + # execute if entity @s[tag=CO.Skill.HalfBeam.IsRight] if predicate api:global_vars/difficulty/2_hard if score @s CO.EventTimer matches 55 positioned ^-30 ^0.05 ^ rotated ~20 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_sword/prediction.m {Interpolation:20,Tick:68} + # execute unless entity @s[tag=CO.Skill.HalfBeam.IsRight] if predicate api:global_vars/difficulty/2_hard if score @s CO.EventTimer matches 35 positioned ^30 ^ ^ rotated ~20 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_sword/prediction.m {Interpolation:20,Tick:88} + # execute unless entity @s[tag=CO.Skill.HalfBeam.IsRight] if predicate api:global_vars/difficulty/2_hard if score @s CO.EventTimer matches 55 positioned ^30 ^0.05 ^ rotated ~-20 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_sword/prediction.m {Interpolation:20,Tick:68} + # # ブレスレス + # execute if entity @s[tag=CO.Skill.HalfBeam.IsRight] if predicate api:global_vars/difficulty/min/3_blessless if score @s CO.EventTimer matches 90 positioned ^-30 ^ ^ rotated ~-20 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_sword/prediction.m {Interpolation:2,Tick:33} + # execute if entity @s[tag=CO.Skill.HalfBeam.IsRight] if predicate api:global_vars/difficulty/min/3_blessless if score @s CO.EventTimer matches 95 positioned ^-30 ^0.05 ^ rotated ~20 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_sword/prediction.m {Interpolation:2,Tick:28} + # execute unless entity @s[tag=CO.Skill.HalfBeam.IsRight] if predicate api:global_vars/difficulty/min/3_blessless if score @s CO.EventTimer matches 90 positioned ^30 ^ ^ rotated ~20 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_sword/prediction.m {Interpolation:2,Tick:33} + # execute unless entity @s[tag=CO.Skill.HalfBeam.IsRight] if predicate api:global_vars/difficulty/min/3_blessless if score @s CO.EventTimer matches 95 positioned ^30 ^0.05 ^ rotated ~-20 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_sword/prediction.m {Interpolation:2,Tick:28} # 剣 # ノーマル - execute if predicate api:global_vars/difficulty/1_normal if score @s CO.EventTimer matches 15 run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_sword/prediction_circle.m {Tick:102} - # ハード - execute if predicate api:global_vars/difficulty/2_hard if score @s CO.EventTimer matches 35 run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_sword/prediction_circle.m {Tick:82} - # ブレスレス - execute if predicate api:global_vars/difficulty/min/3_blessless if score @s CO.EventTimer matches 90 run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_sword/prediction_circle.m {Tick:27} + execute if score @s CO.EventTimer matches 15 run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_sword/prediction_circle.m {Tick:102} + # # ハード + # execute if predicate api:global_vars/difficulty/2_hard if score @s CO.EventTimer matches 35 run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_sword/prediction_circle.m {Tick:82} + # # ブレスレス + # execute if predicate api:global_vars/difficulty/min/3_blessless if score @s CO.EventTimer matches 90 run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_sword/prediction_circle.m {Tick:27} # 効果音 execute if score @s CO.EventTimer matches 1..100 positioned ~ ~15 ~ run particle end_rod ~ ~ ~ 2 2 2 0.05 1 From 3f2224c670d49d9b61c375aa75ec1a50f20480c9 Mon Sep 17 00:00:00 2001 From: mokkkk Date: Fri, 20 Mar 2026 21:36:19 +0900 Subject: [PATCH 70/98] =?UTF-8?q?=E3=82=A8=E3=82=AF=E3=82=B5=E3=83=91?= =?UTF-8?q?=E3=82=BF=E3=83=BC=E3=83=B3=E4=BD=9C=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../0456.gargo_ex_machina/_index.d.mcfunction | 2 ++ .../tick/act/.mcfunction | 2 +- .../tick/act/phase_2/.mcfunction | 1 + .../tick/debug/interrupt.mcfunction | 4 ++-- .../tick/event/.mcfunction | 3 +++ .../blute_force_attack/async_end.mcfunction | 4 ++++ .../async_pattern_exa.mcfunction | 21 +++++++++++++++++++ .../async_pattern_exa_inv.mcfunction | 21 +++++++++++++++++++ 8 files changed, 55 insertions(+), 3 deletions(-) create mode 100644 Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/blute_force_attack/async_pattern_exa.mcfunction create mode 100644 Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/blute_force_attack/async_pattern_exa_inv.mcfunction diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/_index.d.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/_index.d.mcfunction index cd202634a5..cbf9160270 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/_index.d.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/_index.d.mcfunction @@ -48,6 +48,8 @@ #declare tag CO.Skill.BluteForce.Pt.Tutorial 全員お披露目パターン #declare tag CO.Skill.BluteForce.Pt.Spin 回転パターン #declare tag CO.Skill.BluteForce.Pt.SpinInv 回転パターン + #declare tag CO.Skill.BluteForce.Pt.Exa エクサパターン + #declare tag CO.Skill.BluteForce.Pt.ExaInv エクサパターン #declare tag #declare tag #declare tag diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/.mcfunction index 381b036d11..260d774b67 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/.mcfunction @@ -5,7 +5,7 @@ # @within asset:mob/0456.gargo_ex_machina/tick/** # debug - # return 0 + return 0 # 行動リセット function asset:mob/0456.gargo_ex_machina/tick/util/remove_animation_tag diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/phase_2/.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/phase_2/.mcfunction index 48e2b487b4..120dad2db4 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/phase_2/.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/phase_2/.mcfunction @@ -69,5 +69,6 @@ execute if score @s CO.Counter matches 21 run function asset:mob/0456.gargo_ex_machina/tick/act/phase_2/move_to_center # 薙ぎ払いレーザー execute if score @s CO.Counter matches 22 run function asset:mob/0456.gargo_ex_machina/tick/act/phase_2/half_beam +## ブルートフォース:エクサパターン # 待機 execute if score @s CO.Counter matches 23 as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run scoreboard players set @s CO.IdleTimer 200 diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/debug/interrupt.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/debug/interrupt.mcfunction index f927c6dbe2..e2a9393291 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/debug/interrupt.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/debug/interrupt.mcfunction @@ -18,5 +18,5 @@ # execute at @s run tp @e[type=item_display,tag=CO.ModelRoot] ~ ~ ~ ~ 0 # イベント実行 - tag @s add CO.Skill.HalfBeamShot - # tag @s add CO.Skill.BluteForce.Pt.SpinInv + tag @s add CO.Skill.BluteForce + tag @s add CO.Skill.BluteForce.Pt.ExaInv diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/.mcfunction index 359c72b3ff..d69e2d10a8 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/.mcfunction @@ -65,3 +65,6 @@ # 回転パターン execute if entity @s[tag=CO.Skill.BluteForce.Async,tag=CO.Skill.BluteForce.Pt.Spin] at @e[type=marker,tag=CO.CenterPosition,distance=..80] run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/async_pattern_spin execute if entity @s[tag=CO.Skill.BluteForce.Async,tag=CO.Skill.BluteForce.Pt.SpinInv] at @e[type=marker,tag=CO.CenterPosition,distance=..80] run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/async_pattern_spin_inv + # エクサパターン + execute if entity @s[tag=CO.Skill.BluteForce.Async,tag=CO.Skill.BluteForce.Pt.Exa] at @e[type=marker,tag=CO.CenterPosition,distance=..80] run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/async_pattern_exa + execute if entity @s[tag=CO.Skill.BluteForce.Async,tag=CO.Skill.BluteForce.Pt.ExaInv] at @e[type=marker,tag=CO.CenterPosition,distance=..80] run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/async_pattern_exa_inv diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/blute_force_attack/async_end.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/blute_force_attack/async_end.mcfunction index 5466a65660..14d285fb96 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/blute_force_attack/async_end.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/blute_force_attack/async_end.mcfunction @@ -5,6 +5,8 @@ # @within asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/async_pattern_tutorial # @within asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/async_pattern_spin # @within asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/async_pattern_spin_inv +# @within asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/async_pattern_exa +# @within asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/async_pattern_exa_inv # タイマーリセット scoreboard players reset @s CO.EventTimer.BluteForce @@ -14,3 +16,5 @@ tag @s remove CO.Skill.BluteForce.Pt.Tutorial tag @s remove CO.Skill.BluteForce.Pt.Spin tag @s remove CO.Skill.BluteForce.Pt.SpinInv + tag @s remove CO.Skill.BluteForce.Pt.Exa + tag @s remove CO.Skill.BluteForce.Pt.ExaInv diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/blute_force_attack/async_pattern_exa.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/blute_force_attack/async_pattern_exa.mcfunction new file mode 100644 index 0000000000..501605b632 --- /dev/null +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/blute_force_attack/async_pattern_exa.mcfunction @@ -0,0 +1,21 @@ +#> asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/async_pattern_exa +# +# ブルートフォースアタック +# +# @within asset:mob/0456.gargo_ex_machina/tick/event/ + +# タイマー増加 + scoreboard players add @s CO.EventTimer.BluteForce 1 + +# 回転パターン + execute if score @s CO.EventTimer.BluteForce matches 1 rotated ~ ~ positioned ^ ^ ^29 rotated ~180 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_yeeter_drone.m {IsRotate:"false",IsRotateInverse:"false"} + execute if score @s CO.EventTimer.BluteForce matches 41 rotated ~45 ~ positioned ^ ^ ^32 rotated ~180 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_yeeter_drone.m {IsRotate:"false",IsRotateInverse:"false"} + execute if score @s CO.EventTimer.BluteForce matches 81 rotated ~90 ~ positioned ^ ^ ^29 rotated ~180 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_yeeter_drone.m {IsRotate:"false",IsRotateInverse:"false"} + execute if score @s CO.EventTimer.BluteForce matches 121 rotated ~135 ~ positioned ^ ^ ^32 rotated ~180 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_yeeter_drone.m {IsRotate:"false",IsRotateInverse:"false"} + execute if score @s CO.EventTimer.BluteForce matches 161 rotated ~180 ~ positioned ^ ^ ^29 rotated ~180 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_yeeter_drone.m {IsRotate:"false",IsRotateInverse:"false"} + execute if score @s CO.EventTimer.BluteForce matches 201 rotated ~225 ~ positioned ^ ^ ^32 rotated ~180 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_yeeter_drone.m {IsRotate:"false",IsRotateInverse:"false"} + execute if score @s CO.EventTimer.BluteForce matches 241 rotated ~270 ~ positioned ^ ^ ^29 rotated ~180 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_yeeter_drone.m {IsRotate:"false",IsRotateInverse:"false"} + execute if score @s CO.EventTimer.BluteForce matches 281 rotated ~315 ~ positioned ^ ^ ^32 rotated ~180 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_yeeter_drone.m {IsRotate:"false",IsRotateInverse:"false"} + +# 終了 + execute if score @s CO.EventTimer.BluteForce matches 282.. run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/async_end diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/blute_force_attack/async_pattern_exa_inv.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/blute_force_attack/async_pattern_exa_inv.mcfunction new file mode 100644 index 0000000000..5048e9bca1 --- /dev/null +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/blute_force_attack/async_pattern_exa_inv.mcfunction @@ -0,0 +1,21 @@ +#> asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/async_pattern_exa_inv +# +# ブルートフォースアタック +# +# @within asset:mob/0456.gargo_ex_machina/tick/event/ + +# タイマー増加 + scoreboard players add @s CO.EventTimer.BluteForce 1 + +# 回転パターン + execute if score @s CO.EventTimer.BluteForce matches 1 rotated ~ ~ positioned ^ ^ ^29 rotated ~180 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_yeeter_drone.m {IsRotate:"false",IsRotateInverse:"false"} + execute if score @s CO.EventTimer.BluteForce matches 41 rotated ~-45 ~ positioned ^ ^ ^32 rotated ~180 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_yeeter_drone.m {IsRotate:"false",IsRotateInverse:"false"} + execute if score @s CO.EventTimer.BluteForce matches 81 rotated ~-90 ~ positioned ^ ^ ^29 rotated ~180 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_yeeter_drone.m {IsRotate:"false",IsRotateInverse:"false"} + execute if score @s CO.EventTimer.BluteForce matches 121 rotated ~-135 ~ positioned ^ ^ ^32 rotated ~180 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_yeeter_drone.m {IsRotate:"false",IsRotateInverse:"false"} + execute if score @s CO.EventTimer.BluteForce matches 161 rotated ~-180 ~ positioned ^ ^ ^29 rotated ~180 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_yeeter_drone.m {IsRotate:"false",IsRotateInverse:"false"} + execute if score @s CO.EventTimer.BluteForce matches 201 rotated ~-225 ~ positioned ^ ^ ^32 rotated ~180 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_yeeter_drone.m {IsRotate:"false",IsRotateInverse:"false"} + execute if score @s CO.EventTimer.BluteForce matches 241 rotated ~-270 ~ positioned ^ ^ ^29 rotated ~180 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_yeeter_drone.m {IsRotate:"false",IsRotateInverse:"false"} + execute if score @s CO.EventTimer.BluteForce matches 281 rotated ~-315 ~ positioned ^ ^ ^32 rotated ~180 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_yeeter_drone.m {IsRotate:"false",IsRotateInverse:"false"} + +# 終了 + execute if score @s CO.EventTimer.BluteForce matches 282.. run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/async_end From 8276b030c59a6701393bd46e6c6372cbd5a06ed5 Mon Sep 17 00:00:00 2001 From: mokkkk Date: Sat, 21 Mar 2026 16:17:04 +0900 Subject: [PATCH 71/98] =?UTF-8?q?=E4=B8=8A=E7=A9=BA=E5=B0=84=E6=92=83?= =?UTF-8?q?=E3=81=AE=E6=94=BB=E6=92=83=E3=82=92=E9=9D=9E=E5=90=8C=E6=9C=9F?= =?UTF-8?q?=E3=81=AB=E5=A4=89=E6=9B=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../0456.gargo_ex_machina/_index.d.mcfunction | 2 ++ .../tick/act/.mcfunction | 4 ++-- .../tick/act/phase_1/.mcfunction | 6 ++++-- .../tick/act/phase_2/.mcfunction | 15 ++++++++++++++- .../act/phase_2/bluteforce_exa.mcfunction | 9 +++++++++ .../tick/event/.mcfunction | 6 ++++-- .../tick/event/upper_shot/.mcfunction | 15 ++++++--------- .../event/upper_shot/async_end.mcfunction | 4 +++- .../async_pattern_random.mcfunction | 18 ++++++++++++++++++ .../async_pattern_target.mcfunction | 19 +++++++++++++++++++ .../tick/event/upper_shot/attack.mcfunction | 2 +- ...h.mcfunction => pattern_random.mcfunction} | 6 +++--- .../upper_shot/pattern_target.mcfunction | 10 ++++++++++ 13 files changed, 95 insertions(+), 21 deletions(-) create mode 100644 Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/phase_2/bluteforce_exa.mcfunction create mode 100644 Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/upper_shot/async_pattern_random.mcfunction create mode 100644 Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/upper_shot/async_pattern_target.mcfunction rename Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/upper_shot/{pattern_mesh.mcfunction => pattern_random.mcfunction} (98%) create mode 100644 Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/upper_shot/pattern_target.mcfunction diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/_index.d.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/_index.d.mcfunction index cbf9160270..3569814bc1 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/_index.d.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/_index.d.mcfunction @@ -42,6 +42,8 @@ #declare tag CO.Skill.Shot 射撃 #declare tag CO.Skill.UpperShot 上空射撃 #declare tag CO.UpperShot.Asyuc 上空射撃攻撃判定用 + #declare tag CO.UpperShot.Pt.Random ランダムパターン + #declare tag CO.UpperShot.Pt.Target 追尾パターン #declare tag CO.Skill.BluteForce ブルートフォースアタック #declare tag CO.Skill.BluteForce.First ブルートフォースアタック #declare tag CO.Skill.BluteForce.Async ブルートフォースアタック攻撃判定用 diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/.mcfunction index 260d774b67..bd83ede976 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/.mcfunction @@ -5,7 +5,7 @@ # @within asset:mob/0456.gargo_ex_machina/tick/** # debug - return 0 + # return 0 # 行動リセット function asset:mob/0456.gargo_ex_machina/tick/util/remove_animation_tag @@ -25,4 +25,4 @@ # 後半 execute if entity @s[tag=CO.IsLatter] run function asset:mob/0456.gargo_ex_machina/tick/act/phase_2/ -say act +# say act diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/phase_1/.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/phase_1/.mcfunction index aa051e95ff..e50f0df06f 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/phase_1/.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/phase_1/.mcfunction @@ -31,7 +31,8 @@ execute if score @s CO.Counter matches 10 run tag @s add CO.Skill.Shot # 待機 execute if score @s CO.Counter matches 11 as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run scoreboard players set @s CO.IdleTimer 40 -# 上空射撃 +# 上空射撃・ランダムパターン + execute if score @s CO.Counter matches 12 run tag @s add CO.UpperShot.Pt.Random execute if score @s CO.Counter matches 12 run tag @s add CO.Skill.UpperShot # 待機 execute if score @s CO.Counter matches 13 as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run scoreboard players set @s CO.IdleTimer 60 @@ -63,7 +64,8 @@ execute if score @s CO.Counter matches 22 run function asset:mob/0456.gargo_ex_machina/tick/act/phase_1/move_to_center # 銃変形 execute if score @s CO.Counter matches 23 run tag @s add CO.Skill.Transform.Shoot - # 上空射撃 + # 上空射撃・ランダムパターン + execute if score @s CO.Counter matches 12 run tag @s add CO.UpperShot.Pt.Random execute if score @s CO.Counter matches 24 run tag @s add CO.Skill.UpperShot # プレイヤー狙い弾 execute if score @s CO.Counter matches 25 run tag @s add CO.Skill.Shot diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/phase_2/.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/phase_2/.mcfunction index 120dad2db4..b51f844339 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/phase_2/.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/phase_2/.mcfunction @@ -69,6 +69,19 @@ execute if score @s CO.Counter matches 21 run function asset:mob/0456.gargo_ex_machina/tick/act/phase_2/move_to_center # 薙ぎ払いレーザー execute if score @s CO.Counter matches 22 run function asset:mob/0456.gargo_ex_machina/tick/act/phase_2/half_beam +# 待機 + execute if score @s CO.Counter matches 23 as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run scoreboard players set @s CO.IdleTimer 100 ## ブルートフォース:エクサパターン + # ブルートフォース:チュートリアル + execute if score @s CO.Counter matches 24 run tag @s add CO.Skill.BluteForce + execute if score @s CO.Counter matches 24 run function asset:mob/0456.gargo_ex_machina/tick/act/phase_2/bluteforce_exa + # 銃変形 + execute if score @s CO.Counter matches 25 run tag @s add CO.Skill.Transform.Shoot + # 上空射撃・追尾パターン + execute if score @s CO.Counter matches 26 run tag @s add CO.UpperShot.Pt.Target + execute if score @s CO.Counter matches 26 run tag @s add CO.Skill.UpperShot + # スーパージャンプ + execute if score @s CO.Counter matches 27 run scoreboard players set @s CO.PreTimer 300 + execute if score @s CO.Counter matches 27 run tag @s add CO.Skill.SuperJump # 待機 - execute if score @s CO.Counter matches 23 as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run scoreboard players set @s CO.IdleTimer 200 + execute if score @s CO.Counter matches 28 as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run scoreboard players set @s CO.IdleTimer 100 diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/phase_2/bluteforce_exa.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/phase_2/bluteforce_exa.mcfunction new file mode 100644 index 0000000000..0959a07ab6 --- /dev/null +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/phase_2/bluteforce_exa.mcfunction @@ -0,0 +1,9 @@ +#> asset:mob/0456.gargo_ex_machina/tick/act/phase_2/bluteforce_exa +# +# Mobのtick時の処理 +# +# @within asset:mob/0456.gargo_ex_machina/tick/act/phase_2/ + +# ランダムで使用 + execute if predicate lib:random_pass_per/50 run tag @s add CO.Skill.BluteForce.Pt.Exa + execute unless entity @s[tag=CO.Skill.BluteForce.Pt.Exa] run tag @s add CO.Skill.BluteForce.Pt.ExaInv diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/.mcfunction index d69e2d10a8..5989663ed0 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/.mcfunction @@ -54,8 +54,10 @@ # 上空射撃 execute if entity @s[tag=CO.Skill.UpperShot] run function asset:mob/0456.gargo_ex_machina/tick/event/upper_shot/ - # 攻撃判定用 - execute if entity @s[tag=CO.UpperShot.Asyuc] run function asset:mob/0456.gargo_ex_machina/tick/event/upper_shot/async_attack + # ランダムパターン + execute if entity @s[tag=CO.UpperShot.Asyuc,tag=CO.UpperShot.Pt.Random] run function asset:mob/0456.gargo_ex_machina/tick/event/upper_shot/async_pattern_random + # 追尾パターン + execute if entity @s[tag=CO.UpperShot.Asyuc,tag=CO.UpperShot.Pt.Target] run function asset:mob/0456.gargo_ex_machina/tick/event/upper_shot/async_pattern_target # ブルートフォースアタック execute if entity @s[tag=CO.Skill.BluteForce] run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/ diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/upper_shot/.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/upper_shot/.mcfunction index 898741c7f9..df547c844f 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/upper_shot/.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/upper_shot/.mcfunction @@ -17,15 +17,12 @@ execute if score @s CO.EventTimer matches 70 run playsound block.piston.contract hostile @a ~ ~ ~ 2 0.9 # モデルを合わせる execute as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run tp @s ~ ~ ~ ~ ~ - # 攻撃 - # 攻撃位置決定 - execute if score @s CO.EventTimer matches 25 at @e[type=marker,tag=CO.CenterPosition,distance=..80,limit=1] run function asset:mob/0456.gargo_ex_machina/tick/event/upper_shot/pattern_mesh - # 演出 - execute if score @s CO.EventTimer matches 28 as @e[type=item_display,tag=CO.ModelRoot,distance=..80,sort=nearest,limit=1] at @s on passengers if entity @s[tag=aj.global.data] run function asset:mob/0456.gargo_ex_machina/tick/event/upper_shot/summon_laser.m with entity @s data.locators.muzzle - execute if score @s CO.EventTimer matches 30..32 run playsound entity.breeze.jump hostile @a ~ ~ ~ 2 0.5 - execute if score @s CO.EventTimer matches 30..32 run playsound entity.breeze.jump hostile @a ~ ~ ~ 2 0.6 - # 攻撃開始 - execute if score @s CO.EventTimer matches 48 run tag @s add CO.UpperShot.Asyuc + # 演出 + execute if score @s CO.EventTimer matches 28 as @e[type=item_display,tag=CO.ModelRoot,distance=..80,sort=nearest,limit=1] at @s on passengers if entity @s[tag=aj.global.data] run function asset:mob/0456.gargo_ex_machina/tick/event/upper_shot/summon_laser.m with entity @s data.locators.muzzle + execute if score @s CO.EventTimer matches 30..32 run playsound entity.breeze.jump hostile @a ~ ~ ~ 2 0.5 + execute if score @s CO.EventTimer matches 30..32 run playsound entity.breeze.jump hostile @a ~ ~ ~ 2 0.6 + # 攻撃開始 + execute if score @s CO.EventTimer matches 48 run tag @s add CO.UpperShot.Asyuc # 終了 execute if score @s CO.EventTimer matches 70.. run function asset:mob/0456.gargo_ex_machina/tick/event/upper_shot/end diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/upper_shot/async_end.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/upper_shot/async_end.mcfunction index df6506b2f4..1667b52918 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/upper_shot/async_end.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/upper_shot/async_end.mcfunction @@ -2,8 +2,10 @@ # # 上空射撃 設置後すぐ別の動きをしてもいいように、攻撃処理だけ非同期で実行 # -# @within asset:mob/0456.gargo_ex_machina/tick/event/upper_shot/async_attack +# @within asset:mob/0456.gargo_ex_machina/tick/event/upper_shot/** # 実行 scoreboard players set @s CO.EventTimer.UpperShot 0 execute unless entity @e[type=area_effect_cloud,tag=CO.Aec.UpperShotPosition,distance=..80] run tag @s remove CO.UpperShot.Asyuc + execute unless entity @s[tag=CO.UpperShot.Asyuc] run tag @s remove CO.UpperShot.Pt.Random + execute unless entity @s[tag=CO.UpperShot.Asyuc] run tag @s remove CO.UpperShot.Pt.Target diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/upper_shot/async_pattern_random.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/upper_shot/async_pattern_random.mcfunction new file mode 100644 index 0000000000..d61d213d3b --- /dev/null +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/upper_shot/async_pattern_random.mcfunction @@ -0,0 +1,18 @@ +#> asset:mob/0456.gargo_ex_machina/tick/event/upper_shot/async_pattern_random +# +# 上空射撃 設置後すぐ別の動きをしてもいいように、攻撃処理だけ非同期で実行 +# +# @within asset:mob/0456.gargo_ex_machina/tick/event/ + +# タイマー増加 + scoreboard players add @s CO.EventTimer.UpperShot 1 + +# 攻撃位置決定 + # 攻撃位置決定 + execute if score @s CO.EventTimer.UpperShot matches 1 at @e[type=marker,tag=CO.CenterPosition,distance=..80,limit=1] run function asset:mob/0456.gargo_ex_machina/tick/event/upper_shot/pattern_random + +# 実行 + execute at @e[type=area_effect_cloud,tag=CO.Aec.UpperShotPosition,distance=..80,sort=random,limit=2] run function asset:mob/0456.gargo_ex_machina/tick/event/upper_shot/attack + +# 終了 + execute if score @s CO.EventTimer.UpperShot matches 40.. run function asset:mob/0456.gargo_ex_machina/tick/event/upper_shot/async_end diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/upper_shot/async_pattern_target.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/upper_shot/async_pattern_target.mcfunction new file mode 100644 index 0000000000..861b7c2c06 --- /dev/null +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/upper_shot/async_pattern_target.mcfunction @@ -0,0 +1,19 @@ +#> asset:mob/0456.gargo_ex_machina/tick/event/upper_shot/async_pattern_target +# +# 上空射撃 設置後すぐ別の動きをしてもいいように、攻撃処理だけ非同期で実行 +# +# @within asset:mob/0456.gargo_ex_machina/tick/event/ + +# タイマー増加 + execute store result score $Interval Temporary run scoreboard players add @s CO.EventTimer.UpperShot 1 + +# 攻撃位置決定: 一定間隔で実行 + scoreboard players operation $Interval Temporary %= $30 Const + execute if score $Interval Temporary matches 0 run function asset:mob/0456.gargo_ex_machina/tick/event/upper_shot/pattern_target + +# 攻撃 + execute if score $Interval Temporary matches 0 at @e[type=area_effect_cloud,tag=CO.Aec.UpperShotPosition,distance=..80] run function asset:mob/0456.gargo_ex_machina/tick/event/upper_shot/attack + +# 終了 + scoreboard players reset $Interval Temporary + execute if score @s CO.EventTimer.UpperShot matches 331.. run function asset:mob/0456.gargo_ex_machina/tick/event/upper_shot/async_end diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/upper_shot/attack.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/upper_shot/attack.mcfunction index 5df33ba8c7..e5ea49a312 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/upper_shot/attack.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/upper_shot/attack.mcfunction @@ -2,7 +2,7 @@ # # 射撃 # -# @within asset:mob/0456.gargo_ex_machina/tick/event/upper_shot/async_attack +# @within asset:mob/0456.gargo_ex_machina/tick/event/upper_shot/** # 攻撃判定召喚 data modify storage api: Argument.ID set value 2268 diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/upper_shot/pattern_mesh.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/upper_shot/pattern_random.mcfunction similarity index 98% rename from Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/upper_shot/pattern_mesh.mcfunction rename to Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/upper_shot/pattern_random.mcfunction index ada5962179..a4de79a448 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/upper_shot/pattern_mesh.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/upper_shot/pattern_random.mcfunction @@ -1,8 +1,8 @@ -#> asset:mob/0456.gargo_ex_machina/tick/event/upper_shot/attack +#> asset:mob/0456.gargo_ex_machina/tick/event/upper_shot/pattern_random # # 射撃 # -# @within asset:mob/0456.gargo_ex_machina/tick/event/upper_shot/ +# @within asset:mob/0456.gargo_ex_machina/tick/event/upper_shot/async_pattern_random # [ImportKey]: NobwRALgngDgpmAXGANgSwHYIDRgK55oAmSYAbAKwAcALAOxzUC0ZAZmQMZM01UDMTKlTJwmAIz5lOATgqUiNHGAwBDALYJkgLd8ABAEYwuGCoBO6gM5JwHAPZ4MEJHoAMuViZtqrYAG4qUeJrgAB5ITHwUuFBIzgC+sbgQNt5+AUFgoYgRUTHxuDasrOZwjoiuYGJwAF5ocCYxuGjmAELVtSYAogCOeP4oUADKxhxwJIis-sV54NDwpOhYhviEY2BwHCJUYgBMZOJw0jTcYkJMKttiFExEzjQUfBcc51R0S6oapLp6TLYw0UamCzeWz2UouNweLyIcCpQLeTLhSJgaKIbYUPKQZLQ3z+OHYzLZZFINEYgpFEoNCptOqUpqtGp1bq9FD9IYqEZjCYoKYJGawTSoTBKAjEUjnIhUZzbbZHaTSHbcDh8MRnGh6FV8dYUOBkFQSvh6KhvdQCr4-Gx-c1-JbGMxqSzYkEOJzldyeFK49IIwkow0YpIetLwpA+pxUUmFYqlcqVBn1MqNFrUzo9PqDYajJBcnnYPlzZALYUrUh6Dg0MRiFxcSjOUQ0G7bQTKo5iFR8WscVg7aRUVjGj7afRWqDD4c2wH24F2Z2IcFgN1QmGe4OIRE5Vd+hKYwN4kIhpEopib-KRikJqlx2lJuNMtNsjlZyZwaaQfnzIVLEWrCjSKXSTgqnodD-twNBlvsDAsM4RBKrceh8EIfa4O8ppDr8I7oeOdoOtY05gq6kI7l6YShquET+liS5Bvi+7roiEbktGuCxu0V70u0t4sum7KZuMT4vrMAqFp+xbIHQTxgc4ZB0D82x6I2vB8DJ-BECoZwSmIziSBQRCsDQ0j9qh3zoaOmEAthU6gi6ELutisLEWRB77hRRErqR5FbmSUaUixNLnnSyacayGacvxvKvvmgqLLgX6kKpFD6c4KgqiorA6twfCKEw0isOqZxPGQETqm20gqIZnxoRaGFVVhQKOnh1nzoRdnLjRjl0SSW4Bi11F7lkTmrp1J6MT5yZsYFqZcfevHZs+4WCe+0XLKKyDSEQRAISMKXSGixyyKqFCNtsHDONIow0El8EcOVg7GVVpk1eZdW4VZs4EbZVG7hkJEDUecRdZROK9d9-V0S4DHeeevnxuUAU3pNwU8aF3JzbmEVCR+MWiWAfBlhQ4l0N80gcLQ3BkJUgj8FQ2W8P+2zSO22xwEhygmhVd2WiZXOPWAtrPWATr4TZi5A193oDeDAOuW1pGS8NkMxmN-nXhxCPcQ+fEo-EAC6QA_3 # 線 1 @@ -106,4 +106,4 @@ summon area_effect_cloud ^27.22222 ^ ^10 {Tags:["CO.Aec.UpperShotPosition"],Dura summon area_effect_cloud ^35 ^ ^10 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} # 数を減らす - kill @e[type=area_effect_cloud,tag=CO.Aec.UpperShotPosition,distance=..80,sort=random,limit=15] + kill @e[type=area_effect_cloud,tag=CO.Aec.UpperShotPosition,distance=..80,sort=random,limit=20] diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/upper_shot/pattern_target.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/upper_shot/pattern_target.mcfunction new file mode 100644 index 0000000000..7bc81a74e5 --- /dev/null +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/upper_shot/pattern_target.mcfunction @@ -0,0 +1,10 @@ +#> asset:mob/0456.gargo_ex_machina/tick/event/upper_shot/pattern_target +# +# 射撃 +# +# @within asset:mob/0456.gargo_ex_machina/tick/event/upper_shot/async_pattern_target + +# 召喚 + execute at @a[distance=..80] run summon area_effect_cloud ^ ^ ^ {Tags:["CO.Aec.UpperShotPosition"],Duration:300} + execute as @e[type=area_effect_cloud,tag=CO.Aec.UpperShotPosition,distance=..80] at @s run function asset:mob/0456.gargo_ex_machina/tick/util/move_to_ground + execute as @e[type=area_effect_cloud,tag=CO.Aec.UpperShotPosition,distance=..80] at @s run tp @s ~ ~0.3 ~ From 339c56e1d2ac1ec9cb8fb42586374192aa3c794a Mon Sep 17 00:00:00 2001 From: mokkkk Date: Sat, 21 Mar 2026 16:47:37 +0900 Subject: [PATCH 72/98] =?UTF-8?q?=E3=82=A8=E3=82=AF=E3=82=B5=E3=83=91?= =?UTF-8?q?=E3=82=BF=E3=83=BC=E3=83=B3=E3=82=92=E5=B0=91=E3=81=97=E5=BC=B7?= =?UTF-8?q?=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../0456.gargo_ex_machina/_index.d.mcfunction | 1 + .../tick/act/phase_2/.mcfunction | 24 +++++++---- .../tick/debug/interrupt.mcfunction | 2 +- .../async_pattern_exa.mcfunction | 22 ++++++---- .../async_pattern_exa_inv.mcfunction | 22 ++++++---- .../event/upper_shot/async_end.mcfunction | 1 + .../async_pattern_moveline.mcfunction | 19 +++++++++ .../upper_shot/pattern_moveline.mcfunction | 41 +++++++++++++++++++ .../tick/prediction.mcfunction | 2 +- .../2268.gem_upper_shot/init/.mcfunction | 1 + 10 files changed, 108 insertions(+), 27 deletions(-) create mode 100644 Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/upper_shot/async_pattern_moveline.mcfunction create mode 100644 Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/upper_shot/pattern_moveline.mcfunction diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/_index.d.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/_index.d.mcfunction index 3569814bc1..f7392dcd94 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/_index.d.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/_index.d.mcfunction @@ -44,6 +44,7 @@ #declare tag CO.UpperShot.Asyuc 上空射撃攻撃判定用 #declare tag CO.UpperShot.Pt.Random ランダムパターン #declare tag CO.UpperShot.Pt.Target 追尾パターン + #declare tag CO.UpperShot.Pt.MoveLine 移動直線範囲パターン #declare tag CO.Skill.BluteForce ブルートフォースアタック #declare tag CO.Skill.BluteForce.First ブルートフォースアタック #declare tag CO.Skill.BluteForce.Async ブルートフォースアタック攻撃判定用 diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/phase_2/.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/phase_2/.mcfunction index b51f844339..80111af3bf 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/phase_2/.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/phase_2/.mcfunction @@ -4,20 +4,20 @@ # # @within asset:mob/0456.gargo_ex_machina/tick/act/ -# 最初に戻る - # execute if score @s CO.Counter matches 38.. run scoreboard players set @s CO.Counter 18 +# ループ + # execute if score @s CO.Counter matches 38.. run scoreboard players set @s CO.Counter 10 ## ブルートフォース:チュートリアル # 四辺に移動 execute if score @s CO.Counter matches ..1 run function asset:mob/0456.gargo_ex_machina/tick/act/phase_2/move_to_line - # ブルートフォース:チュートリアル + # ブルートフォース・チュートリアル execute if score @s CO.Counter matches 2 run tag @s add CO.Skill.BluteForce.First execute if score @s CO.Counter matches 2 run tag @s add CO.Skill.BluteForce.Pt.Tutorial # スーパージャンプ execute if score @s CO.Counter matches 3 run scoreboard players set @s CO.PreTimer 500 execute if score @s CO.Counter matches 3 run tag @s add CO.Skill.SuperJump # 待機 - execute if score @s CO.Counter matches 4 as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run scoreboard players set @s CO.IdleTimer 160 + execute if score @s CO.Counter matches 4 as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run scoreboard players set @s CO.IdleTimer 200 ## 剣叩きつけ execute if score @s CO.Counter matches 5 run tag @s add CO.Skill.SwordAttack # 待機 @@ -32,14 +32,14 @@ ## ブルートフォース:回転パターン # 中央に移動 execute if score @s CO.Counter matches 10 run function asset:mob/0456.gargo_ex_machina/tick/act/phase_2/move_to_center - # ブルートフォース:チュートリアル + # ブルートフォース・回転パターン execute if score @s CO.Counter matches 11 run tag @s add CO.Skill.BluteForce execute if score @s CO.Counter matches 11 run function asset:mob/0456.gargo_ex_machina/tick/act/phase_2/bluteforce_spin # スーパージャンプ execute if score @s CO.Counter matches 12 run scoreboard players set @s CO.PreTimer 400 execute if score @s CO.Counter matches 12 run tag @s add CO.Skill.SuperJump # 待機 - execute if score @s CO.Counter matches 13 as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run scoreboard players set @s CO.IdleTimer 160 + execute if score @s CO.Counter matches 13 as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run scoreboard players set @s CO.IdleTimer 200 ## モディファイ + ロケットパンチ # フィールドモディファイ・ボーダーパターン execute if score @s CO.Counter matches 14 as @e[type=marker,tag=CO.CenterPosition,distance=..80,limit=1] at @s positioned ~ ~-0.499 ~ run function asset:mob/0456.gargo_ex_machina/tick/act/phase_2/field_modify_border @@ -80,8 +80,14 @@ # 上空射撃・追尾パターン execute if score @s CO.Counter matches 26 run tag @s add CO.UpperShot.Pt.Target execute if score @s CO.Counter matches 26 run tag @s add CO.Skill.UpperShot + # 剣変形 + execute if score @s CO.Counter matches 27 run tag @s add CO.Skill.Transform.Sword # スーパージャンプ - execute if score @s CO.Counter matches 27 run scoreboard players set @s CO.PreTimer 300 - execute if score @s CO.Counter matches 27 run tag @s add CO.Skill.SuperJump + execute if score @s CO.Counter matches 28 run scoreboard players set @s CO.PreTimer 300 + execute if score @s CO.Counter matches 28 run tag @s add CO.Skill.SuperJump # 待機 - execute if score @s CO.Counter matches 28 as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run scoreboard players set @s CO.IdleTimer 100 + execute if score @s CO.Counter matches 29 as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run scoreboard players set @s CO.IdleTimer 200 +# 四辺に移動 + execute if score @s CO.Counter matches 30 run function asset:mob/0456.gargo_ex_machina/tick/act/phase_2/move_to_line +## 剣叩きつけ + execute if score @s CO.Counter matches 31 run tag @s add CO.Skill.SwordAttack diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/debug/interrupt.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/debug/interrupt.mcfunction index e2a9393291..443d2c5bf1 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/debug/interrupt.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/debug/interrupt.mcfunction @@ -19,4 +19,4 @@ # イベント実行 tag @s add CO.Skill.BluteForce - tag @s add CO.Skill.BluteForce.Pt.ExaInv + tag @s add CO.Skill.BluteForce.Pt.Exa diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/blute_force_attack/async_pattern_exa.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/blute_force_attack/async_pattern_exa.mcfunction index 501605b632..54ae5333bb 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/blute_force_attack/async_pattern_exa.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/blute_force_attack/async_pattern_exa.mcfunction @@ -8,14 +8,20 @@ scoreboard players add @s CO.EventTimer.BluteForce 1 # 回転パターン - execute if score @s CO.EventTimer.BluteForce matches 1 rotated ~ ~ positioned ^ ^ ^29 rotated ~180 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_yeeter_drone.m {IsRotate:"false",IsRotateInverse:"false"} - execute if score @s CO.EventTimer.BluteForce matches 41 rotated ~45 ~ positioned ^ ^ ^32 rotated ~180 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_yeeter_drone.m {IsRotate:"false",IsRotateInverse:"false"} - execute if score @s CO.EventTimer.BluteForce matches 81 rotated ~90 ~ positioned ^ ^ ^29 rotated ~180 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_yeeter_drone.m {IsRotate:"false",IsRotateInverse:"false"} - execute if score @s CO.EventTimer.BluteForce matches 121 rotated ~135 ~ positioned ^ ^ ^32 rotated ~180 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_yeeter_drone.m {IsRotate:"false",IsRotateInverse:"false"} - execute if score @s CO.EventTimer.BluteForce matches 161 rotated ~180 ~ positioned ^ ^ ^29 rotated ~180 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_yeeter_drone.m {IsRotate:"false",IsRotateInverse:"false"} - execute if score @s CO.EventTimer.BluteForce matches 201 rotated ~225 ~ positioned ^ ^ ^32 rotated ~180 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_yeeter_drone.m {IsRotate:"false",IsRotateInverse:"false"} - execute if score @s CO.EventTimer.BluteForce matches 241 rotated ~270 ~ positioned ^ ^ ^29 rotated ~180 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_yeeter_drone.m {IsRotate:"false",IsRotateInverse:"false"} - execute if score @s CO.EventTimer.BluteForce matches 281 rotated ~315 ~ positioned ^ ^ ^32 rotated ~180 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_yeeter_drone.m {IsRotate:"false",IsRotateInverse:"false"} + # Attack + execute if score @s CO.EventTimer.BluteForce matches 1 if predicate api:global_vars/difficulty/min/3_blessless rotated ~ ~ rotated ~135 ~ positioned ^ ^ ^29 rotated ~180 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_attack_drone.m {IsTarget:"true"} + execute if score @s CO.EventTimer.BluteForce matches 81 if predicate api:global_vars/difficulty/min/3_blessless rotated ~90 ~ rotated ~135 ~ positioned ^ ^ ^29 rotated ~180 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_attack_drone.m {IsTarget:"true"} + execute if score @s CO.EventTimer.BluteForce matches 161 if predicate api:global_vars/difficulty/min/3_blessless rotated ~180 ~ rotated ~135 ~ positioned ^ ^ ^29 rotated ~180 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_attack_drone.m {IsTarget:"true"} + execute if score @s CO.EventTimer.BluteForce matches 241 if predicate api:global_vars/difficulty/min/3_blessless rotated ~270 ~ rotated ~135 ~ positioned ^ ^ ^29 rotated ~180 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_attack_drone.m {IsTarget:"true"} + # Yeeter + execute if score @s CO.EventTimer.BluteForce matches 1 rotated ~ ~ positioned ^ ^ ^29 rotated ~180 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_yeeter_drone.m {IsRotate:"false",IsRotateInverse:"false"} + execute if score @s CO.EventTimer.BluteForce matches 41 rotated ~45 ~ positioned ^ ^ ^32 rotated ~180 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_yeeter_drone.m {IsRotate:"false",IsRotateInverse:"false"} + execute if score @s CO.EventTimer.BluteForce matches 81 rotated ~90 ~ positioned ^ ^ ^29 rotated ~180 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_yeeter_drone.m {IsRotate:"false",IsRotateInverse:"false"} + execute if score @s CO.EventTimer.BluteForce matches 121 rotated ~135 ~ positioned ^ ^ ^32 rotated ~180 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_yeeter_drone.m {IsRotate:"false",IsRotateInverse:"false"} + execute if score @s CO.EventTimer.BluteForce matches 161 rotated ~180 ~ positioned ^ ^ ^29 rotated ~180 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_yeeter_drone.m {IsRotate:"false",IsRotateInverse:"false"} + execute if score @s CO.EventTimer.BluteForce matches 201 rotated ~225 ~ positioned ^ ^ ^32 rotated ~180 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_yeeter_drone.m {IsRotate:"false",IsRotateInverse:"false"} + execute if score @s CO.EventTimer.BluteForce matches 241 rotated ~270 ~ positioned ^ ^ ^29 rotated ~180 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_yeeter_drone.m {IsRotate:"false",IsRotateInverse:"false"} + execute if score @s CO.EventTimer.BluteForce matches 281 rotated ~315 ~ positioned ^ ^ ^32 rotated ~180 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_yeeter_drone.m {IsRotate:"false",IsRotateInverse:"false"} # 終了 execute if score @s CO.EventTimer.BluteForce matches 282.. run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/async_end diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/blute_force_attack/async_pattern_exa_inv.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/blute_force_attack/async_pattern_exa_inv.mcfunction index 5048e9bca1..2961d74639 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/blute_force_attack/async_pattern_exa_inv.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/blute_force_attack/async_pattern_exa_inv.mcfunction @@ -8,14 +8,20 @@ scoreboard players add @s CO.EventTimer.BluteForce 1 # 回転パターン - execute if score @s CO.EventTimer.BluteForce matches 1 rotated ~ ~ positioned ^ ^ ^29 rotated ~180 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_yeeter_drone.m {IsRotate:"false",IsRotateInverse:"false"} - execute if score @s CO.EventTimer.BluteForce matches 41 rotated ~-45 ~ positioned ^ ^ ^32 rotated ~180 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_yeeter_drone.m {IsRotate:"false",IsRotateInverse:"false"} - execute if score @s CO.EventTimer.BluteForce matches 81 rotated ~-90 ~ positioned ^ ^ ^29 rotated ~180 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_yeeter_drone.m {IsRotate:"false",IsRotateInverse:"false"} - execute if score @s CO.EventTimer.BluteForce matches 121 rotated ~-135 ~ positioned ^ ^ ^32 rotated ~180 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_yeeter_drone.m {IsRotate:"false",IsRotateInverse:"false"} - execute if score @s CO.EventTimer.BluteForce matches 161 rotated ~-180 ~ positioned ^ ^ ^29 rotated ~180 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_yeeter_drone.m {IsRotate:"false",IsRotateInverse:"false"} - execute if score @s CO.EventTimer.BluteForce matches 201 rotated ~-225 ~ positioned ^ ^ ^32 rotated ~180 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_yeeter_drone.m {IsRotate:"false",IsRotateInverse:"false"} - execute if score @s CO.EventTimer.BluteForce matches 241 rotated ~-270 ~ positioned ^ ^ ^29 rotated ~180 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_yeeter_drone.m {IsRotate:"false",IsRotateInverse:"false"} - execute if score @s CO.EventTimer.BluteForce matches 281 rotated ~-315 ~ positioned ^ ^ ^32 rotated ~180 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_yeeter_drone.m {IsRotate:"false",IsRotateInverse:"false"} + # Attack + execute if score @s CO.EventTimer.BluteForce matches 1 if predicate api:global_vars/difficulty/min/3_blessless rotated ~ ~ rotated ~-135 ~ positioned ^ ^ ^29 rotated ~180 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_attack_drone.m {IsTarget:"true"} + execute if score @s CO.EventTimer.BluteForce matches 81 if predicate api:global_vars/difficulty/min/3_blessless rotated ~-90 ~ rotated ~-135 ~ positioned ^ ^ ^29 rotated ~180 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_attack_drone.m {IsTarget:"true"} + execute if score @s CO.EventTimer.BluteForce matches 161 if predicate api:global_vars/difficulty/min/3_blessless rotated ~-180 ~ rotated ~-135 ~ positioned ^ ^ ^29 rotated ~180 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_attack_drone.m {IsTarget:"true"} + execute if score @s CO.EventTimer.BluteForce matches 241 if predicate api:global_vars/difficulty/min/3_blessless rotated ~-270 ~ rotated ~-135 ~ positioned ^ ^ ^29 rotated ~180 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_attack_drone.m {IsTarget:"true"} + # Yeeter + execute if score @s CO.EventTimer.BluteForce matches 1 rotated ~ ~ positioned ^ ^ ^29 rotated ~180 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_yeeter_drone.m {IsRotate:"false",IsRotateInverse:"false"} + execute if score @s CO.EventTimer.BluteForce matches 41 rotated ~-45 ~ positioned ^ ^ ^32 rotated ~180 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_yeeter_drone.m {IsRotate:"false",IsRotateInverse:"false"} + execute if score @s CO.EventTimer.BluteForce matches 81 rotated ~-90 ~ positioned ^ ^ ^29 rotated ~180 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_yeeter_drone.m {IsRotate:"false",IsRotateInverse:"false"} + execute if score @s CO.EventTimer.BluteForce matches 121 rotated ~-135 ~ positioned ^ ^ ^32 rotated ~180 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_yeeter_drone.m {IsRotate:"false",IsRotateInverse:"false"} + execute if score @s CO.EventTimer.BluteForce matches 161 rotated ~-180 ~ positioned ^ ^ ^29 rotated ~180 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_yeeter_drone.m {IsRotate:"false",IsRotateInverse:"false"} + execute if score @s CO.EventTimer.BluteForce matches 201 rotated ~-225 ~ positioned ^ ^ ^32 rotated ~180 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_yeeter_drone.m {IsRotate:"false",IsRotateInverse:"false"} + execute if score @s CO.EventTimer.BluteForce matches 241 rotated ~-270 ~ positioned ^ ^ ^29 rotated ~180 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_yeeter_drone.m {IsRotate:"false",IsRotateInverse:"false"} + execute if score @s CO.EventTimer.BluteForce matches 281 rotated ~-315 ~ positioned ^ ^ ^32 rotated ~180 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_yeeter_drone.m {IsRotate:"false",IsRotateInverse:"false"} # 終了 execute if score @s CO.EventTimer.BluteForce matches 282.. run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/async_end diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/upper_shot/async_end.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/upper_shot/async_end.mcfunction index 1667b52918..e7a9121f7e 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/upper_shot/async_end.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/upper_shot/async_end.mcfunction @@ -9,3 +9,4 @@ execute unless entity @e[type=area_effect_cloud,tag=CO.Aec.UpperShotPosition,distance=..80] run tag @s remove CO.UpperShot.Asyuc execute unless entity @s[tag=CO.UpperShot.Asyuc] run tag @s remove CO.UpperShot.Pt.Random execute unless entity @s[tag=CO.UpperShot.Asyuc] run tag @s remove CO.UpperShot.Pt.Target + execute unless entity @s[tag=CO.UpperShot.Asyuc] run tag @s remove CO.UpperShot.Pt.MoveLine diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/upper_shot/async_pattern_moveline.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/upper_shot/async_pattern_moveline.mcfunction new file mode 100644 index 0000000000..6804b2a04a --- /dev/null +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/upper_shot/async_pattern_moveline.mcfunction @@ -0,0 +1,19 @@ +#> asset:mob/0456.gargo_ex_machina/tick/event/upper_shot/async_pattern_moveline +# +# 上空射撃 設置後すぐ別の動きをしてもいいように、攻撃処理だけ非同期で実行 +# +# @within asset:mob/0456.gargo_ex_machina/tick/event/ + +# タイマー増加 + execute store result score $Interval Temporary run scoreboard players add @s CO.EventTimer.UpperShot 1 + +# 攻撃位置決定: 一定間隔で実行 + scoreboard players operation $Interval Temporary %= $30 Const + execute if score $Interval Temporary matches 0 run function asset:mob/0456.gargo_ex_machina/tick/event/upper_shot/pattern_moveline + +# 攻撃 + execute if score $Interval Temporary matches 0 at @e[type=area_effect_cloud,tag=CO.Aec.UpperShotPosition,distance=..80] run function asset:mob/0456.gargo_ex_machina/tick/event/upper_shot/attack + +# 終了 + scoreboard players reset $Interval Temporary + execute if score @s CO.EventTimer.UpperShot matches 331.. run function asset:mob/0456.gargo_ex_machina/tick/event/upper_shot/async_end diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/upper_shot/pattern_moveline.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/upper_shot/pattern_moveline.mcfunction new file mode 100644 index 0000000000..cfaa228ef8 --- /dev/null +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/upper_shot/pattern_moveline.mcfunction @@ -0,0 +1,41 @@ +#> asset:mob/0456.gargo_ex_machina/tick/event/upper_shot/pattern_moveline +# +# 射撃 +# +# @within asset:mob/0456.gargo_ex_machina/tick/event/upper_shot/async_pattern_moveline + +# [ImportKey]: NobwRALgngDgpmAXGANgSwHYIDRgK55oAmSYArAAwDMAbAIwBmZAxgLRkCcATEawCwMOHVgA4qcGqwBGIrlKpEZfEQEMaYXBhUBbBMkBbvgAI6GsDBUAnHQGck4ZgHs8GCEjo1cDCw+12wANxUUPD1wAA8kPlwoJFYuMgA6DgBfZNwIBz9A4NCwCMQosBjELj5U3AcGBms4V0QKXCk4AC80OAskBrA0awAhFraLAFEARzwglCgAZXNmOBJEBiCa8vBoeFJ0LFMCYlIOZgpmLgpZVjg+OBV+OHFWFSIKBlYOAHYuB5EyLlfVMlMtLpSEY6KxHDAYrhzFZtLZEPYnC43B4wF4fFkgiE-Pl+NFYqUElxypBMvCApjcjjCsUuDQEq9iZVqrVOo0Bu1Wd0+uzhmMJtNZvMkEsUCtkgBdIA_3 +# 線 1 +summon area_effect_cloud ^4 ^ ^-25.9 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^4 ^ ^-22.57333 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^4 ^ ^-19.24667 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^4 ^ ^-15.92 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^4 ^ ^-12.59333 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^4 ^ ^-9.26667 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^4 ^ ^-5.94 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^4 ^ ^-2.61333 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^4 ^ ^0.71333 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^4 ^ ^4.04 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^4 ^ ^7.36667 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^4 ^ ^10.69333 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^4 ^ ^14.02 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^4 ^ ^17.34667 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^4 ^ ^20.67333 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^4 ^ ^24 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +# 線 1-copy +summon area_effect_cloud ^-4 ^ ^-24.2 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^-4 ^ ^-20.80667 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^-4 ^ ^-17.41333 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^-4 ^ ^-14.02 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^-4 ^ ^-10.62667 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^-4 ^ ^-7.23333 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^-4 ^ ^-3.84 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^-4 ^ ^-0.44667 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^-4 ^ ^2.94667 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^-4 ^ ^6.34 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^-4 ^ ^9.73333 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^-4 ^ ^13.12667 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^-4 ^ ^16.52 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^-4 ^ ^19.91333 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^-4 ^ ^23.30667 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^-4 ^ ^26.7 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} diff --git a/Asset/data/asset/functions/object/2260.gem_attack_drone/tick/prediction.mcfunction b/Asset/data/asset/functions/object/2260.gem_attack_drone/tick/prediction.mcfunction index 15fb37989f..47a9272365 100644 --- a/Asset/data/asset/functions/object/2260.gem_attack_drone/tick/prediction.mcfunction +++ b/Asset/data/asset/functions/object/2260.gem_attack_drone/tick/prediction.mcfunction @@ -8,7 +8,7 @@ data modify storage api: Argument.ID set value 2113 data modify storage api: Argument.FieldOverride.RotationX set from entity @s Rotation[0] data modify storage api: Argument.FieldOverride.Color set value 3381759 - data modify storage api: Argument.FieldOverride.Scale set value [8f,50f] + data modify storage api: Argument.FieldOverride.Scale set value [8f,80f] data modify storage api: Argument.FieldOverride.Interpolation set value 10 data modify storage api: Argument.FieldOverride.Tick set value 50 execute positioned ^ ^0.2 ^ rotated ~ 0 run function api:object/summon diff --git a/Asset/data/asset/functions/object/2268.gem_upper_shot/init/.mcfunction b/Asset/data/asset/functions/object/2268.gem_upper_shot/init/.mcfunction index 32a590c897..dac4e50887 100644 --- a/Asset/data/asset/functions/object/2268.gem_upper_shot/init/.mcfunction +++ b/Asset/data/asset/functions/object/2268.gem_upper_shot/init/.mcfunction @@ -6,6 +6,7 @@ # 角度をランダムに設定 data modify storage asset:context this.Rotation set value [0.0f, -90.0f] + execute store result entity @s Rotation[0] float 0.1 run random value 0..3600 execute store result storage asset:context this.Rotation[0] float 0.1 run random value 0..3600 execute store result storage asset:context this.Rotation[1] float 0.1 run random value -900..-700 From acd79ec799bfa63508a63c1468af58746e373931 Mon Sep 17 00:00:00 2001 From: mokkkk Date: Sat, 21 Mar 2026 16:57:23 +0900 Subject: [PATCH 73/98] =?UTF-8?q?=E5=B0=84=E6=92=83=E3=81=AB=E7=A7=BB?= =?UTF-8?q?=E5=8B=95=E7=9B=B4=E7=B7=9A=E7=AF=84=E5=9B=B2=E3=83=91=E3=82=BF?= =?UTF-8?q?=E3=83=BC=E3=83=B3=E8=BF=BD=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../tick/debug/interrupt.mcfunction | 4 +- .../tick/event/.mcfunction | 2 + .../async_pattern_moveline.mcfunction | 23 +++++--- .../upper_shot/pattern_moveline.mcfunction | 53 +++++++------------ 4 files changed, 39 insertions(+), 43 deletions(-) diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/debug/interrupt.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/debug/interrupt.mcfunction index 443d2c5bf1..5dcf18f83b 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/debug/interrupt.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/debug/interrupt.mcfunction @@ -18,5 +18,5 @@ # execute at @s run tp @e[type=item_display,tag=CO.ModelRoot] ~ ~ ~ ~ 0 # イベント実行 - tag @s add CO.Skill.BluteForce - tag @s add CO.Skill.BluteForce.Pt.Exa + tag @s add CO.Skill.UpperShot + tag @s add CO.UpperShot.Pt.MoveLine diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/.mcfunction index 5989663ed0..502d2ff35c 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/.mcfunction @@ -58,6 +58,8 @@ execute if entity @s[tag=CO.UpperShot.Asyuc,tag=CO.UpperShot.Pt.Random] run function asset:mob/0456.gargo_ex_machina/tick/event/upper_shot/async_pattern_random # 追尾パターン execute if entity @s[tag=CO.UpperShot.Asyuc,tag=CO.UpperShot.Pt.Target] run function asset:mob/0456.gargo_ex_machina/tick/event/upper_shot/async_pattern_target + # 移動直線範囲パターン + execute if entity @s[tag=CO.UpperShot.Asyuc,tag=CO.UpperShot.Pt.MoveLine] run function asset:mob/0456.gargo_ex_machina/tick/event/upper_shot/async_pattern_moveline # ブルートフォースアタック execute if entity @s[tag=CO.Skill.BluteForce] run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/ diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/upper_shot/async_pattern_moveline.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/upper_shot/async_pattern_moveline.mcfunction index 6804b2a04a..aa09b26179 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/upper_shot/async_pattern_moveline.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/upper_shot/async_pattern_moveline.mcfunction @@ -7,13 +7,20 @@ # タイマー増加 execute store result score $Interval Temporary run scoreboard players add @s CO.EventTimer.UpperShot 1 -# 攻撃位置決定: 一定間隔で実行 - scoreboard players operation $Interval Temporary %= $30 Const - execute if score $Interval Temporary matches 0 run function asset:mob/0456.gargo_ex_machina/tick/event/upper_shot/pattern_moveline - -# 攻撃 - execute if score $Interval Temporary matches 0 at @e[type=area_effect_cloud,tag=CO.Aec.UpperShotPosition,distance=..80] run function asset:mob/0456.gargo_ex_machina/tick/event/upper_shot/attack - +# 攻撃位置決定 + # 攻撃位置決定 + execute if score @s CO.EventTimer.UpperShot matches 1 at @e[type=marker,tag=CO.CenterPosition,distance=..80,limit=1] rotated ~ ~ positioned ^ ^ ^21.5 rotated ~90 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/upper_shot/pattern_moveline + execute if score @s CO.EventTimer.UpperShot matches 61 at @e[type=marker,tag=CO.CenterPosition,distance=..80,limit=1] rotated ~ ~ positioned ^ ^ ^10.5 rotated ~90 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/upper_shot/pattern_moveline + execute if score @s CO.EventTimer.UpperShot matches 121 at @e[type=marker,tag=CO.CenterPosition,distance=..80,limit=1] rotated ~ ~ positioned ^ ^ ^-10.5 rotated ~90 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/upper_shot/pattern_moveline + execute if score @s CO.EventTimer.UpperShot matches 181 at @e[type=marker,tag=CO.CenterPosition,distance=..80,limit=1] rotated ~ ~ positioned ^ ^ ^-21.5 rotated ~90 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/upper_shot/pattern_moveline + execute if score @s CO.EventTimer.UpperShot matches 1 if predicate api:global_vars/difficulty/min/3_blessless at @e[type=marker,tag=CO.CenterPosition,distance=..80,limit=1] rotated ~ ~ positioned ^21.5 ^ ^ run function asset:mob/0456.gargo_ex_machina/tick/event/upper_shot/pattern_moveline + execute if score @s CO.EventTimer.UpperShot matches 61 if predicate api:global_vars/difficulty/min/3_blessless at @e[type=marker,tag=CO.CenterPosition,distance=..80,limit=1] rotated ~ ~ positioned ^10.5 ^ ^ run function asset:mob/0456.gargo_ex_machina/tick/event/upper_shot/pattern_moveline + execute if score @s CO.EventTimer.UpperShot matches 121 if predicate api:global_vars/difficulty/min/3_blessless at @e[type=marker,tag=CO.CenterPosition,distance=..80,limit=1] rotated ~ ~ positioned ^-10.5 ^ ^ run function asset:mob/0456.gargo_ex_machina/tick/event/upper_shot/pattern_moveline + execute if score @s CO.EventTimer.UpperShot matches 181 if predicate api:global_vars/difficulty/min/3_blessless at @e[type=marker,tag=CO.CenterPosition,distance=..80,limit=1] rotated ~ ~ positioned ^-21.5 ^ ^ run function asset:mob/0456.gargo_ex_machina/tick/event/upper_shot/pattern_moveline + +# 実行 + execute at @e[type=area_effect_cloud,tag=CO.Aec.UpperShotPosition,distance=..80,sort=random,limit=3] run function asset:mob/0456.gargo_ex_machina/tick/event/upper_shot/attack + # 終了 scoreboard players reset $Interval Temporary - execute if score @s CO.EventTimer.UpperShot matches 331.. run function asset:mob/0456.gargo_ex_machina/tick/event/upper_shot/async_end + execute if score @s CO.EventTimer.UpperShot matches 240.. run function asset:mob/0456.gargo_ex_machina/tick/event/upper_shot/async_end diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/upper_shot/pattern_moveline.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/upper_shot/pattern_moveline.mcfunction index cfaa228ef8..dfaea1f0da 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/upper_shot/pattern_moveline.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/upper_shot/pattern_moveline.mcfunction @@ -4,38 +4,25 @@ # # @within asset:mob/0456.gargo_ex_machina/tick/event/upper_shot/async_pattern_moveline -# [ImportKey]: NobwRALgngDgpmAXGANgSwHYIDRgK55oAmSYArAAwDMAbAIwBmZAxgLRkCcATEawCwMOHVgA4qcGqwBGIrlKpEZfEQEMaYXBhUBbBMkBbvgAI6GsDBUAnHQGck4ZgHs8GCEjo1cDCw+12wANxUUPD1wAA8kPlwoJFYuMgA6DgBfZNwIBz9A4NCwCMQosBjELj5U3AcGBms4V0QKXCk4AC80OAskBrA0awAhFraLAFEARzwglCgAZXNmOBJEBiCa8vBoeFJ0LFMCYlIOZgpmLgpZVjg+OBV+OHFWFSIKBlYOAHYuB5EyLlfVMlMtLpSEY6KxHDAYrhzFZtLZEPYnC43B4wF4fFkgiE-Pl+NFYqUElxypBMvCApjcjjCsUuDQEq9iZVqrVOo0Bu1Wd0+uzhmMJtNZvMkEsUCtkgBdIA_3 +# [ImportKey]: NobwRALgngDgpmAXGANgSwHYIDRgK55oAmSYArAAwDMAbAIwBmZAxgLRkCcATEawCwMOHVgA4qcGqwBGIrlKpEZfEQEMaYXBhUBbBMkBbvgAI6GsDBUAnHQGck4ZgHs8GCEjoVcDCw+12wANxUUPD1wAA8kMlwoJFYuAHYAOhoAXxTcCAc-QODQsAjEKLAYxAS03AcGBms4V0QPMCk4AC80OAskBrRrACEWtosAUQBHPCCUKABlc2Y4EkQGIJry8Gh4UnQsUwJiUg5mCmYuCllWOD44FX44cVYVIgoGVg54rnuRMgTVMlMtXVIjHRWI4YDFcOYrNpbIh7E4XEgOJ5vL4YQEgiE-AV2NFYlwyIl4uVIFlUTkMaisUUSlwaASiZVqrVOrgmq12sywN0+myhqNxlMZnMkIsUMsUgBdIA_3 # 線 1 -summon area_effect_cloud ^4 ^ ^-25.9 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} -summon area_effect_cloud ^4 ^ ^-22.57333 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} -summon area_effect_cloud ^4 ^ ^-19.24667 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} -summon area_effect_cloud ^4 ^ ^-15.92 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} -summon area_effect_cloud ^4 ^ ^-12.59333 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} -summon area_effect_cloud ^4 ^ ^-9.26667 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} -summon area_effect_cloud ^4 ^ ^-5.94 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} -summon area_effect_cloud ^4 ^ ^-2.61333 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} -summon area_effect_cloud ^4 ^ ^0.71333 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} -summon area_effect_cloud ^4 ^ ^4.04 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} -summon area_effect_cloud ^4 ^ ^7.36667 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} -summon area_effect_cloud ^4 ^ ^10.69333 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} -summon area_effect_cloud ^4 ^ ^14.02 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} -summon area_effect_cloud ^4 ^ ^17.34667 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} -summon area_effect_cloud ^4 ^ ^20.67333 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} -summon area_effect_cloud ^4 ^ ^24 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^5 ^ ^-27.6 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^5 ^ ^-21.53333 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^5 ^ ^-15.46667 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^5 ^ ^-9.4 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^5 ^ ^-3.33333 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^5 ^ ^2.73333 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^5 ^ ^8.8 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^5 ^ ^14.86667 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^5 ^ ^20.93333 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^5 ^ ^27 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} # 線 1-copy -summon area_effect_cloud ^-4 ^ ^-24.2 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} -summon area_effect_cloud ^-4 ^ ^-20.80667 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} -summon area_effect_cloud ^-4 ^ ^-17.41333 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} -summon area_effect_cloud ^-4 ^ ^-14.02 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} -summon area_effect_cloud ^-4 ^ ^-10.62667 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} -summon area_effect_cloud ^-4 ^ ^-7.23333 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} -summon area_effect_cloud ^-4 ^ ^-3.84 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} -summon area_effect_cloud ^-4 ^ ^-0.44667 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} -summon area_effect_cloud ^-4 ^ ^2.94667 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} -summon area_effect_cloud ^-4 ^ ^6.34 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} -summon area_effect_cloud ^-4 ^ ^9.73333 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} -summon area_effect_cloud ^-4 ^ ^13.12667 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} -summon area_effect_cloud ^-4 ^ ^16.52 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} -summon area_effect_cloud ^-4 ^ ^19.91333 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} -summon area_effect_cloud ^-4 ^ ^23.30667 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} -summon area_effect_cloud ^-4 ^ ^26.7 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^-5 ^ ^-25.7 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^-5 ^ ^-19.15 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^-5 ^ ^-12.6 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^-5 ^ ^-6.05 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^-5 ^ ^0.5 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^-5 ^ ^7.05 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^-5 ^ ^13.6 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^-5 ^ ^20.15 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^-5 ^ ^26.7 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} From 3339874c2cf0a1c30137003e547139f528144721 Mon Sep 17 00:00:00 2001 From: mokkkk Date: Sun, 22 Mar 2026 13:41:49 +0900 Subject: [PATCH 74/98] =?UTF-8?q?=E6=99=AE=E9=80=9A=E3=81=AB=E3=83=89?= =?UTF-8?q?=E3=83=AD=E3=83=BC=E3=83=B3=E3=82=92=E5=8F=AC=E5=96=9A=E3=81=99?= =?UTF-8?q?=E3=82=8B=E3=83=91=E3=82=BF=E3=83=BC=E3=83=B3=E3=82=92=E8=BF=BD?= =?UTF-8?q?=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../0456.gargo_ex_machina/_index.d.mcfunction | 1 + .../act/phase_1/move_to_corner.mcfunction | 1 + .../tick/act/phase_2/.mcfunction | 125 +++++++++++------- .../act/phase_2/move_to_corner.mcfunction | 1 + .../summon_attack_drone_corner.mcfunction | 41 ++++++ .../summon_panjan_drone_near.mcfunction | 21 +++ .../summon_yeeter_drone_corner.mcfunction | 21 +++ .../tick/debug/interrupt.mcfunction | 2 +- .../tick/event/.mcfunction | 2 + .../summon_panjan_drone.m.mcfunction | 2 +- .../summon_yeeter_drone.m.mcfunction | 2 +- .../tick/event/transform_shoot/.mcfunction | 3 + .../tick/event/transform_sword/.mcfunction | 3 + .../event/upper_shot/async_end.mcfunction | 1 + .../async_pattern_pantokrator.mcfunction | 24 ++++ .../upper_shot/attack_pantokrator.mcfunction | 13 ++ .../upper_shot/pattern_pantokrator.mcfunction | 53 ++++++++ .../tick/util/rotate_to_center.mcfunction | 8 ++ 18 files changed, 272 insertions(+), 52 deletions(-) create mode 100644 Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/phase_2/summon_attack_drone_corner.mcfunction create mode 100644 Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/phase_2/summon_panjan_drone_near.mcfunction create mode 100644 Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/phase_2/summon_yeeter_drone_corner.mcfunction create mode 100644 Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/upper_shot/async_pattern_pantokrator.mcfunction create mode 100644 Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/upper_shot/attack_pantokrator.mcfunction create mode 100644 Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/upper_shot/pattern_pantokrator.mcfunction create mode 100644 Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/util/rotate_to_center.mcfunction diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/_index.d.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/_index.d.mcfunction index f7392dcd94..2d4504a4e2 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/_index.d.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/_index.d.mcfunction @@ -45,6 +45,7 @@ #declare tag CO.UpperShot.Pt.Random ランダムパターン #declare tag CO.UpperShot.Pt.Target 追尾パターン #declare tag CO.UpperShot.Pt.MoveLine 移動直線範囲パターン + #declare tag CO.UpperShot.Pt.Panto パンクラパターン #declare tag CO.Skill.BluteForce ブルートフォースアタック #declare tag CO.Skill.BluteForce.First ブルートフォースアタック #declare tag CO.Skill.BluteForce.Async ブルートフォースアタック攻撃判定用 diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/phase_1/move_to_corner.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/phase_1/move_to_corner.mcfunction index 91bf6bf1ae..becba8d3ac 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/phase_1/move_to_corner.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/phase_1/move_to_corner.mcfunction @@ -11,6 +11,7 @@ # 中心点ランダム回転 execute store result score $CO.Temp.Rotation Global run random value 0..3 execute store result entity @e[type=marker,tag=CO.CenterPosition,distance=..80,limit=1] Rotation[0] float 1 run scoreboard players operation $CO.Temp.Rotation Global *= $90 Const + scoreboard players reset $CO.Temp.Rotation # 4隅にポイント召喚 execute at @e[type=marker,tag=CO.CenterPosition,distance=..80,limit=1] rotated ~45 ~ run summon area_effect_cloud ^ ^ ^32 {Tags:["CO.Aec.Destination"],Duration:80} diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/phase_2/.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/phase_2/.mcfunction index 80111af3bf..5ceacb9c38 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/phase_2/.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/phase_2/.mcfunction @@ -29,65 +29,92 @@ execute if score @s CO.Counter matches 8 run function asset:mob/0456.gargo_ex_machina/tick/act/phase_2/half_beam # 待機 execute if score @s CO.Counter matches 9 as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run scoreboard players set @s CO.IdleTimer 80 +## 剣叩きつけ + ATTACKドローン + # 四隅に移動 + ドローン召喚 + execute if score @s CO.Counter matches 10 run function asset:mob/0456.gargo_ex_machina/tick/act/phase_2/summon_attack_drone_corner + # 剣叩きつけ + execute if score @s CO.Counter matches 11 run tag @s add CO.Skill.SwordAttack +# 待機 + execute if score @s CO.Counter matches 12 as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run scoreboard players set @s CO.IdleTimer 80 ## ブルートフォース:回転パターン # 中央に移動 - execute if score @s CO.Counter matches 10 run function asset:mob/0456.gargo_ex_machina/tick/act/phase_2/move_to_center + execute if score @s CO.Counter matches 13 run function asset:mob/0456.gargo_ex_machina/tick/act/phase_2/move_to_center # ブルートフォース・回転パターン - execute if score @s CO.Counter matches 11 run tag @s add CO.Skill.BluteForce - execute if score @s CO.Counter matches 11 run function asset:mob/0456.gargo_ex_machina/tick/act/phase_2/bluteforce_spin + execute if score @s CO.Counter matches 14 run tag @s add CO.Skill.BluteForce + execute if score @s CO.Counter matches 14 run function asset:mob/0456.gargo_ex_machina/tick/act/phase_2/bluteforce_spin # スーパージャンプ - execute if score @s CO.Counter matches 12 run scoreboard players set @s CO.PreTimer 400 - execute if score @s CO.Counter matches 12 run tag @s add CO.Skill.SuperJump + execute if score @s CO.Counter matches 15 run scoreboard players set @s CO.PreTimer 400 + execute if score @s CO.Counter matches 15 run tag @s add CO.Skill.SuperJump +# 待機 + execute if score @s CO.Counter matches 16 as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run scoreboard players set @s CO.IdleTimer 200 +## 射撃 + PANJANドローン + # 四辺に移動 + execute if score @s CO.Counter matches 17 run function asset:mob/0456.gargo_ex_machina/tick/act/phase_2/move_to_line + # 銃変形 + ドローン召喚 + execute if score @s CO.Counter matches 18 run tag @s add CO.Skill.Transform.Shoot + execute if score @s CO.Counter matches 18 run function asset:mob/0456.gargo_ex_machina/tick/act/phase_2/summon_panjan_drone_near + # 射撃 + execute if score @s CO.Counter matches 19 run tag @s add CO.Skill.Shot +# 待機 + execute if score @s CO.Counter matches 20 as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run scoreboard players set @s CO.IdleTimer 120 +## 上空射撃 + YEETERドローン + # 上空射撃・移動直線範囲パターン + execute if score @s CO.Counter matches 21 run tag @s add CO.UpperShot.Pt.MoveLine + execute if score @s CO.Counter matches 21 run tag @s add CO.Skill.UpperShot + # Yeeter召喚 + execute if score @s CO.Counter matches 21 run function asset:mob/0456.gargo_ex_machina/tick/act/phase_2/summon_yeeter_drone_corner # 待機 - execute if score @s CO.Counter matches 13 as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run scoreboard players set @s CO.IdleTimer 200 + execute if score @s CO.Counter matches 22 as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run scoreboard players set @s CO.IdleTimer 300 ## モディファイ + ロケットパンチ + # 剣変形 + execute if score @s CO.Counter matches 23 run tag @s add CO.Skill.Transform.Sword # フィールドモディファイ・ボーダーパターン - execute if score @s CO.Counter matches 14 as @e[type=marker,tag=CO.CenterPosition,distance=..80,limit=1] at @s positioned ~ ~-0.499 ~ run function asset:mob/0456.gargo_ex_machina/tick/act/phase_2/field_modify_border - execute if score @s CO.Counter matches 14 run scoreboard players set @s CO.PreTimer 3 - execute if score @s CO.Counter matches 14 run tag @s add CO.Skill.FieldModify + execute if score @s CO.Counter matches 24 as @e[type=marker,tag=CO.CenterPosition,distance=..80,limit=1] at @s positioned ~ ~-0.499 ~ run function asset:mob/0456.gargo_ex_machina/tick/act/phase_2/field_modify_border + execute if score @s CO.Counter matches 24 run scoreboard players set @s CO.PreTimer 3 + execute if score @s CO.Counter matches 24 run tag @s add CO.Skill.FieldModify # ロケットパンチ1回目 - execute if score @s CO.Counter matches 15 as @e[type=marker,tag=CO.CenterPosition,distance=..80,limit=1] at @s run tp @s ~ ~ ~ ~90 0 - execute if score @s CO.Counter matches 15 run tag @s add CO.Skill.RocketPunch.Alter - execute if score @s CO.Counter matches 15 run scoreboard players set @s CO.PreTimer 180 - execute if score @s CO.Counter matches 15 run tag @s add CO.Skill.RocketPunch + execute if score @s CO.Counter matches 25 as @e[type=marker,tag=CO.CenterPosition,distance=..80,limit=1] at @s run tp @s ~ ~ ~ ~90 0 + execute if score @s CO.Counter matches 25 run tag @s add CO.Skill.RocketPunch.Alter + execute if score @s CO.Counter matches 25 run scoreboard players set @s CO.PreTimer 180 + execute if score @s CO.Counter matches 25 run tag @s add CO.Skill.RocketPunch # ロケットパンチ2回目 - execute if score @s CO.Counter matches 16 run tag @s add CO.Skill.RocketPunch.AlterInv - execute if score @s CO.Counter matches 16 run scoreboard players set @s CO.PreTimer 180 - execute if score @s CO.Counter matches 16 run tag @s add CO.Skill.RocketPunch + execute if score @s CO.Counter matches 26 run tag @s add CO.Skill.RocketPunch.AlterInv + execute if score @s CO.Counter matches 26 run scoreboard players set @s CO.PreTimer 180 + execute if score @s CO.Counter matches 26 run tag @s add CO.Skill.RocketPunch # 待機 - execute if score @s CO.Counter matches 17 as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run scoreboard players set @s CO.IdleTimer 220 + execute if score @s CO.Counter matches 27 as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run scoreboard players set @s CO.IdleTimer 220 # ロケットパンチ3回目 - execute if score @s CO.Counter matches 18 as @e[type=marker,tag=CO.CenterPosition,distance=..80,limit=1] at @s run tp @s ~ ~ ~ ~180 0 - execute if score @s CO.Counter matches 18 run scoreboard players set @s CO.PreTimer 180 - execute if score @s CO.Counter matches 18 run tag @s add CO.Skill.RocketPunch + execute if score @s CO.Counter matches 28 as @e[type=marker,tag=CO.CenterPosition,distance=..80,limit=1] at @s run tp @s ~ ~ ~ ~180 0 + execute if score @s CO.Counter matches 28 run scoreboard players set @s CO.PreTimer 180 + execute if score @s CO.Counter matches 28 run tag @s add CO.Skill.RocketPunch # 四隅に移動 - execute if score @s CO.Counter matches 19 run function asset:mob/0456.gargo_ex_machina/tick/act/phase_2/move_to_corner + execute if score @s CO.Counter matches 29 run function asset:mob/0456.gargo_ex_machina/tick/act/phase_2/move_to_corner ## 剣叩きつけ - execute if score @s CO.Counter matches 20 run tag @s add CO.Skill.SwordAttack -## 薙ぎ払いレーザー - # 中心に移動 - execute if score @s CO.Counter matches 21 run function asset:mob/0456.gargo_ex_machina/tick/act/phase_2/move_to_center - # 薙ぎ払いレーザー - execute if score @s CO.Counter matches 22 run function asset:mob/0456.gargo_ex_machina/tick/act/phase_2/half_beam -# 待機 - execute if score @s CO.Counter matches 23 as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run scoreboard players set @s CO.IdleTimer 100 -## ブルートフォース:エクサパターン - # ブルートフォース:チュートリアル - execute if score @s CO.Counter matches 24 run tag @s add CO.Skill.BluteForce - execute if score @s CO.Counter matches 24 run function asset:mob/0456.gargo_ex_machina/tick/act/phase_2/bluteforce_exa - # 銃変形 - execute if score @s CO.Counter matches 25 run tag @s add CO.Skill.Transform.Shoot - # 上空射撃・追尾パターン - execute if score @s CO.Counter matches 26 run tag @s add CO.UpperShot.Pt.Target - execute if score @s CO.Counter matches 26 run tag @s add CO.Skill.UpperShot - # 剣変形 - execute if score @s CO.Counter matches 27 run tag @s add CO.Skill.Transform.Sword - # スーパージャンプ - execute if score @s CO.Counter matches 28 run scoreboard players set @s CO.PreTimer 300 - execute if score @s CO.Counter matches 28 run tag @s add CO.Skill.SuperJump -# 待機 - execute if score @s CO.Counter matches 29 as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run scoreboard players set @s CO.IdleTimer 200 -# 四辺に移動 - execute if score @s CO.Counter matches 30 run function asset:mob/0456.gargo_ex_machina/tick/act/phase_2/move_to_line -## 剣叩きつけ - execute if score @s CO.Counter matches 31 run tag @s add CO.Skill.SwordAttack + execute if score @s CO.Counter matches 30 run tag @s add CO.Skill.SwordAttack +# ## 薙ぎ払いレーザー +# # 中心に移動 +# execute if score @s CO.Counter matches 21 run function asset:mob/0456.gargo_ex_machina/tick/act/phase_2/move_to_center +# # 薙ぎ払いレーザー +# execute if score @s CO.Counter matches 22 run function asset:mob/0456.gargo_ex_machina/tick/act/phase_2/half_beam +# # 待機 +# execute if score @s CO.Counter matches 23 as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run scoreboard players set @s CO.IdleTimer 100 +# ## ブルートフォース:エクサパターン +# # ブルートフォース:チュートリアル +# execute if score @s CO.Counter matches 24 run tag @s add CO.Skill.BluteForce +# execute if score @s CO.Counter matches 24 run function asset:mob/0456.gargo_ex_machina/tick/act/phase_2/bluteforce_exa +# # 銃変形 +# execute if score @s CO.Counter matches 25 run tag @s add CO.Skill.Transform.Shoot +# # 上空射撃・追尾パターン +# execute if score @s CO.Counter matches 26 run tag @s add CO.UpperShot.Pt.Target +# execute if score @s CO.Counter matches 26 run tag @s add CO.Skill.UpperShot +# # 剣変形 +# execute if score @s CO.Counter matches 27 run tag @s add CO.Skill.Transform.Sword +# # スーパージャンプ +# execute if score @s CO.Counter matches 28 run scoreboard players set @s CO.PreTimer 300 +# execute if score @s CO.Counter matches 28 run tag @s add CO.Skill.SuperJump +# # 待機 +# execute if score @s CO.Counter matches 29 as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run scoreboard players set @s CO.IdleTimer 200 +# # 四辺に移動 +# execute if score @s CO.Counter matches 30 run function asset:mob/0456.gargo_ex_machina/tick/act/phase_2/move_to_line +# ## 剣叩きつけ + YEETERドローン +# execute if score @s CO.Counter matches 31 run tag @s add CO.Skill.SwordAttack diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/phase_2/move_to_corner.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/phase_2/move_to_corner.mcfunction index df62df4f75..db38bb57fe 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/phase_2/move_to_corner.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/phase_2/move_to_corner.mcfunction @@ -11,6 +11,7 @@ # 中心点ランダム回転 execute store result score $CO.Temp.Rotation Global run random value 0..3 execute store result entity @e[type=marker,tag=CO.CenterPosition,distance=..80,limit=1] Rotation[0] float 1 run scoreboard players operation $CO.Temp.Rotation Global *= $90 Const + scoreboard players reset $CO.Temp.Rotation # 4隅にポイント召喚 execute at @e[type=marker,tag=CO.CenterPosition,distance=..80,limit=1] rotated ~45 ~ run summon area_effect_cloud ^ ^ ^32 {Tags:["CO.Aec.Destination"],Duration:80} diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/phase_2/summon_attack_drone_corner.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/phase_2/summon_attack_drone_corner.mcfunction new file mode 100644 index 0000000000..badbe89c4a --- /dev/null +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/phase_2/summon_attack_drone_corner.mcfunction @@ -0,0 +1,41 @@ +#> asset:mob/0456.gargo_ex_machina/tick/act/phase_2/summon_attack_drone_corner +# +# Mobのtick時の処理 +# +# @within asset:mob/0456.gargo_ex_machina/tick/act/phase_2/ + +#> Private +# @within function asset:mob/0456.gargo_ex_machina/tick/act/phase_2/move_to_corner + #declare score_holder $CO.Temp.Rotation + +# 中心点ランダム回転 + execute store result score $CO.Temp.Rotation Global run random value 0..3 + execute store result entity @e[type=marker,tag=CO.CenterPosition,distance=..80,limit=1] Rotation[0] float 1 run scoreboard players operation $CO.Temp.Rotation Global *= $90 Const + scoreboard players reset $CO.Temp.Rotation + +# 4隅にポイント召喚 + execute at @e[type=marker,tag=CO.CenterPosition,distance=..80,limit=1] rotated ~45 ~ run summon area_effect_cloud ^ ^ ^32 {Tags:["CO.Aec.Destination"],Duration:80} + execute at @e[type=marker,tag=CO.CenterPosition,distance=..80,limit=1] rotated ~135 ~ run summon area_effect_cloud ^ ^ ^32 {Tags:["CO.Aec.Destination"],Duration:80} + execute at @e[type=marker,tag=CO.CenterPosition,distance=..80,limit=1] rotated ~225 ~ run summon area_effect_cloud ^ ^ ^32 {Tags:["CO.Aec.Destination"],Duration:80} + execute at @e[type=marker,tag=CO.CenterPosition,distance=..80,limit=1] rotated ~315 ~ run summon area_effect_cloud ^ ^ ^32 {Tags:["CO.Aec.Destination"],Duration:80} + +# 自身に近い位置と、ランダム2か所を削除 + kill @e[type=area_effect_cloud,tag=CO.Aec.Destination,distance=..80,sort=nearest,limit=1] + kill @e[type=area_effect_cloud,tag=CO.Aec.Destination,distance=..80,sort=random,limit=2] + +# 残ったポイントの左右にドローン召喚 + data modify storage api: Argument.ID set value 2260 + execute store result storage api: Argument.FieldOverride.MobUUID int 1 run scoreboard players get @s MobUUID + function asset:mob/0456.gargo_ex_machina/tick/util/assing_object_id + data modify storage api: Argument.FieldOverride.Damage set from storage asset:context this.Damage.AttackDrone + data modify storage api: Argument.FieldOverride.IsTarget set value true + execute positioned as @e[type=marker,tag=CO.CenterPosition,distance=..80,limit=1] facing entity @e[type=area_effect_cloud,tag=CO.Aec.Destination,distance=..80,sort=nearest,limit=1] feet rotated ~30 0 positioned ^ ^ ^25 rotated ~180 0 run function api:object/summon + data modify storage api: Argument.ID set value 2260 + execute store result storage api: Argument.FieldOverride.MobUUID int 1 run scoreboard players get @s MobUUID + function asset:mob/0456.gargo_ex_machina/tick/util/assing_object_id + data modify storage api: Argument.FieldOverride.Damage set from storage asset:context this.Damage.AttackDrone + data modify storage api: Argument.FieldOverride.IsTarget set value true + execute positioned as @e[type=marker,tag=CO.CenterPosition,distance=..80,limit=1] facing entity @e[type=area_effect_cloud,tag=CO.Aec.Destination,distance=..80,sort=nearest,limit=1] feet rotated ~-30 0 positioned ^ ^ ^25 rotated ~180 0 run function api:object/summon + +# 終了 + tag @s add CO.Skill.Move diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/phase_2/summon_panjan_drone_near.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/phase_2/summon_panjan_drone_near.mcfunction new file mode 100644 index 0000000000..09086a82dd --- /dev/null +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/phase_2/summon_panjan_drone_near.mcfunction @@ -0,0 +1,21 @@ +#> asset:mob/0456.gargo_ex_machina/tick/act/phase_2/summon_panjan_drone_near +# +# Mobのtick時の処理 +# +# @within asset:mob/0456.gargo_ex_machina/tick/act/phase_2/ + +# 自身左右にドローン召喚 + data modify storage api: Argument.ID set value 2262 + execute store result storage api: Argument.FieldOverride.MobUUID int 1 run scoreboard players get @s MobUUID + function asset:mob/0456.gargo_ex_machina/tick/util/assing_object_id + data modify storage api: Argument.FieldOverride.Damage set from storage asset:context this.Damage.PanjanDrone + data modify storage api: Argument.FieldOverride.FlameDamage set from storage asset:context this.Damage.PanjanDrone.Flame + data modify storage api: Argument.FieldOverride.IsMove set value true + execute rotated ~ 0 facing entity @e[type=marker,tag=CO.CenterPosition,distance=..80,limit=1] feet positioned ^12 ^0.01 ^ run function api:object/summon + data modify storage api: Argument.ID set value 2262 + execute store result storage api: Argument.FieldOverride.MobUUID int 1 run scoreboard players get @s MobUUID + function asset:mob/0456.gargo_ex_machina/tick/util/assing_object_id + data modify storage api: Argument.FieldOverride.Damage set from storage asset:context this.Damage.PanjanDrone + data modify storage api: Argument.FieldOverride.FlameDamage set from storage asset:context this.Damage.PanjanDrone.Flame + data modify storage api: Argument.FieldOverride.IsMove set value true + execute rotated ~ 0 facing entity @e[type=marker,tag=CO.CenterPosition,distance=..80,limit=1] feet positioned ^-12 ^0.01 ^ run function api:object/summon diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/phase_2/summon_yeeter_drone_corner.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/phase_2/summon_yeeter_drone_corner.mcfunction new file mode 100644 index 0000000000..1adfc8049a --- /dev/null +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/phase_2/summon_yeeter_drone_corner.mcfunction @@ -0,0 +1,21 @@ +#> asset:mob/0456.gargo_ex_machina/tick/act/phase_2/summon_yeeter_drone_corner +# +# Mobのtick時の処理 +# +# @within asset:mob/0456.gargo_ex_machina/tick/act/phase_2/ + +# 対角にドローン召喚 + data modify storage api: Argument.ID set value 2261 + execute store result storage api: Argument.FieldOverride.MobUUID int 1 run scoreboard players get @s MobUUID + function asset:mob/0456.gargo_ex_machina/tick/util/assing_object_id + data modify storage api: Argument.FieldOverride.Damage set from storage asset:context this.Damage.YeeterDrone + data modify storage api: Argument.FieldOverride.IsRotate set value false + data modify storage api: Argument.FieldOverride.IsRotateInverse set value false + execute at @e[type=marker,tag=CO.CenterPosition,distance=..80,limit=1] positioned ^22 ^ ^28 rotated ~180 0 run function api:object/summon + data modify storage api: Argument.ID set value 2261 + execute store result storage api: Argument.FieldOverride.MobUUID int 1 run scoreboard players get @s MobUUID + function asset:mob/0456.gargo_ex_machina/tick/util/assing_object_id + data modify storage api: Argument.FieldOverride.Damage set from storage asset:context this.Damage.YeeterDrone + data modify storage api: Argument.FieldOverride.IsRotate set value false + data modify storage api: Argument.FieldOverride.IsRotateInverse set value false + execute at @e[type=marker,tag=CO.CenterPosition,distance=..80,limit=1] positioned ^-22 ^ ^-28 rotated ~0 0 run function api:object/summon diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/debug/interrupt.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/debug/interrupt.mcfunction index 5dcf18f83b..c89b944a39 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/debug/interrupt.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/debug/interrupt.mcfunction @@ -19,4 +19,4 @@ # イベント実行 tag @s add CO.Skill.UpperShot - tag @s add CO.UpperShot.Pt.MoveLine + tag @s add CO.UpperShot.Pt.Panto diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/.mcfunction index 502d2ff35c..fdf57c5e37 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/.mcfunction @@ -60,6 +60,8 @@ execute if entity @s[tag=CO.UpperShot.Asyuc,tag=CO.UpperShot.Pt.Target] run function asset:mob/0456.gargo_ex_machina/tick/event/upper_shot/async_pattern_target # 移動直線範囲パターン execute if entity @s[tag=CO.UpperShot.Asyuc,tag=CO.UpperShot.Pt.MoveLine] run function asset:mob/0456.gargo_ex_machina/tick/event/upper_shot/async_pattern_moveline + # パンクラパターン + execute if entity @s[tag=CO.UpperShot.Asyuc,tag=CO.UpperShot.Pt.Panto] run function asset:mob/0456.gargo_ex_machina/tick/event/upper_shot/async_pattern_pantokrator # ブルートフォースアタック execute if entity @s[tag=CO.Skill.BluteForce] run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/ diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_panjan_drone.m.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_panjan_drone.m.mcfunction index 85dfd7476a..7ae089e84a 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_panjan_drone.m.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_panjan_drone.m.mcfunction @@ -4,7 +4,7 @@ # # @within asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/** -# ATTACKドローン召喚 +# PANJANドローン召喚 data modify storage api: Argument.ID set value 2262 execute store result storage api: Argument.FieldOverride.MobUUID int 1 run scoreboard players get @s MobUUID function asset:mob/0456.gargo_ex_machina/tick/util/assing_object_id diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_yeeter_drone.m.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_yeeter_drone.m.mcfunction index 05e6e463b2..3769a455ea 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_yeeter_drone.m.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_yeeter_drone.m.mcfunction @@ -4,7 +4,7 @@ # # @within asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/** -# ATTACKドローン召喚 +# YEERERドローン召喚 data modify storage api: Argument.ID set value 2261 execute store result storage api: Argument.FieldOverride.MobUUID int 1 run scoreboard players get @s MobUUID function asset:mob/0456.gargo_ex_machina/tick/util/assing_object_id diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/transform_shoot/.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/transform_shoot/.mcfunction index 13f313a8ca..2357eb5b34 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/transform_shoot/.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/transform_shoot/.mcfunction @@ -36,6 +36,9 @@ execute if score @s CO.EventTimer matches 65 run playsound block.grindstone.use hostile @a ~ ~ ~ 3 0.5 execute if score @s CO.EventTimer matches 65 run playsound ui.stonecutter.take_result hostile @a ~ ~ ~ 3 0.5 +# 回転 + function asset:mob/0456.gargo_ex_machina/tick/util/rotate_to_center + # モデルを合わせる execute as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run tp @s ~ ~ ~ ~ ~ diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/transform_sword/.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/transform_sword/.mcfunction index fd9cea63d2..1783c5059b 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/transform_sword/.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/transform_sword/.mcfunction @@ -36,6 +36,9 @@ execute if score @s CO.EventTimer matches 65 run playsound block.grindstone.use hostile @a ~ ~ ~ 3 0.5 execute if score @s CO.EventTimer matches 65 run playsound ui.stonecutter.take_result hostile @a ~ ~ ~ 3 0.5 +# 回転 + function asset:mob/0456.gargo_ex_machina/tick/util/rotate_to_center + # モデルを合わせる execute as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run tp @s ~ ~ ~ ~ ~ diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/upper_shot/async_end.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/upper_shot/async_end.mcfunction index e7a9121f7e..7b0626437b 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/upper_shot/async_end.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/upper_shot/async_end.mcfunction @@ -10,3 +10,4 @@ execute unless entity @s[tag=CO.UpperShot.Asyuc] run tag @s remove CO.UpperShot.Pt.Random execute unless entity @s[tag=CO.UpperShot.Asyuc] run tag @s remove CO.UpperShot.Pt.Target execute unless entity @s[tag=CO.UpperShot.Asyuc] run tag @s remove CO.UpperShot.Pt.MoveLine + execute unless entity @s[tag=CO.UpperShot.Asyuc] run tag @s remove CO.UpperShot.Pt.Panto diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/upper_shot/async_pattern_pantokrator.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/upper_shot/async_pattern_pantokrator.mcfunction new file mode 100644 index 0000000000..d0cc1d40c7 --- /dev/null +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/upper_shot/async_pattern_pantokrator.mcfunction @@ -0,0 +1,24 @@ +#> asset:mob/0456.gargo_ex_machina/tick/event/upper_shot/async_pattern_pantokrator +# +# 上空射撃 設置後すぐ別の動きをしてもいいように、攻撃処理だけ非同期で実行 +# +# @within asset:mob/0456.gargo_ex_machina/tick/event/ + +# タイマー増加 + scoreboard players add @s CO.EventTimer.UpperShot 1 + +# 攻撃位置決定 + # 攻撃位置決定 + execute if score @s CO.EventTimer.UpperShot matches 1 at @e[type=marker,tag=CO.CenterPosition,distance=..80,limit=1] rotated ~ ~ run function asset:mob/0456.gargo_ex_machina/tick/event/upper_shot/pattern_pantokrator + execute if score @s CO.EventTimer.UpperShot matches 60 at @e[type=marker,tag=CO.CenterPosition,distance=..80,limit=1] rotated ~60 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/upper_shot/pattern_pantokrator + execute if score @s CO.EventTimer.UpperShot matches 120 at @e[type=marker,tag=CO.CenterPosition,distance=..80,limit=1] rotated ~120 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/upper_shot/pattern_pantokrator + execute if score @s CO.EventTimer.UpperShot matches 180 at @e[type=marker,tag=CO.CenterPosition,distance=..80,limit=1] rotated ~180 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/upper_shot/pattern_pantokrator + execute if score @s CO.EventTimer.UpperShot matches 240 at @e[type=marker,tag=CO.CenterPosition,distance=..80,limit=1] rotated ~240 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/upper_shot/pattern_pantokrator + execute if score @s CO.EventTimer.UpperShot matches 300 at @e[type=marker,tag=CO.CenterPosition,distance=..80,limit=1] rotated ~300 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/upper_shot/pattern_pantokrator + execute if score @s CO.EventTimer.UpperShot matches 360 at @e[type=marker,tag=CO.CenterPosition,distance=..80,limit=1] rotated ~360 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/upper_shot/pattern_pantokrator + +# 実行 + execute at @e[type=area_effect_cloud,tag=CO.Aec.UpperShotPosition,distance=..80,sort=random,limit=2] run function asset:mob/0456.gargo_ex_machina/tick/event/upper_shot/attack_pantokrator + +# 終了 + execute if score @s CO.EventTimer.UpperShot matches 420.. run function asset:mob/0456.gargo_ex_machina/tick/event/upper_shot/async_end diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/upper_shot/attack_pantokrator.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/upper_shot/attack_pantokrator.mcfunction new file mode 100644 index 0000000000..2718b0507b --- /dev/null +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/upper_shot/attack_pantokrator.mcfunction @@ -0,0 +1,13 @@ +#> asset:mob/0456.gargo_ex_machina/tick/event/upper_shot/attack_pantokrator +# +# 射撃 +# +# @within asset:mob/0456.gargo_ex_machina/tick/event/upper_shot/** + +# 攻撃判定召喚 + data modify storage api: Argument.ID set value 2268 + data modify storage api: Argument.FieldOverride.Damage set from storage asset:context this.Damage.Shot + execute store result storage api: Argument.FieldOverride.MobUUID int 1 run scoreboard players get @s MobUUID + data modify storage api: Argument.FieldOverride.AttackTime set value 100 + execute positioned ~ ~ ~ run function api:object/summon + kill @e[type=area_effect_cloud,tag=CO.Aec.UpperShotPosition,distance=..10,sort=nearest,limit=1] diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/upper_shot/pattern_pantokrator.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/upper_shot/pattern_pantokrator.mcfunction new file mode 100644 index 0000000000..502572a05b --- /dev/null +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/upper_shot/pattern_pantokrator.mcfunction @@ -0,0 +1,53 @@ +#> asset:mob/0456.gargo_ex_machina/tick/event/upper_shot/pattern_pantokrator +# +# 射撃 +# +# @within asset:mob/0456.gargo_ex_machina/tick/event/upper_shot/async_pattern_pantokrator + +# [ImportKey]: NobwRALgngDgpmAXGANgSwHYIDRgK55oAmSYAzAKwAMARnHAIZwC0RVAZgGzMAsAjAHYAnMwY8GAY2ZU+RBgCYAHDwE0iPdmFwYGAWwTJAW74ACMlrAwGAJz0BnJOAkB7PBghI+VXOytPdDsAA3BhQ8A3AADyQvMCgkHnkAX0TcCCcA4NDwsCjEGLjEXiSUsCd2dls4dzzcOgAvNDgraNw0WwAhOAamgFEARzwQlCgAZUsJOBJEdhDK5OxwaHhSdCxzAmJSTnEhdiE4ETJ2RREeDgFmGiEKdmYJuHkBFT4+TlpzHX1SEzI7pxgoH8AeZLDZdPZEI4XG4kEJvL5-JCgiEwgFcnDYkgyJx5pB0kjMqikblmBiCsxsbiyhUqi0wPVGs0amA2p1ulZ+oMUMMxpJJkgZig5ilFrADKhMDh8IQpmAeBROBJ2DweCwyEROL8zgw+MxlDM7lQBFR5BJ5Hx2NiBB89OKfkDAc4AQ6QdY7AFnK5qop4X4Mijsrk+D7MYgyFRcWl-Vk0UhmMHcOTw1TypVqjEGU06ayuozOUNRuN+dNZnB5qLlshVlKNrKBHA+BIaJx5BQ9TQKPJeHBFLqGER6KIqHABK8+GIxJwbV8jKYHfOnY7-nFcKD3UjPTDEAJfYjwITA3GE6HkyUowSA7HEMekxGStS03TM0yYjn2fnuYW+VNBcKFpAxRWSV1hlUgqCECYlXYFg4FoGheH2eCrjgKQhCICRBAYVQDhHac7TnRcF2XV0wQhKEvSQEMfD9C8Y2JOMySxHEz3xfdL3oxBGMKSl71TWlmWfbMOlzXoBgLXkJh-UtkgAXSAA_3 +# 線 3-copy-copy-copy-copy +summon area_effect_cloud ^-18 ^ ^30 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^-12 ^ ^20 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^-6 ^ ^10 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^0 ^ ^0 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^6 ^ ^-10 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^12 ^ ^-20 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^18 ^ ^-30 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +# 線 3 +summon area_effect_cloud ^0 ^ ^42 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^0 ^ ^32.66667 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^0 ^ ^23.33333 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^0 ^ ^14 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^0 ^ ^4.66667 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^0 ^ ^-4.66667 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^0 ^ ^-14 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^0 ^ ^-23.33333 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^0 ^ ^-32.66667 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^0 ^ ^-42 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +# 線 3-copy-copy +summon area_effect_cloud ^9 ^ ^36 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^6.75 ^ ^27 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^4.5 ^ ^18 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^2.25 ^ ^9 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^-2.25 ^ ^-9 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^-4.5 ^ ^-18 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^-6.75 ^ ^-27 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^-9 ^ ^-36 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +# 線 3-copy-copy-copy +summon area_effect_cloud ^18 ^ ^30 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^12.85714 ^ ^21.42857 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^7.71429 ^ ^12.85714 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^2.57143 ^ ^4.28571 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^-2.57143 ^ ^-4.28571 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^-7.71429 ^ ^-12.85714 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^-12.85714 ^ ^-21.42857 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^-18 ^ ^-30 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +# 線 3-copy-copy-copy +summon area_effect_cloud ^-9 ^ ^36 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^-6.42857 ^ ^25.71429 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^-3.85714 ^ ^15.42857 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^-1.28571 ^ ^5.14286 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^1.28571 ^ ^-5.14286 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^3.85714 ^ ^-15.42857 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^6.42857 ^ ^-25.71429 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^9 ^ ^-36 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/util/rotate_to_center.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/util/rotate_to_center.mcfunction new file mode 100644 index 0000000000..af2d68e028 --- /dev/null +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/util/rotate_to_center.mcfunction @@ -0,0 +1,8 @@ +#> asset:mob/0456.gargo_ex_machina/tick/util/rotate_to_center +# +# 中心点を向く +# +# @within asset:mob/0456.gargo_ex_machina/tick/** + +# 中心点の方を向く + execute rotated ~ 0 positioned ^ ^ ^-1 facing entity @e[type=marker,tag=CO.CenterPosition,distance=..80,limit=1] feet rotated ~ 0 positioned ^ ^ ^-1 facing entity @s feet positioned as @s positioned ^ ^ ^-1 rotated as @s rotated ~ 0 positioned ^ ^ ^-1 facing entity @s feet positioned as @s run tp @s ^ ^ ^ ~ 0 From 25e3abbf5c4faf67666ee026f6fba5a40e325428 Mon Sep 17 00:00:00 2001 From: mokkkk Date: Sun, 22 Mar 2026 14:00:39 +0900 Subject: [PATCH 75/98] =?UTF-8?q?=E4=B8=8A=E7=A9=BA=E5=B0=84=E6=92=83?= =?UTF-8?q?=E3=81=AE=E5=A4=9A=E9=87=8D=E3=83=92=E3=83=83=E3=83=88=E9=98=B2?= =?UTF-8?q?=E6=AD=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mob/0456.gargo_ex_machina/load.mcfunction | 4 +++ .../0456.gargo_ex_machina/register.mcfunction | 4 +-- .../0456.gargo_ex_machina/tick/.mcfunction | 4 +++ .../tick/act/phase_2/.mcfunction | 2 +- .../summon_yeeter_drone_corner.mcfunction | 4 +-- .../async_pattern_moveline.mcfunction | 31 +++++++++++------- .../async_pattern_pantokrator.mcfunction | 2 +- .../async_pattern_random.mcfunction | 2 +- .../async_pattern_target.mcfunction | 2 +- ...{attack.mcfunction => attack.m.mcfunction} | 3 +- .../upper_shot/pattern_moveline.mcfunction | 32 +++++++------------ .../tick/damage.mcfunction | 8 ++++- 12 files changed, 56 insertions(+), 42 deletions(-) rename Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/upper_shot/{attack.mcfunction => attack.m.mcfunction} (77%) diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/load.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/load.mcfunction index 33431b7d79..84e13a9409 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/load.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/load.mcfunction @@ -21,3 +21,7 @@ # @within function asset:object/2262.gem_panjan_drone/** # @within function asset:object/2269.gem_rocket_punch/** scoreboard objectives add CO.ObjectId dummy +#> Object管理用 +# @within function asset:mob/0456.gargo_ex_machina/** +# @within function asset:mob/2268.gem_upper_shot/** + scoreboard objectives add CO.UpperShot.Hit dummy diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/register.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/register.mcfunction index b5b68902e9..06d642c681 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/register.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/register.mcfunction @@ -39,11 +39,11 @@ data modify storage asset:mob Field.FirstPos.Y set value 91.0 data modify storage asset:mob Field.FirstPos.Z set value 836.0 # 剣叩きつけ - data modify storage asset:mob Field.Damage.SwordAttack set value {Amount:80.0,Type:"Physical",Element:"None"} + data modify storage asset:mob Field.Damage.SwordAttack set value {Amount:70.0,Type:"Physical",Element:"None"} # 半面焼きビーム data modify storage asset:mob Field.Damage.HalfBeam set value {Amount:80.0,Type:"Magic",Element:"None"} # 半面焼きビーム・回転斬り部分 - data modify storage asset:mob Field.Damage.HalfBeamSword set value {Amount:80.0,Type:"Physical",Element:"None"} + data modify storage asset:mob Field.Damage.HalfBeamSword set value {Amount:60.0,Type:"Physical",Element:"None"} # スーパージャンプ data modify storage asset:mob Field.Damage.SuperJump set value {Amount:70.0,Type:"Physical",Element:"None"} # フィールド・モディファイ diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/.mcfunction index 510359f403..4516114fb2 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/.mcfunction @@ -6,3 +6,7 @@ # スキル用イベントハンドラ function asset:mob/0456.gargo_ex_machina/tick/event/ + +# 多重ヒット防止 + execute as @a[scores={CO.UpperShot.Hit=1..}] run scoreboard players remove @s CO.UpperShot.Hit 1 + execute as @a[scores={CO.UpperShot.Hit=..0}] run scoreboard players reset @s CO.UpperShot.Hit diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/phase_2/.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/phase_2/.mcfunction index 5ceacb9c38..a931d145f0 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/phase_2/.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/phase_2/.mcfunction @@ -64,7 +64,7 @@ # Yeeter召喚 execute if score @s CO.Counter matches 21 run function asset:mob/0456.gargo_ex_machina/tick/act/phase_2/summon_yeeter_drone_corner # 待機 - execute if score @s CO.Counter matches 22 as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run scoreboard players set @s CO.IdleTimer 300 + execute if score @s CO.Counter matches 22 as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run scoreboard players set @s CO.IdleTimer 340 ## モディファイ + ロケットパンチ # 剣変形 execute if score @s CO.Counter matches 23 run tag @s add CO.Skill.Transform.Sword diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/phase_2/summon_yeeter_drone_corner.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/phase_2/summon_yeeter_drone_corner.mcfunction index 1adfc8049a..1bf83bac05 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/phase_2/summon_yeeter_drone_corner.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/phase_2/summon_yeeter_drone_corner.mcfunction @@ -11,11 +11,11 @@ data modify storage api: Argument.FieldOverride.Damage set from storage asset:context this.Damage.YeeterDrone data modify storage api: Argument.FieldOverride.IsRotate set value false data modify storage api: Argument.FieldOverride.IsRotateInverse set value false - execute at @e[type=marker,tag=CO.CenterPosition,distance=..80,limit=1] positioned ^22 ^ ^28 rotated ~180 0 run function api:object/summon + execute at @e[type=marker,tag=CO.CenterPosition,distance=..80,limit=1] positioned ^16 ^ ^23 rotated ~180 0 run function api:object/summon data modify storage api: Argument.ID set value 2261 execute store result storage api: Argument.FieldOverride.MobUUID int 1 run scoreboard players get @s MobUUID function asset:mob/0456.gargo_ex_machina/tick/util/assing_object_id data modify storage api: Argument.FieldOverride.Damage set from storage asset:context this.Damage.YeeterDrone data modify storage api: Argument.FieldOverride.IsRotate set value false data modify storage api: Argument.FieldOverride.IsRotateInverse set value false - execute at @e[type=marker,tag=CO.CenterPosition,distance=..80,limit=1] positioned ^-22 ^ ^-28 rotated ~0 0 run function api:object/summon + execute at @e[type=marker,tag=CO.CenterPosition,distance=..80,limit=1] positioned ^-16 ^ ^-23 rotated ~0 0 run function api:object/summon diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/upper_shot/async_pattern_moveline.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/upper_shot/async_pattern_moveline.mcfunction index aa09b26179..92665bf3dc 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/upper_shot/async_pattern_moveline.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/upper_shot/async_pattern_moveline.mcfunction @@ -8,19 +8,28 @@ execute store result score $Interval Temporary run scoreboard players add @s CO.EventTimer.UpperShot 1 # 攻撃位置決定 - # 攻撃位置決定 - execute if score @s CO.EventTimer.UpperShot matches 1 at @e[type=marker,tag=CO.CenterPosition,distance=..80,limit=1] rotated ~ ~ positioned ^ ^ ^21.5 rotated ~90 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/upper_shot/pattern_moveline - execute if score @s CO.EventTimer.UpperShot matches 61 at @e[type=marker,tag=CO.CenterPosition,distance=..80,limit=1] rotated ~ ~ positioned ^ ^ ^10.5 rotated ~90 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/upper_shot/pattern_moveline - execute if score @s CO.EventTimer.UpperShot matches 121 at @e[type=marker,tag=CO.CenterPosition,distance=..80,limit=1] rotated ~ ~ positioned ^ ^ ^-10.5 rotated ~90 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/upper_shot/pattern_moveline - execute if score @s CO.EventTimer.UpperShot matches 181 at @e[type=marker,tag=CO.CenterPosition,distance=..80,limit=1] rotated ~ ~ positioned ^ ^ ^-21.5 rotated ~90 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/upper_shot/pattern_moveline - execute if score @s CO.EventTimer.UpperShot matches 1 if predicate api:global_vars/difficulty/min/3_blessless at @e[type=marker,tag=CO.CenterPosition,distance=..80,limit=1] rotated ~ ~ positioned ^21.5 ^ ^ run function asset:mob/0456.gargo_ex_machina/tick/event/upper_shot/pattern_moveline - execute if score @s CO.EventTimer.UpperShot matches 61 if predicate api:global_vars/difficulty/min/3_blessless at @e[type=marker,tag=CO.CenterPosition,distance=..80,limit=1] rotated ~ ~ positioned ^10.5 ^ ^ run function asset:mob/0456.gargo_ex_machina/tick/event/upper_shot/pattern_moveline - execute if score @s CO.EventTimer.UpperShot matches 121 if predicate api:global_vars/difficulty/min/3_blessless at @e[type=marker,tag=CO.CenterPosition,distance=..80,limit=1] rotated ~ ~ positioned ^-10.5 ^ ^ run function asset:mob/0456.gargo_ex_machina/tick/event/upper_shot/pattern_moveline - execute if score @s CO.EventTimer.UpperShot matches 181 if predicate api:global_vars/difficulty/min/3_blessless at @e[type=marker,tag=CO.CenterPosition,distance=..80,limit=1] rotated ~ ~ positioned ^-21.5 ^ ^ run function asset:mob/0456.gargo_ex_machina/tick/event/upper_shot/pattern_moveline + # 正面 + execute if score @s CO.EventTimer.UpperShot matches 1 at @e[type=marker,tag=CO.CenterPosition,distance=..80,limit=1] rotated ~ ~ positioned ^ ^ ^28 rotated ~90 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/upper_shot/pattern_moveline + execute if score @s CO.EventTimer.UpperShot matches 41 at @e[type=marker,tag=CO.CenterPosition,distance=..80,limit=1] rotated ~ ~ positioned ^ ^ ^20 rotated ~90 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/upper_shot/pattern_moveline + execute if score @s CO.EventTimer.UpperShot matches 81 at @e[type=marker,tag=CO.CenterPosition,distance=..80,limit=1] rotated ~ ~ positioned ^ ^ ^12 rotated ~90 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/upper_shot/pattern_moveline + execute if score @s CO.EventTimer.UpperShot matches 121 at @e[type=marker,tag=CO.CenterPosition,distance=..80,limit=1] rotated ~ ~ positioned ^ ^ ^4 rotated ~90 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/upper_shot/pattern_moveline + execute if score @s CO.EventTimer.UpperShot matches 161 at @e[type=marker,tag=CO.CenterPosition,distance=..80,limit=1] rotated ~ ~ positioned ^ ^ ^-4 rotated ~90 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/upper_shot/pattern_moveline + execute if score @s CO.EventTimer.UpperShot matches 201 at @e[type=marker,tag=CO.CenterPosition,distance=..80,limit=1] rotated ~ ~ positioned ^ ^ ^-12 rotated ~90 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/upper_shot/pattern_moveline + execute if score @s CO.EventTimer.UpperShot matches 241 at @e[type=marker,tag=CO.CenterPosition,distance=..80,limit=1] rotated ~ ~ positioned ^ ^ ^-20 rotated ~90 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/upper_shot/pattern_moveline + execute if score @s CO.EventTimer.UpperShot matches 281 at @e[type=marker,tag=CO.CenterPosition,distance=..80,limit=1] rotated ~ ~ positioned ^ ^ ^-28 rotated ~90 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/upper_shot/pattern_moveline + # 交差 + execute if score @s CO.EventTimer.UpperShot matches 1 if predicate api:global_vars/difficulty/min/3_blessless at @e[type=marker,tag=CO.CenterPosition,distance=..80,limit=1] rotated ~90 ~ positioned ^ ^ ^28 rotated ~90 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/upper_shot/pattern_moveline + execute if score @s CO.EventTimer.UpperShot matches 41 if predicate api:global_vars/difficulty/min/3_blessless at @e[type=marker,tag=CO.CenterPosition,distance=..80,limit=1] rotated ~90 ~ positioned ^ ^ ^20 rotated ~90 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/upper_shot/pattern_moveline + execute if score @s CO.EventTimer.UpperShot matches 81 if predicate api:global_vars/difficulty/min/3_blessless at @e[type=marker,tag=CO.CenterPosition,distance=..80,limit=1] rotated ~90 ~ positioned ^ ^ ^12 rotated ~90 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/upper_shot/pattern_moveline + execute if score @s CO.EventTimer.UpperShot matches 121 if predicate api:global_vars/difficulty/min/3_blessless at @e[type=marker,tag=CO.CenterPosition,distance=..80,limit=1] rotated ~90 ~ positioned ^ ^ ^4 rotated ~90 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/upper_shot/pattern_moveline + execute if score @s CO.EventTimer.UpperShot matches 161 if predicate api:global_vars/difficulty/min/3_blessless at @e[type=marker,tag=CO.CenterPosition,distance=..80,limit=1] rotated ~90 ~ positioned ^ ^ ^-4 rotated ~90 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/upper_shot/pattern_moveline + execute if score @s CO.EventTimer.UpperShot matches 201 if predicate api:global_vars/difficulty/min/3_blessless at @e[type=marker,tag=CO.CenterPosition,distance=..80,limit=1] rotated ~90 ~ positioned ^ ^ ^-12 rotated ~90 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/upper_shot/pattern_moveline + execute if score @s CO.EventTimer.UpperShot matches 241 if predicate api:global_vars/difficulty/min/3_blessless at @e[type=marker,tag=CO.CenterPosition,distance=..80,limit=1] rotated ~90 ~ positioned ^ ^ ^-20 rotated ~90 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/upper_shot/pattern_moveline + execute if score @s CO.EventTimer.UpperShot matches 281 if predicate api:global_vars/difficulty/min/3_blessless at @e[type=marker,tag=CO.CenterPosition,distance=..80,limit=1] rotated ~90 ~ positioned ^ ^ ^-28 rotated ~90 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/upper_shot/pattern_moveline # 実行 - execute at @e[type=area_effect_cloud,tag=CO.Aec.UpperShotPosition,distance=..80,sort=random,limit=3] run function asset:mob/0456.gargo_ex_machina/tick/event/upper_shot/attack + execute at @e[type=area_effect_cloud,tag=CO.Aec.UpperShotPosition,distance=..80,sort=random,limit=3] run function asset:mob/0456.gargo_ex_machina/tick/event/upper_shot/attack.m {AttackTime:60} # 終了 scoreboard players reset $Interval Temporary - execute if score @s CO.EventTimer.UpperShot matches 240.. run function asset:mob/0456.gargo_ex_machina/tick/event/upper_shot/async_end + execute if score @s CO.EventTimer.UpperShot matches 320.. run function asset:mob/0456.gargo_ex_machina/tick/event/upper_shot/async_end diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/upper_shot/async_pattern_pantokrator.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/upper_shot/async_pattern_pantokrator.mcfunction index d0cc1d40c7..e6c9cd0ad2 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/upper_shot/async_pattern_pantokrator.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/upper_shot/async_pattern_pantokrator.mcfunction @@ -18,7 +18,7 @@ execute if score @s CO.EventTimer.UpperShot matches 360 at @e[type=marker,tag=CO.CenterPosition,distance=..80,limit=1] rotated ~360 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/upper_shot/pattern_pantokrator # 実行 - execute at @e[type=area_effect_cloud,tag=CO.Aec.UpperShotPosition,distance=..80,sort=random,limit=2] run function asset:mob/0456.gargo_ex_machina/tick/event/upper_shot/attack_pantokrator + execute at @e[type=area_effect_cloud,tag=CO.Aec.UpperShotPosition,distance=..80,sort=random,limit=3] run function asset:mob/0456.gargo_ex_machina/tick/event/upper_shot/attack.m {AttackTime:100} # 終了 execute if score @s CO.EventTimer.UpperShot matches 420.. run function asset:mob/0456.gargo_ex_machina/tick/event/upper_shot/async_end diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/upper_shot/async_pattern_random.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/upper_shot/async_pattern_random.mcfunction index d61d213d3b..e9f7c2eeb7 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/upper_shot/async_pattern_random.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/upper_shot/async_pattern_random.mcfunction @@ -12,7 +12,7 @@ execute if score @s CO.EventTimer.UpperShot matches 1 at @e[type=marker,tag=CO.CenterPosition,distance=..80,limit=1] run function asset:mob/0456.gargo_ex_machina/tick/event/upper_shot/pattern_random # 実行 - execute at @e[type=area_effect_cloud,tag=CO.Aec.UpperShotPosition,distance=..80,sort=random,limit=2] run function asset:mob/0456.gargo_ex_machina/tick/event/upper_shot/attack + execute at @e[type=area_effect_cloud,tag=CO.Aec.UpperShotPosition,distance=..80,sort=random,limit=2] run function asset:mob/0456.gargo_ex_machina/tick/event/upper_shot/attack.m {AttackTime:60} # 終了 execute if score @s CO.EventTimer.UpperShot matches 40.. run function asset:mob/0456.gargo_ex_machina/tick/event/upper_shot/async_end diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/upper_shot/async_pattern_target.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/upper_shot/async_pattern_target.mcfunction index 861b7c2c06..84407e60b8 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/upper_shot/async_pattern_target.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/upper_shot/async_pattern_target.mcfunction @@ -12,7 +12,7 @@ execute if score $Interval Temporary matches 0 run function asset:mob/0456.gargo_ex_machina/tick/event/upper_shot/pattern_target # 攻撃 - execute if score $Interval Temporary matches 0 at @e[type=area_effect_cloud,tag=CO.Aec.UpperShotPosition,distance=..80] run function asset:mob/0456.gargo_ex_machina/tick/event/upper_shot/attack + execute if score $Interval Temporary matches 0 at @e[type=area_effect_cloud,tag=CO.Aec.UpperShotPosition,distance=..80] run function asset:mob/0456.gargo_ex_machina/tick/event/upper_shot/attack.m {AttackTime:60} # 終了 scoreboard players reset $Interval Temporary diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/upper_shot/attack.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/upper_shot/attack.m.mcfunction similarity index 77% rename from Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/upper_shot/attack.mcfunction rename to Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/upper_shot/attack.m.mcfunction index e5ea49a312..3aa8a92075 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/upper_shot/attack.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/upper_shot/attack.m.mcfunction @@ -1,4 +1,4 @@ -#> asset:mob/0456.gargo_ex_machina/tick/event/upper_shot/attack +#> asset:mob/0456.gargo_ex_machina/tick/event/upper_shot/attack.m # # 射撃 # @@ -8,5 +8,6 @@ data modify storage api: Argument.ID set value 2268 data modify storage api: Argument.FieldOverride.Damage set from storage asset:context this.Damage.Shot execute store result storage api: Argument.FieldOverride.MobUUID int 1 run scoreboard players get @s MobUUID + $data modify storage api: Argument.FieldOverride.AttackTime set value $(AttackTime) execute positioned ~ ~ ~ run function api:object/summon kill @e[type=area_effect_cloud,tag=CO.Aec.UpperShotPosition,distance=..10,sort=nearest,limit=1] diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/upper_shot/pattern_moveline.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/upper_shot/pattern_moveline.mcfunction index dfaea1f0da..e0efccc854 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/upper_shot/pattern_moveline.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/upper_shot/pattern_moveline.mcfunction @@ -4,25 +4,15 @@ # # @within asset:mob/0456.gargo_ex_machina/tick/event/upper_shot/async_pattern_moveline -# [ImportKey]: NobwRALgngDgpmAXGANgSwHYIDRgK55oAmSYArAAwDMAbAIwBmZAxgLRkCcATEawCwMOHVgA4qcGqwBGIrlKpEZfEQEMaYXBhUBbBMkBbvgAI6GsDBUAnHQGck4ZgHs8GCEjoVcDCw+12wANxUUPD1wAA8kMlwoJFYuAHYAOhoAXxTcCAc-QODQsAjEKLAYxAS03AcGBms4V0QPMCk4AC80OAskBrRrACEWtosAUQBHPCCUKABlc2Y4EkQGIJry8Gh4UnQsUwJiUg5mCmYuCllWOD44FX44cVYVIgoGVg54rnuRMgTVMlMtXVIjHRWI4YDFcOYrNpbIh7E4XEgOJ5vL4YQEgiE-AV2NFYlwyIl4uVIFlUTkMaisUUSlwaASiZVqrVOrgmq12sywN0+myhqNxlMZnMkIsUMsUgBdIA_3 +# [ImportKey]: NobwRALgngDgpmAXGANgSwHYIDRgK55oAmSYAbACwBGAhgBwVkDMAtBQxW0QJwDsLNCkU4AzAAxi6YkQEYmTbmJxgMNALYJkgLd8ABDLC4YNAE7qAzknABjAPZ4MEJDLG4Rxm2stgAbjRR5NcAAPJBcwKCQWACZeADoyAF8E3AgbL19-QLAQxDCIxBik3BsRETM4R1zcKjgALzQ4Y1DcNDMAITqG4wBRAEc8PxQoAGUjKzgSRBE-cqSAXSA_3 # 線 1 -summon area_effect_cloud ^5 ^ ^-27.6 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} -summon area_effect_cloud ^5 ^ ^-21.53333 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} -summon area_effect_cloud ^5 ^ ^-15.46667 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} -summon area_effect_cloud ^5 ^ ^-9.4 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} -summon area_effect_cloud ^5 ^ ^-3.33333 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} -summon area_effect_cloud ^5 ^ ^2.73333 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} -summon area_effect_cloud ^5 ^ ^8.8 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} -summon area_effect_cloud ^5 ^ ^14.86667 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} -summon area_effect_cloud ^5 ^ ^20.93333 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} -summon area_effect_cloud ^5 ^ ^27 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} -# 線 1-copy -summon area_effect_cloud ^-5 ^ ^-25.7 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} -summon area_effect_cloud ^-5 ^ ^-19.15 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} -summon area_effect_cloud ^-5 ^ ^-12.6 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} -summon area_effect_cloud ^-5 ^ ^-6.05 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} -summon area_effect_cloud ^-5 ^ ^0.5 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} -summon area_effect_cloud ^-5 ^ ^7.05 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} -summon area_effect_cloud ^-5 ^ ^13.6 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} -summon area_effect_cloud ^-5 ^ ^20.15 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} -summon area_effect_cloud ^-5 ^ ^26.7 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^0 ^ ^-27.6 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^0 ^ ^-21.53333 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^0 ^ ^-15.46667 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^0 ^ ^-9.4 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^0 ^ ^-3.33333 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^0 ^ ^2.73333 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^0 ^ ^8.8 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^0 ^ ^14.86667 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^0 ^ ^20.93333 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^0 ^ ^27 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} diff --git a/Asset/data/asset/functions/object/2268.gem_upper_shot/tick/damage.mcfunction b/Asset/data/asset/functions/object/2268.gem_upper_shot/tick/damage.mcfunction index 5abc7dabca..1abd3a0550 100644 --- a/Asset/data/asset/functions/object/2268.gem_upper_shot/tick/damage.mcfunction +++ b/Asset/data/asset/functions/object/2268.gem_upper_shot/tick/damage.mcfunction @@ -4,11 +4,17 @@ # # @within asset:object/2268.gem_upper_shot/tick/ +#> Val +# @private +# @within function asset:object/2268.gem_upper_shot/tick/damage + #declare objective CO.UpperShot.Hit + # ダメージ data modify storage api: Argument.Damage set from storage asset:context this.Damage.Amount data modify storage api: Argument.AttackType set from storage asset:context this.Damage.Type data modify storage api: Argument.ElementType set from storage asset:context this.Damage.Element data modify storage api: Argument.MobUUID set from storage asset:context this.MobUUID function api:damage/modifier_manual - execute as @a[tag=!PlayerShouldInvulnerable,distance=..6] run function api:damage/ + execute as @a[tag=!PlayerShouldInvulnerable,distance=..6] unless score @s CO.UpperShot.Hit matches 1.. run function api:damage/ + execute as @a[tag=!PlayerShouldInvulnerable,distance=..6] run scoreboard players set @s CO.UpperShot.Hit 20 function api:damage/reset From df7115be971fa5eda67736f701b39e749ff1b2c4 Mon Sep 17 00:00:00 2001 From: mokkkk Date: Sun, 22 Mar 2026 14:11:44 +0900 Subject: [PATCH 76/98] =?UTF-8?q?=E4=B8=8A=E7=A9=BA=E5=B0=84=E6=92=83?= =?UTF-8?q?=E3=81=AE=E7=A7=BB=E5=8B=95=E7=9B=B4=E7=B7=9A=E7=AF=84=E5=9B=B2?= =?UTF-8?q?=E3=83=91=E3=82=BF=E3=83=BC=E3=83=B3=E9=9B=A3=E6=98=93=E5=BA=A6?= =?UTF-8?q?=E4=BD=8E=E4=B8=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../tick/act/phase_2/.mcfunction | 57 +++++++++++-------- .../summon_yeeter_drone_corner.mcfunction | 4 +- .../async_pattern_moveline.mcfunction | 32 +++++------ 3 files changed, 49 insertions(+), 44 deletions(-) diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/phase_2/.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/phase_2/.mcfunction index a931d145f0..5c642cf00e 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/phase_2/.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/phase_2/.mcfunction @@ -91,30 +91,37 @@ execute if score @s CO.Counter matches 29 run function asset:mob/0456.gargo_ex_machina/tick/act/phase_2/move_to_corner ## 剣叩きつけ execute if score @s CO.Counter matches 30 run tag @s add CO.Skill.SwordAttack -# ## 薙ぎ払いレーザー -# # 中心に移動 -# execute if score @s CO.Counter matches 21 run function asset:mob/0456.gargo_ex_machina/tick/act/phase_2/move_to_center -# # 薙ぎ払いレーザー -# execute if score @s CO.Counter matches 22 run function asset:mob/0456.gargo_ex_machina/tick/act/phase_2/half_beam -# # 待機 -# execute if score @s CO.Counter matches 23 as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run scoreboard players set @s CO.IdleTimer 100 -# ## ブルートフォース:エクサパターン -# # ブルートフォース:チュートリアル -# execute if score @s CO.Counter matches 24 run tag @s add CO.Skill.BluteForce -# execute if score @s CO.Counter matches 24 run function asset:mob/0456.gargo_ex_machina/tick/act/phase_2/bluteforce_exa -# # 銃変形 -# execute if score @s CO.Counter matches 25 run tag @s add CO.Skill.Transform.Shoot -# # 上空射撃・追尾パターン -# execute if score @s CO.Counter matches 26 run tag @s add CO.UpperShot.Pt.Target -# execute if score @s CO.Counter matches 26 run tag @s add CO.Skill.UpperShot -# # 剣変形 -# execute if score @s CO.Counter matches 27 run tag @s add CO.Skill.Transform.Sword -# # スーパージャンプ -# execute if score @s CO.Counter matches 28 run scoreboard players set @s CO.PreTimer 300 -# execute if score @s CO.Counter matches 28 run tag @s add CO.Skill.SuperJump -# # 待機 -# execute if score @s CO.Counter matches 29 as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run scoreboard players set @s CO.IdleTimer 200 +# 待機 + execute if score @s CO.Counter matches 31 as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run scoreboard players set @s CO.IdleTimer 200 +## 薙ぎ払いレーザー + # 中心に移動 + execute if score @s CO.Counter matches 32 run function asset:mob/0456.gargo_ex_machina/tick/act/phase_2/move_to_center + # 薙ぎ払いレーザー + execute if score @s CO.Counter matches 33 run function asset:mob/0456.gargo_ex_machina/tick/act/phase_2/half_beam +# 待機 + execute if score @s CO.Counter matches 34 as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run scoreboard players set @s CO.IdleTimer 80 +## 剣叩きつけ + ATTACKドローン + # 四隅に移動 + ドローン召喚 + execute if score @s CO.Counter matches 35 run function asset:mob/0456.gargo_ex_machina/tick/act/phase_2/summon_attack_drone_corner + # 剣叩きつけ + execute if score @s CO.Counter matches 36 run tag @s add CO.Skill.SwordAttack +## ブルートフォース:エクサパターン + # ブルートフォース:チュートリアル + execute if score @s CO.Counter matches 37 run tag @s add CO.Skill.BluteForce + execute if score @s CO.Counter matches 38 run function asset:mob/0456.gargo_ex_machina/tick/act/phase_2/bluteforce_exa + # 銃変形 + execute if score @s CO.Counter matches 39 run tag @s add CO.Skill.Transform.Shoot + # 上空射撃・追尾パターン + execute if score @s CO.Counter matches 40 run tag @s add CO.UpperShot.Pt.Target + execute if score @s CO.Counter matches 40 run tag @s add CO.Skill.UpperShot + # 剣変形 + execute if score @s CO.Counter matches 41 run tag @s add CO.Skill.Transform.Sword + # スーパージャンプ + execute if score @s CO.Counter matches 42 run scoreboard players set @s CO.PreTimer 300 + execute if score @s CO.Counter matches 42 run tag @s add CO.Skill.SuperJump +# 待機 + execute if score @s CO.Counter matches 43 as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run scoreboard players set @s CO.IdleTimer 200 # # 四辺に移動 -# execute if score @s CO.Counter matches 30 run function asset:mob/0456.gargo_ex_machina/tick/act/phase_2/move_to_line +# execute if score @s CO.Counter matches 44 run function asset:mob/0456.gargo_ex_machina/tick/act/phase_2/move_to_line # ## 剣叩きつけ + YEETERドローン -# execute if score @s CO.Counter matches 31 run tag @s add CO.Skill.SwordAttack +# execute if score @s CO.Counter matches 45 run tag @s add CO.Skill.SwordAttack diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/phase_2/summon_yeeter_drone_corner.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/phase_2/summon_yeeter_drone_corner.mcfunction index 1bf83bac05..29cbfdd6b4 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/phase_2/summon_yeeter_drone_corner.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/phase_2/summon_yeeter_drone_corner.mcfunction @@ -11,11 +11,11 @@ data modify storage api: Argument.FieldOverride.Damage set from storage asset:context this.Damage.YeeterDrone data modify storage api: Argument.FieldOverride.IsRotate set value false data modify storage api: Argument.FieldOverride.IsRotateInverse set value false - execute at @e[type=marker,tag=CO.CenterPosition,distance=..80,limit=1] positioned ^16 ^ ^23 rotated ~180 0 run function api:object/summon + execute at @e[type=marker,tag=CO.CenterPosition,distance=..80,limit=1] positioned ^-16 ^ ^23 rotated ~180 0 run function api:object/summon data modify storage api: Argument.ID set value 2261 execute store result storage api: Argument.FieldOverride.MobUUID int 1 run scoreboard players get @s MobUUID function asset:mob/0456.gargo_ex_machina/tick/util/assing_object_id data modify storage api: Argument.FieldOverride.Damage set from storage asset:context this.Damage.YeeterDrone data modify storage api: Argument.FieldOverride.IsRotate set value false data modify storage api: Argument.FieldOverride.IsRotateInverse set value false - execute at @e[type=marker,tag=CO.CenterPosition,distance=..80,limit=1] positioned ^-16 ^ ^-23 rotated ~0 0 run function api:object/summon + execute at @e[type=marker,tag=CO.CenterPosition,distance=..80,limit=1] positioned ^16 ^ ^-23 rotated ~0 0 run function api:object/summon diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/upper_shot/async_pattern_moveline.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/upper_shot/async_pattern_moveline.mcfunction index 92665bf3dc..f1d0147302 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/upper_shot/async_pattern_moveline.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/upper_shot/async_pattern_moveline.mcfunction @@ -9,27 +9,25 @@ # 攻撃位置決定 # 正面 - execute if score @s CO.EventTimer.UpperShot matches 1 at @e[type=marker,tag=CO.CenterPosition,distance=..80,limit=1] rotated ~ ~ positioned ^ ^ ^28 rotated ~90 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/upper_shot/pattern_moveline - execute if score @s CO.EventTimer.UpperShot matches 41 at @e[type=marker,tag=CO.CenterPosition,distance=..80,limit=1] rotated ~ ~ positioned ^ ^ ^20 rotated ~90 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/upper_shot/pattern_moveline - execute if score @s CO.EventTimer.UpperShot matches 81 at @e[type=marker,tag=CO.CenterPosition,distance=..80,limit=1] rotated ~ ~ positioned ^ ^ ^12 rotated ~90 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/upper_shot/pattern_moveline - execute if score @s CO.EventTimer.UpperShot matches 121 at @e[type=marker,tag=CO.CenterPosition,distance=..80,limit=1] rotated ~ ~ positioned ^ ^ ^4 rotated ~90 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/upper_shot/pattern_moveline - execute if score @s CO.EventTimer.UpperShot matches 161 at @e[type=marker,tag=CO.CenterPosition,distance=..80,limit=1] rotated ~ ~ positioned ^ ^ ^-4 rotated ~90 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/upper_shot/pattern_moveline - execute if score @s CO.EventTimer.UpperShot matches 201 at @e[type=marker,tag=CO.CenterPosition,distance=..80,limit=1] rotated ~ ~ positioned ^ ^ ^-12 rotated ~90 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/upper_shot/pattern_moveline - execute if score @s CO.EventTimer.UpperShot matches 241 at @e[type=marker,tag=CO.CenterPosition,distance=..80,limit=1] rotated ~ ~ positioned ^ ^ ^-20 rotated ~90 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/upper_shot/pattern_moveline - execute if score @s CO.EventTimer.UpperShot matches 281 at @e[type=marker,tag=CO.CenterPosition,distance=..80,limit=1] rotated ~ ~ positioned ^ ^ ^-28 rotated ~90 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/upper_shot/pattern_moveline + execute if score @s CO.EventTimer.UpperShot matches 1 at @e[type=marker,tag=CO.CenterPosition,distance=..80,limit=1] rotated ~ ~ positioned ^ ^ ^30 rotated ~90 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/upper_shot/pattern_moveline + execute if score @s CO.EventTimer.UpperShot matches 51 at @e[type=marker,tag=CO.CenterPosition,distance=..80,limit=1] rotated ~ ~ positioned ^ ^ ^20 rotated ~90 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/upper_shot/pattern_moveline + execute if score @s CO.EventTimer.UpperShot matches 101 at @e[type=marker,tag=CO.CenterPosition,distance=..80,limit=1] rotated ~ ~ positioned ^ ^ ^10 rotated ~90 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/upper_shot/pattern_moveline + execute if score @s CO.EventTimer.UpperShot matches 151 at @e[type=marker,tag=CO.CenterPosition,distance=..80,limit=1] rotated ~ ~ positioned ^ ^ ^0 rotated ~90 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/upper_shot/pattern_moveline + execute if score @s CO.EventTimer.UpperShot matches 201 at @e[type=marker,tag=CO.CenterPosition,distance=..80,limit=1] rotated ~ ~ positioned ^ ^ ^-10 rotated ~90 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/upper_shot/pattern_moveline + execute if score @s CO.EventTimer.UpperShot matches 251 at @e[type=marker,tag=CO.CenterPosition,distance=..80,limit=1] rotated ~ ~ positioned ^ ^ ^-20 rotated ~90 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/upper_shot/pattern_moveline + execute if score @s CO.EventTimer.UpperShot matches 301 at @e[type=marker,tag=CO.CenterPosition,distance=..80,limit=1] rotated ~ ~ positioned ^ ^ ^-30 rotated ~90 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/upper_shot/pattern_moveline # 交差 - execute if score @s CO.EventTimer.UpperShot matches 1 if predicate api:global_vars/difficulty/min/3_blessless at @e[type=marker,tag=CO.CenterPosition,distance=..80,limit=1] rotated ~90 ~ positioned ^ ^ ^28 rotated ~90 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/upper_shot/pattern_moveline - execute if score @s CO.EventTimer.UpperShot matches 41 if predicate api:global_vars/difficulty/min/3_blessless at @e[type=marker,tag=CO.CenterPosition,distance=..80,limit=1] rotated ~90 ~ positioned ^ ^ ^20 rotated ~90 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/upper_shot/pattern_moveline - execute if score @s CO.EventTimer.UpperShot matches 81 if predicate api:global_vars/difficulty/min/3_blessless at @e[type=marker,tag=CO.CenterPosition,distance=..80,limit=1] rotated ~90 ~ positioned ^ ^ ^12 rotated ~90 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/upper_shot/pattern_moveline - execute if score @s CO.EventTimer.UpperShot matches 121 if predicate api:global_vars/difficulty/min/3_blessless at @e[type=marker,tag=CO.CenterPosition,distance=..80,limit=1] rotated ~90 ~ positioned ^ ^ ^4 rotated ~90 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/upper_shot/pattern_moveline - execute if score @s CO.EventTimer.UpperShot matches 161 if predicate api:global_vars/difficulty/min/3_blessless at @e[type=marker,tag=CO.CenterPosition,distance=..80,limit=1] rotated ~90 ~ positioned ^ ^ ^-4 rotated ~90 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/upper_shot/pattern_moveline - execute if score @s CO.EventTimer.UpperShot matches 201 if predicate api:global_vars/difficulty/min/3_blessless at @e[type=marker,tag=CO.CenterPosition,distance=..80,limit=1] rotated ~90 ~ positioned ^ ^ ^-12 rotated ~90 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/upper_shot/pattern_moveline - execute if score @s CO.EventTimer.UpperShot matches 241 if predicate api:global_vars/difficulty/min/3_blessless at @e[type=marker,tag=CO.CenterPosition,distance=..80,limit=1] rotated ~90 ~ positioned ^ ^ ^-20 rotated ~90 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/upper_shot/pattern_moveline - execute if score @s CO.EventTimer.UpperShot matches 281 if predicate api:global_vars/difficulty/min/3_blessless at @e[type=marker,tag=CO.CenterPosition,distance=..80,limit=1] rotated ~90 ~ positioned ^ ^ ^-28 rotated ~90 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/upper_shot/pattern_moveline + execute if score @s CO.EventTimer.UpperShot matches 1 if predicate api:global_vars/difficulty/min/3_blessless at @e[type=marker,tag=CO.CenterPosition,distance=..80,limit=1] rotated ~90 ~ positioned ^ ^ ^30 rotated ~90 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/upper_shot/pattern_moveline + execute if score @s CO.EventTimer.UpperShot matches 51 if predicate api:global_vars/difficulty/min/3_blessless at @e[type=marker,tag=CO.CenterPosition,distance=..80,limit=1] rotated ~90 ~ positioned ^ ^ ^20 rotated ~90 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/upper_shot/pattern_moveline + execute if score @s CO.EventTimer.UpperShot matches 101 if predicate api:global_vars/difficulty/min/3_blessless at @e[type=marker,tag=CO.CenterPosition,distance=..80,limit=1] rotated ~90 ~ positioned ^ ^ ^10 rotated ~90 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/upper_shot/pattern_moveline + execute if score @s CO.EventTimer.UpperShot matches 151 if predicate api:global_vars/difficulty/min/3_blessless at @e[type=marker,tag=CO.CenterPosition,distance=..80,limit=1] rotated ~90 ~ positioned ^ ^ ^0 rotated ~90 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/upper_shot/pattern_moveline + execute if score @s CO.EventTimer.UpperShot matches 201 if predicate api:global_vars/difficulty/min/3_blessless at @e[type=marker,tag=CO.CenterPosition,distance=..80,limit=1] rotated ~90 ~ positioned ^ ^ ^-10 rotated ~90 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/upper_shot/pattern_moveline + execute if score @s CO.EventTimer.UpperShot matches 251 if predicate api:global_vars/difficulty/min/3_blessless at @e[type=marker,tag=CO.CenterPosition,distance=..80,limit=1] rotated ~90 ~ positioned ^ ^ ^-20 rotated ~90 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/upper_shot/pattern_moveline + execute if score @s CO.EventTimer.UpperShot matches 301 if predicate api:global_vars/difficulty/min/3_blessless at @e[type=marker,tag=CO.CenterPosition,distance=..80,limit=1] rotated ~90 ~ positioned ^ ^ ^-30 rotated ~90 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/upper_shot/pattern_moveline # 実行 execute at @e[type=area_effect_cloud,tag=CO.Aec.UpperShotPosition,distance=..80,sort=random,limit=3] run function asset:mob/0456.gargo_ex_machina/tick/event/upper_shot/attack.m {AttackTime:60} # 終了 scoreboard players reset $Interval Temporary - execute if score @s CO.EventTimer.UpperShot matches 320.. run function asset:mob/0456.gargo_ex_machina/tick/event/upper_shot/async_end + execute if score @s CO.EventTimer.UpperShot matches 350.. run function asset:mob/0456.gargo_ex_machina/tick/event/upper_shot/async_end From 2cd023d46602c2cf8c18e0ed2dce6681867fc452 Mon Sep 17 00:00:00 2001 From: mokkkk Date: Sun, 22 Mar 2026 14:59:32 +0900 Subject: [PATCH 77/98] =?UTF-8?q?=E3=83=96=E3=83=AB=E3=83=BC=E3=83=88?= =?UTF-8?q?=E3=83=95=E3=82=A9=E3=83=BC=E3=82=B9=E5=8D=8A=E9=9D=A2=E7=84=BC?= =?UTF-8?q?=E3=81=8D=E3=83=91=E3=82=BF=E3=83=BC=E3=83=B3=E8=BF=BD=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../0456.gargo_ex_machina/_index.d.mcfunction | 5 +- .../tick/act/phase_1/.mcfunction | 2 +- .../tick/act/phase_2/.mcfunction | 34 +++++++++++-- .../act/phase_2/bluteforce_half.mcfunction | 9 ++++ .../phase_2/field_modify_square.mcfunction | 4 +- .../summon_yeeter_drone_line.mcfunction | 27 ++++++++++ .../tick/debug/interrupt.mcfunction | 4 +- .../tick/event/.mcfunction | 5 ++ .../blute_force_attack/async_end.mcfunction | 4 ++ .../async_pattern_half.mcfunction | 39 ++++++++++++++ .../async_pattern_half_inv.mcfunction | 39 ++++++++++++++ .../event/upper_shot/async_end.mcfunction | 1 + .../upper_shot/async_pattern_cross.mcfunction | 19 +++++++ .../async_pattern_moveline.mcfunction | 3 +- .../event/upper_shot/pattern_cross.mcfunction | 51 +++++++++++++++++++ 15 files changed, 232 insertions(+), 14 deletions(-) create mode 100644 Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/phase_2/bluteforce_half.mcfunction create mode 100644 Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/phase_2/summon_yeeter_drone_line.mcfunction create mode 100644 Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/blute_force_attack/async_pattern_half.mcfunction create mode 100644 Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/blute_force_attack/async_pattern_half_inv.mcfunction create mode 100644 Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/upper_shot/async_pattern_cross.mcfunction create mode 100644 Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/upper_shot/pattern_cross.mcfunction diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/_index.d.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/_index.d.mcfunction index 2d4504a4e2..14d9f05e80 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/_index.d.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/_index.d.mcfunction @@ -45,6 +45,7 @@ #declare tag CO.UpperShot.Pt.Random ランダムパターン #declare tag CO.UpperShot.Pt.Target 追尾パターン #declare tag CO.UpperShot.Pt.MoveLine 移動直線範囲パターン + #declare tag CO.UpperShot.Pt.Cross 交差パターン #declare tag CO.UpperShot.Pt.Panto パンクラパターン #declare tag CO.Skill.BluteForce ブルートフォースアタック #declare tag CO.Skill.BluteForce.First ブルートフォースアタック @@ -54,8 +55,8 @@ #declare tag CO.Skill.BluteForce.Pt.SpinInv 回転パターン #declare tag CO.Skill.BluteForce.Pt.Exa エクサパターン #declare tag CO.Skill.BluteForce.Pt.ExaInv エクサパターン - #declare tag - #declare tag + #declare tag CO.Skill.BluteForce.Pt.Half 半面焼きパターン + #declare tag CO.Skill.BluteForce.Pt.HalfInv 半面焼きパターン #declare tag # - オブジェクト用 #declare tag CO.Shadow diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/phase_1/.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/phase_1/.mcfunction index e50f0df06f..e1127063c6 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/phase_1/.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/phase_1/.mcfunction @@ -99,7 +99,7 @@ execute if score @s CO.Counter matches 35 as @e[type=marker,tag=CO.CenterPosition,distance=..80,limit=1] at @s positioned ~ ~-0.499 ~ rotated 0 0 run function asset:mob/0456.gargo_ex_machina/tick/act/phase_1/field_modify_square execute if score @s CO.Counter matches 35 run scoreboard players set @s CO.PreTimer 2 execute if score @s CO.Counter matches 35 run tag @s add CO.Skill.FieldModify - # スーパージャンプ + # 連続スーパージャンプ execute if score @s CO.Counter matches 36 run scoreboard players set @s CO.JumpCount 4 execute if score @s CO.Counter matches 36 run scoreboard players set @s CO.PreTimer 40 execute if score @s CO.Counter matches 36 run tag @s add CO.Skill.SuperJump diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/phase_2/.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/phase_2/.mcfunction index 5c642cf00e..df550fda46 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/phase_2/.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/phase_2/.mcfunction @@ -106,7 +106,7 @@ # 剣叩きつけ execute if score @s CO.Counter matches 36 run tag @s add CO.Skill.SwordAttack ## ブルートフォース:エクサパターン - # ブルートフォース:チュートリアル + # ブルートフォース:エクサ execute if score @s CO.Counter matches 37 run tag @s add CO.Skill.BluteForce execute if score @s CO.Counter matches 38 run function asset:mob/0456.gargo_ex_machina/tick/act/phase_2/bluteforce_exa # 銃変形 @@ -121,7 +121,31 @@ execute if score @s CO.Counter matches 42 run tag @s add CO.Skill.SuperJump # 待機 execute if score @s CO.Counter matches 43 as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run scoreboard players set @s CO.IdleTimer 200 -# # 四辺に移動 -# execute if score @s CO.Counter matches 44 run function asset:mob/0456.gargo_ex_machina/tick/act/phase_2/move_to_line -# ## 剣叩きつけ + YEETERドローン -# execute if score @s CO.Counter matches 45 run tag @s add CO.Skill.SwordAttack +## 剣叩きつけ + YEETERドローン + # 四辺に移動 + YEETERドローン + execute if score @s CO.Counter matches 44 run function asset:mob/0456.gargo_ex_machina/tick/act/phase_2/summon_yeeter_drone_line + # 剣叩きつけ + execute if score @s CO.Counter matches 45 run tag @s add CO.Skill.SwordAttack +## モディファイ + 上空射撃 + # フィールドモディファイ・ボーダーパターン + execute if score @s CO.Counter matches 46 as @e[type=marker,tag=CO.CenterPosition,distance=..80,limit=1] at @s positioned ~ ~-0.499 ~ run function asset:mob/0456.gargo_ex_machina/tick/act/phase_2/field_modify_square + execute if score @s CO.Counter matches 46 run scoreboard players set @s CO.PreTimer 2 + execute if score @s CO.Counter matches 46 run tag @s add CO.Skill.FieldModify + # 銃変形 + execute if score @s CO.Counter matches 47 run tag @s add CO.Skill.Transform.Shoot + # 上空射撃・交差パターン + execute if score @s CO.Counter matches 48 run tag @s add CO.UpperShot.Pt.Cross + execute if score @s CO.Counter matches 48 run tag @s add CO.Skill.UpperShot +# 待機 + execute if score @s CO.Counter matches 49 as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run scoreboard players set @s CO.IdleTimer 100 + +## ブルートフォース:半面焼きパターン + # 剣変形 + execute if score @s CO.Counter matches 50 run tag @s add CO.Skill.Transform.Sword + # ブルートフォース:半面焼き + execute if score @s CO.Counter matches 51 run tag @s add CO.Skill.BluteForce + execute if score @s CO.Counter matches 51 run function asset:mob/0456.gargo_ex_machina/tick/act/phase_2/bluteforce_half + # 連続スーパージャンプ + execute if score @s CO.Counter matches 52 run scoreboard players set @s CO.JumpCount 2 + execute if score @s CO.Counter matches 52 run scoreboard players set @s CO.PreTimer 120 + execute if score @s CO.Counter matches 52 run tag @s add CO.Skill.SuperJump diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/phase_2/bluteforce_half.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/phase_2/bluteforce_half.mcfunction new file mode 100644 index 0000000000..3f2cf860f6 --- /dev/null +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/phase_2/bluteforce_half.mcfunction @@ -0,0 +1,9 @@ +#> asset:mob/0456.gargo_ex_machina/tick/act/phase_2/bluteforce_half +# +# Mobのtick時の処理 +# +# @within asset:mob/0456.gargo_ex_machina/tick/act/phase_2/ + +# ランダムで使用 + execute if predicate lib:random_pass_per/50 run tag @s add CO.Skill.BluteForce.Pt.Half + execute unless entity @s[tag=CO.Skill.BluteForce.Pt.Half] run tag @s add CO.Skill.BluteForce.Pt.HalfInv diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/phase_2/field_modify_square.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/phase_2/field_modify_square.mcfunction index 263989c051..8a299a7754 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/phase_2/field_modify_square.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/phase_2/field_modify_square.mcfunction @@ -1,8 +1,8 @@ -#> asset:mob/0456.gargo_ex_machina/tick/act/phase_1/field_modify_square +#> asset:mob/0456.gargo_ex_machina/tick/act/phase_2/field_modify_square # # フィールド・モディファイ # -# @within asset:mob/0456.gargo_ex_machina/tick/act/phase_1/ +# @within asset:mob/0456.gargo_ex_machina/tick/act/phase_2/ # 位置決定用AEC召喚 # A diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/phase_2/summon_yeeter_drone_line.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/phase_2/summon_yeeter_drone_line.mcfunction new file mode 100644 index 0000000000..9e50c0455e --- /dev/null +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/phase_2/summon_yeeter_drone_line.mcfunction @@ -0,0 +1,27 @@ +#> asset:mob/0456.gargo_ex_machina/tick/act/phase_2/summon_yeeter_drone_line +# +# Mobのtick時の処理 +# +# @within asset:mob/0456.gargo_ex_machina/tick/act/phase_2/ + +# ランダムな4辺中央に移動 + execute store result score $CO.Temp.Rotation Global run random value 0..3 + execute store result entity @e[type=marker,tag=CO.CenterPosition,distance=..80,limit=1] Rotation[0] float 1 run scoreboard players operation $CO.Temp.Rotation Global *= $90 Const + execute at @e[type=marker,tag=CO.CenterPosition,distance=..80,limit=1] rotated ~ ~ run summon area_effect_cloud ^ ^ ^-25 {Tags:["CO.Aec.Destination"],Duration:80} + tag @s add CO.Skill.Move + +# 左右にドローン召喚 + data modify storage api: Argument.ID set value 2261 + execute store result storage api: Argument.FieldOverride.MobUUID int 1 run scoreboard players get @s MobUUID + function asset:mob/0456.gargo_ex_machina/tick/util/assing_object_id + data modify storage api: Argument.FieldOverride.Damage set from storage asset:context this.Damage.YeeterDrone + data modify storage api: Argument.FieldOverride.IsRotate set value false + data modify storage api: Argument.FieldOverride.IsRotateInverse set value false + execute at @e[type=marker,tag=CO.CenterPosition,distance=..80,limit=1] positioned ^-20 ^ ^-28 run function api:object/summon + data modify storage api: Argument.ID set value 2261 + execute store result storage api: Argument.FieldOverride.MobUUID int 1 run scoreboard players get @s MobUUID + function asset:mob/0456.gargo_ex_machina/tick/util/assing_object_id + data modify storage api: Argument.FieldOverride.Damage set from storage asset:context this.Damage.YeeterDrone + data modify storage api: Argument.FieldOverride.IsRotate set value false + data modify storage api: Argument.FieldOverride.IsRotateInverse set value false + execute at @e[type=marker,tag=CO.CenterPosition,distance=..80,limit=1] positioned ^20 ^ ^-28 run function api:object/summon diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/debug/interrupt.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/debug/interrupt.mcfunction index c89b944a39..d185d37de1 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/debug/interrupt.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/debug/interrupt.mcfunction @@ -18,5 +18,5 @@ # execute at @s run tp @e[type=item_display,tag=CO.ModelRoot] ~ ~ ~ ~ 0 # イベント実行 - tag @s add CO.Skill.UpperShot - tag @s add CO.UpperShot.Pt.Panto + tag @s add CO.Skill.BluteForce + tag @s add CO.Skill.BluteForce.Pt.HalfInv diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/.mcfunction index fdf57c5e37..f8c04422fb 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/.mcfunction @@ -60,6 +60,8 @@ execute if entity @s[tag=CO.UpperShot.Asyuc,tag=CO.UpperShot.Pt.Target] run function asset:mob/0456.gargo_ex_machina/tick/event/upper_shot/async_pattern_target # 移動直線範囲パターン execute if entity @s[tag=CO.UpperShot.Asyuc,tag=CO.UpperShot.Pt.MoveLine] run function asset:mob/0456.gargo_ex_machina/tick/event/upper_shot/async_pattern_moveline + # 交差パターン + execute if entity @s[tag=CO.UpperShot.Asyuc,tag=CO.UpperShot.Pt.Cross] run function asset:mob/0456.gargo_ex_machina/tick/event/upper_shot/async_pattern_cross # パンクラパターン execute if entity @s[tag=CO.UpperShot.Asyuc,tag=CO.UpperShot.Pt.Panto] run function asset:mob/0456.gargo_ex_machina/tick/event/upper_shot/async_pattern_pantokrator @@ -74,3 +76,6 @@ # エクサパターン execute if entity @s[tag=CO.Skill.BluteForce.Async,tag=CO.Skill.BluteForce.Pt.Exa] at @e[type=marker,tag=CO.CenterPosition,distance=..80] run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/async_pattern_exa execute if entity @s[tag=CO.Skill.BluteForce.Async,tag=CO.Skill.BluteForce.Pt.ExaInv] at @e[type=marker,tag=CO.CenterPosition,distance=..80] run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/async_pattern_exa_inv + # 半面焼きパターン + execute if entity @s[tag=CO.Skill.BluteForce.Async,tag=CO.Skill.BluteForce.Pt.Half] at @e[type=marker,tag=CO.CenterPosition,distance=..80] run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/async_pattern_half + execute if entity @s[tag=CO.Skill.BluteForce.Async,tag=CO.Skill.BluteForce.Pt.HalfInv] at @e[type=marker,tag=CO.CenterPosition,distance=..80] run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/async_pattern_half_inv diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/blute_force_attack/async_end.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/blute_force_attack/async_end.mcfunction index 14d285fb96..ebd5e41824 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/blute_force_attack/async_end.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/blute_force_attack/async_end.mcfunction @@ -7,6 +7,8 @@ # @within asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/async_pattern_spin_inv # @within asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/async_pattern_exa # @within asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/async_pattern_exa_inv +# @within asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/async_pattern_half +# @within asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/async_pattern_half_inv # タイマーリセット scoreboard players reset @s CO.EventTimer.BluteForce @@ -18,3 +20,5 @@ tag @s remove CO.Skill.BluteForce.Pt.SpinInv tag @s remove CO.Skill.BluteForce.Pt.Exa tag @s remove CO.Skill.BluteForce.Pt.ExaInv + tag @s remove CO.Skill.BluteForce.Pt.Half + tag @s remove CO.Skill.BluteForce.Pt.ExaInv diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/blute_force_attack/async_pattern_half.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/blute_force_attack/async_pattern_half.mcfunction new file mode 100644 index 0000000000..08dbc31681 --- /dev/null +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/blute_force_attack/async_pattern_half.mcfunction @@ -0,0 +1,39 @@ +#> asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/async_pattern_half +# +# ブルートフォースアタック +# +# @within asset:mob/0456.gargo_ex_machina/tick/event/ + +# タイマー増加 + scoreboard players add @s CO.EventTimer.BluteForce 1 + +# 1回目 + # ATTACK + execute if score @s CO.EventTimer.BluteForce matches 1 positioned ^28 ^ ^28 rotated ~180 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_attack_drone.m {IsTarget:"false"} + execute if score @s CO.EventTimer.BluteForce matches 21 positioned ^20 ^ ^28 rotated ~180 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_attack_drone.m {IsTarget:"false"} + execute if score @s CO.EventTimer.BluteForce matches 41 positioned ^12 ^ ^28 rotated ~180 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_attack_drone.m {IsTarget:"false"} + execute if score @s CO.EventTimer.BluteForce matches 61 positioned ^4 ^ ^28 rotated ~180 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_attack_drone.m {IsTarget:"false"} + execute if score @s CO.EventTimer.BluteForce matches 81 positioned ^-4 ^ ^28 rotated ~180 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_attack_drone.m {IsTarget:"false"} + execute if score @s CO.EventTimer.BluteForce matches 101 positioned ^-12 ^ ^28 rotated ~180 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_attack_drone.m {IsTarget:"false"} + execute if score @s CO.EventTimer.BluteForce matches 121 positioned ^-20 ^ ^28 rotated ~180 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_attack_drone.m {IsTarget:"false"} + execute if score @s CO.EventTimer.BluteForce matches 141 positioned ^-28 ^ ^28 rotated ~180 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_attack_drone.m {IsTarget:"false"} + # YEETER + execute if score @s CO.EventTimer.BluteForce matches 1 rotated ~-90 ~ positioned ^-25 ^ ^28 rotated ~180 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_yeeter_drone.m {IsRotate:"false",IsRotateInverse:"false"} + execute if score @s CO.EventTimer.BluteForce matches 1 rotated ~-90 ~ positioned ^-12 ^ ^28 rotated ~180 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_yeeter_drone.m {IsRotate:"false",IsRotateInverse:"false"} + +# 2回目 + # ATTACK + execute if score @s CO.EventTimer.BluteForce matches 201 rotated ~90 ~ positioned ^28 ^ ^28 rotated ~180 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_attack_drone.m {IsTarget:"false"} + execute if score @s CO.EventTimer.BluteForce matches 221 rotated ~90 ~ positioned ^20 ^ ^28 rotated ~180 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_attack_drone.m {IsTarget:"false"} + execute if score @s CO.EventTimer.BluteForce matches 241 rotated ~90 ~ positioned ^12 ^ ^28 rotated ~180 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_attack_drone.m {IsTarget:"false"} + execute if score @s CO.EventTimer.BluteForce matches 261 rotated ~90 ~ positioned ^4 ^ ^28 rotated ~180 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_attack_drone.m {IsTarget:"false"} + execute if score @s CO.EventTimer.BluteForce matches 281 rotated ~90 ~ positioned ^-4 ^ ^28 rotated ~180 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_attack_drone.m {IsTarget:"false"} + execute if score @s CO.EventTimer.BluteForce matches 301 rotated ~90 ~ positioned ^-12 ^ ^28 rotated ~180 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_attack_drone.m {IsTarget:"false"} + execute if score @s CO.EventTimer.BluteForce matches 321 rotated ~90 ~ positioned ^-20 ^ ^28 rotated ~180 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_attack_drone.m {IsTarget:"false"} + execute if score @s CO.EventTimer.BluteForce matches 341 rotated ~90 ~ positioned ^-28 ^ ^28 rotated ~180 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_attack_drone.m {IsTarget:"false"} + # YEETER + execute if score @s CO.EventTimer.BluteForce matches 201 rotated ~0 ~ positioned ^25 ^ ^28 rotated ~180 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_yeeter_drone.m {IsRotate:"false",IsRotateInverse:"false"} + execute if score @s CO.EventTimer.BluteForce matches 201 rotated ~0 ~ positioned ^12 ^ ^28 rotated ~180 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_yeeter_drone.m {IsRotate:"false",IsRotateInverse:"false"} + +# 終了 + execute if score @s CO.EventTimer.BluteForce matches 400.. run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/async_end diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/blute_force_attack/async_pattern_half_inv.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/blute_force_attack/async_pattern_half_inv.mcfunction new file mode 100644 index 0000000000..db7e9c6506 --- /dev/null +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/blute_force_attack/async_pattern_half_inv.mcfunction @@ -0,0 +1,39 @@ +#> asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/async_pattern_half_inv +# +# ブルートフォースアタック +# +# @within asset:mob/0456.gargo_ex_machina/tick/event/ + +# タイマー増加 + scoreboard players add @s CO.EventTimer.BluteForce 1 + +# 1回目 + # ATTACK + execute if score @s CO.EventTimer.BluteForce matches 1 positioned ^-28 ^ ^28 rotated ~180 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_attack_drone.m {IsTarget:"false"} + execute if score @s CO.EventTimer.BluteForce matches 21 positioned ^-20 ^ ^28 rotated ~180 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_attack_drone.m {IsTarget:"false"} + execute if score @s CO.EventTimer.BluteForce matches 41 positioned ^-12 ^ ^28 rotated ~180 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_attack_drone.m {IsTarget:"false"} + execute if score @s CO.EventTimer.BluteForce matches 61 positioned ^-4 ^ ^28 rotated ~180 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_attack_drone.m {IsTarget:"false"} + execute if score @s CO.EventTimer.BluteForce matches 81 positioned ^4 ^ ^28 rotated ~180 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_attack_drone.m {IsTarget:"false"} + execute if score @s CO.EventTimer.BluteForce matches 101 positioned ^12 ^ ^28 rotated ~180 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_attack_drone.m {IsTarget:"false"} + execute if score @s CO.EventTimer.BluteForce matches 121 positioned ^20 ^ ^28 rotated ~180 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_attack_drone.m {IsTarget:"false"} + execute if score @s CO.EventTimer.BluteForce matches 141 positioned ^28 ^ ^28 rotated ~180 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_attack_drone.m {IsTarget:"false"} + # YEETER + execute if score @s CO.EventTimer.BluteForce matches 1 rotated ~90 ~ positioned ^25 ^ ^28 rotated ~180 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_yeeter_drone.m {IsRotate:"false",IsRotateInverse:"false"} + execute if score @s CO.EventTimer.BluteForce matches 1 rotated ~90 ~ positioned ^12 ^ ^28 rotated ~180 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_yeeter_drone.m {IsRotate:"false",IsRotateInverse:"false"} + +# 2回目 + # ATTACK + execute if score @s CO.EventTimer.BluteForce matches 201 rotated ~-90 ~ positioned ^-28 ^ ^28 rotated ~180 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_attack_drone.m {IsTarget:"false"} + execute if score @s CO.EventTimer.BluteForce matches 221 rotated ~-90 ~ positioned ^-20 ^ ^28 rotated ~180 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_attack_drone.m {IsTarget:"false"} + execute if score @s CO.EventTimer.BluteForce matches 241 rotated ~-90 ~ positioned ^-12 ^ ^28 rotated ~180 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_attack_drone.m {IsTarget:"false"} + execute if score @s CO.EventTimer.BluteForce matches 261 rotated ~-90 ~ positioned ^-4 ^ ^28 rotated ~180 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_attack_drone.m {IsTarget:"false"} + execute if score @s CO.EventTimer.BluteForce matches 281 rotated ~-90 ~ positioned ^4 ^ ^28 rotated ~180 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_attack_drone.m {IsTarget:"false"} + execute if score @s CO.EventTimer.BluteForce matches 301 rotated ~-90 ~ positioned ^12 ^ ^28 rotated ~180 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_attack_drone.m {IsTarget:"false"} + execute if score @s CO.EventTimer.BluteForce matches 321 rotated ~-90 ~ positioned ^20 ^ ^28 rotated ~180 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_attack_drone.m {IsTarget:"false"} + execute if score @s CO.EventTimer.BluteForce matches 341 rotated ~-90 ~ positioned ^28 ^ ^28 rotated ~180 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_attack_drone.m {IsTarget:"false"} + # YEETER + execute if score @s CO.EventTimer.BluteForce matches 201 rotated ~180 ~ positioned ^25 ^ ^28 rotated ~180 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_yeeter_drone.m {IsRotate:"false",IsRotateInverse:"false"} + execute if score @s CO.EventTimer.BluteForce matches 201 rotated ~180 ~ positioned ^12 ^ ^28 rotated ~180 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_yeeter_drone.m {IsRotate:"false",IsRotateInverse:"false"} + +# 終了 + execute if score @s CO.EventTimer.BluteForce matches 400.. run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/async_end diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/upper_shot/async_end.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/upper_shot/async_end.mcfunction index 7b0626437b..55abb016dc 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/upper_shot/async_end.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/upper_shot/async_end.mcfunction @@ -10,4 +10,5 @@ execute unless entity @s[tag=CO.UpperShot.Asyuc] run tag @s remove CO.UpperShot.Pt.Random execute unless entity @s[tag=CO.UpperShot.Asyuc] run tag @s remove CO.UpperShot.Pt.Target execute unless entity @s[tag=CO.UpperShot.Asyuc] run tag @s remove CO.UpperShot.Pt.MoveLine + execute unless entity @s[tag=CO.UpperShot.Asyuc] run tag @s remove CO.UpperShot.Pt.Cross execute unless entity @s[tag=CO.UpperShot.Asyuc] run tag @s remove CO.UpperShot.Pt.Panto diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/upper_shot/async_pattern_cross.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/upper_shot/async_pattern_cross.mcfunction new file mode 100644 index 0000000000..5912c35ac7 --- /dev/null +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/upper_shot/async_pattern_cross.mcfunction @@ -0,0 +1,19 @@ +#> asset:mob/0456.gargo_ex_machina/tick/event/upper_shot/async_pattern_cross +# +# 上空射撃 設置後すぐ別の動きをしてもいいように、攻撃処理だけ非同期で実行 +# +# @within asset:mob/0456.gargo_ex_machina/tick/event/ + +# タイマー増加 + scoreboard players add @s CO.EventTimer.UpperShot 1 + +# 攻撃位置決定 + execute if score @s CO.EventTimer.UpperShot matches 1 at @e[type=marker,tag=CO.CenterPosition,distance=..80,limit=1] rotated 45 0 run function asset:mob/0456.gargo_ex_machina/tick/event/upper_shot/pattern_cross + execute if score @s CO.EventTimer.UpperShot matches 100 at @e[type=marker,tag=CO.CenterPosition,distance=..80,limit=1] rotated 0 0 run function asset:mob/0456.gargo_ex_machina/tick/event/upper_shot/pattern_cross + execute if score @s CO.EventTimer.UpperShot matches 200 at @e[type=marker,tag=CO.CenterPosition,distance=..80,limit=1] rotated 45 0 run function asset:mob/0456.gargo_ex_machina/tick/event/upper_shot/pattern_cross + +# 実行 + execute at @e[type=area_effect_cloud,tag=CO.Aec.UpperShotPosition,distance=..80,sort=random,limit=3] run function asset:mob/0456.gargo_ex_machina/tick/event/upper_shot/attack.m {AttackTime:120} + +# 終了 + execute if score @s CO.EventTimer.UpperShot matches 250.. run function asset:mob/0456.gargo_ex_machina/tick/event/upper_shot/async_end diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/upper_shot/async_pattern_moveline.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/upper_shot/async_pattern_moveline.mcfunction index f1d0147302..f0d9426b85 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/upper_shot/async_pattern_moveline.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/upper_shot/async_pattern_moveline.mcfunction @@ -5,7 +5,7 @@ # @within asset:mob/0456.gargo_ex_machina/tick/event/ # タイマー増加 - execute store result score $Interval Temporary run scoreboard players add @s CO.EventTimer.UpperShot 1 + scoreboard players add @s CO.EventTimer.UpperShot 1 # 攻撃位置決定 # 正面 @@ -29,5 +29,4 @@ execute at @e[type=area_effect_cloud,tag=CO.Aec.UpperShotPosition,distance=..80,sort=random,limit=3] run function asset:mob/0456.gargo_ex_machina/tick/event/upper_shot/attack.m {AttackTime:60} # 終了 - scoreboard players reset $Interval Temporary execute if score @s CO.EventTimer.UpperShot matches 350.. run function asset:mob/0456.gargo_ex_machina/tick/event/upper_shot/async_end diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/upper_shot/pattern_cross.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/upper_shot/pattern_cross.mcfunction new file mode 100644 index 0000000000..db86d6c38c --- /dev/null +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/upper_shot/pattern_cross.mcfunction @@ -0,0 +1,51 @@ +#> asset:mob/0456.gargo_ex_machina/tick/event/upper_shot/pattern_cross +# +# 射撃 +# +# @within asset:mob/0456.gargo_ex_machina/tick/event/upper_shot/async_pattern_cross + +# [ImportKey]: NobwRALgngDgpmAXGANgSwHYIDRgK55oAmSYAbACwBGAhgBwVkDMAtBQxW0QJwDsLNCkU4AzAAxi6YkQEYmTbmJxgMNALYJkgLd8ABDLC4YNAE7qAzknABjAPZ4MEJDLG4Rxm2stgAbjRR5NcAAPJDJcKCQAJjoAXxjcCBsvX39AsBDEMLAIxBZouNwbEREzOEdEFzAqOAAvNDhjJEq0MwAhWvrjAFEARzw-FCgAZSMrOBJEET9SgvBoeFJ0LAN8QgmwOioqGW2yAFYWMSs9mTZpGgFIijEWGV44Peu92X2aFdUNUl1T2xgIwxM5i8tns5WcrncnkQ4BSAS8GRYWRy+XikCS0J8fjhGIRSKQeViqKKJTKTVw1TqDTJYBa7Up3T6A2Go3GSCmKBm8TmsE0qEwygIxFIxV4VDoRBEVBYVhEFCsbAocFOWz2FzIVxoMnGcDETG273UvO+0psfxNfxWRlMagsGJBDiclTcHmSWLSGWi4VCBTRrtS8Pxnuy3qJxVK5UqFM61NpHQavX6KEGIxoYwm7M52G5C2QSwFa1Ie3VTEiIj2dBYdDgVguFAoNAO3CsupYvBkpe4ssiRB2ZANn20enNUGHw8tgJtwLsDsQ4LAzqhMLdAcQQZyiJ9iT92OCgboXtyZB9xPD1KjVIquFj9ITTJTabZ0zgcQAukA_3 +# 線 1-copy-copy-copy +summon area_effect_cloud ^28 ^ ^-6 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^21.77778 ^ ^-6 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^15.55556 ^ ^-6 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^9.33333 ^ ^-6 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^3.11111 ^ ^-6 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^-3.11111 ^ ^-6 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^-9.33333 ^ ^-6 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^-15.55556 ^ ^-6 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^-21.77778 ^ ^-6 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^-28 ^ ^-6 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +# 線 1 +summon area_effect_cloud ^6 ^ ^28 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^6 ^ ^21.77778 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^6 ^ ^15.55556 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^6 ^ ^9.33333 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^6 ^ ^3.11111 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^6 ^ ^-3.11111 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^6 ^ ^-9.33333 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^6 ^ ^-15.55556 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^6 ^ ^-21.77778 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^6 ^ ^-28 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +# 線 1-copy +summon area_effect_cloud ^-6 ^ ^28 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^-6 ^ ^21.77778 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^-6 ^ ^15.55556 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^-6 ^ ^9.33333 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^-6 ^ ^3.11111 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^-6 ^ ^-3.11111 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^-6 ^ ^-9.33333 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^-6 ^ ^-15.55556 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^-6 ^ ^-21.77778 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^-6 ^ ^-28 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +# 線 1-copy-copy +summon area_effect_cloud ^28 ^ ^6 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^21.77778 ^ ^6 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^15.55556 ^ ^6 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^9.33333 ^ ^6 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^3.11111 ^ ^6 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^-3.11111 ^ ^6 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^-9.33333 ^ ^6 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^-15.55556 ^ ^6 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^-21.77778 ^ ^6 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^-28 ^ ^6 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} From 9d8997e04ee259f9f863915b774090c176e03ec4 Mon Sep 17 00:00:00 2001 From: mokkkk Date: Sun, 22 Mar 2026 15:05:23 +0900 Subject: [PATCH 78/98] =?UTF-8?q?remove=E5=87=A6=E7=90=86=E4=BF=AE?= =?UTF-8?q?=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mob/0456.gargo_ex_machina/_index.d.mcfunction | 6 +++--- .../mob/0456.gargo_ex_machina/death/.mcfunction | 3 +++ .../mob/0456.gargo_ex_machina/remove/.mcfunction | 6 ++++++ .../0456.gargo_ex_machina/remove/clone_statue.mcfunction | 9 +++++++++ .../0456.gargo_ex_machina/tick/act/phase_2/.mcfunction | 5 +++-- 5 files changed, 24 insertions(+), 5 deletions(-) create mode 100644 Asset/data/asset/functions/mob/0456.gargo_ex_machina/remove/clone_statue.mcfunction diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/_index.d.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/_index.d.mcfunction index 14d9f05e80..b0c0979f4f 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/_index.d.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/_index.d.mcfunction @@ -125,9 +125,9 @@ #declare function animated_java:gargo_ex_machina/animations/shot_target_spin/tween #declare function animated_java:gargo_ex_machina/animations/shot_upper/tween #declare function animated_java:gargo_ex_machina/animations/summon_punch/tween - #declare function - #declare function - #declare function + #declare function animated_java:gem_attack_drone/remove/all + #declare function animated_java:gem_tnt_drone/remove/all + #declare function animated_java:gem_panjan_drone/remove/all #declare function #declare function #declare function animated_java:gargo_ex_machina/remove/all diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/death/.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/death/.mcfunction index 70efaedab9..bc7787045f 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/death/.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/death/.mcfunction @@ -31,6 +31,9 @@ # function asset:mob/0456.gargo_ex_machina/tick/util/remove_all_tag # オブジェクト消去 + function animated_java:gem_attack_drone/remove/all + function animated_java:gem_tnt_drone/remove/all + function animated_java:gem_panjan_drone/remove/all execute as @e[tag=CO.Object,distance=..160] on passengers run kill @s kill @e[tag=CO.Object,distance=..160] diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/remove/.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/remove/.mcfunction index 394000b971..b9726e91b9 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/remove/.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/remove/.mcfunction @@ -28,5 +28,11 @@ # function asset:mob/0456.gargo_ex_machina/tick/util/remove_all_tag # オブジェクト消去 + function animated_java:gem_attack_drone/remove/all + function animated_java:gem_tnt_drone/remove/all + function animated_java:gem_panjan_drone/remove/all execute as @e[tag=CO.Object,distance=..160] on passengers run kill @s kill @e[tag=CO.Object,distance=..160] + +# 石像移動 + function asset:mob/0456.gargo_ex_machina/remove/clone_statue diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/remove/clone_statue.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/remove/clone_statue.mcfunction new file mode 100644 index 0000000000..c1bf015078 --- /dev/null +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/remove/clone_statue.mcfunction @@ -0,0 +1,9 @@ +#> asset:mob/0456.gargo_ex_machina/remove/clone_statue +# +# Mobのinit時の処理 +# +# @within asset:mob/0456.gargo_ex_machina/remove/ + +# 石像を移動 + execute positioned 520 0 834 run clone ~ ~ ~ ~14 ~19 ~3 ~ 91 ~ + execute positioned 520 0 834 run fill ~ ~ ~ ~14 ~19 ~3 air diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/phase_2/.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/phase_2/.mcfunction index df550fda46..b451ec277b 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/phase_2/.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/phase_2/.mcfunction @@ -5,7 +5,7 @@ # @within asset:mob/0456.gargo_ex_machina/tick/act/ # ループ - # execute if score @s CO.Counter matches 38.. run scoreboard players set @s CO.Counter 10 + execute if score @s CO.Counter matches 54.. run scoreboard players set @s CO.Counter 10 ## ブルートフォース:チュートリアル # 四辺に移動 @@ -138,7 +138,6 @@ execute if score @s CO.Counter matches 48 run tag @s add CO.Skill.UpperShot # 待機 execute if score @s CO.Counter matches 49 as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run scoreboard players set @s CO.IdleTimer 100 - ## ブルートフォース:半面焼きパターン # 剣変形 execute if score @s CO.Counter matches 50 run tag @s add CO.Skill.Transform.Sword @@ -149,3 +148,5 @@ execute if score @s CO.Counter matches 52 run scoreboard players set @s CO.JumpCount 2 execute if score @s CO.Counter matches 52 run scoreboard players set @s CO.PreTimer 120 execute if score @s CO.Counter matches 52 run tag @s add CO.Skill.SuperJump +# 待機 + execute if score @s CO.Counter matches 53 as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run scoreboard players set @s CO.IdleTimer 300 From a7c1e37fca67e3b9e18905016529b545dc3a33d9 Mon Sep 17 00:00:00 2001 From: mokkkk Date: Sun, 22 Mar 2026 16:22:43 +0900 Subject: [PATCH 79/98] =?UTF-8?q?=E5=BE=8C=E5=8D=8A=E6=88=A6=E7=A7=BB?= =?UTF-8?q?=E8=A1=8C=E3=83=A2=E3=83=BC=E3=82=B7=E3=83=A7=E3=83=B3=E4=BD=9C?= =?UTF-8?q?=E6=88=90=E9=96=8B=E5=A7=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../0456.gargo_ex_machina/_index.d.mcfunction | 8 ++- .../0456.gargo_ex_machina/hurt/.mcfunction | 12 ++++ .../0456.gargo_ex_machina/init/.mcfunction | 2 +- .../0456.gargo_ex_machina/register.mcfunction | 2 +- .../tick/act/.mcfunction | 2 +- .../tick/act/phase_2/.mcfunction | 3 +- .../tick/debug/interrupt.mcfunction | 5 +- .../tick/event/.mcfunction | 3 + .../tick/event/activate/.mcfunction | 8 +-- .../activate/clear_dummy_bossbar.mcfunction | 1 + .../tick/event/change_head/.mcfunction | 40 +++++++++++++ .../tick/event/change_head/end.mcfunction | 15 +++++ .../tick/event/change_head/start.mcfunction | 16 +++++ .../event/super_jump/attack_effect.mcfunction | 6 +- .../tick/util/change_model.mcfunction | 8 +++ .../tick/util/stop_all_animations.mcfunction | 58 +++++++++++++++++++ 16 files changed, 174 insertions(+), 15 deletions(-) create mode 100644 Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/change_head/.mcfunction create mode 100644 Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/change_head/end.mcfunction create mode 100644 Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/change_head/start.mcfunction create mode 100644 Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/util/change_model.mcfunction create mode 100644 Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/util/stop_all_animations.mcfunction diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/_index.d.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/_index.d.mcfunction index b0c0979f4f..503154a428 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/_index.d.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/_index.d.mcfunction @@ -11,6 +11,7 @@ #declare tag CO.IsLatter 後半戦 # - スキル #declare tag CO.Skill.Activate 起動 + #declare tag CO.Skill.ChangeHead 後半戦移行 #declare tag CO.Skill.Move 移動 #declare tag CO.Skill.Move.End 移動 #declare tag CO.Skill.Move.Near 近距離移動 @@ -83,11 +84,14 @@ #declare tag aj.global.data #declare tag aj.gargo_ex_machina.animation.idle.playing #declare tag aj.gargo_ex_machina.animation.idle_shot.playing + #declare tag aj.gargo_ex_machina.bone.head #declare function animated_java:gargo_ex_machina/summon #declare function animated_java:gargo_ex_machina/as_own_locator_entities #declare function animated_java:gargo_ex_machina/animations/pause_all #declare function animated_java:gargo_ex_machina/animations/idle/tween #declare function animated_java:gargo_ex_machina/animations/activation/tween + #declare function animated_java:gargo_ex_machina/animations/change_head_start/tween + #declare function animated_java:gargo_ex_machina/animations/change_head/tween #declare function animated_java:gargo_ex_machina/animations/move_to_field_fast/resume #declare function animated_java:gargo_ex_machina/animations/move_to_field_fast/tween #declare function animated_java:gargo_ex_machina/animations/move_to_field_fast/pause @@ -125,9 +129,9 @@ #declare function animated_java:gargo_ex_machina/animations/shot_target_spin/tween #declare function animated_java:gargo_ex_machina/animations/shot_upper/tween #declare function animated_java:gargo_ex_machina/animations/summon_punch/tween + #declare function animated_java:gargo_ex_machina/variants/blue/apply + #declare function animated_java:gargo_ex_machina/remove/all #declare function animated_java:gem_attack_drone/remove/all #declare function animated_java:gem_tnt_drone/remove/all #declare function animated_java:gem_panjan_drone/remove/all #declare function - #declare function - #declare function animated_java:gargo_ex_machina/remove/all diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/hurt/.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/hurt/.mcfunction index d1cc3aaf32..7269117ef5 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/hurt/.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/hurt/.mcfunction @@ -6,3 +6,15 @@ # 継承元の処理実行 function asset:mob/super.hurt + +# 効果音 + playsound entity.generic.hurt hostile @a ~ ~ ~ 1 1 + +# フェーズ処理 + # 残HP割合取得 + function api:mob/get_health_percent + execute store result score $HealthPer Temporary run data get storage api: Return.HealthPer 100 + # フェーズ移行 + execute unless entity @s[tag=CO.IsLatter] if score $HealthPer Temporary matches ..60 run function asset:mob/0456.gargo_ex_machina/tick/event/change_head/start + # 終了 + scoreboard players reset $HealthPer Temporary diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/init/.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/init/.mcfunction index 875acacb0e..dee691ecc7 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/init/.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/init/.mcfunction @@ -36,4 +36,4 @@ tag @s add CO.Skill.Activate # デバッグ - tag @s add CO.IsLatter + # tag @s add CO.IsLatter diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/register.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/register.mcfunction index 06d642c681..009933a744 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/register.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/register.mcfunction @@ -21,7 +21,7 @@ # Mobの説明文 (TextComponentString[]) (オプション) data modify storage asset:mob Lore set value ['{"text":"ほげ"}'] # 体力 (double) (オプション) - data modify storage asset:mob Health set value 10000 + data modify storage asset:mob Health set value 100 # 属性倍率 // 1.0fで100% 最低でも25%は軽減されずに入る # 物理倍率 (float) (オプション) data modify storage asset:mob Resist.Physical set value 1.0f diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/.mcfunction index bd83ede976..c5fc60b17f 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/.mcfunction @@ -5,7 +5,7 @@ # @within asset:mob/0456.gargo_ex_machina/tick/** # debug - # return 0 + return 0 # 行動リセット function asset:mob/0456.gargo_ex_machina/tick/util/remove_animation_tag diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/phase_2/.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/phase_2/.mcfunction index b451ec277b..19a8ec105e 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/phase_2/.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/phase_2/.mcfunction @@ -85,6 +85,7 @@ execute if score @s CO.Counter matches 27 as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run scoreboard players set @s CO.IdleTimer 220 # ロケットパンチ3回目 execute if score @s CO.Counter matches 28 as @e[type=marker,tag=CO.CenterPosition,distance=..80,limit=1] at @s run tp @s ~ ~ ~ ~180 0 + execute if score @s CO.Counter matches 25 run tag @s add CO.Skill.RocketPunch.Alter execute if score @s CO.Counter matches 28 run scoreboard players set @s CO.PreTimer 180 execute if score @s CO.Counter matches 28 run tag @s add CO.Skill.RocketPunch # 四隅に移動 @@ -137,7 +138,7 @@ execute if score @s CO.Counter matches 48 run tag @s add CO.UpperShot.Pt.Cross execute if score @s CO.Counter matches 48 run tag @s add CO.Skill.UpperShot # 待機 - execute if score @s CO.Counter matches 49 as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run scoreboard players set @s CO.IdleTimer 100 + execute if score @s CO.Counter matches 49 as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run scoreboard players set @s CO.IdleTimer 180 ## ブルートフォース:半面焼きパターン # 剣変形 execute if score @s CO.Counter matches 50 run tag @s add CO.Skill.Transform.Sword diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/debug/interrupt.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/debug/interrupt.mcfunction index d185d37de1..9361a39f58 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/debug/interrupt.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/debug/interrupt.mcfunction @@ -18,5 +18,6 @@ # execute at @s run tp @e[type=item_display,tag=CO.ModelRoot] ~ ~ ~ ~ 0 # イベント実行 - tag @s add CO.Skill.BluteForce - tag @s add CO.Skill.BluteForce.Pt.HalfInv + tag @s add CO.Skill.ChangeHead + # tag @s add CO.Skill.BluteForce + # tag @s add CO.Skill.BluteForce.Pt.HalfInv diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/.mcfunction index f8c04422fb..20c6855690 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/.mcfunction @@ -10,6 +10,9 @@ # 起動 execute if entity @s[tag=CO.Skill.Activate] run function asset:mob/0456.gargo_ex_machina/tick/event/activate/ +# 後半戦移行 + execute if entity @s[tag=CO.Skill.ChangeHead] run function asset:mob/0456.gargo_ex_machina/tick/event/change_head/ + # 変形 execute if entity @s[tag=CO.Skill.Transform.Shoot] run function asset:mob/0456.gargo_ex_machina/tick/event/transform_shoot/ execute if entity @s[tag=CO.Skill.Transform.Sword] run function asset:mob/0456.gargo_ex_machina/tick/event/transform_sword/ diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/activate/.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/activate/.mcfunction index a042fc0d44..dc362fb469 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/activate/.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/activate/.mcfunction @@ -37,10 +37,10 @@ # 効果音 execute if score @s CO.EventTimer matches 205 positioned as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run function asset:mob/0456.gargo_ex_machina/tick/util/sound execute if score @s CO.EventTimer matches 227 positioned as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run function asset:mob/0456.gargo_ex_machina/tick/util/sound - execute if score @s CO.EventTimer matches 251 run playsound entity.ravager.step hostile @a ~ ~ ~ 2 0.7 - execute if score @s CO.EventTimer matches 251 run playsound entity.ravager.step hostile @a ~ ~ ~ 2 0.6 - execute if score @s CO.EventTimer matches 251 run playsound entity.ravager.step hostile @a ~ ~ ~ 2 0.5 - execute if score @s CO.EventTimer matches 251 run playsound entity.generic.explode hostile @a ~ ~ ~ 2 0.8 + execute if score @s CO.EventTimer matches 251 positioned ~ ~20 ~ run playsound entity.ravager.step hostile @a[distance=..100] ~ ~ ~ 0 0.7 0.5 + execute if score @s CO.EventTimer matches 251 positioned ~ ~20 ~ run playsound entity.ravager.step hostile @a[distance=..100] ~ ~ ~ 0 0.6 0.5 + execute if score @s CO.EventTimer matches 251 positioned ~ ~20 ~ run playsound entity.ravager.step hostile @a[distance=..100] ~ ~ ~ 0 0.5 0.5 + execute if score @s CO.EventTimer matches 251 positioned ~ ~20 ~ run playsound entity.generic.explode hostile @a[distance=..100] ~ ~ ~ 0 0.8 1 execute if score @s CO.EventTimer matches 251 as @a[distance=..80] at @s run tp @s ~ ~ ~ ~ ~2 execute if score @s CO.EventTimer matches 252 as @a[distance=..80] at @s run tp @s ~ ~ ~ ~ ~-4 execute if score @s CO.EventTimer matches 253 as @a[distance=..80] at @s run tp @s ~ ~ ~ ~ ~4 diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/activate/clear_dummy_bossbar.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/activate/clear_dummy_bossbar.mcfunction index 83619099f4..b6377914ce 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/activate/clear_dummy_bossbar.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/activate/clear_dummy_bossbar.mcfunction @@ -7,6 +7,7 @@ #declare score_holder $TempValue # ひつじBossbar表示 + bossbar set asset:co_scape_sheep name {"text":"逆襲のひつじしゃん","strikethrough":true} scoreboard players set $TempValue Global 0 execute store result bossbar asset:co_scape_sheep value run scoreboard players get $TempValue Global scoreboard players reset $TempValue diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/change_head/.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/change_head/.mcfunction new file mode 100644 index 0000000000..ddef292808 --- /dev/null +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/change_head/.mcfunction @@ -0,0 +1,40 @@ +#> asset:mob/0456.gargo_ex_machina/tick/event/change_head/ +# +# 後半戦移行 +# +# @within asset:mob/0456.gargo_ex_machina/tick/event/ + +# タイマー増加 + scoreboard players add @s CO.EventTimer 1 + +# アニメーション再生 + execute if score @s CO.EventTimer matches 1 as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run function animated_java:gargo_ex_machina/animations/change_head_start/tween {duration:1, to_frame: 1} + execute if score @s CO.EventTimer matches 200 as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run function animated_java:gargo_ex_machina/animations/change_head/tween {duration:1, to_frame: 1} + +# 演出 + execute if score @s CO.EventTimer matches 1 run playsound entity.item.break hostile @a ~ ~ ~ 3 0.5 + execute if score @s CO.EventTimer matches 1 run playsound entity.item.break hostile @a ~ ~ ~ 3 0.7 + execute if score @s CO.EventTimer matches 1 run playsound block.beacon.deactivate hostile @a ~ ~ ~ 4 1.9 + execute if score @s CO.EventTimer matches 1 run playsound block.beacon.deactivate hostile @a ~ ~ ~ 4 1.7 + execute if score @s CO.EventTimer matches 201 run function asset:mob/0456.gargo_ex_machina/tick/util/sound + execute if score @s CO.EventTimer matches 215 run playsound block.beacon.power_select hostile @a ~ ~ ~ 4 1.5 + execute if score @s CO.EventTimer matches 215 run playsound block.beacon.power_select hostile @a ~ ~ ~ 4 1.7 + execute if score @s CO.EventTimer matches 244 run function asset:mob/0456.gargo_ex_machina/tick/util/sound + execute if score @s CO.EventTimer matches 295 run playsound block.end_portal_frame.fill hostile @a ~ ~ ~ 4 1.0 + execute if score @s CO.EventTimer matches 295 run playsound block.end_portal_frame.fill hostile @a ~ ~ ~ 4 0.8 + # 画面エフェクト + execute if score @s CO.EventTimer matches 324 run title @a[distance=..160] times 3 0 5 + execute if score @s CO.EventTimer matches 324 run title @a[distance=..160] title {"text":"\uE010","font":"screen_effect","color":"#E8E8E8"} + execute if score @s CO.EventTimer matches 325 run playsound entity.wither.spawn hostile @a[distance=..80] ~ ~ ~ 0.5 1 0.5 + execute if score @s CO.EventTimer matches 325 run playsound minecraft:block.end_portal.spawn hostile @a[distance=..80] ~ ~ ~ 0.5 1 0.5 + execute if score @s CO.EventTimer matches 325 run playsound item.trident.thunder hostile @a[distance=..80] ~ ~ ~ 0.4 0.6 0.4 + # モデル変更 + execute if score @s CO.EventTimer matches 295 run function asset:mob/0456.gargo_ex_machina/tick/util/change_model + execute if score @s CO.EventTimer matches 328 as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run function animated_java:gargo_ex_machina/variants/blue/apply + +# ボス名変更 + execute if score @s CO.EventTimer matches 1 run function asset:mob/0456.gargo_ex_machina/tick/util/change_bossbar_name.m {Name:"絡繰仕掛の石像",Visible:"false"} + execute if score @s CO.EventTimer matches 325 run function asset:mob/0456.gargo_ex_machina/tick/util/change_bossbar_name.m {Name:"絡繰仕掛の石像",Visible:"true"} + +# 終了 + execute if score @s CO.EventTimer matches 380.. run function asset:mob/0456.gargo_ex_machina/tick/event/change_head/end diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/change_head/end.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/change_head/end.mcfunction new file mode 100644 index 0000000000..f1bfbb614c --- /dev/null +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/change_head/end.mcfunction @@ -0,0 +1,15 @@ +#> asset:mob/0456.gargo_ex_machina/tick/event/change_head/end +# +# 起動 +# +# @within asset:mob/0456.gargo_ex_machina/tick/event/change_head/ + +# タグ消去 + scoreboard players set @s CO.EventTimer 0 + tag @s remove CO.Skill.ChangeHead + +# 待機モーション再生 + execute as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run function animated_java:gargo_ex_machina/animations/idle/tween {duration:1, to_frame: 1} + +# 行動 + # function asset:mob/0410.heiloang/tick/act/ diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/change_head/start.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/change_head/start.mcfunction new file mode 100644 index 0000000000..968b210725 --- /dev/null +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/change_head/start.mcfunction @@ -0,0 +1,16 @@ +#> asset:mob/0456.gargo_ex_machina/tick/event/change_head/start +# +# 後半戦移行 +# +# @within asset:mob/0456.gargo_ex_machina/hurt/ + +# 全アニメーション停止 + function asset:mob/0456.gargo_ex_machina/tick/util/stop_all_animations + +# イベント実行 + tag @s add CO.Skill.ChangeHead + +# フェーズ以降など + scoreboard players set @s CO.EventTimer 0 + scoreboard players set @s CO.Counter 0 + tag @s add CO.IsLatter diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/super_jump/attack_effect.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/super_jump/attack_effect.mcfunction index a1054764c6..d1eb704297 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/super_jump/attack_effect.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/super_jump/attack_effect.mcfunction @@ -5,9 +5,9 @@ # @within asset:mob/0456.gargo_ex_machina/tick/event/super_jump/attack # 効果音 - playsound entity.generic.explode hostile @a ~ ~ ~ 2 0.5 - playsound entity.iron_golem.death hostile @a ~ ~ ~ 2 0.5 - playsound entity.wither.break_block hostile @a ~ ~ ~ 2 0.7 + execute positioned ~ ~50 ~ run playsound entity.generic.explode hostile @a[distance=..150] ~ ~ ~ 2 0.5 0.7 + execute positioned ~ ~50 ~ run playsound entity.iron_golem.death hostile @a[distance=..150] ~ ~ ~ 2 0.5 0.7 + execute positioned ~ ~50 ~ run playsound entity.wither.break_block hostile @a[distance=..150] ~ ~ ~ 2 0.7 0.7 # パーティクル particle explosion ~ ~1 ~ 5 2 5 0 30 diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/util/change_model.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/util/change_model.mcfunction new file mode 100644 index 0000000000..0eba97c86a --- /dev/null +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/util/change_model.mcfunction @@ -0,0 +1,8 @@ +#> asset:mob/0456.gargo_ex_machina/tick/util/change_model +# +# ボス名変更 +# +# @within asset:mob/0456.gargo_ex_machina/tick/** + +# モデル変更 + execute as @e[type=item_display,tag=aj.gargo_ex_machina.bone.head,sort=nearest,limit=1] run data modify entity @s item.tag.CustomModelData set value 999 diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/util/stop_all_animations.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/util/stop_all_animations.mcfunction new file mode 100644 index 0000000000..d82febc970 --- /dev/null +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/util/stop_all_animations.mcfunction @@ -0,0 +1,58 @@ +#> asset:mob/0456.gargo_ex_machina/tick/util/stop_all_animations +# +# 全アニメーション停止 +# +# @within asset:mob/0456.gargo_ex_machina/tick/** + +# 行動停止 + tag @s remove CO.Skill.Activate + tag @s remove CO.Skill.ChangeHead + tag @s remove CO.Skill.Move + tag @s remove CO.Skill.Move.End + tag @s remove CO.Skill.Move.Near + tag @s remove CO.Skill.SwordAttack + tag @s remove CO.Skill.SwordAttack.Charge + tag @s remove CO.Skill.SwordAttack.Attack + tag @s remove CO.Skill.SwordAttack.Double + tag @s remove CO.Skill.HalfBeam + tag @s remove CO.Skill.HalfBeam.Charge + tag @s remove CO.Skill.HalfBeam.Attack + tag @s remove CO.Skill.HalfBeam.IsRight + tag @s remove CO.Skill.HalfBeamSword + tag @s remove CO.Skill.HalfBeamSword.Charge + tag @s remove CO.Skill.HalfBeamSword.Attack + tag @s remove CO.Skill.HalfBeamSword.IsRight + tag @s remove CO.Skill.HalfBeamShot + tag @s remove CO.Skill.HalfBeamShot.Charge + tag @s remove CO.Skill.HalfBeamShot.Attack + tag @s remove CO.Skill.HalfBeamShot.IsRight + tag @s remove CO.Skill.SuperJump + tag @s remove CO.Skill.SuperJump.Attack + tag @s remove CO.Skill.FieldModify + tag @s remove CO.Skill.Transform.Shoot + tag @s remove CO.Skill.Transform.Sword + tag @s remove CO.Skill.RocketPunch + tag @s remove CO.Skill.RocketPunch.Cross + tag @s remove CO.Skill.RocketPunch.Alter + tag @s remove CO.Skill.RocketPunch.AlterInv + tag @s remove CO.Skill.Shot + tag @s remove CO.Skill.UpperShot + tag @s remove CO.UpperShot.Asyuc + tag @s remove CO.UpperShot.Pt.Random + tag @s remove CO.UpperShot.Pt.Target + tag @s remove CO.UpperShot.Pt.MoveLine + tag @s remove CO.UpperShot.Pt.Cross + tag @s remove CO.UpperShot.Pt.Panto + tag @s remove CO.Skill.BluteForce + tag @s remove CO.Skill.BluteForce.First + tag @s remove CO.Skill.BluteForce.Async + tag @s remove CO.Skill.BluteForce.Pt.Tutorial + tag @s remove CO.Skill.BluteForce.Pt.Spin + tag @s remove CO.Skill.BluteForce.Pt.SpinInv + tag @s remove CO.Skill.BluteForce.Pt.Exa + tag @s remove CO.Skill.BluteForce.Pt.ExaInv + tag @s remove CO.Skill.BluteForce.Pt.Half + tag @s remove CO.Skill.BluteForce.Pt.HalfInv + +# アニメーション停止 + execute as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run function animated_java:gargo_ex_machina/animations/pause_all From 7ed23e0c636160a48c5627f25bc060703b0b1637 Mon Sep 17 00:00:00 2001 From: mokkkk Date: Sun, 22 Mar 2026 16:26:47 +0900 Subject: [PATCH 80/98] =?UTF-8?q?=E7=84=A1=E6=95=B5=E5=8C=96=E5=87=A6?= =?UTF-8?q?=E7=90=86=E5=AE=9F=E8=A3=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../tick/event/activate/.mcfunction | 4 ++++ .../tick/event/change_head/.mcfunction | 4 ++++ .../tick/util/change_bossbar_color.m.mcfunction | 8 ++++++++ .../tick/util/end_invulnerable.mcfunction | 14 ++++++++++++++ .../tick/util/end_invulnerable_locator.mcfunction | 9 +++++++++ .../tick/util/start_invulnerable.mcfunction | 14 ++++++++++++++ .../util/start_invulnerable_locator.mcfunction | 9 +++++++++ 7 files changed, 62 insertions(+) create mode 100644 Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/util/change_bossbar_color.m.mcfunction create mode 100644 Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/util/end_invulnerable.mcfunction create mode 100644 Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/util/end_invulnerable_locator.mcfunction create mode 100644 Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/util/start_invulnerable.mcfunction create mode 100644 Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/util/start_invulnerable_locator.mcfunction diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/activate/.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/activate/.mcfunction index dc362fb469..5b9a2cc34e 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/activate/.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/activate/.mcfunction @@ -58,5 +58,9 @@ execute if score @s CO.EventTimer matches 251 run function asset:mob/0456.gargo_ex_machina/tick/event/activate/clear_dummy_bossbar execute if score @s CO.EventTimer matches 300 run bossbar remove asset:co_scape_sheep +# 無敵化 + execute if score @s CO.EventTimer matches 1 run function asset:mob/0456.gargo_ex_machina/tick/util/start_invulnerable + execute if score @s CO.EventTimer matches 350 run function asset:mob/0456.gargo_ex_machina/tick/util/end_invulnerable + # 終了 execute if score @s CO.EventTimer matches 351.. run function asset:mob/0456.gargo_ex_machina/tick/event/activate/end diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/change_head/.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/change_head/.mcfunction index ddef292808..a61de1fd95 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/change_head/.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/change_head/.mcfunction @@ -36,5 +36,9 @@ execute if score @s CO.EventTimer matches 1 run function asset:mob/0456.gargo_ex_machina/tick/util/change_bossbar_name.m {Name:"絡繰仕掛の石像",Visible:"false"} execute if score @s CO.EventTimer matches 325 run function asset:mob/0456.gargo_ex_machina/tick/util/change_bossbar_name.m {Name:"絡繰仕掛の石像",Visible:"true"} +# 無敵化 + execute if score @s CO.EventTimer matches 1 run function asset:mob/0456.gargo_ex_machina/tick/util/start_invulnerable + execute if score @s CO.EventTimer matches 379 run function asset:mob/0456.gargo_ex_machina/tick/util/end_invulnerable + # 終了 execute if score @s CO.EventTimer matches 380.. run function asset:mob/0456.gargo_ex_machina/tick/event/change_head/end diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/util/change_bossbar_color.m.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/util/change_bossbar_color.m.mcfunction new file mode 100644 index 0000000000..efcfced2fa --- /dev/null +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/util/change_bossbar_color.m.mcfunction @@ -0,0 +1,8 @@ +#> asset:mob/0456.gargo_ex_machina/tick/util/change_bossbar_color.m +# +# 汎用処理 ボスバー色変更 +# +# @within asset:mob/0456.gargo_ex_machina/tick/** + +# bossbar色変更 + $bossbar set asset:angel$(MobUUID) color $(Color) diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/util/end_invulnerable.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/util/end_invulnerable.mcfunction new file mode 100644 index 0000000000..b59cdc0667 --- /dev/null +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/util/end_invulnerable.mcfunction @@ -0,0 +1,14 @@ +#> asset:mob/0456.gargo_ex_machina/tick/util/end_invulnerable +# +# 汎用処理 無敵化解除 +# +# @within asset:mob/0456.gargo_ex_machina/tick/** + +# bossbarの色変更 + execute store result storage asset:temp CO.MobUUID int 1 run scoreboard players get @s MobUUID + data modify storage asset:temp CO.Color set value "pink" + function asset:mob/0456.gargo_ex_machina/tick/util/change_bossbar_color.m with storage asset:temp CO + data remove storage asset:temp CO + +# 全Locator無敵化解除 + execute as @e[type=item_display,tag=CO.ModelRoot] run function animated_java:gargo_ex_machina/as_own_locator_entities {command:'function asset:mob/0456.gargo_ex_machina/tick/util/end_invulnerable_locator'} diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/util/end_invulnerable_locator.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/util/end_invulnerable_locator.mcfunction new file mode 100644 index 0000000000..183a2c9530 --- /dev/null +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/util/end_invulnerable_locator.mcfunction @@ -0,0 +1,9 @@ +#> asset:mob/0456.gargo_ex_machina/tick/util/end_invulnerable_locator +# +# 汎用処理 無敵化解除 +# +# @within asset:mob/0456.gargo_ex_machina/tick/util/end_invulnerable + +# 無敵化解除 + data modify entity @s Invulnerable set value false + tag @s remove Uninterferable diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/util/start_invulnerable.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/util/start_invulnerable.mcfunction new file mode 100644 index 0000000000..3bd5a90409 --- /dev/null +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/util/start_invulnerable.mcfunction @@ -0,0 +1,14 @@ +#> asset:mob/0456.gargo_ex_machina/tick/util/start_invulnerable +# +# 汎用処理 無敵化 +# +# @within asset:mob/0456.gargo_ex_machina/tick/** + +# bossbarの色変更 + execute store result storage asset:temp CO.MobUUID int 1 run scoreboard players get @s MobUUID + data modify storage asset:temp CO.Color set value "white" + function asset:mob/0456.gargo_ex_machina/tick/util/change_bossbar_color.m with storage asset:temp CO + data remove storage asset:temp CO + +# 全Locatorを無敵化 + execute as @e[type=item_display,tag=CO.ModelRoot] run function animated_java:gargo_ex_machina/as_own_locator_entities {command:'function asset:mob/0456.gargo_ex_machina/tick/util/start_invulnerable_locator'} diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/util/start_invulnerable_locator.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/util/start_invulnerable_locator.mcfunction new file mode 100644 index 0000000000..8c144564d9 --- /dev/null +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/util/start_invulnerable_locator.mcfunction @@ -0,0 +1,9 @@ +#> asset:mob/0456.gargo_ex_machina/tick/util/start_invulnerable_locator +# +# 汎用処理 無敵化 +# +# @within asset:mob/0456.gargo_ex_machina/tick/util/start_invulnerable + +# 無敵化 + data modify entity @s Invulnerable set value true + tag @s add Uninterferable From 60376429147a80bdacef2d99d872b9806353f960 Mon Sep 17 00:00:00 2001 From: mokkkk Date: Sun, 22 Mar 2026 16:41:55 +0900 Subject: [PATCH 81/98] =?UTF-8?q?=E3=83=9C=E3=82=B9=E3=83=90=E3=83=BC?= =?UTF-8?q?=E8=A1=A8=E7=A4=BA=E3=82=92=E6=94=B9=E5=96=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mob/0456.gargo_ex_machina/hurt/.mcfunction | 2 +- .../mob/0456.gargo_ex_machina/register.mcfunction | 1 + .../tick/event/change_head/.mcfunction | 13 ++++++++++--- .../tick/event/change_head/start.mcfunction | 8 +++++++- .../tick/event/super_jump/event_attack.mcfunction | 3 +++ .../tick/event/super_jump/event_start.mcfunction | 3 +++ 6 files changed, 25 insertions(+), 5 deletions(-) diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/hurt/.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/hurt/.mcfunction index 7269117ef5..d2142a78ac 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/hurt/.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/hurt/.mcfunction @@ -15,6 +15,6 @@ function api:mob/get_health_percent execute store result score $HealthPer Temporary run data get storage api: Return.HealthPer 100 # フェーズ移行 - execute unless entity @s[tag=CO.IsLatter] if score $HealthPer Temporary matches ..60 run function asset:mob/0456.gargo_ex_machina/tick/event/change_head/start + execute unless entity @s[tag=CO.IsLatter] if score $HealthPer Temporary matches ..20 run function asset:mob/0456.gargo_ex_machina/tick/event/change_head/start # 終了 scoreboard players reset $HealthPer Temporary diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/register.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/register.mcfunction index 009933a744..c89168e866 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/register.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/register.mcfunction @@ -21,6 +21,7 @@ # Mobの説明文 (TextComponentString[]) (オプション) data modify storage asset:mob Lore set value ['{"text":"ほげ"}'] # 体力 (double) (オプション) +# 前後半戦で回復するので実態の半分の値を入れる data modify storage asset:mob Health set value 100 # 属性倍率 // 1.0fで100% 最低でも25%は軽減されずに入る # 物理倍率 (float) (オプション) diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/change_head/.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/change_head/.mcfunction index a61de1fd95..0a18a9a8b4 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/change_head/.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/change_head/.mcfunction @@ -14,8 +14,15 @@ # 演出 execute if score @s CO.EventTimer matches 1 run playsound entity.item.break hostile @a ~ ~ ~ 3 0.5 execute if score @s CO.EventTimer matches 1 run playsound entity.item.break hostile @a ~ ~ ~ 3 0.7 - execute if score @s CO.EventTimer matches 1 run playsound block.beacon.deactivate hostile @a ~ ~ ~ 4 1.9 - execute if score @s CO.EventTimer matches 1 run playsound block.beacon.deactivate hostile @a ~ ~ ~ 4 1.7 + execute if score @s CO.EventTimer matches 2 positioned ~ ~30 ~ run playsound entity.generic.explode hostile @a[distance=..80] ~ ~ ~ 0.5 1 0.5 + execute if score @s CO.EventTimer matches 7 positioned ~ ~30 ~ run playsound entity.generic.explode hostile @a[distance=..80] ~ ~ ~ 0.5 1 0.5 + execute if score @s CO.EventTimer matches 12 positioned ~ ~30 ~ run playsound entity.generic.explode hostile @a[distance=..80] ~ ~ ~ 0.5 1 0.5 + execute if score @s CO.EventTimer matches 17 positioned ~ ~30 ~ run playsound entity.generic.explode hostile @a[distance=..80] ~ ~ ~ 0.5 1 0.5 + execute if score @s CO.EventTimer matches 22 positioned ~ ~30 ~ run playsound entity.generic.explode hostile @a[distance=..80] ~ ~ ~ 0.5 1 0.5 + execute if score @s CO.EventTimer matches 27 positioned ~ ~30 ~ run playsound entity.generic.explode hostile @a[distance=..80] ~ ~ ~ 0.5 1 0.5 + execute if score @s CO.EventTimer matches 1..30 run particle explosion ~ ~20 ~ 4 7 4 0 3 + execute if score @s CO.EventTimer matches 20 run playsound block.beacon.deactivate hostile @a ~ ~ ~ 4 1.3 + execute if score @s CO.EventTimer matches 20 run playsound block.beacon.deactivate hostile @a ~ ~ ~ 4 1.1 execute if score @s CO.EventTimer matches 201 run function asset:mob/0456.gargo_ex_machina/tick/util/sound execute if score @s CO.EventTimer matches 215 run playsound block.beacon.power_select hostile @a ~ ~ ~ 4 1.5 execute if score @s CO.EventTimer matches 215 run playsound block.beacon.power_select hostile @a ~ ~ ~ 4 1.7 @@ -35,7 +42,7 @@ # ボス名変更 execute if score @s CO.EventTimer matches 1 run function asset:mob/0456.gargo_ex_machina/tick/util/change_bossbar_name.m {Name:"絡繰仕掛の石像",Visible:"false"} execute if score @s CO.EventTimer matches 325 run function asset:mob/0456.gargo_ex_machina/tick/util/change_bossbar_name.m {Name:"絡繰仕掛の石像",Visible:"true"} - + # 無敵化 execute if score @s CO.EventTimer matches 1 run function asset:mob/0456.gargo_ex_machina/tick/util/start_invulnerable execute if score @s CO.EventTimer matches 379 run function asset:mob/0456.gargo_ex_machina/tick/util/end_invulnerable diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/change_head/start.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/change_head/start.mcfunction index 968b210725..013be898fe 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/change_head/start.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/change_head/start.mcfunction @@ -10,7 +10,13 @@ # イベント実行 tag @s add CO.Skill.ChangeHead -# フェーズ以降など +# フェーズ移行など scoreboard players set @s CO.EventTimer 0 scoreboard players set @s CO.Counter 0 tag @s add CO.IsLatter + +# 最大HPの100%分回復 + function api:mob/get_max_health + execute store result storage api: Argument.Delta double 1.0 run data get storage api: Return.MaxHealth 1 + function api:mob/modify_health + function asset:mob/call.m {method: "update_bossbar"} diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/super_jump/event_attack.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/super_jump/event_attack.mcfunction index bdc4be9848..37b60e8a3c 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/super_jump/event_attack.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/super_jump/event_attack.mcfunction @@ -34,5 +34,8 @@ # 継続 execute if score @s CO.EventTimer matches 90 if score @s CO.JumpCount matches 1.. run function asset:mob/0456.gargo_ex_machina/tick/event/super_jump/continue +# 無敵化 + execute if score @s CO.EventTimer matches 80 run function asset:mob/0456.gargo_ex_machina/tick/util/end_invulnerable + # 終了 execute if score @s CO.EventTimer matches 139.. run function asset:mob/0456.gargo_ex_machina/tick/event/super_jump/end diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/super_jump/event_start.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/super_jump/event_start.mcfunction index ef081ab953..eb30300011 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/super_jump/event_start.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/super_jump/event_start.mcfunction @@ -29,5 +29,8 @@ # モデルを合わせる execute as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run tp @s ~ ~ ~ ~ ~ +# 無敵化 + execute if score @s CO.EventTimer matches 20 run function asset:mob/0456.gargo_ex_machina/tick/util/start_invulnerable + # 攻撃に移行 execute if score @s CO.EventTimer >= @s CO.PreTimer run function asset:mob/0456.gargo_ex_machina/tick/event/super_jump/start_attack From 755a71ded07d7e808ba5ab9138ca8fab74feb63c Mon Sep 17 00:00:00 2001 From: mokkkk Date: Sun, 22 Mar 2026 17:41:29 +0900 Subject: [PATCH 82/98] =?UTF-8?q?=E5=BE=8C=E5=8D=8A=E6=88=A6=E7=A7=BB?= =?UTF-8?q?=E8=A1=8C=E6=BC=94=E5=87=BA=E4=BD=9C=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../tick/event/change_head/.mcfunction | 42 +++++--- .../tick/event/change_head/attack.mcfunction | 102 ++++++++++++++++++ .../event/change_head/prediction.mcfunction | 13 +++ .../tick/event/change_head/start.mcfunction | 6 -- .../event/upper_shot/pattern_cross.mcfunction | 66 ++++-------- .../util/change_bossbar_name.m.mcfunction | 6 ++ 6 files changed, 168 insertions(+), 67 deletions(-) create mode 100644 Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/change_head/attack.mcfunction create mode 100644 Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/change_head/prediction.mcfunction diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/change_head/.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/change_head/.mcfunction index 0a18a9a8b4..2a8dfbf90d 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/change_head/.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/change_head/.mcfunction @@ -20,32 +20,40 @@ execute if score @s CO.EventTimer matches 17 positioned ~ ~30 ~ run playsound entity.generic.explode hostile @a[distance=..80] ~ ~ ~ 0.5 1 0.5 execute if score @s CO.EventTimer matches 22 positioned ~ ~30 ~ run playsound entity.generic.explode hostile @a[distance=..80] ~ ~ ~ 0.5 1 0.5 execute if score @s CO.EventTimer matches 27 positioned ~ ~30 ~ run playsound entity.generic.explode hostile @a[distance=..80] ~ ~ ~ 0.5 1 0.5 - execute if score @s CO.EventTimer matches 1..30 run particle explosion ~ ~20 ~ 4 7 4 0 3 + execute if score @s CO.EventTimer matches 1..30 run particle explosion ~ ~20 ~ 4 7 4 0 5 force @a[distance=..80] execute if score @s CO.EventTimer matches 20 run playsound block.beacon.deactivate hostile @a ~ ~ ~ 4 1.3 execute if score @s CO.EventTimer matches 20 run playsound block.beacon.deactivate hostile @a ~ ~ ~ 4 1.1 - execute if score @s CO.EventTimer matches 201 run function asset:mob/0456.gargo_ex_machina/tick/util/sound - execute if score @s CO.EventTimer matches 215 run playsound block.beacon.power_select hostile @a ~ ~ ~ 4 1.5 - execute if score @s CO.EventTimer matches 215 run playsound block.beacon.power_select hostile @a ~ ~ ~ 4 1.7 - execute if score @s CO.EventTimer matches 244 run function asset:mob/0456.gargo_ex_machina/tick/util/sound - execute if score @s CO.EventTimer matches 295 run playsound block.end_portal_frame.fill hostile @a ~ ~ ~ 4 1.0 - execute if score @s CO.EventTimer matches 295 run playsound block.end_portal_frame.fill hostile @a ~ ~ ~ 4 0.8 + execute if score @s CO.EventTimer matches 228 run function asset:mob/0456.gargo_ex_machina/tick/util/sound + execute if score @s CO.EventTimer matches 246 run playsound block.iron_door.close hostile @a ~ ~ ~ 4 0.7 + execute if score @s CO.EventTimer matches 246 run playsound block.iron_door.close hostile @a ~ ~ ~ 4 0.5 + execute if score @s CO.EventTimer matches 256 run playsound block.end_portal_frame.fill hostile @a ~ ~ ~ 4 1.0 + execute if score @s CO.EventTimer matches 256 run playsound block.end_portal_frame.fill hostile @a ~ ~ ~ 4 0.8 # 画面エフェクト - execute if score @s CO.EventTimer matches 324 run title @a[distance=..160] times 3 0 5 - execute if score @s CO.EventTimer matches 324 run title @a[distance=..160] title {"text":"\uE010","font":"screen_effect","color":"#E8E8E8"} - execute if score @s CO.EventTimer matches 325 run playsound entity.wither.spawn hostile @a[distance=..80] ~ ~ ~ 0.5 1 0.5 - execute if score @s CO.EventTimer matches 325 run playsound minecraft:block.end_portal.spawn hostile @a[distance=..80] ~ ~ ~ 0.5 1 0.5 - execute if score @s CO.EventTimer matches 325 run playsound item.trident.thunder hostile @a[distance=..80] ~ ~ ~ 0.4 0.6 0.4 + execute if score @s CO.EventTimer matches 279 run title @a[distance=..160] times 3 0 5 + execute if score @s CO.EventTimer matches 279 run title @a[distance=..160] title {"text":"\uE010","font":"screen_effect","color":"#E8E8E8"} + execute if score @s CO.EventTimer matches 280 run playsound entity.wither.spawn hostile @a[distance=..80] ~ ~ ~ 0.5 1 0.5 + execute if score @s CO.EventTimer matches 280 run playsound minecraft:block.end_portal.spawn hostile @a[distance=..80] ~ ~ ~ 0.5 1 0.5 + execute if score @s CO.EventTimer matches 280 run playsound item.trident.thunder hostile @a[distance=..80] ~ ~ ~ 0.4 0.6 0.4 # モデル変更 - execute if score @s CO.EventTimer matches 295 run function asset:mob/0456.gargo_ex_machina/tick/util/change_model - execute if score @s CO.EventTimer matches 328 as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run function animated_java:gargo_ex_machina/variants/blue/apply + execute if score @s CO.EventTimer matches 256 run function asset:mob/0456.gargo_ex_machina/tick/util/change_model + execute if score @s CO.EventTimer matches 280 as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run function animated_java:gargo_ex_machina/variants/blue/apply + +# 攻撃 + execute if score @s CO.EventTimer matches 110 positioned ^ ^ ^12 run function asset:mob/0456.gargo_ex_machina/tick/event/change_head/prediction + execute if score @s CO.EventTimer matches 210 positioned ^ ^ ^12 run function asset:mob/0456.gargo_ex_machina/tick/event/change_head/attack # ボス名変更 execute if score @s CO.EventTimer matches 1 run function asset:mob/0456.gargo_ex_machina/tick/util/change_bossbar_name.m {Name:"絡繰仕掛の石像",Visible:"false"} - execute if score @s CO.EventTimer matches 325 run function asset:mob/0456.gargo_ex_machina/tick/util/change_bossbar_name.m {Name:"絡繰仕掛の石像",Visible:"true"} + execute if score @s CO.EventTimer matches 272 run function asset:mob/0456.gargo_ex_machina/tick/util/change_bossbar_name.m {Name:"絡繰仕掛の石像",Visible:"true"} # 無敵化 execute if score @s CO.EventTimer matches 1 run function asset:mob/0456.gargo_ex_machina/tick/util/start_invulnerable - execute if score @s CO.EventTimer matches 379 run function asset:mob/0456.gargo_ex_machina/tick/util/end_invulnerable + execute if score @s CO.EventTimer matches 325 run function asset:mob/0456.gargo_ex_machina/tick/util/end_invulnerable + +# 回転 + execute if score @s CO.EventTimer matches ..80 run function asset:mob/0456.gargo_ex_machina/tick/util/rotate_to_center +# モデルを合わせる + execute as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run tp @s ~ ~ ~ ~ ~ # 終了 - execute if score @s CO.EventTimer matches 380.. run function asset:mob/0456.gargo_ex_machina/tick/event/change_head/end + execute if score @s CO.EventTimer matches 326.. run function asset:mob/0456.gargo_ex_machina/tick/event/change_head/end diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/change_head/attack.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/change_head/attack.mcfunction new file mode 100644 index 0000000000..f799ec9db6 --- /dev/null +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/change_head/attack.mcfunction @@ -0,0 +1,102 @@ +#> asset:mob/0456.gargo_ex_machina/tick/event/change_head/attack +# +# 剣叩きつけ +# +# @within asset:mob/0456.gargo_ex_machina/tick/event/change_head/ + +# ヒット判定 + # 円範囲 + tag @a[distance=..10] add DXYZ + +# ダメージ + data modify storage api: Argument.Damage set from storage asset:context this.Damage.SwordAttack.Amount + data modify storage api: Argument.AttackType set from storage asset:context this.Damage.SwordAttack.Type + data modify storage api: Argument.ElementType set from storage asset:context this.Damage.SwordAttack.Element + function api:damage/modifier + execute as @a[tag=DXYZ] run function api:damage/ + function api:damage/reset + +# 効果音 + playsound entity.generic.explode hostile @a ~ ~ ~ 2 0.5 + playsound entity.iron_golem.death hostile @a ~ ~ ~ 2 0.5 + playsound entity.wither.break_block hostile @a ~ ~ ~ 2 0.7 + +# パーティクル + particle explosion ~ ~1 ~ 5 2 5 0 30 + # 円型ベクトルパーティクル + execute rotated ~00 0 positioned ^ ^-0.3 ^ run particle cloud ~ ~ ~ ^ ^ ^100000000 0.000000015 0 + execute rotated ~10 0 positioned ^ ^-0.3 ^ run particle cloud ~ ~ ~ ^ ^ ^100000000 0.000000015 0 + execute rotated ~20 0 positioned ^ ^-0.3 ^ run particle cloud ~ ~ ~ ^ ^ ^100000000 0.000000015 0 + execute rotated ~30 0 positioned ^ ^-0.3 ^ run particle cloud ~ ~ ~ ^ ^ ^100000000 0.000000015 0 + execute rotated ~40 0 positioned ^ ^-0.3 ^ run particle cloud ~ ~ ~ ^ ^ ^100000000 0.000000015 0 + execute rotated ~50 0 positioned ^ ^-0.3 ^ run particle cloud ~ ~ ~ ^ ^ ^100000000 0.000000015 0 + execute rotated ~60 0 positioned ^ ^-0.3 ^ run particle cloud ~ ~ ~ ^ ^ ^100000000 0.000000015 0 + execute rotated ~70 0 positioned ^ ^-0.3 ^ run particle cloud ~ ~ ~ ^ ^ ^100000000 0.000000015 0 + execute rotated ~80 0 positioned ^ ^-0.3 ^ run particle cloud ~ ~ ~ ^ ^ ^100000000 0.000000015 0 + execute rotated ~90 0 positioned ^ ^-0.3 ^ run particle cloud ~ ~ ~ ^ ^ ^100000000 0.000000015 0 + execute rotated ~100 0 positioned ^ ^-0.3 ^ run particle cloud ~ ~ ~ ^ ^ ^100000000 0.000000015 0 + execute rotated ~110 0 positioned ^ ^-0.3 ^ run particle cloud ~ ~ ~ ^ ^ ^100000000 0.000000015 0 + execute rotated ~120 0 positioned ^ ^-0.3 ^ run particle cloud ~ ~ ~ ^ ^ ^100000000 0.000000015 0 + execute rotated ~130 0 positioned ^ ^-0.3 ^ run particle cloud ~ ~ ~ ^ ^ ^100000000 0.000000015 0 + execute rotated ~140 0 positioned ^ ^-0.3 ^ run particle cloud ~ ~ ~ ^ ^ ^100000000 0.000000015 0 + execute rotated ~150 0 positioned ^ ^-0.3 ^ run particle cloud ~ ~ ~ ^ ^ ^100000000 0.000000015 0 + execute rotated ~160 0 positioned ^ ^-0.3 ^ run particle cloud ~ ~ ~ ^ ^ ^100000000 0.000000015 0 + execute rotated ~170 0 positioned ^ ^-0.3 ^ run particle cloud ~ ~ ~ ^ ^ ^100000000 0.000000015 0 + execute rotated ~180 0 positioned ^ ^-0.3 ^ run particle cloud ~ ~ ~ ^ ^ ^100000000 0.000000015 0 + execute rotated ~190 0 positioned ^ ^-0.3 ^ run particle cloud ~ ~ ~ ^ ^ ^100000000 0.000000015 0 + execute rotated ~200 0 positioned ^ ^-0.3 ^ run particle cloud ~ ~ ~ ^ ^ ^100000000 0.000000015 0 + execute rotated ~210 0 positioned ^ ^-0.3 ^ run particle cloud ~ ~ ~ ^ ^ ^100000000 0.000000015 0 + execute rotated ~220 0 positioned ^ ^-0.3 ^ run particle cloud ~ ~ ~ ^ ^ ^100000000 0.000000015 0 + execute rotated ~230 0 positioned ^ ^-0.3 ^ run particle cloud ~ ~ ~ ^ ^ ^100000000 0.000000015 0 + execute rotated ~240 0 positioned ^ ^-0.3 ^ run particle cloud ~ ~ ~ ^ ^ ^100000000 0.000000015 0 + execute rotated ~250 0 positioned ^ ^-0.3 ^ run particle cloud ~ ~ ~ ^ ^ ^100000000 0.000000015 0 + execute rotated ~260 0 positioned ^ ^-0.3 ^ run particle cloud ~ ~ ~ ^ ^ ^100000000 0.000000015 0 + execute rotated ~270 0 positioned ^ ^-0.3 ^ run particle cloud ~ ~ ~ ^ ^ ^100000000 0.000000015 0 + execute rotated ~280 0 positioned ^ ^-0.3 ^ run particle cloud ~ ~ ~ ^ ^ ^100000000 0.000000015 0 + execute rotated ~290 0 positioned ^ ^-0.3 ^ run particle cloud ~ ~ ~ ^ ^ ^100000000 0.000000015 0 + execute rotated ~300 0 positioned ^ ^-0.3 ^ run particle cloud ~ ~ ~ ^ ^ ^100000000 0.000000015 0 + execute rotated ~310 0 positioned ^ ^-0.3 ^ run particle cloud ~ ~ ~ ^ ^ ^100000000 0.000000015 0 + execute rotated ~320 0 positioned ^ ^-0.3 ^ run particle cloud ~ ~ ~ ^ ^ ^100000000 0.000000015 0 + execute rotated ~330 0 positioned ^ ^-0.3 ^ run particle cloud ~ ~ ~ ^ ^ ^100000000 0.000000015 0 + execute rotated ~340 0 positioned ^ ^-0.3 ^ run particle cloud ~ ~ ~ ^ ^ ^100000000 0.000000015 0 + execute rotated ~350 0 positioned ^ ^-0.3 ^ run particle cloud ~ ~ ~ ^ ^ ^100000000 0.000000015 0 + # 円型ベクトルパーティクル + execute rotated ~00 0 positioned ^ ^-0.3 ^ run particle cloud ~ ~ ~ ^ ^ ^100000000 0.000000025 0 + execute rotated ~10 0 positioned ^ ^-0.3 ^ run particle cloud ~ ~ ~ ^ ^ ^100000000 0.000000025 0 + execute rotated ~20 0 positioned ^ ^-0.3 ^ run particle cloud ~ ~ ~ ^ ^ ^100000000 0.000000025 0 + execute rotated ~30 0 positioned ^ ^-0.3 ^ run particle cloud ~ ~ ~ ^ ^ ^100000000 0.000000025 0 + execute rotated ~40 0 positioned ^ ^-0.3 ^ run particle cloud ~ ~ ~ ^ ^ ^100000000 0.000000025 0 + execute rotated ~50 0 positioned ^ ^-0.3 ^ run particle cloud ~ ~ ~ ^ ^ ^100000000 0.000000025 0 + execute rotated ~60 0 positioned ^ ^-0.3 ^ run particle cloud ~ ~ ~ ^ ^ ^100000000 0.000000025 0 + execute rotated ~70 0 positioned ^ ^-0.3 ^ run particle cloud ~ ~ ~ ^ ^ ^100000000 0.000000025 0 + execute rotated ~80 0 positioned ^ ^-0.3 ^ run particle cloud ~ ~ ~ ^ ^ ^100000000 0.000000025 0 + execute rotated ~90 0 positioned ^ ^-0.3 ^ run particle cloud ~ ~ ~ ^ ^ ^100000000 0.000000025 0 + execute rotated ~100 0 positioned ^ ^-0.3 ^ run particle cloud ~ ~ ~ ^ ^ ^100000000 0.000000025 0 + execute rotated ~110 0 positioned ^ ^-0.3 ^ run particle cloud ~ ~ ~ ^ ^ ^100000000 0.000000025 0 + execute rotated ~120 0 positioned ^ ^-0.3 ^ run particle cloud ~ ~ ~ ^ ^ ^100000000 0.000000025 0 + execute rotated ~130 0 positioned ^ ^-0.3 ^ run particle cloud ~ ~ ~ ^ ^ ^100000000 0.000000025 0 + execute rotated ~140 0 positioned ^ ^-0.3 ^ run particle cloud ~ ~ ~ ^ ^ ^100000000 0.000000025 0 + execute rotated ~150 0 positioned ^ ^-0.3 ^ run particle cloud ~ ~ ~ ^ ^ ^100000000 0.000000025 0 + execute rotated ~160 0 positioned ^ ^-0.3 ^ run particle cloud ~ ~ ~ ^ ^ ^100000000 0.000000025 0 + execute rotated ~170 0 positioned ^ ^-0.3 ^ run particle cloud ~ ~ ~ ^ ^ ^100000000 0.000000025 0 + execute rotated ~180 0 positioned ^ ^-0.3 ^ run particle cloud ~ ~ ~ ^ ^ ^100000000 0.000000025 0 + execute rotated ~190 0 positioned ^ ^-0.3 ^ run particle cloud ~ ~ ~ ^ ^ ^100000000 0.000000025 0 + execute rotated ~200 0 positioned ^ ^-0.3 ^ run particle cloud ~ ~ ~ ^ ^ ^100000000 0.000000025 0 + execute rotated ~210 0 positioned ^ ^-0.3 ^ run particle cloud ~ ~ ~ ^ ^ ^100000000 0.000000025 0 + execute rotated ~220 0 positioned ^ ^-0.3 ^ run particle cloud ~ ~ ~ ^ ^ ^100000000 0.000000025 0 + execute rotated ~230 0 positioned ^ ^-0.3 ^ run particle cloud ~ ~ ~ ^ ^ ^100000000 0.000000025 0 + execute rotated ~240 0 positioned ^ ^-0.3 ^ run particle cloud ~ ~ ~ ^ ^ ^100000000 0.000000025 0 + execute rotated ~250 0 positioned ^ ^-0.3 ^ run particle cloud ~ ~ ~ ^ ^ ^100000000 0.000000025 0 + execute rotated ~260 0 positioned ^ ^-0.3 ^ run particle cloud ~ ~ ~ ^ ^ ^100000000 0.000000025 0 + execute rotated ~270 0 positioned ^ ^-0.3 ^ run particle cloud ~ ~ ~ ^ ^ ^100000000 0.000000025 0 + execute rotated ~280 0 positioned ^ ^-0.3 ^ run particle cloud ~ ~ ~ ^ ^ ^100000000 0.000000025 0 + execute rotated ~290 0 positioned ^ ^-0.3 ^ run particle cloud ~ ~ ~ ^ ^ ^100000000 0.000000025 0 + execute rotated ~300 0 positioned ^ ^-0.3 ^ run particle cloud ~ ~ ~ ^ ^ ^100000000 0.000000025 0 + execute rotated ~310 0 positioned ^ ^-0.3 ^ run particle cloud ~ ~ ~ ^ ^ ^100000000 0.000000025 0 + execute rotated ~320 0 positioned ^ ^-0.3 ^ run particle cloud ~ ~ ~ ^ ^ ^100000000 0.000000025 0 + execute rotated ~330 0 positioned ^ ^-0.3 ^ run particle cloud ~ ~ ~ ^ ^ ^100000000 0.000000025 0 + execute rotated ~340 0 positioned ^ ^-0.3 ^ run particle cloud ~ ~ ~ ^ ^ ^100000000 0.000000025 0 + execute rotated ~350 0 positioned ^ ^-0.3 ^ run particle cloud ~ ~ ~ ^ ^ ^100000000 0.000000025 0 + +# 終了 + tag @a[tag=DXYZ] remove DXYZ diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/change_head/prediction.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/change_head/prediction.mcfunction new file mode 100644 index 0000000000..b0268215b8 --- /dev/null +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/change_head/prediction.mcfunction @@ -0,0 +1,13 @@ +#> asset:mob/0456.gargo_ex_machina/tick/event/change_head/prediction +# +# 剣叩きつけ +# +# @within asset:mob/0456.gargo_ex_machina/tick/event/change_head/ + +# 予告:円範囲 + data modify storage api: Argument.ID set value 2063 + execute store result storage api: Argument.FieldOverride.MobUUID int 1 run scoreboard players get @s MobUUID + data modify storage api: Argument.FieldOverride.Color set value 3381759 + data modify storage api: Argument.FieldOverride.Scale set value [20f, 20f, 0.05f] + data modify storage api: Argument.FieldOverride.Tick set value 100 + execute positioned ^ ^0.2 ^ rotated ~ 0 run function api:object/summon diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/change_head/start.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/change_head/start.mcfunction index 013be898fe..bd4e3d83d8 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/change_head/start.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/change_head/start.mcfunction @@ -14,9 +14,3 @@ scoreboard players set @s CO.EventTimer 0 scoreboard players set @s CO.Counter 0 tag @s add CO.IsLatter - -# 最大HPの100%分回復 - function api:mob/get_max_health - execute store result storage api: Argument.Delta double 1.0 run data get storage api: Return.MaxHealth 1 - function api:mob/modify_health - function asset:mob/call.m {method: "update_bossbar"} diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/upper_shot/pattern_cross.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/upper_shot/pattern_cross.mcfunction index db86d6c38c..b704a873b5 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/upper_shot/pattern_cross.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/upper_shot/pattern_cross.mcfunction @@ -4,48 +4,26 @@ # # @within asset:mob/0456.gargo_ex_machina/tick/event/upper_shot/async_pattern_cross -# [ImportKey]: NobwRALgngDgpmAXGANgSwHYIDRgK55oAmSYAbACwBGAhgBwVkDMAtBQxW0QJwDsLNCkU4AzAAxi6YkQEYmTbmJxgMNALYJkgLd8ABDLC4YNAE7qAzknABjAPZ4MEJDLG4Rxm2stgAbjRR5NcAAPJDJcKCQAJjoAXxjcCBsvX39AsBDEMLAIxBZouNwbEREzOEdEFzAqOAAvNDhjJEq0MwAhWvrjAFEARzw-FCgAZSMrOBJEET9SgvBoeFJ0LAN8QgmwOioqGW2yAFYWMSs9mTZpGgFIijEWGV44Peu92X2aFdUNUl1T2xgIwxM5i8tns5WcrncnkQ4BSAS8GRYWRy+XikCS0J8fjhGIRSKQeViqKKJTKTVw1TqDTJYBa7Up3T6A2Go3GSCmKBm8TmsE0qEwygIxFIxV4VDoRBEVBYVhEFCsbAocFOWz2FzIVxoMnGcDETG273UvO+0psfxNfxWRlMagsGJBDiclTcHmSWLSGWi4VCBTRrtS8Pxnuy3qJxVK5UqFM61NpHQavX6KEGIxoYwm7M52G5C2QSwFa1Ie3VTEiIj2dBYdDgVguFAoNAO3CsupYvBkpe4ssiRB2ZANn20enNUGHw8tgJtwLsDsQ4LAzqhMLdAcQQZyiJ9iT92OCgboXtyZB9xPD1KjVIquFj9ITTJTabZ0zgcQAukA_3 -# 線 1-copy-copy-copy -summon area_effect_cloud ^28 ^ ^-6 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} -summon area_effect_cloud ^21.77778 ^ ^-6 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} -summon area_effect_cloud ^15.55556 ^ ^-6 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} -summon area_effect_cloud ^9.33333 ^ ^-6 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} -summon area_effect_cloud ^3.11111 ^ ^-6 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} -summon area_effect_cloud ^-3.11111 ^ ^-6 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} -summon area_effect_cloud ^-9.33333 ^ ^-6 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} -summon area_effect_cloud ^-15.55556 ^ ^-6 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} -summon area_effect_cloud ^-21.77778 ^ ^-6 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} -summon area_effect_cloud ^-28 ^ ^-6 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} -# 線 1 -summon area_effect_cloud ^6 ^ ^28 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} -summon area_effect_cloud ^6 ^ ^21.77778 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} -summon area_effect_cloud ^6 ^ ^15.55556 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} -summon area_effect_cloud ^6 ^ ^9.33333 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} -summon area_effect_cloud ^6 ^ ^3.11111 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} -summon area_effect_cloud ^6 ^ ^-3.11111 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} -summon area_effect_cloud ^6 ^ ^-9.33333 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} -summon area_effect_cloud ^6 ^ ^-15.55556 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} -summon area_effect_cloud ^6 ^ ^-21.77778 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} -summon area_effect_cloud ^6 ^ ^-28 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +# [ImportKey]: NobwRALgngDgpmAXGANgSwHYIDRgK55oAmSYADAEwDMAbAIwCcRA7ALQCsDjrALJQBysARjwBmPVjR50hdOEKHs6dHmFwYAhgFsEyQFu+AAjpqwMDQCdtAZyTgAxgHs8GCEjplco8w622wANw0UPF1wAA8kDzAoJAp+AF943AgHP0Dg0LAIxCiYxFY4xNwHUVErOFcc3CE4AC80OHNI3DQrACE6hvMAUQBHPCCUKABlMzs4EkRRIPKi8Gh4UnQsEwJiUn4yOCpRIgoyVnciOl4lGmE7diFWIjI7GjIqBhq9jRNNHVJDE8cYGNwzJYtDZEPYnC43FEvD40kEQn5snFcHkyEVIKlQQE4ZlsgV+MjImiSmUKs0wDV6o0ya0OpSev1BiMxhMkNMULN4gBdIA_3 # 線 1-copy -summon area_effect_cloud ^-6 ^ ^28 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} -summon area_effect_cloud ^-6 ^ ^21.77778 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} -summon area_effect_cloud ^-6 ^ ^15.55556 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} -summon area_effect_cloud ^-6 ^ ^9.33333 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} -summon area_effect_cloud ^-6 ^ ^3.11111 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} -summon area_effect_cloud ^-6 ^ ^-3.11111 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} -summon area_effect_cloud ^-6 ^ ^-9.33333 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} -summon area_effect_cloud ^-6 ^ ^-15.55556 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} -summon area_effect_cloud ^-6 ^ ^-21.77778 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} -summon area_effect_cloud ^-6 ^ ^-28 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} -# 線 1-copy-copy -summon area_effect_cloud ^28 ^ ^6 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} -summon area_effect_cloud ^21.77778 ^ ^6 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} -summon area_effect_cloud ^15.55556 ^ ^6 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} -summon area_effect_cloud ^9.33333 ^ ^6 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} -summon area_effect_cloud ^3.11111 ^ ^6 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} -summon area_effect_cloud ^-3.11111 ^ ^6 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} -summon area_effect_cloud ^-9.33333 ^ ^6 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} -summon area_effect_cloud ^-15.55556 ^ ^6 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} -summon area_effect_cloud ^-21.77778 ^ ^6 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} -summon area_effect_cloud ^-28 ^ ^6 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^28 ^ ^0 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^21.77778 ^ ^0 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^15.55556 ^ ^0 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^9.33333 ^ ^0 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^3.11111 ^ ^0 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^-3.11111 ^ ^0 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^-9.33333 ^ ^0 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^-15.55556 ^ ^0 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^-21.77778 ^ ^0 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^-28 ^ ^0 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +# 線 1 +summon area_effect_cloud ^0 ^ ^28 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^0 ^ ^21.77778 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^0 ^ ^15.55556 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^0 ^ ^9.33333 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^0 ^ ^3.11111 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^0 ^ ^-3.11111 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^0 ^ ^-9.33333 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^0 ^ ^-15.55556 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^0 ^ ^-21.77778 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^0 ^ ^-28 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/util/change_bossbar_name.m.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/util/change_bossbar_name.m.mcfunction index 0cd5789c91..551abfff41 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/util/change_bossbar_name.m.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/util/change_bossbar_name.m.mcfunction @@ -10,3 +10,9 @@ execute store result storage asset:temp CO.MobUUID int 1 run scoreboard players get @s MobUUID function asset:mob/0456.gargo_ex_machina/tick/util/change_bossbar_name_apply.m with storage asset:temp CO data remove storage asset:temp CO + +# 最大HPの100%分回復 + function api:mob/get_max_health + execute store result storage api: Argument.Delta double 1.0 run data get storage api: Return.MaxHealth 1 + function api:mob/modify_health + function asset:mob/call.m {method: "update_bossbar"} From 391b3f439ca5635c3a9720f7d15b6259e96481c7 Mon Sep 17 00:00:00 2001 From: mokkkk Date: Sun, 22 Mar 2026 18:07:24 +0900 Subject: [PATCH 83/98] =?UTF-8?q?=E8=A8=8E=E4=BC=90=E6=BC=94=E5=87=BA?= =?UTF-8?q?=E4=BD=9C=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../0456.gargo_ex_machina/death/.mcfunction | 12 ++--- .../_index.d.mcfunction | 8 ++++ .../2273.gem_death_animation/init/.mcfunction | 5 +++ .../register.mcfunction | 20 +++++++++ .../summon/.mcfunction | 8 ++++ .../summon/debug.mcfunction | 10 +++++ .../2273.gem_death_animation/tick/.mcfunction | 21 +++++++++ .../tick/event.mcfunction | 44 +++++++++++++++++++ .../tick/summon_bullet.mcfunction | 31 +++++++++++++ .../object/2274.gem_smoke/_index.d.mcfunction | 6 +++ .../object/2274.gem_smoke/init/.mcfunction | 9 ++++ .../object/2274.gem_smoke/register.mcfunction | 20 +++++++++ .../object/2274.gem_smoke/summon/.mcfunction | 8 ++++ .../2274.gem_smoke/summon/debug.mcfunction | 10 +++++ .../object/2274.gem_smoke/tick/.mcfunction | 17 +++++++ .../object/alias/2273/init.mcfunction | 8 ++++ .../object/alias/2273/register.mcfunction | 8 ++++ .../object/alias/2273/summon.mcfunction | 8 ++++ .../object/alias/2273/tick.mcfunction | 8 ++++ .../object/alias/2274/init.mcfunction | 8 ++++ .../object/alias/2274/register.mcfunction | 8 ++++ .../object/alias/2274/summon.mcfunction | 8 ++++ .../object/alias/2274/tick.mcfunction | 8 ++++ 23 files changed, 284 insertions(+), 9 deletions(-) create mode 100644 Asset/data/asset/functions/object/2273.gem_death_animation/_index.d.mcfunction create mode 100644 Asset/data/asset/functions/object/2273.gem_death_animation/init/.mcfunction create mode 100644 Asset/data/asset/functions/object/2273.gem_death_animation/register.mcfunction create mode 100644 Asset/data/asset/functions/object/2273.gem_death_animation/summon/.mcfunction create mode 100644 Asset/data/asset/functions/object/2273.gem_death_animation/summon/debug.mcfunction create mode 100644 Asset/data/asset/functions/object/2273.gem_death_animation/tick/.mcfunction create mode 100644 Asset/data/asset/functions/object/2273.gem_death_animation/tick/event.mcfunction create mode 100644 Asset/data/asset/functions/object/2273.gem_death_animation/tick/summon_bullet.mcfunction create mode 100644 Asset/data/asset/functions/object/2274.gem_smoke/_index.d.mcfunction create mode 100644 Asset/data/asset/functions/object/2274.gem_smoke/init/.mcfunction create mode 100644 Asset/data/asset/functions/object/2274.gem_smoke/register.mcfunction create mode 100644 Asset/data/asset/functions/object/2274.gem_smoke/summon/.mcfunction create mode 100644 Asset/data/asset/functions/object/2274.gem_smoke/summon/debug.mcfunction create mode 100644 Asset/data/asset/functions/object/2274.gem_smoke/tick/.mcfunction create mode 100644 Asset/data/asset/functions/object/alias/2273/init.mcfunction create mode 100644 Asset/data/asset/functions/object/alias/2273/register.mcfunction create mode 100644 Asset/data/asset/functions/object/alias/2273/summon.mcfunction create mode 100644 Asset/data/asset/functions/object/alias/2273/tick.mcfunction create mode 100644 Asset/data/asset/functions/object/alias/2274/init.mcfunction create mode 100644 Asset/data/asset/functions/object/alias/2274/register.mcfunction create mode 100644 Asset/data/asset/functions/object/alias/2274/summon.mcfunction create mode 100644 Asset/data/asset/functions/object/alias/2274/tick.mcfunction diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/death/.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/death/.mcfunction index bc7787045f..0f4453b7e7 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/death/.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/death/.mcfunction @@ -11,21 +11,15 @@ tp @s ~ ~-100 ~ # 死亡演出 - # title @a[distance=..80] times 1 4 3 - # title @a[distance=..80] title {"text":"\uE010","font":"screen_effect","color":"#E8E8E8"} - # data modify storage api: Argument.ID set value 2174 - # data modify storage api: Argument.FieldOverride.Pos set from entity @e[type=marker,tag=BE.CenterPosition,distance=..160,limit=1] Pos - # function api:object/summon - # data modify storage api: Argument set value {ID:655,Duration:300,Stack:5} - # execute as @a[distance=..160] run function api:entity/mob/effect/give - # function api:entity/mob/effect/reset + data modify storage api: Argument.ID set value 2273 + function api:object/summon # 中心点消去 kill @e[type=marker,tag=CO.CenterPosition] # 当たり判定消去 execute as @e[type=item_display,tag=CO.ModelRoot] run function animated_java:gargo_ex_machina/as_own_locator_entities {command:'function asset:mob/0456.gargo_ex_machina/death/kill_hitbox'} - function animated_java:gargo_ex_machina/remove/all + # function animated_java:gargo_ex_machina/remove/all # その他リセット # function asset:mob/0456.gargo_ex_machina/tick/util/remove_all_tag diff --git a/Asset/data/asset/functions/object/2273.gem_death_animation/_index.d.mcfunction b/Asset/data/asset/functions/object/2273.gem_death_animation/_index.d.mcfunction new file mode 100644 index 0000000000..67f589516d --- /dev/null +++ b/Asset/data/asset/functions/object/2273.gem_death_animation/_index.d.mcfunction @@ -0,0 +1,8 @@ +#> asset:object/2273.gem_death_animation/_index.d +# @private + +#> tag +# @within function asset:object/2273.gem_death_animation/** + #declare tag CO.ModelRoot + #declare function animated_java:gargo_ex_machina/animations/death/tween + #declare function animated_java:gargo_ex_machina/remove/all diff --git a/Asset/data/asset/functions/object/2273.gem_death_animation/init/.mcfunction b/Asset/data/asset/functions/object/2273.gem_death_animation/init/.mcfunction new file mode 100644 index 0000000000..d696e8f4c8 --- /dev/null +++ b/Asset/data/asset/functions/object/2273.gem_death_animation/init/.mcfunction @@ -0,0 +1,5 @@ +#> asset:object/2273.gem_death_animation/init/ +# +# Objectのinit時の処理 +# +# @within asset:object/alias/2273/init diff --git a/Asset/data/asset/functions/object/2273.gem_death_animation/register.mcfunction b/Asset/data/asset/functions/object/2273.gem_death_animation/register.mcfunction new file mode 100644 index 0000000000..fb33cd02c5 --- /dev/null +++ b/Asset/data/asset/functions/object/2273.gem_death_animation/register.mcfunction @@ -0,0 +1,20 @@ +#> asset:object/2273.gem_death_animation/register +# +# Objectのデータを指定 +# +# @within function asset:object/alias/2273/register + +# 継承(オプション) + # data modify storage asset:object Extends append value + # function asset:object/extends +# 他のObjectに継承されることを許可するか (boolean) (オプション) + # data modify storage asset:object ExtendsSafe set value +# 継承されることを前提とした、抽象的なObjectであるかどうか(boolean) + data modify storage asset:object IsAbstract set value false +# Tickするかどうか(boolean) (オプション) + # data modify storage asset:object IsTicking set value + +# ID (int) + data modify storage asset:object ID set value 2273 +# フィールド(オプション) + # data modify storage asset:object Field.myValue set value \ No newline at end of file diff --git a/Asset/data/asset/functions/object/2273.gem_death_animation/summon/.mcfunction b/Asset/data/asset/functions/object/2273.gem_death_animation/summon/.mcfunction new file mode 100644 index 0000000000..6e1e8dfbe2 --- /dev/null +++ b/Asset/data/asset/functions/object/2273.gem_death_animation/summon/.mcfunction @@ -0,0 +1,8 @@ +#> asset:object/2273.gem_death_animation/summon/ +# +# Object召喚処理の呼び出し時に実行されるfunction +# +# @within asset:object/alias/2273/summon + +# 元となるEntityを召喚する + summon marker ~ ~ ~ {Tags:["ObjectInit"]} diff --git a/Asset/data/asset/functions/object/2273.gem_death_animation/summon/debug.mcfunction b/Asset/data/asset/functions/object/2273.gem_death_animation/summon/debug.mcfunction new file mode 100644 index 0000000000..ac8feed2b6 --- /dev/null +++ b/Asset/data/asset/functions/object/2273.gem_death_animation/summon/debug.mcfunction @@ -0,0 +1,10 @@ +#> asset:object/2273.gem_death_animation/summon/debug +# +# 動作チェック用の召喚処理 使い終わったら消してもいいかも +# +# @user +# @private + +# 召喚 + data modify storage api: Argument.ID set value 2273 + function api:object/summon \ No newline at end of file diff --git a/Asset/data/asset/functions/object/2273.gem_death_animation/tick/.mcfunction b/Asset/data/asset/functions/object/2273.gem_death_animation/tick/.mcfunction new file mode 100644 index 0000000000..0b9a71b06a --- /dev/null +++ b/Asset/data/asset/functions/object/2273.gem_death_animation/tick/.mcfunction @@ -0,0 +1,21 @@ +#> asset:object/2273.gem_death_animation/tick/ +# +# Objectのtick時の処理 +# +# @within asset:object/alias/2273/tick + +# Tick加算 + scoreboard players add @s General.Object.Tick 1 + +# モデルで実行 + execute as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] at @s run function asset:object/2273.gem_death_animation/tick/event + +# ボスドロップ配置 + # execute if entity @s[scores={General.Object.Tick=120}] run function asset:object/2174.heiloang_death_animation/tick/summon_bossdrop + +# AJアンロード + # execute if entity @s[scores={General.Object.Tick=170}] run data modify storage asset:datapack ActivationState set value [{Datapack:"AJ_heiloang",Active:false}] + # execute if entity @s[scores={General.Object.Tick=170}] run function asset:datapack/set_activation_state + +# 消滅処理 + kill @s[scores={General.Object.Tick=170..}] diff --git a/Asset/data/asset/functions/object/2273.gem_death_animation/tick/event.mcfunction b/Asset/data/asset/functions/object/2273.gem_death_animation/tick/event.mcfunction new file mode 100644 index 0000000000..b189979dd9 --- /dev/null +++ b/Asset/data/asset/functions/object/2273.gem_death_animation/tick/event.mcfunction @@ -0,0 +1,44 @@ +#> asset:object/2273.gem_death_animation/tick/event +# +# Objectのtick時の処理 +# +# @within function asset:object/2273.gem_death_animation/tick/ + +# Tick加算 + scoreboard players add @s General.Object.Tick 1 + +# アニメーション再生 + execute if score @s General.Object.Tick matches 1 run function animated_java:gargo_ex_machina/animations/death/tween {duration:1, to_frame: 0} + +# 演出 + execute if score @s General.Object.Tick matches 1 run playsound entity.item.break hostile @a ~ ~ ~ 3 0.5 + execute if score @s General.Object.Tick matches 1 run playsound entity.item.break hostile @a ~ ~ ~ 3 0.7 + execute if score @s General.Object.Tick matches 2 positioned ~ ~30 ~ run playsound entity.generic.explode hostile @a[distance=..80] ~ ~ ~ 0.5 1 0.5 + execute if score @s General.Object.Tick matches 7 positioned ~ ~30 ~ run playsound entity.generic.explode hostile @a[distance=..80] ~ ~ ~ 0.5 1 0.5 + execute if score @s General.Object.Tick matches 12 positioned ~ ~30 ~ run playsound entity.generic.explode hostile @a[distance=..80] ~ ~ ~ 0.5 1 0.5 + execute if score @s General.Object.Tick matches 17 positioned ~ ~30 ~ run playsound entity.generic.explode hostile @a[distance=..80] ~ ~ ~ 0.5 1 0.5 + execute if score @s General.Object.Tick matches 22 positioned ~ ~30 ~ run playsound entity.generic.explode hostile @a[distance=..80] ~ ~ ~ 0.5 1 0.5 + execute if score @s General.Object.Tick matches 27 positioned ~ ~30 ~ run playsound entity.generic.explode hostile @a[distance=..80] ~ ~ ~ 0.5 1 0.5 + execute if score @s General.Object.Tick matches 32 positioned ~ ~30 ~ run playsound entity.generic.explode hostile @a[distance=..80] ~ ~ ~ 0.5 1 0.5 + execute if score @s General.Object.Tick matches 37 positioned ~ ~30 ~ run playsound entity.generic.explode hostile @a[distance=..80] ~ ~ ~ 0.5 1 0.5 + execute if score @s General.Object.Tick matches 42 positioned ~ ~30 ~ run playsound entity.generic.explode hostile @a[distance=..80] ~ ~ ~ 0.5 1 0.5 + execute if score @s General.Object.Tick matches 47 positioned ~ ~30 ~ run playsound entity.generic.explode hostile @a[distance=..80] ~ ~ ~ 0.5 1 0.5 + execute if score @s General.Object.Tick matches 52 positioned ~ ~30 ~ run playsound entity.generic.explode hostile @a[distance=..80] ~ ~ ~ 0.5 1 0.5 + execute if score @s General.Object.Tick matches 57 positioned ~ ~30 ~ run playsound entity.generic.explode hostile @a[distance=..80] ~ ~ ~ 0.5 1 0.5 + execute if score @s General.Object.Tick matches 62 positioned ~ ~30 ~ run playsound entity.generic.explode hostile @a[distance=..80] ~ ~ ~ 0.5 1 0.5 + execute if score @s General.Object.Tick matches 1..70 run particle explosion ~ ~20 ~ 4 7 4 0 5 force @a[distance=..80] + +# 最後の大爆発 + execute if score @s General.Object.Tick matches 168 positioned ^ ^ ^-5 positioned ~ ~30 ~ run playsound entity.generic.explode hostile @a[distance=..80] ~ ~ ~ 0.5 1 0.5 + execute if score @s General.Object.Tick matches 168 positioned ^ ^ ^-5 positioned ~ ~30 ~ run playsound entity.generic.explode hostile @a[distance=..80] ~ ~ ~ 0.5 1 0.7 + execute if score @s General.Object.Tick matches 168 positioned ^ ^ ^-5 positioned ~ ~30 ~ run playsound item.trident.thunder hostile @a[distance=..80] ~ ~ ~ 0.5 1 0.5 + execute if score @s General.Object.Tick matches 168 positioned ^ ^ ^-5 run particle lava ~ ~8 ~ 5 5 5 0 100 force @a[distance=..80] + execute if score @s General.Object.Tick matches 168 positioned ^ ^ ^-5 run particle explosion_emitter ~ ~8 ~ 3 3 3 0 10 force @a[distance=..80] + execute if score @s General.Object.Tick matches 168 positioned ^ ^ ^-5 run particle campfire_signal_smoke ~ ~8 ~ 3 3 3 0.05 100 force @a[distance=..80] + # 画面エフェクト + execute if score @s General.Object.Tick matches 167 run title @a[distance=..160] times 3 0 30 + execute if score @s General.Object.Tick matches 167 run title @a[distance=..160] title {"text":"\uE010","font":"screen_effect","color":"#E8E8E8"} + execute if score @s General.Object.Tick matches 168 positioned ^ ^ ^-5 positioned ~ ~8 ~ run function asset:object/2273.gem_death_animation/tick/summon_bullet + +# モデル消去 + execute if score @s General.Object.Tick matches 169.. run function animated_java:gargo_ex_machina/remove/all diff --git a/Asset/data/asset/functions/object/2273.gem_death_animation/tick/summon_bullet.mcfunction b/Asset/data/asset/functions/object/2273.gem_death_animation/tick/summon_bullet.mcfunction new file mode 100644 index 0000000000..ccc648d31e --- /dev/null +++ b/Asset/data/asset/functions/object/2273.gem_death_animation/tick/summon_bullet.mcfunction @@ -0,0 +1,31 @@ +#> asset:object/2273.gem_death_animation/tick/summon_bullet +# +# Objectのtick時の処理 +# +# @within function asset:object/2273.gem_death_animation/tick/event + +# 演出召喚 + data modify storage api: Argument.ID set value 2274 + execute rotated 0 -80 run function api:object/summon + data modify storage api: Argument.ID set value 2274 + execute rotated 30 -80 run function api:object/summon + data modify storage api: Argument.ID set value 2274 + execute rotated 60 -80 run function api:object/summon + data modify storage api: Argument.ID set value 2274 + execute rotated 90 -80 run function api:object/summon + data modify storage api: Argument.ID set value 2274 + execute rotated 120 -80 run function api:object/summon + data modify storage api: Argument.ID set value 2274 + execute rotated 150 -80 run function api:object/summon + data modify storage api: Argument.ID set value 2274 + execute rotated 180 -80 run function api:object/summon + data modify storage api: Argument.ID set value 2274 + execute rotated 210 -80 run function api:object/summon + data modify storage api: Argument.ID set value 2274 + execute rotated 240 -80 run function api:object/summon + data modify storage api: Argument.ID set value 2274 + execute rotated 270 -80 run function api:object/summon + data modify storage api: Argument.ID set value 2274 + execute rotated 300 -80 run function api:object/summon + data modify storage api: Argument.ID set value 2274 + execute rotated 330 -80 run function api:object/summon diff --git a/Asset/data/asset/functions/object/2274.gem_smoke/_index.d.mcfunction b/Asset/data/asset/functions/object/2274.gem_smoke/_index.d.mcfunction new file mode 100644 index 0000000000..d3db05be8c --- /dev/null +++ b/Asset/data/asset/functions/object/2274.gem_smoke/_index.d.mcfunction @@ -0,0 +1,6 @@ +#> asset:object/2274.gem_smoke/_index.d +# @private + +#> tag +# @within function asset:object/2274.gem_smoke/** + #declare \ No newline at end of file diff --git a/Asset/data/asset/functions/object/2274.gem_smoke/init/.mcfunction b/Asset/data/asset/functions/object/2274.gem_smoke/init/.mcfunction new file mode 100644 index 0000000000..1e6e3e398f --- /dev/null +++ b/Asset/data/asset/functions/object/2274.gem_smoke/init/.mcfunction @@ -0,0 +1,9 @@ +#> asset:object/2274.gem_smoke/init/ +# +# Objectのinit時の処理 +# +# @within asset:object/alias/2274/init + +# 角度調整 + tp @s ~ ~ ~ ~ -50 + execute store result entity @s Rotation[1] float 0.1 run random value -600..-350 diff --git a/Asset/data/asset/functions/object/2274.gem_smoke/register.mcfunction b/Asset/data/asset/functions/object/2274.gem_smoke/register.mcfunction new file mode 100644 index 0000000000..daf4a17f82 --- /dev/null +++ b/Asset/data/asset/functions/object/2274.gem_smoke/register.mcfunction @@ -0,0 +1,20 @@ +#> asset:object/2274.gem_smoke/register +# +# Objectのデータを指定 +# +# @within function asset:object/alias/2274/register + +# 継承(オプション) + # data modify storage asset:object Extends append value + # function asset:object/extends +# 他のObjectに継承されることを許可するか (boolean) (オプション) + # data modify storage asset:object ExtendsSafe set value +# 継承されることを前提とした、抽象的なObjectであるかどうか(boolean) + data modify storage asset:object IsAbstract set value false +# Tickするかどうか(boolean) (オプション) + # data modify storage asset:object IsTicking set value + +# ID (int) + data modify storage asset:object ID set value 2274 +# フィールド(オプション) + # data modify storage asset:object Field.myValue set value \ No newline at end of file diff --git a/Asset/data/asset/functions/object/2274.gem_smoke/summon/.mcfunction b/Asset/data/asset/functions/object/2274.gem_smoke/summon/.mcfunction new file mode 100644 index 0000000000..3a52613cd6 --- /dev/null +++ b/Asset/data/asset/functions/object/2274.gem_smoke/summon/.mcfunction @@ -0,0 +1,8 @@ +#> asset:object/2274.gem_smoke/summon/ +# +# Object召喚処理の呼び出し時に実行されるfunction +# +# @within asset:object/alias/2274/summon + +# 元となるEntityを召喚する + summon marker ~ ~ ~ {Tags:["ObjectInit"]} diff --git a/Asset/data/asset/functions/object/2274.gem_smoke/summon/debug.mcfunction b/Asset/data/asset/functions/object/2274.gem_smoke/summon/debug.mcfunction new file mode 100644 index 0000000000..177c1a5208 --- /dev/null +++ b/Asset/data/asset/functions/object/2274.gem_smoke/summon/debug.mcfunction @@ -0,0 +1,10 @@ +#> asset:object/2274.gem_smoke/summon/debug +# +# 動作チェック用の召喚処理 使い終わったら消してもいいかも +# +# @user +# @private + +# 召喚 + data modify storage api: Argument.ID set value 2274 + function api:object/summon \ No newline at end of file diff --git a/Asset/data/asset/functions/object/2274.gem_smoke/tick/.mcfunction b/Asset/data/asset/functions/object/2274.gem_smoke/tick/.mcfunction new file mode 100644 index 0000000000..babc94d2c2 --- /dev/null +++ b/Asset/data/asset/functions/object/2274.gem_smoke/tick/.mcfunction @@ -0,0 +1,17 @@ +#> asset:object/2274.gem_smoke/tick/ +# +# Objectのtick時の処理 +# +# @within asset:object/alias/2274/tick + +# Tick加算 + scoreboard players add @s General.Object.Tick 1 + +# 移動 + execute at @s run particle campfire_cosy_smoke ~ ~ ~ 0.3 0.3 0.3 0.01 1 force @a[distance=..80] + execute at @s run tp @s ^ ^ ^0.8 ~ ~1.5 + execute at @s run particle campfire_cosy_smoke ~ ~ ~ 0.3 0.3 0.3 0.01 1 force @a[distance=..80] + execute at @s run tp @s ^ ^ ^0.8 ~ ~1.5 + +# 消滅処理 + kill @s[scores={General.Object.Tick=160..}] diff --git a/Asset/data/asset/functions/object/alias/2273/init.mcfunction b/Asset/data/asset/functions/object/alias/2273/init.mcfunction new file mode 100644 index 0000000000..902459af79 --- /dev/null +++ b/Asset/data/asset/functions/object/alias/2273/init.mcfunction @@ -0,0 +1,8 @@ +#> asset:object/alias/2273/init +# +# Init処理のエイリアス +# +# @within asset_manager:object/init/init.m + +# 元のInit処理を呼び出す + function asset:object/2273.gem_death_animation/init/ \ No newline at end of file diff --git a/Asset/data/asset/functions/object/alias/2273/register.mcfunction b/Asset/data/asset/functions/object/alias/2273/register.mcfunction new file mode 100644 index 0000000000..6bce466b64 --- /dev/null +++ b/Asset/data/asset/functions/object/alias/2273/register.mcfunction @@ -0,0 +1,8 @@ +#> asset:object/alias/2273/register +# +# Objectのデータ指定処理のエイリアス +# +# @within asset_manager:object/summon/register.m + +# 元の登録処理を呼び出す + function asset:object/2273.gem_death_animation/register \ No newline at end of file diff --git a/Asset/data/asset/functions/object/alias/2273/summon.mcfunction b/Asset/data/asset/functions/object/alias/2273/summon.mcfunction new file mode 100644 index 0000000000..12dd767e27 --- /dev/null +++ b/Asset/data/asset/functions/object/alias/2273/summon.mcfunction @@ -0,0 +1,8 @@ +#> asset:object/alias/2273/summon +# +# Object召喚処理のエイリアス +# +# @within asset_manager:object/summon/summon.m + +# 元の召喚処理を呼び出す + function asset:object/2273.gem_death_animation/summon/ \ No newline at end of file diff --git a/Asset/data/asset/functions/object/alias/2273/tick.mcfunction b/Asset/data/asset/functions/object/alias/2273/tick.mcfunction new file mode 100644 index 0000000000..2fc7584e68 --- /dev/null +++ b/Asset/data/asset/functions/object/alias/2273/tick.mcfunction @@ -0,0 +1,8 @@ +#> asset:object/alias/2273/tick +# +# Tick時処理のエイリアス +# +# @within asset_manager:object/tick/tick.m + +# 元のTick処理を呼び出す + function asset:object/2273.gem_death_animation/tick/ \ No newline at end of file diff --git a/Asset/data/asset/functions/object/alias/2274/init.mcfunction b/Asset/data/asset/functions/object/alias/2274/init.mcfunction new file mode 100644 index 0000000000..fc4e16f11e --- /dev/null +++ b/Asset/data/asset/functions/object/alias/2274/init.mcfunction @@ -0,0 +1,8 @@ +#> asset:object/alias/2274/init +# +# Init処理のエイリアス +# +# @within asset_manager:object/init/init.m + +# 元のInit処理を呼び出す + function asset:object/2274.gem_smoke/init/ diff --git a/Asset/data/asset/functions/object/alias/2274/register.mcfunction b/Asset/data/asset/functions/object/alias/2274/register.mcfunction new file mode 100644 index 0000000000..0ac6f38e43 --- /dev/null +++ b/Asset/data/asset/functions/object/alias/2274/register.mcfunction @@ -0,0 +1,8 @@ +#> asset:object/alias/2274/register +# +# Objectのデータ指定処理のエイリアス +# +# @within asset_manager:object/summon/register.m + +# 元の登録処理を呼び出す + function asset:object/2274.gem_smoke/register \ No newline at end of file diff --git a/Asset/data/asset/functions/object/alias/2274/summon.mcfunction b/Asset/data/asset/functions/object/alias/2274/summon.mcfunction new file mode 100644 index 0000000000..bc57ac0f1d --- /dev/null +++ b/Asset/data/asset/functions/object/alias/2274/summon.mcfunction @@ -0,0 +1,8 @@ +#> asset:object/alias/2274/summon +# +# Object召喚処理のエイリアス +# +# @within asset_manager:object/summon/summon.m + +# 元の召喚処理を呼び出す + function asset:object/2274.gem_smoke/summon/ \ No newline at end of file diff --git a/Asset/data/asset/functions/object/alias/2274/tick.mcfunction b/Asset/data/asset/functions/object/alias/2274/tick.mcfunction new file mode 100644 index 0000000000..c1c16a34c1 --- /dev/null +++ b/Asset/data/asset/functions/object/alias/2274/tick.mcfunction @@ -0,0 +1,8 @@ +#> asset:object/alias/2274/tick +# +# Tick時処理のエイリアス +# +# @within asset_manager:object/tick/tick.m + +# 元のTick処理を呼び出す + function asset:object/2274.gem_smoke/tick/ \ No newline at end of file From fae6e6733bdd475011ab09e3125b6fa8743eec78 Mon Sep 17 00:00:00 2001 From: mokkkk Date: Sun, 22 Mar 2026 18:13:58 +0900 Subject: [PATCH 84/98] =?UTF-8?q?=E9=87=8D=E8=A4=87=E3=81=97=E3=81=A6?= =?UTF-8?q?=E3=81=84=E3=82=8B=E4=B8=8D=E8=A6=81=E5=87=A6=E7=90=86=E3=82=92?= =?UTF-8?q?=E5=89=8A=E9=99=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../tick/act/.mcfunction | 2 +- .../tick/util/remove_animation_tag.mcfunction | 63 ++++++++++++------- .../tick/util/stop_all_animations.mcfunction | 49 +-------------- 3 files changed, 43 insertions(+), 71 deletions(-) diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/.mcfunction index c5fc60b17f..bd83ede976 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/.mcfunction @@ -5,7 +5,7 @@ # @within asset:mob/0456.gargo_ex_machina/tick/** # debug - return 0 + # return 0 # 行動リセット function asset:mob/0456.gargo_ex_machina/tick/util/remove_animation_tag diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/util/remove_animation_tag.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/util/remove_animation_tag.mcfunction index 930d4dd216..31c9c69187 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/util/remove_animation_tag.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/util/remove_animation_tag.mcfunction @@ -4,8 +4,9 @@ # # @within asset:mob/0456.gargo_ex_machina/tick/** -# タグ消去 +# 行動停止 tag @s remove CO.Skill.Activate + tag @s remove CO.Skill.ChangeHead tag @s remove CO.Skill.Move tag @s remove CO.Skill.Move.End tag @s remove CO.Skill.Move.Near @@ -13,24 +14,42 @@ tag @s remove CO.Skill.SwordAttack.Charge tag @s remove CO.Skill.SwordAttack.Attack tag @s remove CO.Skill.SwordAttack.Double - tag @s remove CO.Skill.HalfBeam - tag @s remove CO.Skill.HalfBeam.Charge - tag @s remove CO.Skill.HalfBeam.Attack - tag @s remove CO.Skill.HalfBeam.IsRight - tag @s remove CO.Skill.HalfBeamSword - tag @s remove CO.Skill.HalfBeamSword.Charge - tag @s remove CO.Skill.HalfBeamSword.Attack - tag @s remove CO.Skill.HalfBeamSword.IsRight - tag @s remove CO.Skill.HalfBeamShot - tag @s remove CO.Skill.HalfBeamShot.Charge - tag @s remove CO.Skill.HalfBeamShot.Attack - tag @s remove CO.Skill.HalfBeamShot.IsRight - tag @s remove CO.Skill.SuperJump - tag @s remove CO.Skill.SuperJump.Attack - tag @s remove CO.Skill.FieldModify - tag @s remove CO.Skill.Transform.Shoot - tag @s remove CO.Skill.Transform.Sword - tag @s remove CO.Skill.RocketPunch - tag @s remove CO.Skill.Shot - tag @s remove CO.Skill.UpperShot - tag @s remove CO.Skill.BluteForce + tag @s remove CO.Skill.HalfBeam + tag @s remove CO.Skill.HalfBeam.Charge + tag @s remove CO.Skill.HalfBeam.Attack + tag @s remove CO.Skill.HalfBeam.IsRight + tag @s remove CO.Skill.HalfBeamSword + tag @s remove CO.Skill.HalfBeamSword.Charge + tag @s remove CO.Skill.HalfBeamSword.Attack + tag @s remove CO.Skill.HalfBeamSword.IsRight + tag @s remove CO.Skill.HalfBeamShot + tag @s remove CO.Skill.HalfBeamShot.Charge + tag @s remove CO.Skill.HalfBeamShot.Attack + tag @s remove CO.Skill.HalfBeamShot.IsRight + tag @s remove CO.Skill.SuperJump + tag @s remove CO.Skill.SuperJump.Attack + tag @s remove CO.Skill.FieldModify + tag @s remove CO.Skill.Transform.Shoot + tag @s remove CO.Skill.Transform.Sword + tag @s remove CO.Skill.RocketPunch + tag @s remove CO.Skill.RocketPunch.Cross + tag @s remove CO.Skill.RocketPunch.Alter + tag @s remove CO.Skill.RocketPunch.AlterInv + tag @s remove CO.Skill.Shot + tag @s remove CO.Skill.UpperShot + tag @s remove CO.UpperShot.Asyuc + tag @s remove CO.UpperShot.Pt.Random + tag @s remove CO.UpperShot.Pt.Target + tag @s remove CO.UpperShot.Pt.MoveLine + tag @s remove CO.UpperShot.Pt.Cross + tag @s remove CO.UpperShot.Pt.Panto + tag @s remove CO.Skill.BluteForce + tag @s remove CO.Skill.BluteForce.First + tag @s remove CO.Skill.BluteForce.Async + tag @s remove CO.Skill.BluteForce.Pt.Tutorial + tag @s remove CO.Skill.BluteForce.Pt.Spin + tag @s remove CO.Skill.BluteForce.Pt.SpinInv + tag @s remove CO.Skill.BluteForce.Pt.Exa + tag @s remove CO.Skill.BluteForce.Pt.ExaInv + tag @s remove CO.Skill.BluteForce.Pt.Half + tag @s remove CO.Skill.BluteForce.Pt.HalfInv diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/util/stop_all_animations.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/util/stop_all_animations.mcfunction index d82febc970..1784dbbbb8 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/util/stop_all_animations.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/util/stop_all_animations.mcfunction @@ -5,54 +5,7 @@ # @within asset:mob/0456.gargo_ex_machina/tick/** # 行動停止 - tag @s remove CO.Skill.Activate - tag @s remove CO.Skill.ChangeHead - tag @s remove CO.Skill.Move - tag @s remove CO.Skill.Move.End - tag @s remove CO.Skill.Move.Near - tag @s remove CO.Skill.SwordAttack - tag @s remove CO.Skill.SwordAttack.Charge - tag @s remove CO.Skill.SwordAttack.Attack - tag @s remove CO.Skill.SwordAttack.Double - tag @s remove CO.Skill.HalfBeam - tag @s remove CO.Skill.HalfBeam.Charge - tag @s remove CO.Skill.HalfBeam.Attack - tag @s remove CO.Skill.HalfBeam.IsRight - tag @s remove CO.Skill.HalfBeamSword - tag @s remove CO.Skill.HalfBeamSword.Charge - tag @s remove CO.Skill.HalfBeamSword.Attack - tag @s remove CO.Skill.HalfBeamSword.IsRight - tag @s remove CO.Skill.HalfBeamShot - tag @s remove CO.Skill.HalfBeamShot.Charge - tag @s remove CO.Skill.HalfBeamShot.Attack - tag @s remove CO.Skill.HalfBeamShot.IsRight - tag @s remove CO.Skill.SuperJump - tag @s remove CO.Skill.SuperJump.Attack - tag @s remove CO.Skill.FieldModify - tag @s remove CO.Skill.Transform.Shoot - tag @s remove CO.Skill.Transform.Sword - tag @s remove CO.Skill.RocketPunch - tag @s remove CO.Skill.RocketPunch.Cross - tag @s remove CO.Skill.RocketPunch.Alter - tag @s remove CO.Skill.RocketPunch.AlterInv - tag @s remove CO.Skill.Shot - tag @s remove CO.Skill.UpperShot - tag @s remove CO.UpperShot.Asyuc - tag @s remove CO.UpperShot.Pt.Random - tag @s remove CO.UpperShot.Pt.Target - tag @s remove CO.UpperShot.Pt.MoveLine - tag @s remove CO.UpperShot.Pt.Cross - tag @s remove CO.UpperShot.Pt.Panto - tag @s remove CO.Skill.BluteForce - tag @s remove CO.Skill.BluteForce.First - tag @s remove CO.Skill.BluteForce.Async - tag @s remove CO.Skill.BluteForce.Pt.Tutorial - tag @s remove CO.Skill.BluteForce.Pt.Spin - tag @s remove CO.Skill.BluteForce.Pt.SpinInv - tag @s remove CO.Skill.BluteForce.Pt.Exa - tag @s remove CO.Skill.BluteForce.Pt.ExaInv - tag @s remove CO.Skill.BluteForce.Pt.Half - tag @s remove CO.Skill.BluteForce.Pt.HalfInv + function asset:mob/0456.gargo_ex_machina/tick/util/remove_animation_tag # アニメーション停止 execute as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run function animated_java:gargo_ex_machina/animations/pause_all From 0168d72bd59fe1b44041211fc6315ec469b4334a Mon Sep 17 00:00:00 2001 From: mokkkk Date: Sun, 22 Mar 2026 19:19:42 +0900 Subject: [PATCH 85/98] =?UTF-8?q?=E8=A8=8E=E4=BC=90=E6=BC=94=E5=87=BA?= =?UTF-8?q?=E8=AA=BF=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../tick/debug/interrupt.mcfunction | 8 ++++---- .../tick/event/change_head/attack.mcfunction | 2 +- .../tick/util/remove_animation_tag.mcfunction | 14 -------------- .../object/2274.gem_smoke/summon/.mcfunction | 2 +- .../object/2274.gem_smoke/tick/.mcfunction | 3 +++ 5 files changed, 9 insertions(+), 20 deletions(-) diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/debug/interrupt.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/debug/interrupt.mcfunction index 9361a39f58..57adddda92 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/debug/interrupt.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/debug/interrupt.mcfunction @@ -11,13 +11,13 @@ # execute at @e[type=marker,tag=CO.CenterPosition] positioned ~-0.3 ~ ~0.2 run return run function asset:mob/0456.gargo_ex_machina/tick/event/final_flare/particle_floor # 全アニメーション停止 - function asset:mob/0456.gargo_ex_machina/tick/debug/reset + function asset:mob/0456.gargo_ex_machina/tick/util/stop_all_animations # 位置リセット # execute at @e[type=marker,tag=CO.CenterPosition] run tp @s ^ ^ ^ 0 0 # execute at @s run tp @e[type=item_display,tag=CO.ModelRoot] ~ ~ ~ ~ 0 # イベント実行 - tag @s add CO.Skill.ChangeHead - # tag @s add CO.Skill.BluteForce - # tag @s add CO.Skill.BluteForce.Pt.HalfInv + # tag @s add CO.Skill.ChangeHead + tag @s add CO.Skill.BluteForce + tag @s add CO.Skill.BluteForce.Pt.Tutorial diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/change_head/attack.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/change_head/attack.mcfunction index f799ec9db6..9b52bba54d 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/change_head/attack.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/change_head/attack.mcfunction @@ -6,7 +6,7 @@ # ヒット判定 # 円範囲 - tag @a[distance=..10] add DXYZ + tag @a[tag=!PlayerShouldInvulnerable,distance=..10] add DXYZ # ダメージ data modify storage api: Argument.Damage set from storage asset:context this.Damage.SwordAttack.Amount diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/util/remove_animation_tag.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/util/remove_animation_tag.mcfunction index 31c9c69187..eb02624d44 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/util/remove_animation_tag.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/util/remove_animation_tag.mcfunction @@ -37,19 +37,5 @@ tag @s remove CO.Skill.RocketPunch.AlterInv tag @s remove CO.Skill.Shot tag @s remove CO.Skill.UpperShot - tag @s remove CO.UpperShot.Asyuc - tag @s remove CO.UpperShot.Pt.Random - tag @s remove CO.UpperShot.Pt.Target - tag @s remove CO.UpperShot.Pt.MoveLine - tag @s remove CO.UpperShot.Pt.Cross - tag @s remove CO.UpperShot.Pt.Panto tag @s remove CO.Skill.BluteForce tag @s remove CO.Skill.BluteForce.First - tag @s remove CO.Skill.BluteForce.Async - tag @s remove CO.Skill.BluteForce.Pt.Tutorial - tag @s remove CO.Skill.BluteForce.Pt.Spin - tag @s remove CO.Skill.BluteForce.Pt.SpinInv - tag @s remove CO.Skill.BluteForce.Pt.Exa - tag @s remove CO.Skill.BluteForce.Pt.ExaInv - tag @s remove CO.Skill.BluteForce.Pt.Half - tag @s remove CO.Skill.BluteForce.Pt.HalfInv diff --git a/Asset/data/asset/functions/object/2274.gem_smoke/summon/.mcfunction b/Asset/data/asset/functions/object/2274.gem_smoke/summon/.mcfunction index 3a52613cd6..833ea36d01 100644 --- a/Asset/data/asset/functions/object/2274.gem_smoke/summon/.mcfunction +++ b/Asset/data/asset/functions/object/2274.gem_smoke/summon/.mcfunction @@ -5,4 +5,4 @@ # @within asset:object/alias/2274/summon # 元となるEntityを召喚する - summon marker ~ ~ ~ {Tags:["ObjectInit"]} + summon item_display ~ ~ ~ {Tags:["ObjectInit"],item:{id:"minecraft:stone_bricks",Count:1b},teleport_duration:1} diff --git a/Asset/data/asset/functions/object/2274.gem_smoke/tick/.mcfunction b/Asset/data/asset/functions/object/2274.gem_smoke/tick/.mcfunction index babc94d2c2..0340ffbc5d 100644 --- a/Asset/data/asset/functions/object/2274.gem_smoke/tick/.mcfunction +++ b/Asset/data/asset/functions/object/2274.gem_smoke/tick/.mcfunction @@ -13,5 +13,8 @@ execute at @s run particle campfire_cosy_smoke ~ ~ ~ 0.3 0.3 0.3 0.01 1 force @a[distance=..80] execute at @s run tp @s ^ ^ ^0.8 ~ ~1.5 +# ブロック落とす + # execute if predicate lib:random_pass_per/30 run summon item ~ ~ ~ {Item:{id:"minecraft:stone_bricks",Count:1b}} + # 消滅処理 kill @s[scores={General.Object.Tick=160..}] From 87819570ae825d7bc3bc68b527a706219769bd18 Mon Sep 17 00:00:00 2001 From: mokkkk Date: Sun, 22 Mar 2026 19:29:27 +0900 Subject: [PATCH 86/98] =?UTF-8?q?=E3=83=AC=E3=83=BC=E3=82=B6=E3=83=BC?= =?UTF-8?q?=E3=81=AE=E9=9B=A3=E6=98=93=E5=BA=A6=E3=82=92=E4=BD=8E=E4=B8=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../tick/debug/interrupt.mcfunction | 7 ++-- .../event/half_beam/event_charging.mcfunction | 40 +++++++++++------- .../half_beam_shot/event_charging.mcfunction | 42 +++++++++++-------- .../half_beam_sword/event_charging.mcfunction | 42 +++++++++++-------- 4 files changed, 78 insertions(+), 53 deletions(-) diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/debug/interrupt.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/debug/interrupt.mcfunction index 57adddda92..5f36f7f55b 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/debug/interrupt.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/debug/interrupt.mcfunction @@ -18,6 +18,7 @@ # execute at @s run tp @e[type=item_display,tag=CO.ModelRoot] ~ ~ ~ ~ 0 # イベント実行 - # tag @s add CO.Skill.ChangeHead - tag @s add CO.Skill.BluteForce - tag @s add CO.Skill.BluteForce.Pt.Tutorial + scoreboard players set @s CO.EventTimer 0 + tag @s add CO.Skill.HalfBeamShot + # tag @s add CO.Skill.BluteForce + # tag @s add CO.Skill.BluteForce.Pt.Tutorial diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam/event_charging.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam/event_charging.mcfunction index 4d2d0a2acb..65d3ec0f2e 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam/event_charging.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam/event_charging.mcfunction @@ -14,10 +14,10 @@ execute as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run tp @s ~ ~ ~ ~ ~ # 予告 # ノーマル - execute if entity @s[tag=CO.Skill.HalfBeam.IsRight] if score @s CO.EventTimer matches 15 positioned ^-30 ^ ^ rotated ~-20 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam/prediction.m {Interpolation:20,Tick:108} - execute if entity @s[tag=CO.Skill.HalfBeam.IsRight] if score @s CO.EventTimer matches 35 positioned ^-30 ^0.05 ^ rotated ~20 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam/prediction.m {Interpolation:20,Tick:88} - execute unless entity @s[tag=CO.Skill.HalfBeam.IsRight] if score @s CO.EventTimer matches 15 positioned ^30 ^ ^ rotated ~20 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam/prediction.m {Interpolation:20,Tick:108} - execute unless entity @s[tag=CO.Skill.HalfBeam.IsRight] if score @s CO.EventTimer matches 35 positioned ^30 ^0.05 ^ rotated ~-20 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam/prediction.m {Interpolation:20,Tick:88} + execute if entity @s[tag=CO.Skill.HalfBeam.IsRight] if score @s CO.EventTimer matches 15 positioned ^-30 ^ ^ rotated ~-20 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam/prediction.m {Interpolation:20,Tick:188} + execute if entity @s[tag=CO.Skill.HalfBeam.IsRight] if score @s CO.EventTimer matches 35 positioned ^-30 ^0.05 ^ rotated ~20 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam/prediction.m {Interpolation:20,Tick:168} + execute unless entity @s[tag=CO.Skill.HalfBeam.IsRight] if score @s CO.EventTimer matches 15 positioned ^30 ^ ^ rotated ~20 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam/prediction.m {Interpolation:20,Tick:188} + execute unless entity @s[tag=CO.Skill.HalfBeam.IsRight] if score @s CO.EventTimer matches 35 positioned ^30 ^0.05 ^ rotated ~-20 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam/prediction.m {Interpolation:20,Tick:168} # # ハード # execute if entity @s[tag=CO.Skill.HalfBeam.IsRight] if predicate api:global_vars/difficulty/2_hard if score @s CO.EventTimer matches 35 positioned ^-30 ^ ^ rotated ~-20 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam/prediction.m {Interpolation:20,Tick:88} # execute if entity @s[tag=CO.Skill.HalfBeam.IsRight] if predicate api:global_vars/difficulty/2_hard if score @s CO.EventTimer matches 55 positioned ^-30 ^0.05 ^ rotated ~20 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam/prediction.m {Interpolation:20,Tick:68} @@ -29,19 +29,27 @@ # execute unless entity @s[tag=CO.Skill.HalfBeam.IsRight] if predicate api:global_vars/difficulty/min/3_blessless if score @s CO.EventTimer matches 90 positioned ^30 ^ ^ rotated ~20 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam/prediction.m {Interpolation:2,Tick:33} # execute unless entity @s[tag=CO.Skill.HalfBeam.IsRight] if predicate api:global_vars/difficulty/min/3_blessless if score @s CO.EventTimer matches 95 positioned ^30 ^0.05 ^ rotated ~-20 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam/prediction.m {Interpolation:2,Tick:28} # 効果音 - execute if score @s CO.EventTimer matches 1..100 positioned ~ ~15 ~ run particle end_rod ~ ~ ~ 2 2 2 0.05 1 + execute if score @s CO.EventTimer matches 1..180 positioned ~ ~15 ~ run particle end_rod ~ ~ ~ 2 2 2 0.05 1 # 予告 - execute if score @s CO.EventTimer matches 1 run playsound block.beacon.activate hostile @a ~ ~ ~ 2 1.5 - execute if score @s CO.EventTimer matches 1 run playsound block.beacon.activate hostile @a ~ ~ ~ 2 1.5 - execute if score @s CO.EventTimer matches 20 run playsound block.beacon.activate hostile @a ~ ~ ~ 2 1.6 - execute if score @s CO.EventTimer matches 20 run playsound block.beacon.activate hostile @a ~ ~ ~ 2 1.6 - execute if score @s CO.EventTimer matches 40 run playsound block.beacon.activate hostile @a ~ ~ ~ 2 1.7 - execute if score @s CO.EventTimer matches 40 run playsound block.beacon.activate hostile @a ~ ~ ~ 2 1.7 - execute if score @s CO.EventTimer matches 60 run playsound block.beacon.activate hostile @a ~ ~ ~ 2 1.8 - execute if score @s CO.EventTimer matches 60 run playsound block.beacon.activate hostile @a ~ ~ ~ 2 1.8 - execute if score @s CO.EventTimer matches 80 run playsound block.beacon.activate hostile @a ~ ~ ~ 2 2 - execute if score @s CO.EventTimer matches 80 run playsound block.beacon.activate hostile @a ~ ~ ~ 2 2 + execute if score @s CO.EventTimer matches 1 run playsound block.beacon.activate hostile @a ~ ~ ~ 2 1.1 + execute if score @s CO.EventTimer matches 1 run playsound block.beacon.activate hostile @a ~ ~ ~ 2 1.1 + execute if score @s CO.EventTimer matches 20 run playsound block.beacon.activate hostile @a ~ ~ ~ 2 1.2 + execute if score @s CO.EventTimer matches 20 run playsound block.beacon.activate hostile @a ~ ~ ~ 2 1.2 + execute if score @s CO.EventTimer matches 40 run playsound block.beacon.activate hostile @a ~ ~ ~ 2 1.3 + execute if score @s CO.EventTimer matches 40 run playsound block.beacon.activate hostile @a ~ ~ ~ 2 1.3 + execute if score @s CO.EventTimer matches 60 run playsound block.beacon.activate hostile @a ~ ~ ~ 2 1.4 + execute if score @s CO.EventTimer matches 60 run playsound block.beacon.activate hostile @a ~ ~ ~ 2 1.4 + execute if score @s CO.EventTimer matches 80 run playsound block.beacon.activate hostile @a ~ ~ ~ 2 1.5 + execute if score @s CO.EventTimer matches 80 run playsound block.beacon.activate hostile @a ~ ~ ~ 2 1.5 + execute if score @s CO.EventTimer matches 100 run playsound block.beacon.activate hostile @a ~ ~ ~ 2 1.6 + execute if score @s CO.EventTimer matches 100 run playsound block.beacon.activate hostile @a ~ ~ ~ 2 1.6 + execute if score @s CO.EventTimer matches 120 run playsound block.beacon.activate hostile @a ~ ~ ~ 2 1.7 + execute if score @s CO.EventTimer matches 120 run playsound block.beacon.activate hostile @a ~ ~ ~ 2 1.7 + execute if score @s CO.EventTimer matches 140 run playsound block.beacon.activate hostile @a ~ ~ ~ 2 1.8 + execute if score @s CO.EventTimer matches 140 run playsound block.beacon.activate hostile @a ~ ~ ~ 2 1.8 + execute if score @s CO.EventTimer matches 160 run playsound block.beacon.activate hostile @a ~ ~ ~ 2 2 + execute if score @s CO.EventTimer matches 160 run playsound block.beacon.activate hostile @a ~ ~ ~ 2 2 # 終了 - execute if score @s CO.EventTimer matches 100.. run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam/start_attack + execute if score @s CO.EventTimer matches 180.. run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam/start_attack diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam_shot/event_charging.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam_shot/event_charging.mcfunction index fe2aeaa489..51cbfe6ec9 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam_shot/event_charging.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam_shot/event_charging.mcfunction @@ -15,10 +15,10 @@ # 予告 # レーザー # ノーマル - execute if entity @s[tag=CO.Skill.HalfBeam.IsRight] if score @s CO.EventTimer matches 15 positioned ^-30 ^ ^ rotated ~-20 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_shot/prediction.m {Interpolation:20,Tick:104} - execute if entity @s[tag=CO.Skill.HalfBeam.IsRight] if score @s CO.EventTimer matches 35 positioned ^-30 ^0.05 ^ rotated ~20 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_shot/prediction.m {Interpolation:20,Tick:84} - execute unless entity @s[tag=CO.Skill.HalfBeam.IsRight] if score @s CO.EventTimer matches 15 positioned ^30 ^ ^ rotated ~20 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_shot/prediction.m {Interpolation:20,Tick:104} - execute unless entity @s[tag=CO.Skill.HalfBeam.IsRight] if score @s CO.EventTimer matches 35 positioned ^30 ^0.05 ^ rotated ~-20 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_shot/prediction.m {Interpolation:20,Tick:84} + execute if entity @s[tag=CO.Skill.HalfBeam.IsRight] if score @s CO.EventTimer matches 15 positioned ^-30 ^ ^ rotated ~-20 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_shot/prediction.m {Interpolation:20,Tick:184} + execute if entity @s[tag=CO.Skill.HalfBeam.IsRight] if score @s CO.EventTimer matches 35 positioned ^-30 ^0.05 ^ rotated ~20 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_shot/prediction.m {Interpolation:20,Tick:164} + execute unless entity @s[tag=CO.Skill.HalfBeam.IsRight] if score @s CO.EventTimer matches 15 positioned ^30 ^ ^ rotated ~20 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_shot/prediction.m {Interpolation:20,Tick:184} + execute unless entity @s[tag=CO.Skill.HalfBeam.IsRight] if score @s CO.EventTimer matches 35 positioned ^30 ^0.05 ^ rotated ~-20 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_shot/prediction.m {Interpolation:20,Tick:164} # # ハード # execute if entity @s[tag=CO.Skill.HalfBeam.IsRight] if predicate api:global_vars/difficulty/2_hard if score @s CO.EventTimer matches 35 positioned ^-30 ^ ^ rotated ~-20 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_shot/prediction.m {Interpolation:20,Tick:84} # execute if entity @s[tag=CO.Skill.HalfBeam.IsRight] if predicate api:global_vars/difficulty/2_hard if score @s CO.EventTimer matches 55 positioned ^-30 ^0.05 ^ rotated ~20 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_shot/prediction.m {Interpolation:20,Tick:64} @@ -32,25 +32,33 @@ # 射撃 execute if score @s CO.EventTimer matches 10 at @e[type=marker,tag=CO.CenterPosition] run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_shot/set_attack_position # ノーマル - execute if score @s CO.EventTimer matches 15.. at @e[type=area_effect_cloud,tag=CO.Aec.AttackPosition,distance=..80,sort=random,limit=5] run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_shot/summon_shot.m {PredictionTime:105,AttackTime:105} + execute if score @s CO.EventTimer matches 15.. at @e[type=area_effect_cloud,tag=CO.Aec.AttackPosition,distance=..80,sort=random,limit=5] run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_shot/summon_shot.m {PredictionTime:185,AttackTime:185} # # ハード # execute if predicate api:global_vars/difficulty/2_hard if score @s CO.EventTimer matches 45.. at @e[type=area_effect_cloud,tag=CO.Aec.AttackPosition,distance=..80,sort=random,limit=5] run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_shot/summon_shot.m {PredictionTime:75,AttackTime:75} # # ブレスレス # execute if predicate api:global_vars/difficulty/min/3_blessless if score @s CO.EventTimer matches 85.. at @e[type=area_effect_cloud,tag=CO.Aec.AttackPosition,distance=..80,sort=random,limit=5] run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_shot/summon_shot.m {PredictionTime:35,AttackTime:35} # 効果音 - execute if score @s CO.EventTimer matches 1..100 positioned ~ ~15 ~ run particle end_rod ~ ~ ~ 2 2 2 0.05 1 + execute if score @s CO.EventTimer matches 1..180 positioned ~ ~15 ~ run particle end_rod ~ ~ ~ 2 2 2 0.05 1 # 予告 - execute if score @s CO.EventTimer matches 1 run playsound block.beacon.activate hostile @a ~ ~ ~ 2 1.5 - execute if score @s CO.EventTimer matches 1 run playsound block.beacon.activate hostile @a ~ ~ ~ 2 1.5 - execute if score @s CO.EventTimer matches 20 run playsound block.beacon.activate hostile @a ~ ~ ~ 2 1.6 - execute if score @s CO.EventTimer matches 20 run playsound block.beacon.activate hostile @a ~ ~ ~ 2 1.6 - execute if score @s CO.EventTimer matches 40 run playsound block.beacon.activate hostile @a ~ ~ ~ 2 1.7 - execute if score @s CO.EventTimer matches 40 run playsound block.beacon.activate hostile @a ~ ~ ~ 2 1.7 - execute if score @s CO.EventTimer matches 60 run playsound block.beacon.activate hostile @a ~ ~ ~ 2 1.8 - execute if score @s CO.EventTimer matches 60 run playsound block.beacon.activate hostile @a ~ ~ ~ 2 1.8 - execute if score @s CO.EventTimer matches 80 run playsound block.beacon.activate hostile @a ~ ~ ~ 2 2 - execute if score @s CO.EventTimer matches 80 run playsound block.beacon.activate hostile @a ~ ~ ~ 2 2 + execute if score @s CO.EventTimer matches 1 run playsound block.beacon.activate hostile @a ~ ~ ~ 2 1.1 + execute if score @s CO.EventTimer matches 1 run playsound block.beacon.activate hostile @a ~ ~ ~ 2 1.1 + execute if score @s CO.EventTimer matches 20 run playsound block.beacon.activate hostile @a ~ ~ ~ 2 1.2 + execute if score @s CO.EventTimer matches 20 run playsound block.beacon.activate hostile @a ~ ~ ~ 2 1.2 + execute if score @s CO.EventTimer matches 40 run playsound block.beacon.activate hostile @a ~ ~ ~ 2 1.3 + execute if score @s CO.EventTimer matches 40 run playsound block.beacon.activate hostile @a ~ ~ ~ 2 1.3 + execute if score @s CO.EventTimer matches 60 run playsound block.beacon.activate hostile @a ~ ~ ~ 2 1.4 + execute if score @s CO.EventTimer matches 60 run playsound block.beacon.activate hostile @a ~ ~ ~ 2 1.4 + execute if score @s CO.EventTimer matches 80 run playsound block.beacon.activate hostile @a ~ ~ ~ 2 1.5 + execute if score @s CO.EventTimer matches 80 run playsound block.beacon.activate hostile @a ~ ~ ~ 2 1.5 + execute if score @s CO.EventTimer matches 100 run playsound block.beacon.activate hostile @a ~ ~ ~ 2 1.6 + execute if score @s CO.EventTimer matches 100 run playsound block.beacon.activate hostile @a ~ ~ ~ 2 1.6 + execute if score @s CO.EventTimer matches 120 run playsound block.beacon.activate hostile @a ~ ~ ~ 2 1.7 + execute if score @s CO.EventTimer matches 120 run playsound block.beacon.activate hostile @a ~ ~ ~ 2 1.7 + execute if score @s CO.EventTimer matches 140 run playsound block.beacon.activate hostile @a ~ ~ ~ 2 1.8 + execute if score @s CO.EventTimer matches 140 run playsound block.beacon.activate hostile @a ~ ~ ~ 2 1.8 + execute if score @s CO.EventTimer matches 160 run playsound block.beacon.activate hostile @a ~ ~ ~ 2 2 + execute if score @s CO.EventTimer matches 160 run playsound block.beacon.activate hostile @a ~ ~ ~ 2 2 # 終了 - execute if score @s CO.EventTimer matches 100.. run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_shot/start_attack + execute if score @s CO.EventTimer matches 180.. run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_shot/start_attack diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam_sword/event_charging.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam_sword/event_charging.mcfunction index a1d20ca5ff..d07d9ed11c 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam_sword/event_charging.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam_sword/event_charging.mcfunction @@ -15,10 +15,10 @@ # 予告 # レーザー # ノーマル - execute if entity @s[tag=CO.Skill.HalfBeam.IsRight] if score @s CO.EventTimer matches 15 positioned ^-30 ^ ^ rotated ~-20 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_sword/prediction.m {Interpolation:20,Tick:108} - execute if entity @s[tag=CO.Skill.HalfBeam.IsRight] if score @s CO.EventTimer matches 35 positioned ^-30 ^0.05 ^ rotated ~20 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_sword/prediction.m {Interpolation:20,Tick:88} - execute unless entity @s[tag=CO.Skill.HalfBeam.IsRight] if score @s CO.EventTimer matches 15 positioned ^30 ^ ^ rotated ~20 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_sword/prediction.m {Interpolation:20,Tick:108} - execute unless entity @s[tag=CO.Skill.HalfBeam.IsRight] if score @s CO.EventTimer matches 35 positioned ^30 ^0.05 ^ rotated ~-20 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_sword/prediction.m {Interpolation:20,Tick:88} + execute if entity @s[tag=CO.Skill.HalfBeam.IsRight] if score @s CO.EventTimer matches 15 positioned ^-30 ^ ^ rotated ~-20 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_sword/prediction.m {Interpolation:20,Tick:188} + execute if entity @s[tag=CO.Skill.HalfBeam.IsRight] if score @s CO.EventTimer matches 35 positioned ^-30 ^0.05 ^ rotated ~20 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_sword/prediction.m {Interpolation:20,Tick:168} + execute unless entity @s[tag=CO.Skill.HalfBeam.IsRight] if score @s CO.EventTimer matches 15 positioned ^30 ^ ^ rotated ~20 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_sword/prediction.m {Interpolation:20,Tick:188} + execute unless entity @s[tag=CO.Skill.HalfBeam.IsRight] if score @s CO.EventTimer matches 35 positioned ^30 ^0.05 ^ rotated ~-20 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_sword/prediction.m {Interpolation:20,Tick:168} # # ハード # execute if entity @s[tag=CO.Skill.HalfBeam.IsRight] if predicate api:global_vars/difficulty/2_hard if score @s CO.EventTimer matches 35 positioned ^-30 ^ ^ rotated ~-20 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_sword/prediction.m {Interpolation:20,Tick:88} # execute if entity @s[tag=CO.Skill.HalfBeam.IsRight] if predicate api:global_vars/difficulty/2_hard if score @s CO.EventTimer matches 55 positioned ^-30 ^0.05 ^ rotated ~20 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_sword/prediction.m {Interpolation:20,Tick:68} @@ -31,25 +31,33 @@ # execute unless entity @s[tag=CO.Skill.HalfBeam.IsRight] if predicate api:global_vars/difficulty/min/3_blessless if score @s CO.EventTimer matches 95 positioned ^30 ^0.05 ^ rotated ~-20 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_sword/prediction.m {Interpolation:2,Tick:28} # 剣 # ノーマル - execute if score @s CO.EventTimer matches 15 run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_sword/prediction_circle.m {Tick:102} + execute if score @s CO.EventTimer matches 15 run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_sword/prediction_circle.m {Tick:182} # # ハード # execute if predicate api:global_vars/difficulty/2_hard if score @s CO.EventTimer matches 35 run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_sword/prediction_circle.m {Tick:82} # # ブレスレス # execute if predicate api:global_vars/difficulty/min/3_blessless if score @s CO.EventTimer matches 90 run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_sword/prediction_circle.m {Tick:27} # 効果音 - execute if score @s CO.EventTimer matches 1..100 positioned ~ ~15 ~ run particle end_rod ~ ~ ~ 2 2 2 0.05 1 + execute if score @s CO.EventTimer matches 1..180 positioned ~ ~15 ~ run particle end_rod ~ ~ ~ 2 2 2 0.05 1 # 予告 - execute if score @s CO.EventTimer matches 1 run playsound block.beacon.activate hostile @a ~ ~ ~ 2 1.5 - execute if score @s CO.EventTimer matches 1 run playsound block.beacon.activate hostile @a ~ ~ ~ 2 1.5 - execute if score @s CO.EventTimer matches 20 run playsound block.beacon.activate hostile @a ~ ~ ~ 2 1.6 - execute if score @s CO.EventTimer matches 20 run playsound block.beacon.activate hostile @a ~ ~ ~ 2 1.6 - execute if score @s CO.EventTimer matches 40 run playsound block.beacon.activate hostile @a ~ ~ ~ 2 1.7 - execute if score @s CO.EventTimer matches 40 run playsound block.beacon.activate hostile @a ~ ~ ~ 2 1.7 - execute if score @s CO.EventTimer matches 60 run playsound block.beacon.activate hostile @a ~ ~ ~ 2 1.8 - execute if score @s CO.EventTimer matches 60 run playsound block.beacon.activate hostile @a ~ ~ ~ 2 1.8 - execute if score @s CO.EventTimer matches 80 run playsound block.beacon.activate hostile @a ~ ~ ~ 2 2 - execute if score @s CO.EventTimer matches 80 run playsound block.beacon.activate hostile @a ~ ~ ~ 2 2 + execute if score @s CO.EventTimer matches 1 run playsound block.beacon.activate hostile @a ~ ~ ~ 2 1.1 + execute if score @s CO.EventTimer matches 1 run playsound block.beacon.activate hostile @a ~ ~ ~ 2 1.1 + execute if score @s CO.EventTimer matches 20 run playsound block.beacon.activate hostile @a ~ ~ ~ 2 1.2 + execute if score @s CO.EventTimer matches 20 run playsound block.beacon.activate hostile @a ~ ~ ~ 2 1.2 + execute if score @s CO.EventTimer matches 40 run playsound block.beacon.activate hostile @a ~ ~ ~ 2 1.3 + execute if score @s CO.EventTimer matches 40 run playsound block.beacon.activate hostile @a ~ ~ ~ 2 1.3 + execute if score @s CO.EventTimer matches 60 run playsound block.beacon.activate hostile @a ~ ~ ~ 2 1.4 + execute if score @s CO.EventTimer matches 60 run playsound block.beacon.activate hostile @a ~ ~ ~ 2 1.4 + execute if score @s CO.EventTimer matches 80 run playsound block.beacon.activate hostile @a ~ ~ ~ 2 1.5 + execute if score @s CO.EventTimer matches 80 run playsound block.beacon.activate hostile @a ~ ~ ~ 2 1.5 + execute if score @s CO.EventTimer matches 100 run playsound block.beacon.activate hostile @a ~ ~ ~ 2 1.6 + execute if score @s CO.EventTimer matches 100 run playsound block.beacon.activate hostile @a ~ ~ ~ 2 1.6 + execute if score @s CO.EventTimer matches 120 run playsound block.beacon.activate hostile @a ~ ~ ~ 2 1.7 + execute if score @s CO.EventTimer matches 120 run playsound block.beacon.activate hostile @a ~ ~ ~ 2 1.7 + execute if score @s CO.EventTimer matches 140 run playsound block.beacon.activate hostile @a ~ ~ ~ 2 1.8 + execute if score @s CO.EventTimer matches 140 run playsound block.beacon.activate hostile @a ~ ~ ~ 2 1.8 + execute if score @s CO.EventTimer matches 160 run playsound block.beacon.activate hostile @a ~ ~ ~ 2 2 + execute if score @s CO.EventTimer matches 160 run playsound block.beacon.activate hostile @a ~ ~ ~ 2 2 # 終了 - execute if score @s CO.EventTimer matches 100.. run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_sword/start_attack + execute if score @s CO.EventTimer matches 180.. run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_sword/start_attack From 71565d54cf05464a25c2e1149ccedcf61053e6f0 Mon Sep 17 00:00:00 2001 From: mokkkk Date: Sun, 22 Mar 2026 19:32:48 +0900 Subject: [PATCH 87/98] =?UTF-8?q?=E4=B8=80=E9=83=A8=E8=A1=8C=E5=8B=95?= =?UTF-8?q?=E3=81=AE=E4=B8=8D=E5=82=99=E3=82=92=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mob/0456.gargo_ex_machina/tick/act/phase_1/.mcfunction | 4 ++-- .../mob/0456.gargo_ex_machina/tick/act/phase_2/.mcfunction | 3 ++- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/phase_1/.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/phase_1/.mcfunction index e1127063c6..e0e57d6941 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/phase_1/.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/phase_1/.mcfunction @@ -64,8 +64,8 @@ execute if score @s CO.Counter matches 22 run function asset:mob/0456.gargo_ex_machina/tick/act/phase_1/move_to_center # 銃変形 execute if score @s CO.Counter matches 23 run tag @s add CO.Skill.Transform.Shoot - # 上空射撃・ランダムパターン - execute if score @s CO.Counter matches 12 run tag @s add CO.UpperShot.Pt.Random + # 上空射撃・追尾パターン + execute if score @s CO.Counter matches 24 run tag @s add CO.UpperShot.Pt.Target execute if score @s CO.Counter matches 24 run tag @s add CO.Skill.UpperShot # プレイヤー狙い弾 execute if score @s CO.Counter matches 25 run tag @s add CO.Skill.Shot diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/phase_2/.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/phase_2/.mcfunction index 19a8ec105e..941bd6f5a5 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/phase_2/.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/phase_2/.mcfunction @@ -83,11 +83,12 @@ execute if score @s CO.Counter matches 26 run tag @s add CO.Skill.RocketPunch # 待機 execute if score @s CO.Counter matches 27 as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run scoreboard players set @s CO.IdleTimer 220 - # ロケットパンチ3回目 + # ロケットパンチ3回目 + 待機 execute if score @s CO.Counter matches 28 as @e[type=marker,tag=CO.CenterPosition,distance=..80,limit=1] at @s run tp @s ~ ~ ~ ~180 0 execute if score @s CO.Counter matches 25 run tag @s add CO.Skill.RocketPunch.Alter execute if score @s CO.Counter matches 28 run scoreboard players set @s CO.PreTimer 180 execute if score @s CO.Counter matches 28 run tag @s add CO.Skill.RocketPunch + execute if score @s CO.Counter matches 28 as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run scoreboard players set @s CO.IdleTimer 80 # 四隅に移動 execute if score @s CO.Counter matches 29 run function asset:mob/0456.gargo_ex_machina/tick/act/phase_2/move_to_corner ## 剣叩きつけ From d6829605a2bcb968464d5aa05db703b2bddf906d Mon Sep 17 00:00:00 2001 From: mokkkk Date: Sun, 22 Mar 2026 23:10:00 +0900 Subject: [PATCH 88/98] =?UTF-8?q?=E9=9B=A3=E6=98=93=E5=BA=A6=E8=AA=BF?= =?UTF-8?q?=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../0456.gargo_ex_machina/death/.mcfunction | 1 + .../0456.gargo_ex_machina/hurt/.mcfunction | 2 +- .../0456.gargo_ex_machina/register.mcfunction | 26 +++++++++---------- .../0456.gargo_ex_machina/remove/.mcfunction | 1 + .../tick/act/.mcfunction | 3 +++ .../tick/act/phase_2/.mcfunction | 22 ++++++++-------- .../tick/event/change_head/.mcfunction | 10 +++++++ .../event/half_beam/event_charging.mcfunction | 12 ++++----- .../half_beam_shot/event_charging.mcfunction | 16 +++++------- .../half_beam_sword/event_charging.mcfunction | 16 +++++------- .../tick/event/sword_attack/attack.mcfunction | 9 ++++--- .../sword_attack/attack_double.mcfunction | 9 ++++--- .../event/sword_attack/prediction.mcfunction | 18 ++++++++----- .../sword_attack/prediction_double.mcfunction | 18 ++++++++----- .../upper_shot/pattern_random.mcfunction | 2 +- .../util/change_bossbar_name.m.mcfunction | 6 ----- .../tick/util/change_health.mcfunction | 11 ++++++++ .../2268.gem_upper_shot/tick/.mcfunction | 3 ++- .../tick/damage.mcfunction | 7 +++-- 19 files changed, 112 insertions(+), 80 deletions(-) create mode 100644 Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/util/change_health.mcfunction diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/death/.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/death/.mcfunction index 0f4453b7e7..440a6f9ce9 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/death/.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/death/.mcfunction @@ -23,6 +23,7 @@ # その他リセット # function asset:mob/0456.gargo_ex_machina/tick/util/remove_all_tag + bossbar remove asset:co_field_modify # オブジェクト消去 function animated_java:gem_attack_drone/remove/all diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/hurt/.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/hurt/.mcfunction index d2142a78ac..29f022190e 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/hurt/.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/hurt/.mcfunction @@ -15,6 +15,6 @@ function api:mob/get_health_percent execute store result score $HealthPer Temporary run data get storage api: Return.HealthPer 100 # フェーズ移行 - execute unless entity @s[tag=CO.IsLatter] if score $HealthPer Temporary matches ..20 run function asset:mob/0456.gargo_ex_machina/tick/event/change_head/start + execute unless entity @s[tag=CO.IsLatter] if score $HealthPer Temporary matches ..40 run function asset:mob/0456.gargo_ex_machina/tick/event/change_head/start # 終了 scoreboard players reset $HealthPer Temporary diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/register.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/register.mcfunction index c89168e866..b79be8d540 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/register.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/register.mcfunction @@ -22,7 +22,7 @@ data modify storage asset:mob Lore set value ['{"text":"ほげ"}'] # 体力 (double) (オプション) # 前後半戦で回復するので実態の半分の値を入れる - data modify storage asset:mob Health set value 100 + data modify storage asset:mob Health set value 120000 # 属性倍率 // 1.0fで100% 最低でも25%は軽減されずに入る # 物理倍率 (float) (オプション) data modify storage asset:mob Resist.Physical set value 1.0f @@ -40,21 +40,21 @@ data modify storage asset:mob Field.FirstPos.Y set value 91.0 data modify storage asset:mob Field.FirstPos.Z set value 836.0 # 剣叩きつけ - data modify storage asset:mob Field.Damage.SwordAttack set value {Amount:70.0,Type:"Physical",Element:"None"} + data modify storage asset:mob Field.Damage.SwordAttack set value {Amount:80.0,Type:"Physical",Element:"None"} # 半面焼きビーム - data modify storage asset:mob Field.Damage.HalfBeam set value {Amount:80.0,Type:"Magic",Element:"None"} + data modify storage asset:mob Field.Damage.HalfBeam set value {Amount:110.0,Type:"Magic",Element:"None"} # 半面焼きビーム・回転斬り部分 - data modify storage asset:mob Field.Damage.HalfBeamSword set value {Amount:60.0,Type:"Physical",Element:"None"} + data modify storage asset:mob Field.Damage.HalfBeamSword set value {Amount:100.0,Type:"Physical",Element:"None"} # スーパージャンプ - data modify storage asset:mob Field.Damage.SuperJump set value {Amount:70.0,Type:"Physical",Element:"None"} - # フィールド・モディファイ - data modify storage asset:mob Field.Damage.FieldModify set value {Amount:90.0,Type:"Magic",Element:"None"} + data modify storage asset:mob Field.Damage.SuperJump set value {Amount:90.0,Type:"Physical",Element:"None"} + # 色床 + data modify storage asset:mob Field.Damage.FieldModify set value {Amount:120.0,Type:"Magic",Element:"None"} # 射撃 - data modify storage asset:mob Field.Damage.Shot set value {Amount:60.0,Type:"Magic",Element:"None"} + data modify storage asset:mob Field.Damage.Shot set value {Amount:80.0,Type:"Magic",Element:"None"} # ロケットパンチ - data modify storage asset:mob Field.Damage.RocketPunch set value {Amount:60.0,Type:"Physical",Element:"None"} + data modify storage asset:mob Field.Damage.RocketPunch set value {Amount:80.0,Type:"Physical",Element:"None"} # ドローン - data modify storage asset:mob Field.Damage.AttackDrone set value {Amount:60.0,Type:"Physical",Element:"None"} - data modify storage asset:mob Field.Damage.YeeterDrone set value {Amount:60.0,Type:"Physical",Element:"None"} - data modify storage asset:mob Field.Damage.PanjanDrone set value {Amount:60.0,Type:"Physical",Element:"None"} - data modify storage asset:mob Field.Damage.PanjanDrone.Flame set value {Amount:20.0,Type:"Magic",Element:"Fire"} + data modify storage asset:mob Field.Damage.AttackDrone set value {Amount:80.0,Type:"Physical",Element:"None"} + data modify storage asset:mob Field.Damage.YeeterDrone set value {Amount:80.0,Type:"Physical",Element:"None"} + data modify storage asset:mob Field.Damage.PanjanDrone set value {Amount:90.0,Type:"Physical",Element:"None"} + data modify storage asset:mob Field.Damage.PanjanDrone.Flame set value {Amount:40.0,Type:"Magic",Element:"Fire"} diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/remove/.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/remove/.mcfunction index b9726e91b9..3ae7537667 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/remove/.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/remove/.mcfunction @@ -26,6 +26,7 @@ # その他リセット # function asset:mob/0456.gargo_ex_machina/tick/util/remove_all_tag + bossbar remove asset:co_field_modify # オブジェクト消去 function animated_java:gem_attack_drone/remove/all diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/.mcfunction index bd83ede976..677c882faf 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/.mcfunction @@ -11,6 +11,9 @@ function asset:mob/0456.gargo_ex_machina/tick/util/remove_animation_tag # execute as @e[type=item_display,tag=CO.ModelRoot,distance=..30,sort=nearest,limit=1] unless entity @s[tag=aj.gargo_ex_machina.animation.idle.playing] run function animated_java:gargo_ex_machina/animations/idle/tween {duration:1, to_frame: 1} +# ターゲット変更 + function asset:mob/0456.gargo_ex_machina/tick/util/change_target + # 待機時間仮設定 scoreboard players set @e[type=item_display,tag=CO.ModelRoot,distance=..30] CO.EventTimer 0 scoreboard players set @e[type=item_display,tag=CO.ModelRoot,distance=..30] CO.IdleTimer 2 diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/phase_2/.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/phase_2/.mcfunction index 941bd6f5a5..01a0b591fa 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/phase_2/.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/act/phase_2/.mcfunction @@ -17,25 +17,25 @@ execute if score @s CO.Counter matches 3 run scoreboard players set @s CO.PreTimer 500 execute if score @s CO.Counter matches 3 run tag @s add CO.Skill.SuperJump # 待機 - execute if score @s CO.Counter matches 4 as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run scoreboard players set @s CO.IdleTimer 200 + execute if score @s CO.Counter matches 4 as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run scoreboard players set @s CO.IdleTimer 80 ## 剣叩きつけ execute if score @s CO.Counter matches 5 run tag @s add CO.Skill.SwordAttack # 待機 - execute if score @s CO.Counter matches 6 as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run scoreboard players set @s CO.IdleTimer 80 + execute if score @s CO.Counter matches 6 as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run scoreboard players set @s CO.IdleTimer 40 ## 薙ぎ払いレーザー # 中心に移動 execute if score @s CO.Counter matches 7 run function asset:mob/0456.gargo_ex_machina/tick/act/phase_2/move_to_center # 薙ぎ払いレーザー execute if score @s CO.Counter matches 8 run function asset:mob/0456.gargo_ex_machina/tick/act/phase_2/half_beam # 待機 - execute if score @s CO.Counter matches 9 as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run scoreboard players set @s CO.IdleTimer 80 + execute if score @s CO.Counter matches 9 as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run scoreboard players set @s CO.IdleTimer 30 ## 剣叩きつけ + ATTACKドローン # 四隅に移動 + ドローン召喚 execute if score @s CO.Counter matches 10 run function asset:mob/0456.gargo_ex_machina/tick/act/phase_2/summon_attack_drone_corner # 剣叩きつけ execute if score @s CO.Counter matches 11 run tag @s add CO.Skill.SwordAttack # 待機 - execute if score @s CO.Counter matches 12 as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run scoreboard players set @s CO.IdleTimer 80 + execute if score @s CO.Counter matches 12 as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run scoreboard players set @s CO.IdleTimer 30 ## ブルートフォース:回転パターン # 中央に移動 execute if score @s CO.Counter matches 13 run function asset:mob/0456.gargo_ex_machina/tick/act/phase_2/move_to_center @@ -46,7 +46,7 @@ execute if score @s CO.Counter matches 15 run scoreboard players set @s CO.PreTimer 400 execute if score @s CO.Counter matches 15 run tag @s add CO.Skill.SuperJump # 待機 - execute if score @s CO.Counter matches 16 as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run scoreboard players set @s CO.IdleTimer 200 + execute if score @s CO.Counter matches 16 as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run scoreboard players set @s CO.IdleTimer 100 ## 射撃 + PANJANドローン # 四辺に移動 execute if score @s CO.Counter matches 17 run function asset:mob/0456.gargo_ex_machina/tick/act/phase_2/move_to_line @@ -56,7 +56,7 @@ # 射撃 execute if score @s CO.Counter matches 19 run tag @s add CO.Skill.Shot # 待機 - execute if score @s CO.Counter matches 20 as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run scoreboard players set @s CO.IdleTimer 120 + execute if score @s CO.Counter matches 20 as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run scoreboard players set @s CO.IdleTimer 60 ## 上空射撃 + YEETERドローン # 上空射撃・移動直線範囲パターン execute if score @s CO.Counter matches 21 run tag @s add CO.UpperShot.Pt.MoveLine @@ -94,14 +94,14 @@ ## 剣叩きつけ execute if score @s CO.Counter matches 30 run tag @s add CO.Skill.SwordAttack # 待機 - execute if score @s CO.Counter matches 31 as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run scoreboard players set @s CO.IdleTimer 200 + execute if score @s CO.Counter matches 31 as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run scoreboard players set @s CO.IdleTimer 100 ## 薙ぎ払いレーザー # 中心に移動 execute if score @s CO.Counter matches 32 run function asset:mob/0456.gargo_ex_machina/tick/act/phase_2/move_to_center # 薙ぎ払いレーザー execute if score @s CO.Counter matches 33 run function asset:mob/0456.gargo_ex_machina/tick/act/phase_2/half_beam # 待機 - execute if score @s CO.Counter matches 34 as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run scoreboard players set @s CO.IdleTimer 80 + execute if score @s CO.Counter matches 34 as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run scoreboard players set @s CO.IdleTimer 20 ## 剣叩きつけ + ATTACKドローン # 四隅に移動 + ドローン召喚 execute if score @s CO.Counter matches 35 run function asset:mob/0456.gargo_ex_machina/tick/act/phase_2/summon_attack_drone_corner @@ -122,7 +122,7 @@ execute if score @s CO.Counter matches 42 run scoreboard players set @s CO.PreTimer 300 execute if score @s CO.Counter matches 42 run tag @s add CO.Skill.SuperJump # 待機 - execute if score @s CO.Counter matches 43 as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run scoreboard players set @s CO.IdleTimer 200 + execute if score @s CO.Counter matches 43 as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run scoreboard players set @s CO.IdleTimer 100 ## 剣叩きつけ + YEETERドローン # 四辺に移動 + YEETERドローン execute if score @s CO.Counter matches 44 run function asset:mob/0456.gargo_ex_machina/tick/act/phase_2/summon_yeeter_drone_line @@ -139,7 +139,7 @@ execute if score @s CO.Counter matches 48 run tag @s add CO.UpperShot.Pt.Cross execute if score @s CO.Counter matches 48 run tag @s add CO.Skill.UpperShot # 待機 - execute if score @s CO.Counter matches 49 as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run scoreboard players set @s CO.IdleTimer 180 + execute if score @s CO.Counter matches 49 as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run scoreboard players set @s CO.IdleTimer 80 ## ブルートフォース:半面焼きパターン # 剣変形 execute if score @s CO.Counter matches 50 run tag @s add CO.Skill.Transform.Sword @@ -151,4 +151,4 @@ execute if score @s CO.Counter matches 52 run scoreboard players set @s CO.PreTimer 120 execute if score @s CO.Counter matches 52 run tag @s add CO.Skill.SuperJump # 待機 - execute if score @s CO.Counter matches 53 as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run scoreboard players set @s CO.IdleTimer 300 + execute if score @s CO.Counter matches 53 as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run scoreboard players set @s CO.IdleTimer 160 diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/change_head/.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/change_head/.mcfunction index 2a8dfbf90d..0905394ef6 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/change_head/.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/change_head/.mcfunction @@ -41,9 +41,19 @@ # 攻撃 execute if score @s CO.EventTimer matches 110 positioned ^ ^ ^12 run function asset:mob/0456.gargo_ex_machina/tick/event/change_head/prediction execute if score @s CO.EventTimer matches 210 positioned ^ ^ ^12 run function asset:mob/0456.gargo_ex_machina/tick/event/change_head/attack + # 攻撃演出 + execute if score @s CO.EventTimer matches 210 as @a[distance=..80] at @s run tp @s ~ ~ ~ ~ ~2 + execute if score @s CO.EventTimer matches 211 as @a[distance=..80] at @s run tp @s ~ ~ ~ ~ ~-4 + execute if score @s CO.EventTimer matches 212 as @a[distance=..80] at @s run tp @s ~ ~ ~ ~ ~4 + execute if score @s CO.EventTimer matches 213 as @a[distance=..80] at @s run tp @s ~ ~ ~ ~ ~-4 + execute if score @s CO.EventTimer matches 214 as @a[distance=..80] at @s run tp @s ~ ~ ~ ~ ~3 + execute if score @s CO.EventTimer matches 215 as @a[distance=..80] at @s run tp @s ~ ~ ~ ~ ~-3 + execute if score @s CO.EventTimer matches 216 as @a[distance=..80] at @s run tp @s ~ ~ ~ ~ ~3 + execute if score @s CO.EventTimer matches 217 as @a[distance=..80] at @s run tp @s ~ ~ ~ ~ ~-1 # ボス名変更 execute if score @s CO.EventTimer matches 1 run function asset:mob/0456.gargo_ex_machina/tick/util/change_bossbar_name.m {Name:"絡繰仕掛の石像",Visible:"false"} + execute if score @s CO.EventTimer matches 271 run function asset:mob/0456.gargo_ex_machina/tick/util/change_health execute if score @s CO.EventTimer matches 272 run function asset:mob/0456.gargo_ex_machina/tick/util/change_bossbar_name.m {Name:"絡繰仕掛の石像",Visible:"true"} # 無敵化 diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam/event_charging.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam/event_charging.mcfunction index 65d3ec0f2e..05d3086d87 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam/event_charging.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam/event_charging.mcfunction @@ -14,10 +14,10 @@ execute as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run tp @s ~ ~ ~ ~ ~ # 予告 # ノーマル - execute if entity @s[tag=CO.Skill.HalfBeam.IsRight] if score @s CO.EventTimer matches 15 positioned ^-30 ^ ^ rotated ~-20 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam/prediction.m {Interpolation:20,Tick:188} - execute if entity @s[tag=CO.Skill.HalfBeam.IsRight] if score @s CO.EventTimer matches 35 positioned ^-30 ^0.05 ^ rotated ~20 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam/prediction.m {Interpolation:20,Tick:168} - execute unless entity @s[tag=CO.Skill.HalfBeam.IsRight] if score @s CO.EventTimer matches 15 positioned ^30 ^ ^ rotated ~20 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam/prediction.m {Interpolation:20,Tick:188} - execute unless entity @s[tag=CO.Skill.HalfBeam.IsRight] if score @s CO.EventTimer matches 35 positioned ^30 ^0.05 ^ rotated ~-20 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam/prediction.m {Interpolation:20,Tick:168} + execute if entity @s[tag=CO.Skill.HalfBeam.IsRight] if score @s CO.EventTimer matches 15 positioned ^-30 ^ ^ rotated ~-20 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam/prediction.m {Interpolation:20,Tick:158} + execute if entity @s[tag=CO.Skill.HalfBeam.IsRight] if score @s CO.EventTimer matches 35 positioned ^-30 ^0.05 ^ rotated ~20 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam/prediction.m {Interpolation:20,Tick:138} + execute unless entity @s[tag=CO.Skill.HalfBeam.IsRight] if score @s CO.EventTimer matches 15 positioned ^30 ^ ^ rotated ~20 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam/prediction.m {Interpolation:20,Tick:158} + execute unless entity @s[tag=CO.Skill.HalfBeam.IsRight] if score @s CO.EventTimer matches 35 positioned ^30 ^0.05 ^ rotated ~-20 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam/prediction.m {Interpolation:20,Tick:138} # # ハード # execute if entity @s[tag=CO.Skill.HalfBeam.IsRight] if predicate api:global_vars/difficulty/2_hard if score @s CO.EventTimer matches 35 positioned ^-30 ^ ^ rotated ~-20 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam/prediction.m {Interpolation:20,Tick:88} # execute if entity @s[tag=CO.Skill.HalfBeam.IsRight] if predicate api:global_vars/difficulty/2_hard if score @s CO.EventTimer matches 55 positioned ^-30 ^0.05 ^ rotated ~20 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam/prediction.m {Interpolation:20,Tick:68} @@ -48,8 +48,6 @@ execute if score @s CO.EventTimer matches 120 run playsound block.beacon.activate hostile @a ~ ~ ~ 2 1.7 execute if score @s CO.EventTimer matches 140 run playsound block.beacon.activate hostile @a ~ ~ ~ 2 1.8 execute if score @s CO.EventTimer matches 140 run playsound block.beacon.activate hostile @a ~ ~ ~ 2 1.8 - execute if score @s CO.EventTimer matches 160 run playsound block.beacon.activate hostile @a ~ ~ ~ 2 2 - execute if score @s CO.EventTimer matches 160 run playsound block.beacon.activate hostile @a ~ ~ ~ 2 2 # 終了 - execute if score @s CO.EventTimer matches 180.. run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam/start_attack + execute if score @s CO.EventTimer matches 150.. run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam/start_attack diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam_shot/event_charging.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam_shot/event_charging.mcfunction index 51cbfe6ec9..e5022c11c2 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam_shot/event_charging.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam_shot/event_charging.mcfunction @@ -15,10 +15,10 @@ # 予告 # レーザー # ノーマル - execute if entity @s[tag=CO.Skill.HalfBeam.IsRight] if score @s CO.EventTimer matches 15 positioned ^-30 ^ ^ rotated ~-20 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_shot/prediction.m {Interpolation:20,Tick:184} - execute if entity @s[tag=CO.Skill.HalfBeam.IsRight] if score @s CO.EventTimer matches 35 positioned ^-30 ^0.05 ^ rotated ~20 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_shot/prediction.m {Interpolation:20,Tick:164} - execute unless entity @s[tag=CO.Skill.HalfBeam.IsRight] if score @s CO.EventTimer matches 15 positioned ^30 ^ ^ rotated ~20 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_shot/prediction.m {Interpolation:20,Tick:184} - execute unless entity @s[tag=CO.Skill.HalfBeam.IsRight] if score @s CO.EventTimer matches 35 positioned ^30 ^0.05 ^ rotated ~-20 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_shot/prediction.m {Interpolation:20,Tick:164} + execute if entity @s[tag=CO.Skill.HalfBeam.IsRight] if score @s CO.EventTimer matches 15 positioned ^-30 ^ ^ rotated ~-20 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_shot/prediction.m {Interpolation:20,Tick:134} + execute if entity @s[tag=CO.Skill.HalfBeam.IsRight] if score @s CO.EventTimer matches 35 positioned ^-30 ^0.05 ^ rotated ~20 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_shot/prediction.m {Interpolation:20,Tick:114} + execute unless entity @s[tag=CO.Skill.HalfBeam.IsRight] if score @s CO.EventTimer matches 15 positioned ^30 ^ ^ rotated ~20 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_shot/prediction.m {Interpolation:20,Tick:134} + execute unless entity @s[tag=CO.Skill.HalfBeam.IsRight] if score @s CO.EventTimer matches 35 positioned ^30 ^0.05 ^ rotated ~-20 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_shot/prediction.m {Interpolation:20,Tick:114} # # ハード # execute if entity @s[tag=CO.Skill.HalfBeam.IsRight] if predicate api:global_vars/difficulty/2_hard if score @s CO.EventTimer matches 35 positioned ^-30 ^ ^ rotated ~-20 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_shot/prediction.m {Interpolation:20,Tick:84} # execute if entity @s[tag=CO.Skill.HalfBeam.IsRight] if predicate api:global_vars/difficulty/2_hard if score @s CO.EventTimer matches 55 positioned ^-30 ^0.05 ^ rotated ~20 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_shot/prediction.m {Interpolation:20,Tick:64} @@ -32,7 +32,7 @@ # 射撃 execute if score @s CO.EventTimer matches 10 at @e[type=marker,tag=CO.CenterPosition] run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_shot/set_attack_position # ノーマル - execute if score @s CO.EventTimer matches 15.. at @e[type=area_effect_cloud,tag=CO.Aec.AttackPosition,distance=..80,sort=random,limit=5] run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_shot/summon_shot.m {PredictionTime:185,AttackTime:185} + execute if score @s CO.EventTimer matches 15.. at @e[type=area_effect_cloud,tag=CO.Aec.AttackPosition,distance=..80,sort=random,limit=5] run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_shot/summon_shot.m {PredictionTime:135,AttackTime:135} # # ハード # execute if predicate api:global_vars/difficulty/2_hard if score @s CO.EventTimer matches 45.. at @e[type=area_effect_cloud,tag=CO.Aec.AttackPosition,distance=..80,sort=random,limit=5] run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_shot/summon_shot.m {PredictionTime:75,AttackTime:75} # # ブレスレス @@ -55,10 +55,6 @@ execute if score @s CO.EventTimer matches 100 run playsound block.beacon.activate hostile @a ~ ~ ~ 2 1.6 execute if score @s CO.EventTimer matches 120 run playsound block.beacon.activate hostile @a ~ ~ ~ 2 1.7 execute if score @s CO.EventTimer matches 120 run playsound block.beacon.activate hostile @a ~ ~ ~ 2 1.7 - execute if score @s CO.EventTimer matches 140 run playsound block.beacon.activate hostile @a ~ ~ ~ 2 1.8 - execute if score @s CO.EventTimer matches 140 run playsound block.beacon.activate hostile @a ~ ~ ~ 2 1.8 - execute if score @s CO.EventTimer matches 160 run playsound block.beacon.activate hostile @a ~ ~ ~ 2 2 - execute if score @s CO.EventTimer matches 160 run playsound block.beacon.activate hostile @a ~ ~ ~ 2 2 # 終了 - execute if score @s CO.EventTimer matches 180.. run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_shot/start_attack + execute if score @s CO.EventTimer matches 130.. run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_shot/start_attack diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam_sword/event_charging.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam_sword/event_charging.mcfunction index d07d9ed11c..c70263d55b 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam_sword/event_charging.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/half_beam_sword/event_charging.mcfunction @@ -15,10 +15,10 @@ # 予告 # レーザー # ノーマル - execute if entity @s[tag=CO.Skill.HalfBeam.IsRight] if score @s CO.EventTimer matches 15 positioned ^-30 ^ ^ rotated ~-20 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_sword/prediction.m {Interpolation:20,Tick:188} - execute if entity @s[tag=CO.Skill.HalfBeam.IsRight] if score @s CO.EventTimer matches 35 positioned ^-30 ^0.05 ^ rotated ~20 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_sword/prediction.m {Interpolation:20,Tick:168} - execute unless entity @s[tag=CO.Skill.HalfBeam.IsRight] if score @s CO.EventTimer matches 15 positioned ^30 ^ ^ rotated ~20 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_sword/prediction.m {Interpolation:20,Tick:188} - execute unless entity @s[tag=CO.Skill.HalfBeam.IsRight] if score @s CO.EventTimer matches 35 positioned ^30 ^0.05 ^ rotated ~-20 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_sword/prediction.m {Interpolation:20,Tick:168} + execute if entity @s[tag=CO.Skill.HalfBeam.IsRight] if score @s CO.EventTimer matches 15 positioned ^-30 ^ ^ rotated ~-20 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_sword/prediction.m {Interpolation:20,Tick:138} + execute if entity @s[tag=CO.Skill.HalfBeam.IsRight] if score @s CO.EventTimer matches 35 positioned ^-30 ^0.05 ^ rotated ~20 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_sword/prediction.m {Interpolation:20,Tick:118} + execute unless entity @s[tag=CO.Skill.HalfBeam.IsRight] if score @s CO.EventTimer matches 15 positioned ^30 ^ ^ rotated ~20 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_sword/prediction.m {Interpolation:20,Tick:138} + execute unless entity @s[tag=CO.Skill.HalfBeam.IsRight] if score @s CO.EventTimer matches 35 positioned ^30 ^0.05 ^ rotated ~-20 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_sword/prediction.m {Interpolation:20,Tick:118} # # ハード # execute if entity @s[tag=CO.Skill.HalfBeam.IsRight] if predicate api:global_vars/difficulty/2_hard if score @s CO.EventTimer matches 35 positioned ^-30 ^ ^ rotated ~-20 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_sword/prediction.m {Interpolation:20,Tick:88} # execute if entity @s[tag=CO.Skill.HalfBeam.IsRight] if predicate api:global_vars/difficulty/2_hard if score @s CO.EventTimer matches 55 positioned ^-30 ^0.05 ^ rotated ~20 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_sword/prediction.m {Interpolation:20,Tick:68} @@ -31,7 +31,7 @@ # execute unless entity @s[tag=CO.Skill.HalfBeam.IsRight] if predicate api:global_vars/difficulty/min/3_blessless if score @s CO.EventTimer matches 95 positioned ^30 ^0.05 ^ rotated ~-20 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_sword/prediction.m {Interpolation:2,Tick:28} # 剣 # ノーマル - execute if score @s CO.EventTimer matches 15 run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_sword/prediction_circle.m {Tick:182} + execute if score @s CO.EventTimer matches 15 run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_sword/prediction_circle.m {Tick:132} # # ハード # execute if predicate api:global_vars/difficulty/2_hard if score @s CO.EventTimer matches 35 run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_sword/prediction_circle.m {Tick:82} # # ブレスレス @@ -54,10 +54,6 @@ execute if score @s CO.EventTimer matches 100 run playsound block.beacon.activate hostile @a ~ ~ ~ 2 1.6 execute if score @s CO.EventTimer matches 120 run playsound block.beacon.activate hostile @a ~ ~ ~ 2 1.7 execute if score @s CO.EventTimer matches 120 run playsound block.beacon.activate hostile @a ~ ~ ~ 2 1.7 - execute if score @s CO.EventTimer matches 140 run playsound block.beacon.activate hostile @a ~ ~ ~ 2 1.8 - execute if score @s CO.EventTimer matches 140 run playsound block.beacon.activate hostile @a ~ ~ ~ 2 1.8 - execute if score @s CO.EventTimer matches 160 run playsound block.beacon.activate hostile @a ~ ~ ~ 2 2 - execute if score @s CO.EventTimer matches 160 run playsound block.beacon.activate hostile @a ~ ~ ~ 2 2 # 終了 - execute if score @s CO.EventTimer matches 180.. run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_sword/start_attack + execute if score @s CO.EventTimer matches 130.. run function asset:mob/0456.gargo_ex_machina/tick/event/half_beam_sword/start_attack diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/sword_attack/attack.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/sword_attack/attack.mcfunction index 449f6384a1..d9c626f4fc 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/sword_attack/attack.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/sword_attack/attack.mcfunction @@ -9,17 +9,20 @@ tag @a[distance=..10] add DXYZ # 直線範囲 tag @a[tag=DXYZ] remove DXYZ - data modify storage lib: args.dx set value 4 + execute if predicate api:global_vars/difficulty/max/2_hard run data modify storage lib: args.dx set value 4 + execute if predicate api:global_vars/difficulty/min/3_blessless run data modify storage lib: args.dx set value 6 data modify storage lib: args.dy set value 5 data modify storage lib: args.dz set value 50 data modify storage lib: args.selector set value "@a[tag=!PlayerShouldInvulnerable,distance=..50]" execute rotated ~ 0 run function lib:rotatable_dxyz/m with storage lib: args - data modify storage lib: args.dx set value 4 + execute if predicate api:global_vars/difficulty/max/2_hard run data modify storage lib: args.dx set value 4 + execute if predicate api:global_vars/difficulty/min/3_blessless run data modify storage lib: args.dx set value 6 data modify storage lib: args.dy set value 5 data modify storage lib: args.dz set value 50 data modify storage lib: args.selector set value "@a[tag=!PlayerShouldInvulnerable,distance=..50]" execute rotated ~60 0 run function lib:rotatable_dxyz/m with storage lib: args - data modify storage lib: args.dx set value 4 + execute if predicate api:global_vars/difficulty/max/2_hard run data modify storage lib: args.dx set value 4 + execute if predicate api:global_vars/difficulty/min/3_blessless run data modify storage lib: args.dx set value 6 data modify storage lib: args.dy set value 5 data modify storage lib: args.dz set value 50 data modify storage lib: args.selector set value "@a[tag=!PlayerShouldInvulnerable,distance=..50]" diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/sword_attack/attack_double.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/sword_attack/attack_double.mcfunction index 7cd996c35e..7af80a8394 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/sword_attack/attack_double.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/sword_attack/attack_double.mcfunction @@ -9,17 +9,20 @@ tag @a[distance=..10] add DXYZ # 直線範囲 tag @a[tag=DXYZ] remove DXYZ - data modify storage lib: args.dx set value 4 + execute if predicate api:global_vars/difficulty/max/2_hard run data modify storage lib: args.dx set value 4 + execute if predicate api:global_vars/difficulty/min/3_blessless run data modify storage lib: args.dx set value 6 data modify storage lib: args.dy set value 5 data modify storage lib: args.dz set value 50 data modify storage lib: args.selector set value "@a[tag=!PlayerShouldInvulnerable,distance=..50]" execute rotated ~30 0 run function lib:rotatable_dxyz/m with storage lib: args - data modify storage lib: args.dx set value 4 + execute if predicate api:global_vars/difficulty/max/2_hard run data modify storage lib: args.dx set value 4 + execute if predicate api:global_vars/difficulty/min/3_blessless run data modify storage lib: args.dx set value 6 data modify storage lib: args.dy set value 5 data modify storage lib: args.dz set value 50 data modify storage lib: args.selector set value "@a[tag=!PlayerShouldInvulnerable,distance=..50]" execute rotated ~90 0 run function lib:rotatable_dxyz/m with storage lib: args - data modify storage lib: args.dx set value 4 + execute if predicate api:global_vars/difficulty/max/2_hard run data modify storage lib: args.dx set value 4 + execute if predicate api:global_vars/difficulty/min/3_blessless run data modify storage lib: args.dx set value 6 data modify storage lib: args.dy set value 5 data modify storage lib: args.dz set value 50 data modify storage lib: args.selector set value "@a[tag=!PlayerShouldInvulnerable,distance=..50]" diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/sword_attack/prediction.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/sword_attack/prediction.mcfunction index 566f5a3001..383c75939f 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/sword_attack/prediction.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/sword_attack/prediction.mcfunction @@ -16,42 +16,48 @@ data modify storage api: Argument.ID set value 2113 data modify storage api: Argument.FieldOverride.RotationX set from entity @s Rotation[0] data modify storage api: Argument.FieldOverride.Color set value 3381759 - data modify storage api: Argument.FieldOverride.Scale set value [8f,50f] + execute if predicate api:global_vars/difficulty/max/2_hard run data modify storage api: Argument.FieldOverride.Scale set value [8f,50f] + execute if predicate api:global_vars/difficulty/min/3_blessless run data modify storage api: Argument.FieldOverride.Scale set value [12f,50f] data modify storage api: Argument.FieldOverride.Interpolation set value 30 data modify storage api: Argument.FieldOverride.Tick set value 55 execute positioned ^ ^0.1 ^ rotated ~ 0 run function api:object/summon data modify storage api: Argument.ID set value 2113 data modify storage api: Argument.FieldOverride.RotationX set from entity @s Rotation[0] data modify storage api: Argument.FieldOverride.Color set value 3381759 - data modify storage api: Argument.FieldOverride.Scale set value [8f,50f] + execute if predicate api:global_vars/difficulty/max/2_hard run data modify storage api: Argument.FieldOverride.Scale set value [8f,50f] + execute if predicate api:global_vars/difficulty/min/3_blessless run data modify storage api: Argument.FieldOverride.Scale set value [12f,50f] data modify storage api: Argument.FieldOverride.Interpolation set value 30 data modify storage api: Argument.FieldOverride.Tick set value 55 execute positioned ^ ^0.1 ^ rotated ~60 0 run function api:object/summon data modify storage api: Argument.ID set value 2113 data modify storage api: Argument.FieldOverride.RotationX set from entity @s Rotation[0] data modify storage api: Argument.FieldOverride.Color set value 3381759 - data modify storage api: Argument.FieldOverride.Scale set value [8f,50f] + execute if predicate api:global_vars/difficulty/max/2_hard run data modify storage api: Argument.FieldOverride.Scale set value [8f,50f] + execute if predicate api:global_vars/difficulty/min/3_blessless run data modify storage api: Argument.FieldOverride.Scale set value [12f,50f] data modify storage api: Argument.FieldOverride.Interpolation set value 30 data modify storage api: Argument.FieldOverride.Tick set value 55 execute positioned ^ ^0.1 ^ rotated ~-60 0 run function api:object/summon data modify storage api: Argument.ID set value 2113 data modify storage api: Argument.FieldOverride.RotationX set from entity @s Rotation[0] data modify storage api: Argument.FieldOverride.Color set value 3381759 - data modify storage api: Argument.FieldOverride.Scale set value [8f,50f] + execute if predicate api:global_vars/difficulty/max/2_hard run data modify storage api: Argument.FieldOverride.Scale set value [8f,50f] + execute if predicate api:global_vars/difficulty/min/3_blessless run data modify storage api: Argument.FieldOverride.Scale set value [12f,50f] data modify storage api: Argument.FieldOverride.Interpolation set value 30 data modify storage api: Argument.FieldOverride.Tick set value 55 execute positioned ^ ^0.1 ^ rotated ~120 0 run function api:object/summon data modify storage api: Argument.ID set value 2113 data modify storage api: Argument.FieldOverride.RotationX set from entity @s Rotation[0] data modify storage api: Argument.FieldOverride.Color set value 3381759 - data modify storage api: Argument.FieldOverride.Scale set value [8f,50f] + execute if predicate api:global_vars/difficulty/max/2_hard run data modify storage api: Argument.FieldOverride.Scale set value [8f,50f] + execute if predicate api:global_vars/difficulty/min/3_blessless run data modify storage api: Argument.FieldOverride.Scale set value [12f,50f] data modify storage api: Argument.FieldOverride.Interpolation set value 30 data modify storage api: Argument.FieldOverride.Tick set value 55 execute positioned ^ ^0.1 ^ rotated ~-120 0 run function api:object/summon data modify storage api: Argument.ID set value 2113 data modify storage api: Argument.FieldOverride.RotationX set from entity @s Rotation[0] data modify storage api: Argument.FieldOverride.Color set value 3381759 - data modify storage api: Argument.FieldOverride.Scale set value [8f,50f] + execute if predicate api:global_vars/difficulty/max/2_hard run data modify storage api: Argument.FieldOverride.Scale set value [8f,50f] + execute if predicate api:global_vars/difficulty/min/3_blessless run data modify storage api: Argument.FieldOverride.Scale set value [12f,50f] data modify storage api: Argument.FieldOverride.Interpolation set value 30 data modify storage api: Argument.FieldOverride.Tick set value 55 execute positioned ^ ^0.1 ^ rotated ~180 0 run function api:object/summon diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/sword_attack/prediction_double.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/sword_attack/prediction_double.mcfunction index 50e63af65d..5900d32842 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/sword_attack/prediction_double.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/sword_attack/prediction_double.mcfunction @@ -16,42 +16,48 @@ data modify storage api: Argument.ID set value 2113 data modify storage api: Argument.FieldOverride.RotationX set from entity @s Rotation[0] data modify storage api: Argument.FieldOverride.Color set value 3381759 - data modify storage api: Argument.FieldOverride.Scale set value [8f,50f] + execute if predicate api:global_vars/difficulty/max/2_hard run data modify storage api: Argument.FieldOverride.Scale set value [8f,50f] + execute if predicate api:global_vars/difficulty/min/3_blessless run data modify storage api: Argument.FieldOverride.Scale set value [12f,50f] data modify storage api: Argument.FieldOverride.Interpolation set value 10 data modify storage api: Argument.FieldOverride.Tick set value 20 execute positioned ^ ^0.1 ^ rotated ~30 0 run function api:object/summon data modify storage api: Argument.ID set value 2113 data modify storage api: Argument.FieldOverride.RotationX set from entity @s Rotation[0] data modify storage api: Argument.FieldOverride.Color set value 3381759 - data modify storage api: Argument.FieldOverride.Scale set value [8f,50f] + execute if predicate api:global_vars/difficulty/max/2_hard run data modify storage api: Argument.FieldOverride.Scale set value [8f,50f] + execute if predicate api:global_vars/difficulty/min/3_blessless run data modify storage api: Argument.FieldOverride.Scale set value [12f,50f] data modify storage api: Argument.FieldOverride.Interpolation set value 10 data modify storage api: Argument.FieldOverride.Tick set value 20 execute positioned ^ ^0.1 ^ rotated ~-30 0 run function api:object/summon data modify storage api: Argument.ID set value 2113 data modify storage api: Argument.FieldOverride.RotationX set from entity @s Rotation[0] data modify storage api: Argument.FieldOverride.Color set value 3381759 - data modify storage api: Argument.FieldOverride.Scale set value [8f,50f] + execute if predicate api:global_vars/difficulty/max/2_hard run data modify storage api: Argument.FieldOverride.Scale set value [8f,50f] + execute if predicate api:global_vars/difficulty/min/3_blessless run data modify storage api: Argument.FieldOverride.Scale set value [12f,50f] data modify storage api: Argument.FieldOverride.Interpolation set value 10 data modify storage api: Argument.FieldOverride.Tick set value 20 execute positioned ^ ^0.1 ^ rotated ~90 0 run function api:object/summon data modify storage api: Argument.ID set value 2113 data modify storage api: Argument.FieldOverride.RotationX set from entity @s Rotation[0] data modify storage api: Argument.FieldOverride.Color set value 3381759 - data modify storage api: Argument.FieldOverride.Scale set value [8f,50f] + execute if predicate api:global_vars/difficulty/max/2_hard run data modify storage api: Argument.FieldOverride.Scale set value [8f,50f] + execute if predicate api:global_vars/difficulty/min/3_blessless run data modify storage api: Argument.FieldOverride.Scale set value [12f,50f] data modify storage api: Argument.FieldOverride.Interpolation set value 10 data modify storage api: Argument.FieldOverride.Tick set value 20 execute positioned ^ ^0.1 ^ rotated ~-90 0 run function api:object/summon data modify storage api: Argument.ID set value 2113 data modify storage api: Argument.FieldOverride.RotationX set from entity @s Rotation[0] data modify storage api: Argument.FieldOverride.Color set value 3381759 - data modify storage api: Argument.FieldOverride.Scale set value [8f,50f] + execute if predicate api:global_vars/difficulty/max/2_hard run data modify storage api: Argument.FieldOverride.Scale set value [8f,50f] + execute if predicate api:global_vars/difficulty/min/3_blessless run data modify storage api: Argument.FieldOverride.Scale set value [12f,50f] data modify storage api: Argument.FieldOverride.Interpolation set value 10 data modify storage api: Argument.FieldOverride.Tick set value 20 execute positioned ^ ^0.1 ^ rotated ~150 0 run function api:object/summon data modify storage api: Argument.ID set value 2113 data modify storage api: Argument.FieldOverride.RotationX set from entity @s Rotation[0] data modify storage api: Argument.FieldOverride.Color set value 3381759 - data modify storage api: Argument.FieldOverride.Scale set value [8f,50f] + execute if predicate api:global_vars/difficulty/max/2_hard run data modify storage api: Argument.FieldOverride.Scale set value [8f,50f] + execute if predicate api:global_vars/difficulty/min/3_blessless run data modify storage api: Argument.FieldOverride.Scale set value [12f,50f] data modify storage api: Argument.FieldOverride.Interpolation set value 10 data modify storage api: Argument.FieldOverride.Tick set value 20 execute positioned ^ ^0.1 ^ rotated ~-150 0 run function api:object/summon diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/upper_shot/pattern_random.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/upper_shot/pattern_random.mcfunction index a4de79a448..04981392c2 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/upper_shot/pattern_random.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/upper_shot/pattern_random.mcfunction @@ -106,4 +106,4 @@ summon area_effect_cloud ^27.22222 ^ ^10 {Tags:["CO.Aec.UpperShotPosition"],Dura summon area_effect_cloud ^35 ^ ^10 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} # 数を減らす - kill @e[type=area_effect_cloud,tag=CO.Aec.UpperShotPosition,distance=..80,sort=random,limit=20] + kill @e[type=area_effect_cloud,tag=CO.Aec.UpperShotPosition,distance=..80,sort=random,limit=30] diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/util/change_bossbar_name.m.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/util/change_bossbar_name.m.mcfunction index 551abfff41..0cd5789c91 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/util/change_bossbar_name.m.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/util/change_bossbar_name.m.mcfunction @@ -10,9 +10,3 @@ execute store result storage asset:temp CO.MobUUID int 1 run scoreboard players get @s MobUUID function asset:mob/0456.gargo_ex_machina/tick/util/change_bossbar_name_apply.m with storage asset:temp CO data remove storage asset:temp CO - -# 最大HPの100%分回復 - function api:mob/get_max_health - execute store result storage api: Argument.Delta double 1.0 run data get storage api: Return.MaxHealth 1 - function api:mob/modify_health - function asset:mob/call.m {method: "update_bossbar"} diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/util/change_health.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/util/change_health.mcfunction new file mode 100644 index 0000000000..8ad9517e57 --- /dev/null +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/util/change_health.mcfunction @@ -0,0 +1,11 @@ +#> asset:mob/0456.gargo_ex_machina/tick/util/change_health +# +# ボス名変更 +# +# @within asset:mob/0456.gargo_ex_machina/tick/** + +# 最大HPの100%分回復 + function api:mob/get_max_health + execute store result storage api: Argument.Delta double 1.0 run data get storage api: Return.MaxHealth 1 + function api:mob/modify_health + function asset:mob/call.m {method: "update_bossbar"} diff --git a/Asset/data/asset/functions/object/2268.gem_upper_shot/tick/.mcfunction b/Asset/data/asset/functions/object/2268.gem_upper_shot/tick/.mcfunction index 0766fc31dc..0c877080d1 100644 --- a/Asset/data/asset/functions/object/2268.gem_upper_shot/tick/.mcfunction +++ b/Asset/data/asset/functions/object/2268.gem_upper_shot/tick/.mcfunction @@ -9,7 +9,8 @@ # 予兆 execute if score @s General.Object.Tick matches 3 run data modify entity @s start_interpolation set value -1 - execute if score @s General.Object.Tick matches 3 run data modify entity @s transformation.scale set value [12.0f,0.0f,12.0f] + execute if score @s General.Object.Tick matches 3 if predicate api:global_vars/difficulty/max/2_hard run data modify entity @s transformation.scale set value [12.0f,0.0f,12.0f] + execute if score @s General.Object.Tick matches 3 if predicate api:global_vars/difficulty/min/3_blessless run data modify entity @s transformation.scale set value [18.0f,0.0f,18.0f] # execute if entity @s[scores={General.Object.Tick=1}] run function asset:object/2268.gem_upper_shot/tick/prediction.m with storage asset:context this # 攻撃 diff --git a/Asset/data/asset/functions/object/2268.gem_upper_shot/tick/damage.mcfunction b/Asset/data/asset/functions/object/2268.gem_upper_shot/tick/damage.mcfunction index 1abd3a0550..bc38dee7e6 100644 --- a/Asset/data/asset/functions/object/2268.gem_upper_shot/tick/damage.mcfunction +++ b/Asset/data/asset/functions/object/2268.gem_upper_shot/tick/damage.mcfunction @@ -15,6 +15,9 @@ data modify storage api: Argument.ElementType set from storage asset:context this.Damage.Element data modify storage api: Argument.MobUUID set from storage asset:context this.MobUUID function api:damage/modifier_manual - execute as @a[tag=!PlayerShouldInvulnerable,distance=..6] unless score @s CO.UpperShot.Hit matches 1.. run function api:damage/ - execute as @a[tag=!PlayerShouldInvulnerable,distance=..6] run scoreboard players set @s CO.UpperShot.Hit 20 + execute if predicate api:global_vars/difficulty/max/2_hard run tag @a[tag=!PlayerShouldInvulnerable,distance=..6] add DXYZ + execute if predicate api:global_vars/difficulty/min/3_blessless run tag @a[tag=!PlayerShouldInvulnerable,distance=..9] add DXYZ + execute as @a[tag=DXYZ] unless score @s CO.UpperShot.Hit matches 1.. run function api:damage/ + execute as @a[tag=DXYZ] run scoreboard players set @s CO.UpperShot.Hit 20 + tag @a remove DXYZ function api:damage/reset From e55253f73437e1bef063becc47060d9a89c8c9a6 Mon Sep 17 00:00:00 2001 From: mokkkk Date: Sun, 22 Mar 2026 23:47:17 +0900 Subject: [PATCH 89/98] =?UTF-8?q?=E3=82=AF=E3=83=AA=E3=82=A2=E3=82=BF?= =?UTF-8?q?=E3=82=A4=E3=83=A0=E8=A1=A8=E7=A4=BA=E8=BF=BD=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mob/0456.gargo_ex_machina/death/.mcfunction | 16 ++++++++++++++++ .../mob/0456.gargo_ex_machina/load.mcfunction | 1 + .../mob/0456.gargo_ex_machina/tick/.mcfunction | 3 +++ .../async_pattern_exa.mcfunction | 8 ++++---- .../async_pattern_exa_inv.mcfunction | 6 +++--- 5 files changed, 27 insertions(+), 7 deletions(-) diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/death/.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/death/.mcfunction index 440a6f9ce9..5b003806e1 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/death/.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/death/.mcfunction @@ -4,6 +4,11 @@ # # @within function asset:mob/alias/456/death +#> Val +# @private + #declare score_holder $Min + #declare score_holder $Sec + # 継承元の処理実行 function asset:mob/super.death @@ -34,3 +39,14 @@ # 石像移動 function asset:mob/0456.gargo_ex_machina/death/clone_statue + +# クリアタイム表示 + execute store result score $Sec Temporary store result score $Min Temporary run scoreboard players operation @s CO.BattleTimer /= $20 Const + scoreboard players operation $Min Temporary /= $60 Const + scoreboard players operation $Sec Temporary %= $60 Const + tellraw @a[distance=..80] [{"text":"-------------------------------------------------"}] + execute if score $Sec Temporary matches 10.. run tellraw @a[distance=..80] [{"text":"【 クリアタイム:"},{"score":{"name":"$Min","objective":"Temporary"}},{"text": ":"},{"score":{"name":"$Sec","objective":"Temporary"}},{"text": " !! 】"}] + execute if score $Sec Temporary matches ..9 run tellraw @a[distance=..80] [{"text":"【 クリアタイム:"},{"score":{"name":"$Min","objective":"Temporary"}},{"text": ":0"},{"score":{"name":"$Sec","objective":"Temporary"}},{"text": " !! 】"}] + tellraw @a[distance=..80] [{"text":"-------------------------------------------------"}] + scoreboard players reset $Min Temporary + scoreboard players reset $Sec Temporary diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/load.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/load.mcfunction index 84e13a9409..bf4bb7c144 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/load.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/load.mcfunction @@ -14,6 +14,7 @@ scoreboard objectives add CO.IdleTimer dummy scoreboard objectives add CO.PreTimer dummy scoreboard objectives add CO.JumpCount dummy + scoreboard objectives add CO.BattleTimer dummy #> Object管理用 # @within function asset:mob/0456.gargo_ex_machina/** # @within function asset:object/2260.gem_attack_drone/** diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/.mcfunction index 4516114fb2..a1dab6f35f 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/.mcfunction @@ -10,3 +10,6 @@ # 多重ヒット防止 execute as @a[scores={CO.UpperShot.Hit=1..}] run scoreboard players remove @s CO.UpperShot.Hit 1 execute as @a[scores={CO.UpperShot.Hit=..0}] run scoreboard players reset @s CO.UpperShot.Hit + +# 戦闘タイマー増加 + scoreboard players add @s CO.BattleTimer 1 diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/blute_force_attack/async_pattern_exa.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/blute_force_attack/async_pattern_exa.mcfunction index 54ae5333bb..9939e42103 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/blute_force_attack/async_pattern_exa.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/blute_force_attack/async_pattern_exa.mcfunction @@ -18,10 +18,10 @@ execute if score @s CO.EventTimer.BluteForce matches 41 rotated ~45 ~ positioned ^ ^ ^32 rotated ~180 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_yeeter_drone.m {IsRotate:"false",IsRotateInverse:"false"} execute if score @s CO.EventTimer.BluteForce matches 81 rotated ~90 ~ positioned ^ ^ ^29 rotated ~180 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_yeeter_drone.m {IsRotate:"false",IsRotateInverse:"false"} execute if score @s CO.EventTimer.BluteForce matches 121 rotated ~135 ~ positioned ^ ^ ^32 rotated ~180 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_yeeter_drone.m {IsRotate:"false",IsRotateInverse:"false"} - execute if score @s CO.EventTimer.BluteForce matches 161 rotated ~180 ~ positioned ^ ^ ^29 rotated ~180 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_yeeter_drone.m {IsRotate:"false",IsRotateInverse:"false"} - execute if score @s CO.EventTimer.BluteForce matches 201 rotated ~225 ~ positioned ^ ^ ^32 rotated ~180 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_yeeter_drone.m {IsRotate:"false",IsRotateInverse:"false"} - execute if score @s CO.EventTimer.BluteForce matches 241 rotated ~270 ~ positioned ^ ^ ^29 rotated ~180 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_yeeter_drone.m {IsRotate:"false",IsRotateInverse:"false"} - execute if score @s CO.EventTimer.BluteForce matches 281 rotated ~315 ~ positioned ^ ^ ^32 rotated ~180 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_yeeter_drone.m {IsRotate:"false",IsRotateInverse:"false"} + execute if score @s CO.EventTimer.BluteForce matches 161 if predicate api:global_vars/difficulty/min/2_hard rotated ~180 ~ positioned ^ ^ ^29 rotated ~180 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_yeeter_drone.m {IsRotate:"false",IsRotateInverse:"false"} + execute if score @s CO.EventTimer.BluteForce matches 201 if predicate api:global_vars/difficulty/min/3_blessless rotated ~225 ~ positioned ^ ^ ^32 rotated ~180 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_yeeter_drone.m {IsRotate:"false",IsRotateInverse:"false"} + execute if score @s CO.EventTimer.BluteForce matches 241 if predicate api:global_vars/difficulty/min/3_blessless rotated ~270 ~ positioned ^ ^ ^29 rotated ~180 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_yeeter_drone.m {IsRotate:"false",IsRotateInverse:"false"} + execute if score @s CO.EventTimer.BluteForce matches 281 if predicate api:global_vars/difficulty/min/3_blessless rotated ~315 ~ positioned ^ ^ ^32 rotated ~180 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_yeeter_drone.m {IsRotate:"false",IsRotateInverse:"false"} # 終了 execute if score @s CO.EventTimer.BluteForce matches 282.. run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/async_end diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/blute_force_attack/async_pattern_exa_inv.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/blute_force_attack/async_pattern_exa_inv.mcfunction index 2961d74639..f63379107d 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/blute_force_attack/async_pattern_exa_inv.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/blute_force_attack/async_pattern_exa_inv.mcfunction @@ -19,9 +19,9 @@ execute if score @s CO.EventTimer.BluteForce matches 81 rotated ~-90 ~ positioned ^ ^ ^29 rotated ~180 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_yeeter_drone.m {IsRotate:"false",IsRotateInverse:"false"} execute if score @s CO.EventTimer.BluteForce matches 121 rotated ~-135 ~ positioned ^ ^ ^32 rotated ~180 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_yeeter_drone.m {IsRotate:"false",IsRotateInverse:"false"} execute if score @s CO.EventTimer.BluteForce matches 161 rotated ~-180 ~ positioned ^ ^ ^29 rotated ~180 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_yeeter_drone.m {IsRotate:"false",IsRotateInverse:"false"} - execute if score @s CO.EventTimer.BluteForce matches 201 rotated ~-225 ~ positioned ^ ^ ^32 rotated ~180 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_yeeter_drone.m {IsRotate:"false",IsRotateInverse:"false"} - execute if score @s CO.EventTimer.BluteForce matches 241 rotated ~-270 ~ positioned ^ ^ ^29 rotated ~180 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_yeeter_drone.m {IsRotate:"false",IsRotateInverse:"false"} - execute if score @s CO.EventTimer.BluteForce matches 281 rotated ~-315 ~ positioned ^ ^ ^32 rotated ~180 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_yeeter_drone.m {IsRotate:"false",IsRotateInverse:"false"} + execute if score @s CO.EventTimer.BluteForce matches 201 if predicate api:global_vars/difficulty/min/3_blessless rotated ~-225 ~ positioned ^ ^ ^32 rotated ~180 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_yeeter_drone.m {IsRotate:"false",IsRotateInverse:"false"} + execute if score @s CO.EventTimer.BluteForce matches 241 if predicate api:global_vars/difficulty/min/3_blessless rotated ~-270 ~ positioned ^ ^ ^29 rotated ~180 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_yeeter_drone.m {IsRotate:"false",IsRotateInverse:"false"} + execute if score @s CO.EventTimer.BluteForce matches 281 if predicate api:global_vars/difficulty/min/3_blessless rotated ~-315 ~ positioned ^ ^ ^32 rotated ~180 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_yeeter_drone.m {IsRotate:"false",IsRotateInverse:"false"} # 終了 execute if score @s CO.EventTimer.BluteForce matches 282.. run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/async_end From b05a77c51654dea4169dcfc73499ff33dd91ddcd Mon Sep 17 00:00:00 2001 From: mokkkk Date: Mon, 23 Mar 2026 00:41:25 +0900 Subject: [PATCH 90/98] =?UTF-8?q?=E5=89=8D=E5=8D=8A=E6=88=A6=E7=94=A8?= =?UTF-8?q?=E3=83=80=E3=83=9F=E3=83=BC=E3=83=9C=E3=82=B9=E3=83=90=E3=83=BC?= =?UTF-8?q?=E4=BD=9C=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../0456.gargo_ex_machina/death/.mcfunction | 1 + .../0456.gargo_ex_machina/hurt/.mcfunction | 3 +++ .../mob/0456.gargo_ex_machina/load.mcfunction | 1 + .../0456.gargo_ex_machina/register.mcfunction | 2 ++ .../0456.gargo_ex_machina/remove/.mcfunction | 1 + .../tick/event/activate/.mcfunction | 3 ++- .../async_pattern_exa_inv.mcfunction | 2 +- .../tick/event/change_head/.mcfunction | 2 +- .../tick/event/change_head/attack.mcfunction | 6 ++--- .../tick/util/end_invulnerable.mcfunction | 1 + .../util/remove_former_bossbar.mcfunction | 9 +++++++ .../tick/util/show_former_bossbar.mcfunction | 24 +++++++++++++++++++ .../tick/util/start_invulnerable.mcfunction | 1 + .../util/update_former_bossbar.mcfunction | 15 ++++++++++++ 14 files changed, 65 insertions(+), 6 deletions(-) create mode 100644 Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/util/remove_former_bossbar.mcfunction create mode 100644 Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/util/show_former_bossbar.mcfunction create mode 100644 Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/util/update_former_bossbar.mcfunction diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/death/.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/death/.mcfunction index 5b003806e1..dff0d45961 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/death/.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/death/.mcfunction @@ -29,6 +29,7 @@ # その他リセット # function asset:mob/0456.gargo_ex_machina/tick/util/remove_all_tag bossbar remove asset:co_field_modify + bossbar remove asset:co_gem_former # オブジェクト消去 function animated_java:gem_attack_drone/remove/all diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/hurt/.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/hurt/.mcfunction index 29f022190e..b613600040 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/hurt/.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/hurt/.mcfunction @@ -10,6 +10,9 @@ # 効果音 playsound entity.generic.hurt hostile @a ~ ~ ~ 1 1 +# 前半戦 + execute unless entity @s[tag=CO.IsLatter] run function asset:mob/0456.gargo_ex_machina/tick/util/update_former_bossbar + # フェーズ処理 # 残HP割合取得 function api:mob/get_health_percent diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/load.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/load.mcfunction index bf4bb7c144..c120654264 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/load.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/load.mcfunction @@ -15,6 +15,7 @@ scoreboard objectives add CO.PreTimer dummy scoreboard objectives add CO.JumpCount dummy scoreboard objectives add CO.BattleTimer dummy + scoreboard objectives add CO.HealthOffset dummy #> Object管理用 # @within function asset:mob/0456.gargo_ex_machina/** # @within function asset:object/2260.gem_attack_drone/** diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/register.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/register.mcfunction index b79be8d540..b3358a1201 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/register.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/register.mcfunction @@ -39,6 +39,8 @@ data modify storage asset:mob Field.FirstPos.X set value 527.5 data modify storage asset:mob Field.FirstPos.Y set value 91.0 data modify storage asset:mob Field.FirstPos.Z set value 836.0 + # フェーズチェンジ + data modify storage asset:mob Field.Damage.ChangeHead set value {Amount:500.0,Type:"Physical",Element:"None"} # 剣叩きつけ data modify storage asset:mob Field.Damage.SwordAttack set value {Amount:80.0,Type:"Physical",Element:"None"} # 半面焼きビーム diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/remove/.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/remove/.mcfunction index 3ae7537667..6e524c561c 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/remove/.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/remove/.mcfunction @@ -27,6 +27,7 @@ # その他リセット # function asset:mob/0456.gargo_ex_machina/tick/util/remove_all_tag bossbar remove asset:co_field_modify + bossbar remove asset:co_gem_former # オブジェクト消去 function animated_java:gem_attack_drone/remove/all diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/activate/.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/activate/.mcfunction index 5b9a2cc34e..35107efa74 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/activate/.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/activate/.mcfunction @@ -53,9 +53,10 @@ execute if score @s CO.EventTimer matches 345 run function asset:mob/0456.gargo_ex_machina/tick/util/sound # ボス名変更 execute if score @s CO.EventTimer matches 1 run function asset:mob/0456.gargo_ex_machina/tick/util/change_bossbar_name.m {Name:"絡繰仕掛の石像",Visible:"false"} - execute if score @s CO.EventTimer matches 350 run function asset:mob/0456.gargo_ex_machina/tick/util/change_bossbar_name.m {Name:"絡繰仕掛の石像",Visible:"true"} + # execute if score @s CO.EventTimer matches 350 run function asset:mob/0456.gargo_ex_machina/tick/util/change_bossbar_name.m {Name:"絡繰仕掛の石像",Visible:"true"} execute if score @s CO.EventTimer matches 1 run function asset:mob/0456.gargo_ex_machina/tick/event/activate/show_dummy_bossbar execute if score @s CO.EventTimer matches 251 run function asset:mob/0456.gargo_ex_machina/tick/event/activate/clear_dummy_bossbar + execute if score @s CO.EventTimer matches 350 run function asset:mob/0456.gargo_ex_machina/tick/util/show_former_bossbar execute if score @s CO.EventTimer matches 300 run bossbar remove asset:co_scape_sheep # 無敵化 diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/blute_force_attack/async_pattern_exa_inv.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/blute_force_attack/async_pattern_exa_inv.mcfunction index f63379107d..4fa3796c0c 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/blute_force_attack/async_pattern_exa_inv.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/blute_force_attack/async_pattern_exa_inv.mcfunction @@ -18,7 +18,7 @@ execute if score @s CO.EventTimer.BluteForce matches 41 rotated ~-45 ~ positioned ^ ^ ^32 rotated ~180 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_yeeter_drone.m {IsRotate:"false",IsRotateInverse:"false"} execute if score @s CO.EventTimer.BluteForce matches 81 rotated ~-90 ~ positioned ^ ^ ^29 rotated ~180 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_yeeter_drone.m {IsRotate:"false",IsRotateInverse:"false"} execute if score @s CO.EventTimer.BluteForce matches 121 rotated ~-135 ~ positioned ^ ^ ^32 rotated ~180 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_yeeter_drone.m {IsRotate:"false",IsRotateInverse:"false"} - execute if score @s CO.EventTimer.BluteForce matches 161 rotated ~-180 ~ positioned ^ ^ ^29 rotated ~180 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_yeeter_drone.m {IsRotate:"false",IsRotateInverse:"false"} + execute if score @s CO.EventTimer.BluteForce matches 161 if predicate api:global_vars/difficulty/min/2_hard rotated ~-180 ~ positioned ^ ^ ^29 rotated ~180 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_yeeter_drone.m {IsRotate:"false",IsRotateInverse:"false"} execute if score @s CO.EventTimer.BluteForce matches 201 if predicate api:global_vars/difficulty/min/3_blessless rotated ~-225 ~ positioned ^ ^ ^32 rotated ~180 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_yeeter_drone.m {IsRotate:"false",IsRotateInverse:"false"} execute if score @s CO.EventTimer.BluteForce matches 241 if predicate api:global_vars/difficulty/min/3_blessless rotated ~-270 ~ positioned ^ ^ ^29 rotated ~180 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_yeeter_drone.m {IsRotate:"false",IsRotateInverse:"false"} execute if score @s CO.EventTimer.BluteForce matches 281 if predicate api:global_vars/difficulty/min/3_blessless rotated ~-315 ~ positioned ^ ^ ^32 rotated ~180 ~ run function asset:mob/0456.gargo_ex_machina/tick/event/blute_force_attack/summon_yeeter_drone.m {IsRotate:"false",IsRotateInverse:"false"} diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/change_head/.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/change_head/.mcfunction index 0905394ef6..c202931e3e 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/change_head/.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/change_head/.mcfunction @@ -52,7 +52,7 @@ execute if score @s CO.EventTimer matches 217 as @a[distance=..80] at @s run tp @s ~ ~ ~ ~ ~-1 # ボス名変更 - execute if score @s CO.EventTimer matches 1 run function asset:mob/0456.gargo_ex_machina/tick/util/change_bossbar_name.m {Name:"絡繰仕掛の石像",Visible:"false"} + execute if score @s CO.EventTimer matches 1 run function asset:mob/0456.gargo_ex_machina/tick/util/remove_former_bossbar execute if score @s CO.EventTimer matches 271 run function asset:mob/0456.gargo_ex_machina/tick/util/change_health execute if score @s CO.EventTimer matches 272 run function asset:mob/0456.gargo_ex_machina/tick/util/change_bossbar_name.m {Name:"絡繰仕掛の石像",Visible:"true"} diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/change_head/attack.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/change_head/attack.mcfunction index 9b52bba54d..ef4ecb9f92 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/change_head/attack.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/change_head/attack.mcfunction @@ -9,9 +9,9 @@ tag @a[tag=!PlayerShouldInvulnerable,distance=..10] add DXYZ # ダメージ - data modify storage api: Argument.Damage set from storage asset:context this.Damage.SwordAttack.Amount - data modify storage api: Argument.AttackType set from storage asset:context this.Damage.SwordAttack.Type - data modify storage api: Argument.ElementType set from storage asset:context this.Damage.SwordAttack.Element + data modify storage api: Argument.Damage set from storage asset:context this.Damage.ChangeHead.Amount + data modify storage api: Argument.AttackType set from storage asset:context this.Damage.ChangeHead.Type + data modify storage api: Argument.ElementType set from storage asset:context this.Damage.ChangeHead.Element function api:damage/modifier execute as @a[tag=DXYZ] run function api:damage/ function api:damage/reset diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/util/end_invulnerable.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/util/end_invulnerable.mcfunction index b59cdc0667..03901ce8e4 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/util/end_invulnerable.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/util/end_invulnerable.mcfunction @@ -9,6 +9,7 @@ data modify storage asset:temp CO.Color set value "pink" function asset:mob/0456.gargo_ex_machina/tick/util/change_bossbar_color.m with storage asset:temp CO data remove storage asset:temp CO + execute unless entity @s[tag=CO.IsLatter] run bossbar set asset:co_gem_former color pink # 全Locator無敵化解除 execute as @e[type=item_display,tag=CO.ModelRoot] run function animated_java:gargo_ex_machina/as_own_locator_entities {command:'function asset:mob/0456.gargo_ex_machina/tick/util/end_invulnerable_locator'} diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/util/remove_former_bossbar.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/util/remove_former_bossbar.mcfunction new file mode 100644 index 0000000000..a90711767f --- /dev/null +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/util/remove_former_bossbar.mcfunction @@ -0,0 +1,9 @@ +#> asset:mob/0456.gargo_ex_machina/tick/util/remove_former_bossbar +# +# 前半戦Bossbar消去 +# +# @within asset:mob/0456.gargo_ex_machina/tick/** + + +# HP最大値調整 + bossbar remove asset:co_gem_former diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/util/show_former_bossbar.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/util/show_former_bossbar.mcfunction new file mode 100644 index 0000000000..25f8282a18 --- /dev/null +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/util/show_former_bossbar.mcfunction @@ -0,0 +1,24 @@ +#> asset:mob/0456.gargo_ex_machina/tick/util/show_former_bossbar +# +# 前半戦Bossbar表示 +# +# @within asset:mob/0456.gargo_ex_machina/tick/** + +#> Val +# @private + #declare score_holder $CalcHealth + +# 前半戦Bossbar表示 + bossbar add asset:co_gem_former {"text":"絡繰仕掛の石像"} + bossbar set asset:co_gem_former players @a[distance=..80] + bossbar set asset:co_gem_former color pink + bossbar set asset:co_gem_former style notched_10 + bossbar set asset:co_gem_former max 1 + execute store result bossbar asset:co_gem_former value run scoreboard players get @s CO.EventTimer + +# HP最大値調整 + function api:mob/get_max_health + execute store result score @s CO.HealthOffset run data get storage api: Return.MaxHealth 1 + execute store result score $CalcHealth Temporary store result bossbar asset:co_gem_former max store result bossbar asset:co_gem_former value run data get storage api: Return.MaxHealth 0.6 + scoreboard players operation @s CO.HealthOffset -= $CalcHealth Temporary + scoreboard players reset $CalcHealth Temporary diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/util/start_invulnerable.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/util/start_invulnerable.mcfunction index 3bd5a90409..baedbe4809 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/util/start_invulnerable.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/util/start_invulnerable.mcfunction @@ -9,6 +9,7 @@ data modify storage asset:temp CO.Color set value "white" function asset:mob/0456.gargo_ex_machina/tick/util/change_bossbar_color.m with storage asset:temp CO data remove storage asset:temp CO + execute unless entity @s[tag=CO.IsLatter] run bossbar set asset:co_gem_former color white # 全Locatorを無敵化 execute as @e[type=item_display,tag=CO.ModelRoot] run function animated_java:gargo_ex_machina/as_own_locator_entities {command:'function asset:mob/0456.gargo_ex_machina/tick/util/start_invulnerable_locator'} diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/util/update_former_bossbar.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/util/update_former_bossbar.mcfunction new file mode 100644 index 0000000000..f9d6b76d00 --- /dev/null +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/util/update_former_bossbar.mcfunction @@ -0,0 +1,15 @@ +#> asset:mob/0456.gargo_ex_machina/tick/util/update_former_bossbar +# +# 前半戦Bossbar更新 +# +# @within asset:mob/0456.gargo_ex_machina/hurt/ + +#> Val +# @private + #declare score_holder $Health + +# HP最大値調整 + function api:mob/get_health + execute store result score $Health Temporary run data get storage api: Return.Health 1 + execute store result bossbar asset:co_gem_former value run scoreboard players operation $Health Temporary -= @s CO.HealthOffset + scoreboard players reset $Health Temporary From 9c1c787998c2136b26cffbc0d869dc24bea0c231 Mon Sep 17 00:00:00 2001 From: mokkkk Date: Mon, 23 Mar 2026 01:59:08 +0900 Subject: [PATCH 91/98] =?UTF-8?q?=E3=83=80=E3=83=A1=E3=83=BC=E3=82=B8?= =?UTF-8?q?=E8=AA=BF=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mob/0456.gargo_ex_machina/register.mcfunction | 6 +++--- .../tick/debug/interrupt.mcfunction | 6 +++--- .../tick/event_attack.mcfunction | 15 +++++++++++---- 3 files changed, 17 insertions(+), 10 deletions(-) diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/register.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/register.mcfunction index b3358a1201..5713b8a287 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/register.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/register.mcfunction @@ -52,11 +52,11 @@ # 色床 data modify storage asset:mob Field.Damage.FieldModify set value {Amount:120.0,Type:"Magic",Element:"None"} # 射撃 - data modify storage asset:mob Field.Damage.Shot set value {Amount:80.0,Type:"Magic",Element:"None"} + data modify storage asset:mob Field.Damage.Shot set value {Amount:65.0,Type:"Magic",Element:"None"} # ロケットパンチ data modify storage asset:mob Field.Damage.RocketPunch set value {Amount:80.0,Type:"Physical",Element:"None"} # ドローン - data modify storage asset:mob Field.Damage.AttackDrone set value {Amount:80.0,Type:"Physical",Element:"None"} - data modify storage asset:mob Field.Damage.YeeterDrone set value {Amount:80.0,Type:"Physical",Element:"None"} + data modify storage asset:mob Field.Damage.AttackDrone set value {Amount:90.0,Type:"Physical",Element:"None"} + data modify storage asset:mob Field.Damage.YeeterDrone set value {Amount:90.0,Type:"Physical",Element:"None"} data modify storage asset:mob Field.Damage.PanjanDrone set value {Amount:90.0,Type:"Physical",Element:"None"} data modify storage asset:mob Field.Damage.PanjanDrone.Flame set value {Amount:40.0,Type:"Magic",Element:"Fire"} diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/debug/interrupt.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/debug/interrupt.mcfunction index 5f36f7f55b..74fd942af0 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/debug/interrupt.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/debug/interrupt.mcfunction @@ -19,6 +19,6 @@ # イベント実行 scoreboard players set @s CO.EventTimer 0 - tag @s add CO.Skill.HalfBeamShot - # tag @s add CO.Skill.BluteForce - # tag @s add CO.Skill.BluteForce.Pt.Tutorial + # tag @s add CO.Skill.ChangeHead + tag @s add CO.Skill.BluteForce + tag @s add CO.Skill.BluteForce.Pt.Spin diff --git a/Asset/data/asset/functions/object/2261.gem_yeeter_drone/tick/event_attack.mcfunction b/Asset/data/asset/functions/object/2261.gem_yeeter_drone/tick/event_attack.mcfunction index 28c4a4ff4d..89c487bb5f 100644 --- a/Asset/data/asset/functions/object/2261.gem_yeeter_drone/tick/event_attack.mcfunction +++ b/Asset/data/asset/functions/object/2261.gem_yeeter_drone/tick/event_attack.mcfunction @@ -17,10 +17,17 @@ execute if entity @s[scores={General.Object.Tick=1..20}] run tp @s ^ ^ ^-0.05 execute if entity @s[tag=!2261.IsRotate,tag=!2261.IsRotate.Inverse,scores={General.Object.Tick=36..40}] run tp @s ^ ^ ^0.2 execute if entity @s[tag=!2261.IsRotate,tag=!2261.IsRotate.Inverse,scores={General.Object.Tick=41..}] run tp @s ^ ^ ^0.4 - execute if entity @s[tag=2261.IsRotate,scores={General.Object.Tick=35..40}] at @s run tp @s ^ ^ ^0.1308 ~0.375 ~ - execute if entity @s[tag=2261.IsRotate,scores={General.Object.Tick=41..}] at @s run tp @s ^ ^ ^0.2616 ~0.75 ~ - execute if entity @s[tag=2261.IsRotate.Inverse,scores={General.Object.Tick=35..40}] at @s run tp @s ^ ^ ^0.1308 ~-0.375 ~ - execute if entity @s[tag=2261.IsRotate.Inverse,scores={General.Object.Tick=41..}] at @s run tp @s ^ ^ ^0.2616 ~-0.75 ~ + execute if predicate api:global_vars/difficulty/max/2_hard if entity @s[tag=2261.IsRotate,scores={General.Object.Tick=35..40}] at @s run tp @s ^ ^ ^0.1308 ~0.375 ~ + execute if predicate api:global_vars/difficulty/max/2_hard if entity @s[tag=2261.IsRotate,scores={General.Object.Tick=41..}] at @s run tp @s ^ ^ ^0.2616 ~0.75 ~ + execute if predicate api:global_vars/difficulty/max/2_hard if entity @s[tag=2261.IsRotate.Inverse,scores={General.Object.Tick=35..40}] at @s run tp @s ^ ^ ^0.1308 ~-0.375 ~ + execute if predicate api:global_vars/difficulty/max/2_hard if entity @s[tag=2261.IsRotate.Inverse,scores={General.Object.Tick=41..}] at @s run tp @s ^ ^ ^0.2616 ~-0.75 ~ + + execute if predicate api:global_vars/difficulty/min/3_blessless if entity @s[tag=2261.IsRotate,scores={General.Object.Tick=35..40}] at @s run tp @s ^ ^ ^0.157 ~0.45 ~ + execute if predicate api:global_vars/difficulty/min/3_blessless if entity @s[tag=2261.IsRotate,scores={General.Object.Tick=41..80}] at @s run tp @s ^ ^ ^0.314 ~0.9 ~ + execute if predicate api:global_vars/difficulty/min/3_blessless if entity @s[tag=2261.IsRotate,scores={General.Object.Tick=81..}] at @s run tp @s ^ ^ ^0.471 ~1.35 ~ + execute if predicate api:global_vars/difficulty/min/3_blessless if entity @s[tag=2261.IsRotate.Inverse,scores={General.Object.Tick=35..40}] at @s run tp @s ^ ^ ^0.157 ~-0.45 ~ + execute if predicate api:global_vars/difficulty/min/3_blessless if entity @s[tag=2261.IsRotate.Inverse,scores={General.Object.Tick=41..80}] at @s run tp @s ^ ^ ^0.314 ~-0.9 ~ + execute if predicate api:global_vars/difficulty/min/3_blessless if entity @s[tag=2261.IsRotate.Inverse,scores={General.Object.Tick=81..}] at @s run tp @s ^ ^ ^0.471 ~-1.35 ~ # 攻撃 execute if entity @s[scores={General.Object.Tick=40..}] run scoreboard players add @s 2261.AttackInterval 1 From eb53f2036a75ae4ddd6c433deb41a63cabe0f85f Mon Sep 17 00:00:00 2001 From: mokkkk Date: Mon, 23 Mar 2026 02:04:17 +0900 Subject: [PATCH 92/98] =?UTF-8?q?=E5=BE=8C=E5=8D=8A=E6=88=A6=E7=A7=BB?= =?UTF-8?q?=E8=A1=8C=E6=99=82=E3=80=81=E3=82=AA=E3=83=96=E3=82=B8=E3=82=A7?= =?UTF-8?q?=E3=82=AF=E3=83=88=E3=81=AE=E6=94=BB=E6=92=83=E3=82=92=E5=81=9C?= =?UTF-8?q?=E6=AD=A2=E3=81=99=E3=82=8B=E3=82=88=E3=81=86=E3=81=AB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../tick/debug/interrupt.mcfunction | 4 ++-- .../tick/event/change_head/start.mcfunction | 10 ++++++++++ 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/debug/interrupt.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/debug/interrupt.mcfunction index 74fd942af0..434eecfe7c 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/debug/interrupt.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/debug/interrupt.mcfunction @@ -20,5 +20,5 @@ # イベント実行 scoreboard players set @s CO.EventTimer 0 # tag @s add CO.Skill.ChangeHead - tag @s add CO.Skill.BluteForce - tag @s add CO.Skill.BluteForce.Pt.Spin + tag @s add CO.Skill.UpperShot + tag @s add CO.UpperShot.Pt.Target diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/change_head/start.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/change_head/start.mcfunction index bd4e3d83d8..818f0e0342 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/change_head/start.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/change_head/start.mcfunction @@ -6,6 +6,16 @@ # 全アニメーション停止 function asset:mob/0456.gargo_ex_machina/tick/util/stop_all_animations + tag @s remove CO.UpperShot.Asyuc + tag @s remove CO.UpperShot.Pt.Cross + tag @s remove CO.UpperShot.Pt.MoveLine + tag @s remove CO.UpperShot.Pt.Panto + tag @s remove CO.UpperShot.Pt.Random + tag @s remove CO.UpperShot.Pt.Target + +# オブジェクト消去 + execute as @e[tag=CO.Object,distance=..160] on passengers run kill @s + kill @e[tag=CO.Object,distance=..160] # イベント実行 tag @s add CO.Skill.ChangeHead From 42162a63dc0c102e276c49141a70a95774108eac Mon Sep 17 00:00:00 2001 From: mokkkk Date: Tue, 24 Mar 2026 00:28:00 +0900 Subject: [PATCH 93/98] =?UTF-8?q?lore=E8=AA=BF=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../functions/mob/0456.gargo_ex_machina/register.mcfunction | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/register.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/register.mcfunction index 5713b8a287..9f4bbf6ef9 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/register.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/register.mcfunction @@ -19,7 +19,7 @@ # 名前 (TextComponentString) (オプション) data modify storage asset:mob Name set value '{"text":"絡繰仕掛の石像"}' # Mobの説明文 (TextComponentString[]) (オプション) - data modify storage asset:mob Lore set value ['{"text":"ほげ"}'] + data modify storage asset:mob Lore set value ['{"text":" > Exception in thread main: java.lang.NullPointerException","color":"red"}','{"text":" at item.artifact.getLore(atf/0001.book_of_all-seeing)","color":"red"}','{"text":" Caused by: java.util.NoSuchElementException: Missing \'Lore\'","color":"red"}'] # 体力 (double) (オプション) # 前後半戦で回復するので実態の半分の値を入れる data modify storage asset:mob Health set value 120000 From dc0643e32271f1936b26c0bfcd184a1733c3f6d8 Mon Sep 17 00:00:00 2001 From: mokkkk Date: Tue, 24 Mar 2026 23:57:04 +0900 Subject: [PATCH 94/98] =?UTF-8?q?=E5=86=8D=E6=88=A6=E7=94=A8=E3=81=AE?= =?UTF-8?q?=E7=9F=AD=E7=B8=AE=E7=99=BB=E5=A0=B4=E6=BC=94=E5=87=BA=E3=82=92?= =?UTF-8?q?=E4=BD=9C=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../0456.gargo_ex_machina/_index.d.mcfunction | 5 ++- .../0456.gargo_ex_machina/death/.mcfunction | 3 ++ .../0456.gargo_ex_machina/init/.mcfunction | 9 +++- .../init/animated_java.m.mcfunction | 3 +- .../0456.gargo_ex_machina/register.mcfunction | 2 +- .../0456.gargo_ex_machina/tick/.mcfunction | 2 +- .../tick/debug/interrupt.m.mcfunction | 16 ------- .../tick/event/.mcfunction | 3 +- .../tick/event/activate/end.mcfunction | 2 + .../event/activate/event_short.mcfunction | 44 +++++++++++++++++++ 10 files changed, 65 insertions(+), 24 deletions(-) delete mode 100644 Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/debug/interrupt.m.mcfunction create mode 100644 Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/activate/event_short.mcfunction diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/_index.d.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/_index.d.mcfunction index 503154a428..3d88dd4464 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/_index.d.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/_index.d.mcfunction @@ -9,8 +9,10 @@ #declare tag CO.Hitbox 当たり判定 #declare tag CO.CenterPosition 中心点 #declare tag CO.IsLatter 後半戦 + #declare tag CO.IsRematch 再戦 # - スキル #declare tag CO.Skill.Activate 起動 + #declare tag CO.Skill.Activate.Short 起動・演出短縮版 #declare tag CO.Skill.ChangeHead 後半戦移行 #declare tag CO.Skill.Move 移動 #declare tag CO.Skill.Move.End 移動 @@ -58,7 +60,6 @@ #declare tag CO.Skill.BluteForce.Pt.ExaInv エクサパターン #declare tag CO.Skill.BluteForce.Pt.Half 半面焼きパターン #declare tag CO.Skill.BluteForce.Pt.HalfInv 半面焼きパターン - #declare tag # - オブジェクト用 #declare tag CO.Shadow #declare tag CO.Object @@ -95,6 +96,7 @@ #declare function animated_java:gargo_ex_machina/animations/move_to_field_fast/resume #declare function animated_java:gargo_ex_machina/animations/move_to_field_fast/tween #declare function animated_java:gargo_ex_machina/animations/move_to_field_fast/pause + #declare function animated_java:gargo_ex_machina/animations/move_to_field_short/tween #declare function animated_java:gargo_ex_machina/animations/sword_smash_start/tween #declare function animated_java:gargo_ex_machina/animations/sword_smash_charge/tween #declare function animated_java:gargo_ex_machina/animations/sword_smash_attack/tween @@ -134,4 +136,3 @@ #declare function animated_java:gem_attack_drone/remove/all #declare function animated_java:gem_tnt_drone/remove/all #declare function animated_java:gem_panjan_drone/remove/all - #declare function diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/death/.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/death/.mcfunction index dff0d45961..f4b0bb6462 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/death/.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/death/.mcfunction @@ -51,3 +51,6 @@ tellraw @a[distance=..80] [{"text":"-------------------------------------------------"}] scoreboard players reset $Min Temporary scoreboard players reset $Sec Temporary + +# 再戦フラグ用marker設置 + summon marker ~ ~ ~ {Tags:["CO.IsRematch"]} diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/init/.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/init/.mcfunction index dee691ecc7..b819c71b8f 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/init/.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/init/.mcfunction @@ -11,6 +11,9 @@ # 継承元の処理実行 function asset:mob/super.init +# 再戦フラグチェック + execute if entity @e[type=marker,tag=CO.IsRematch,distance=..80] run tag @s add CO.IsRematch + # 独自init処理 # 登場演出再生 # tag @s add CO.Skill.Start @@ -27,13 +30,15 @@ scoreboard players set @s CO.Counter 0 # ダミー用ひつじ召喚 - data modify storage api: Argument.ID set value 2264 - function api:object/summon + execute unless entity @s[tag=CO.IsRematch] run data modify storage api: Argument.ID set value 2264 + execute unless entity @s[tag=CO.IsRematch] run function api:object/summon # summon sheep ~ ~ ~ {Tags:["CO.ScapeSheep","Uninterferable"],NoAI:1b,Invulnerable:1b} # playsound entity.sheep.hurt hostile @a ~ ~ ~ 2 0.7 # 登場モーション再生 tag @s add CO.Skill.Activate + # 再戦フラグ有効の場合、短縮版登場モーションを再生する + execute if entity @s[tag=CO.IsRematch] run tag @s add CO.Skill.Activate.Short # デバッグ # tag @s add CO.IsLatter diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/init/animated_java.m.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/init/animated_java.m.mcfunction index 4eafc886c7..15d1278450 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/init/animated_java.m.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/init/animated_java.m.mcfunction @@ -6,7 +6,8 @@ # AjModelの召喚 # execute positioned 527.5 91.0 836.0 rotated 180 ~ run function animated_java:gargo_ex_machina/summon {args: {animation: 'activation'}} - $execute positioned $(X) $(Y) $(Z) rotated 180 ~ run function animated_java:gargo_ex_machina/summon {args: {animation: 'activation'}} + $execute unless entity @s[tag=CO.IsRematch] positioned $(X) $(Y) $(Z) rotated 180 ~ run function animated_java:gargo_ex_machina/summon {args: {animation: 'activation'}} + execute if entity @s[tag=CO.IsRematch] positioned ^ ^ ^15 rotated 180 ~ run function animated_java:gargo_ex_machina/summon {args: {animation: 'move_to_field_short'}} # AjModelのパーツに以下処理を実行する execute as @e[type=item_display,tag=CO.ModelRoot,distance=..80] run data merge entity @s {view_range:16f,width:0f,height:0f,teleport_duration:2} execute as @e[type=item_display,tag=CO.ModelRoot,distance=..80] on passengers if entity @s[type=item_display] run data merge entity @s {view_range:16f,width:0f,height:0f,teleport_duration:2} diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/register.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/register.mcfunction index 9f4bbf6ef9..3c077be83d 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/register.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/register.mcfunction @@ -19,7 +19,7 @@ # 名前 (TextComponentString) (オプション) data modify storage asset:mob Name set value '{"text":"絡繰仕掛の石像"}' # Mobの説明文 (TextComponentString[]) (オプション) - data modify storage asset:mob Lore set value ['{"text":" > Exception in thread main: java.lang.NullPointerException","color":"red"}','{"text":" at item.artifact.getLore(atf/0001.book_of_all-seeing)","color":"red"}','{"text":" Caused by: java.util.NoSuchElementException: Missing \'Lore\'","color":"red"}'] + data modify storage asset:mob Lore set value ['{"text":" > Exception in thread \\"main\\"": java.lang.NullPointerException","color":"red"}','{"text":" at item.artifact.getLore(atf/0001.book_of_all-seeing)","color":"red"}','{"text":" Caused by: java.util.NoSuchElementException: Missing \'Lore\'","color":"red"}'] # 体力 (double) (オプション) # 前後半戦で回復するので実態の半分の値を入れる data modify storage asset:mob Health set value 120000 diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/.mcfunction index a1dab6f35f..b641856e8d 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/.mcfunction @@ -12,4 +12,4 @@ execute as @a[scores={CO.UpperShot.Hit=..0}] run scoreboard players reset @s CO.UpperShot.Hit # 戦闘タイマー増加 - scoreboard players add @s CO.BattleTimer 1 + execute if entity @s[tag=!CO.Skill.Activate,tag=!CO.Skill.ChangeHead] run scoreboard players add @s CO.BattleTimer 1 diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/debug/interrupt.m.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/debug/interrupt.m.mcfunction deleted file mode 100644 index 74d373348d..0000000000 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/debug/interrupt.m.mcfunction +++ /dev/null @@ -1,16 +0,0 @@ -#> asset:mob/0410.heiloang/tick/debug/interrupt.m -# -# デバッグ用処理 割り込みで強制的にイベントを実行する -# -# @within asset:mob/alias/410/tick - -# メモ - # execute as @e[type=slime,tag=BE.EntityRoot] at @s run function asset:mob/0410.heiloang/tick/debug/interrupt - -# 全アニメーション停止 - # function asset:mob/0410.heiloang/tick/debug/reset - -# イベント実行 - scoreboard players set @s BE.EventTimer 0 - $tag @s add $(Tag) - scoreboard players set @s BE.Pb.Count 5 diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/.mcfunction index 20c6855690..3cfadb4e64 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/.mcfunction @@ -8,7 +8,8 @@ execute as @e[type=item_display,tag=CO.ModelRoot,distance=..30] at @s run function asset:mob/0456.gargo_ex_machina/tick/event/idle/check # 起動 - execute if entity @s[tag=CO.Skill.Activate] run function asset:mob/0456.gargo_ex_machina/tick/event/activate/ + execute if entity @s[tag=CO.Skill.Activate,tag=!CO.Skill.Activate.Short] run function asset:mob/0456.gargo_ex_machina/tick/event/activate/ + execute if entity @s[tag=CO.Skill.Activate,tag=CO.Skill.Activate.Short] run function asset:mob/0456.gargo_ex_machina/tick/event/activate/event_short # 後半戦移行 execute if entity @s[tag=CO.Skill.ChangeHead] run function asset:mob/0456.gargo_ex_machina/tick/event/change_head/ diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/activate/end.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/activate/end.mcfunction index 52aae24261..8ad65ea4b9 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/activate/end.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/activate/end.mcfunction @@ -3,10 +3,12 @@ # 起動 # # @within asset:mob/0456.gargo_ex_machina/tick/event/activate/ +# @within asset:mob/0456.gargo_ex_machina/tick/event/activate/event_short # タグ消去 scoreboard players set @s CO.EventTimer 0 tag @s remove CO.Skill.Activate + tag @s remove CO.Skill.Activate.Short # 待機モーション再生 execute as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run function animated_java:gargo_ex_machina/animations/idle/tween {duration:1, to_frame: 1} diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/activate/event_short.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/activate/event_short.mcfunction new file mode 100644 index 0000000000..63b708a077 --- /dev/null +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/activate/event_short.mcfunction @@ -0,0 +1,44 @@ +#> asset:mob/0456.gargo_ex_machina/tick/event/activate/event_short +# +# 起動 +# +# @within asset:mob/0456.gargo_ex_machina/tick/event/ + +# タイマー増加 + scoreboard players add @s CO.EventTimer 1 + +# 移動 + # アニメーション再生 + execute if score @s CO.EventTimer matches 1 as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run function animated_java:gargo_ex_machina/animations/move_to_field_short/tween {duration:1, to_frame: 1} + # フィールドに移動 + execute if score @s CO.EventTimer matches 1 at @e[type=marker,tag=CO.CenterPosition,distance=..80] positioned ^ ^ ^15 run tp @s ~ ~ ~ ~180 0 + # モデルを合わせる + execute if score @s CO.EventTimer matches 1.. as @e[type=item_display,tag=CO.ModelRoot,sort=nearest,limit=1] run tp @s ~ ~ ~ ~ ~ + # 演出 + execute if score @s CO.EventTimer matches 12 run particle explosion ~ ~1 ~ 4 0.1 4 0 30 + execute if score @s CO.EventTimer matches 12 run particle campfire_cosy_smoke ~ ~1 ~ 4 0.1 4 0.05 100 + # 効果音 + execute if score @s CO.EventTimer matches 12 positioned ~ ~20 ~ run playsound entity.ravager.step hostile @a[distance=..100] ~ ~ ~ 0 0.7 0.5 + execute if score @s CO.EventTimer matches 12 positioned ~ ~20 ~ run playsound entity.ravager.step hostile @a[distance=..100] ~ ~ ~ 0 0.6 0.5 + execute if score @s CO.EventTimer matches 12 positioned ~ ~20 ~ run playsound entity.ravager.step hostile @a[distance=..100] ~ ~ ~ 0 0.5 0.5 + execute if score @s CO.EventTimer matches 12 positioned ~ ~20 ~ run playsound entity.generic.explode hostile @a[distance=..100] ~ ~ ~ 0 0.8 1 + execute if score @s CO.EventTimer matches 12 as @a[distance=..80] at @s run tp @s ~ ~ ~ ~ ~2 + execute if score @s CO.EventTimer matches 13 as @a[distance=..80] at @s run tp @s ~ ~ ~ ~ ~-4 + execute if score @s CO.EventTimer matches 14 as @a[distance=..80] at @s run tp @s ~ ~ ~ ~ ~4 + execute if score @s CO.EventTimer matches 15 as @a[distance=..80] at @s run tp @s ~ ~ ~ ~ ~-4 + execute if score @s CO.EventTimer matches 16 as @a[distance=..80] at @s run tp @s ~ ~ ~ ~ ~3 + execute if score @s CO.EventTimer matches 17 as @a[distance=..80] at @s run tp @s ~ ~ ~ ~ ~-3 + execute if score @s CO.EventTimer matches 18 as @a[distance=..80] at @s run tp @s ~ ~ ~ ~ ~3 + execute if score @s CO.EventTimer matches 19 as @a[distance=..80] at @s run tp @s ~ ~ ~ ~ ~-1 + execute if score @s CO.EventTimer matches 40 run function asset:mob/0456.gargo_ex_machina/tick/util/sound + execute if score @s CO.EventTimer matches 65 run function asset:mob/0456.gargo_ex_machina/tick/util/sound + # ボス名変更 + execute if score @s CO.EventTimer matches 1 run function asset:mob/0456.gargo_ex_machina/tick/util/change_bossbar_name.m {Name:"絡繰仕掛の石像",Visible:"false"} + execute if score @s CO.EventTimer matches 1 run function asset:mob/0456.gargo_ex_machina/tick/util/show_former_bossbar + +# 無敵化 + execute if score @s CO.EventTimer matches 1 run function asset:mob/0456.gargo_ex_machina/tick/util/start_invulnerable + execute if score @s CO.EventTimer matches 70 run function asset:mob/0456.gargo_ex_machina/tick/util/end_invulnerable + +# 終了 + execute if score @s CO.EventTimer matches 71.. run function asset:mob/0456.gargo_ex_machina/tick/event/activate/end From 8056e7df8dccc61931c0f69abdd4a751bd7494a5 Mon Sep 17 00:00:00 2001 From: mokkkk Date: Wed, 25 Mar 2026 00:03:01 +0900 Subject: [PATCH 95/98] =?UTF-8?q?=E4=B8=8A=E7=A9=BA=E5=B0=84=E6=92=83?= =?UTF-8?q?=E3=81=AE=E7=84=A1=E7=90=86=E3=83=91=E3=82=BF=E3=83=BC=E3=83=B3?= =?UTF-8?q?=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../event/upper_shot/async_attack.mcfunction | 10 -- .../upper_shot/pattern_random.mcfunction | 147 ++++++------------ 2 files changed, 51 insertions(+), 106 deletions(-) delete mode 100644 Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/upper_shot/async_attack.mcfunction diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/upper_shot/async_attack.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/upper_shot/async_attack.mcfunction deleted file mode 100644 index ad1906ce49..0000000000 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/upper_shot/async_attack.mcfunction +++ /dev/null @@ -1,10 +0,0 @@ -#> asset:mob/0456.gargo_ex_machina/tick/event/upper_shot/async_attack -# -# 上空射撃 設置後すぐ別の動きをしてもいいように、攻撃処理だけ非同期で実行 -# -# @within asset:mob/0456.gargo_ex_machina/tick/event/ - -# 実行 - scoreboard players add @s CO.EventTimer.UpperShot 1 - execute at @e[type=area_effect_cloud,tag=CO.Aec.UpperShotPosition,distance=..80,sort=random,limit=2] run function asset:mob/0456.gargo_ex_machina/tick/event/upper_shot/attack - execute if score @s CO.EventTimer.UpperShot matches 40.. run function asset:mob/0456.gargo_ex_machina/tick/event/upper_shot/async_end diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/upper_shot/pattern_random.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/upper_shot/pattern_random.mcfunction index 04981392c2..c6ce88b21a 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/upper_shot/pattern_random.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/event/upper_shot/pattern_random.mcfunction @@ -4,106 +4,61 @@ # # @within asset:mob/0456.gargo_ex_machina/tick/event/upper_shot/async_pattern_random -# [ImportKey]: NobwRALgngDgpmAXGANgSwHYIDRgK55oAmSYAbAKwAcALAOxzUC0ZAZmQMZM01UDMTKlTJwmAIz5lOATgqUiNHGAwBDALYJkgLd8ABAEYwuGCoBO6gM5JwHAPZ4MEJHoAMuViZtqrYAG4qUeJrgAB5ITHwUuFBIzgC+sbgQNt5+AUFgoYgRUTHxuDasrOZwjoiuYGJwAF5ocCYxuGjmAELVtSYAogCOeP4oUADKxhxwJIis-sV54NDwpOhYhviEY2BwHCJUYgBMZOJw0jTcYkJMKttiFExEzjQUfBcc51R0S6oapLp6TLYw0UamCzeWz2UouNweLyIcCpQLeTLhSJgaKIbYUPKQZLQ3z+OHYzLZZFINEYgpFEoNCptOqUpqtGp1bq9FD9IYqEZjCYoKYJGawTSoTBKAjEUjnIhUZzbbZHaTSHbcDh8MRnGh6FV8dYUOBkFQSvh6KhvdQCr4-Gx-c1-JbGMxqSzYkEOJzldyeFK49IIwkow0YpIetLwpA+pxUUmFYqlcqVBn1MqNFrUzo9PqDYajJBcnnYPlzZALYUrUh6Dg0MRiFxcSjOUQ0G7bQTKo5iFR8WscVg7aRUVjGj7afRWqDD4c2wH24F2Z2IcFgN1QmGe4OIRE5Vd+hKYwN4kIhpEopib-KRikJqlx2lJuNMtNsjlZyZwaaQfnzIVLEWrCjSKXSTgqnodD-twNBlvsDAsM4RBKrceh8EIfa4O8ppDr8I7oeOdoOtY05gq6kI7l6YShquET+liS5Bvi+7roiEbktGuCxu0V70u0t4sum7KZuMT4vrMAqFp+xbIHQTxgc4ZB0D82x6I2vB8DJ-BECoZwSmIziSBQRCsDQ0j9qh3zoaOmEAthU6gi6ELutisLEWRB77hRRErqR5FbmSUaUixNLnnSyacayGacvxvKvvmgqLLgX6kKpFD6c4KgqiorA6twfCKEw0isOqZxPGQETqm20gqIZnxoRaGFVVhQKOnh1nzoRdnLjRjl0SSW4Bi11F7lkTmrp1J6MT5yZsYFqZcfevHZs+4WCe+0XLKKyDSEQRAISMKXSGixyyKqFCNtsHDONIow0El8EcOVg7GVVpk1eZdW4VZs4EbZVG7hkJEDUecRdZROK9d9-V0S4DHeeevnxuUAU3pNwU8aF3JzbmEVCR+MWiWAfBlhQ4l0N80gcLQ3BkJUgj8FQ2W8P+2zSO22xwEhygmhVd2WiZXOPWAtrPWATr4TZi5A193oDeDAOuW1pGS8NkMxmN-nXhxCPcQ+fEo-EAC6QA_3 +# [ImportKey]: NobwRALgngDgpmAXGANgSwHYIDRgK55oAmSYAzAGwDsVAZgIxUDGAtFQCwCcZL7RcrAEZMAhgAYWtCrTFkmVImNqcqYXBhEBbBMkBbvgAJ6asDBEAnLQGck4JgHs8GCEgAcuWmbuabYAG4iUPB1wAA8kFgAmAFZcKHDogF8E3Ag7H39A4LAwxGjY+Kik3DtaWks4Z0QxXEE4AC80ODMkarA0SwAhesazAFEARzwAlCgAZVMmOBJEWgDyovBoeFJ0LGMCYlJaF1kiFRdIiiiqXgp2ChYRCjF2Fhu4CNpmMjFqEWMNbVIDehZ7GDiuFMFk01kQtgcTlc7k83nBfgCQR8OUiMTAcUQLHohWSkDS8IySPhOTy6PC2KKYBKZQqLRq3SadLanQZfUGwzGEymSFmKHmyUWsB0qEwOHwhGmYDgFHoFDgYioB0mZFu7CospYgkELlYcConBcigiEQo2vYHy0wp+fzsAJtAOMwKsPnsjkqbjAHi86URWRRpIxLBxKXx4EJfqQAfCwappXKlVatQajKquHaXWTbKGKBG4xEk2mvP52EFy2QqzFG0l7Dg7CY2rEIk1FBVvAYFxctCYBxE2IiZE4nCYETgg4tXz0hntUGn08d5md8NdUMQHq9cLDvuRBXyiBjqR9mW3uTRGJj1PjTKTPSZ6dZA2zua5hbmcAWkCFK1F6wlpHYN1kCIiFYThSkEXgRG2S46FYMh1TgFVhyiLgXHHK0p3+GdMNnTD5xBMEITdaFPVhQ8iVCHcyUQClcQPAkt2JSNTyQGjijjWlUzAa8U1aO9MwfDk8wLHlX3fJZhQrH9NmQJgZH4OROBYTgWyIXhDROQQREeFgiAHLtBGA004FQ9RLW+DDbUBEwF1BF1IXdGFvXoo9GMxKMT0pOjNxciiT13RJcQvDjE1ZW8WX49kc05fNuRmUSEgAXSAA_3 +# 線 1-copy +summon area_effect_cloud ^-25 ^ ^25 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^-17.85714 ^ ^25 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^-10.71429 ^ ^25 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^-3.57143 ^ ^25 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^3.57143 ^ ^25 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^10.71429 ^ ^25 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^17.85714 ^ ^25 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^25 ^ ^25 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} # 線 1 -summon area_effect_cloud ^-35 ^ ^0 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} -summon area_effect_cloud ^-27.22222 ^ ^0 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} -summon area_effect_cloud ^-19.44444 ^ ^0 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} -summon area_effect_cloud ^-11.66667 ^ ^0 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} -summon area_effect_cloud ^-3.88889 ^ ^0 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} -summon area_effect_cloud ^3.88889 ^ ^0 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} -summon area_effect_cloud ^11.66667 ^ ^0 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} -summon area_effect_cloud ^19.44444 ^ ^0 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} -summon area_effect_cloud ^27.22222 ^ ^0 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} -summon area_effect_cloud ^35 ^ ^0 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^-25 ^ ^-25 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^-17.85714 ^ ^-25 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^-10.71429 ^ ^-25 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^-3.57143 ^ ^-25 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^3.57143 ^ ^-25 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^10.71429 ^ ^-25 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^17.85714 ^ ^-25 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^25 ^ ^-25 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} # 線 1-copy -summon area_effect_cloud ^-35 ^ ^25 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} -summon area_effect_cloud ^-27.22222 ^ ^25 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} -summon area_effect_cloud ^-19.44444 ^ ^25 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} -summon area_effect_cloud ^-11.66667 ^ ^25 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} -summon area_effect_cloud ^-3.88889 ^ ^25 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} -summon area_effect_cloud ^3.88889 ^ ^25 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} -summon area_effect_cloud ^11.66667 ^ ^25 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} -summon area_effect_cloud ^19.44444 ^ ^25 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} -summon area_effect_cloud ^27.22222 ^ ^25 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} -summon area_effect_cloud ^35 ^ ^25 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} -# 線 1-copy-copy -summon area_effect_cloud ^-35 ^ ^18 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} -summon area_effect_cloud ^-27.22222 ^ ^18 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} -summon area_effect_cloud ^-19.44444 ^ ^18 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} -summon area_effect_cloud ^-11.66667 ^ ^18 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} -summon area_effect_cloud ^-3.88889 ^ ^18 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} -summon area_effect_cloud ^3.88889 ^ ^18 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} -summon area_effect_cloud ^11.66667 ^ ^18 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} -summon area_effect_cloud ^19.44444 ^ ^18 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} -summon area_effect_cloud ^27.22222 ^ ^18 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} -summon area_effect_cloud ^35 ^ ^18 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} -# 線 1-copy-copy-copy -summon area_effect_cloud ^-35 ^ ^-18 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} -summon area_effect_cloud ^-27.22222 ^ ^-18 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} -summon area_effect_cloud ^-19.44444 ^ ^-18 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} -summon area_effect_cloud ^-11.66667 ^ ^-18 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} -summon area_effect_cloud ^-3.88889 ^ ^-18 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} -summon area_effect_cloud ^3.88889 ^ ^-18 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} -summon area_effect_cloud ^11.66667 ^ ^-18 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} -summon area_effect_cloud ^19.44444 ^ ^-18 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} -summon area_effect_cloud ^27.22222 ^ ^-18 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} -summon area_effect_cloud ^35 ^ ^-18 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} -# 線 1-copy-copy -summon area_effect_cloud ^-35 ^ ^-35 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} -summon area_effect_cloud ^-27.22222 ^ ^-35 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} -summon area_effect_cloud ^-19.44444 ^ ^-35 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} -summon area_effect_cloud ^-11.66667 ^ ^-35 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} -summon area_effect_cloud ^-3.88889 ^ ^-35 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} -summon area_effect_cloud ^3.88889 ^ ^-35 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} -summon area_effect_cloud ^11.66667 ^ ^-35 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} -summon area_effect_cloud ^19.44444 ^ ^-35 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} -summon area_effect_cloud ^27.22222 ^ ^-35 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} -summon area_effect_cloud ^35 ^ ^-35 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} -# 線 1-copy-copy-copy -summon area_effect_cloud ^-35 ^ ^35 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} -summon area_effect_cloud ^-27.22222 ^ ^35 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} -summon area_effect_cloud ^-19.44444 ^ ^35 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} -summon area_effect_cloud ^-11.66667 ^ ^35 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} -summon area_effect_cloud ^-3.88889 ^ ^35 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} -summon area_effect_cloud ^3.88889 ^ ^35 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} -summon area_effect_cloud ^11.66667 ^ ^35 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} -summon area_effect_cloud ^19.44444 ^ ^35 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} -summon area_effect_cloud ^27.22222 ^ ^35 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} -summon area_effect_cloud ^35 ^ ^35 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^-25 ^ ^-15 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^-17.85714 ^ ^-15 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^-10.71429 ^ ^-15 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^-3.57143 ^ ^-15 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^3.57143 ^ ^-15 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^10.71429 ^ ^-15 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^17.85714 ^ ^-15 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^25 ^ ^-15 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} # 線 1-copy-copy -summon area_effect_cloud ^-35 ^ ^-25 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} -summon area_effect_cloud ^-27.22222 ^ ^-25 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} -summon area_effect_cloud ^-19.44444 ^ ^-25 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} -summon area_effect_cloud ^-11.66667 ^ ^-25 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} -summon area_effect_cloud ^-3.88889 ^ ^-25 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} -summon area_effect_cloud ^3.88889 ^ ^-25 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} -summon area_effect_cloud ^11.66667 ^ ^-25 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} -summon area_effect_cloud ^19.44444 ^ ^-25 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} -summon area_effect_cloud ^27.22222 ^ ^-25 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} -summon area_effect_cloud ^35 ^ ^-25 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^-25 ^ ^-5 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^-17.85714 ^ ^-5 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^-10.71429 ^ ^-5 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^-3.57143 ^ ^-5 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^3.57143 ^ ^-5 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^10.71429 ^ ^-5 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^17.85714 ^ ^-5 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^25 ^ ^-5 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} # 線 1-copy-copy-copy -summon area_effect_cloud ^-35 ^ ^-10 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} -summon area_effect_cloud ^-27.22222 ^ ^-10 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} -summon area_effect_cloud ^-19.44444 ^ ^-10 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} -summon area_effect_cloud ^-11.66667 ^ ^-10 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} -summon area_effect_cloud ^-3.88889 ^ ^-10 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} -summon area_effect_cloud ^3.88889 ^ ^-10 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} -summon area_effect_cloud ^11.66667 ^ ^-10 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} -summon area_effect_cloud ^19.44444 ^ ^-10 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} -summon area_effect_cloud ^27.22222 ^ ^-10 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} -summon area_effect_cloud ^35 ^ ^-10 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^-25 ^ ^5 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^-17.85714 ^ ^5 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^-10.71429 ^ ^5 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^-3.57143 ^ ^5 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^3.57143 ^ ^5 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^10.71429 ^ ^5 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^17.85714 ^ ^5 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^25 ^ ^5 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} # 線 1-copy-copy-copy-copy -summon area_effect_cloud ^-35 ^ ^10 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} -summon area_effect_cloud ^-27.22222 ^ ^10 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} -summon area_effect_cloud ^-19.44444 ^ ^10 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} -summon area_effect_cloud ^-11.66667 ^ ^10 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} -summon area_effect_cloud ^-3.88889 ^ ^10 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} -summon area_effect_cloud ^3.88889 ^ ^10 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} -summon area_effect_cloud ^11.66667 ^ ^10 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} -summon area_effect_cloud ^19.44444 ^ ^10 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} -summon area_effect_cloud ^27.22222 ^ ^10 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} -summon area_effect_cloud ^35 ^ ^10 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^-25 ^ ^15 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^-17.85714 ^ ^15 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^-10.71429 ^ ^15 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^-3.57143 ^ ^15 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^3.57143 ^ ^15 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^10.71429 ^ ^15 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^17.85714 ^ ^15 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} +summon area_effect_cloud ^25 ^ ^15 {Tags:["CO.Aec.UpperShotPosition"],Duration:300} # 数を減らす - kill @e[type=area_effect_cloud,tag=CO.Aec.UpperShotPosition,distance=..80,sort=random,limit=30] + kill @e[type=area_effect_cloud,tag=CO.Aec.UpperShotPosition,distance=..80,sort=random,limit=12] From 424ae30796f249e36c29b3bd608e47eb2a00d8c9 Mon Sep 17 00:00:00 2001 From: mokkkk Date: Thu, 26 Mar 2026 01:19:31 +0900 Subject: [PATCH 96/98] =?UTF-8?q?=E5=86=8D=E6=88=A6=E3=83=9E=E3=83=BC?= =?UTF-8?q?=E3=82=AB=E3=83=BC=E3=81=AB=E9=96=A2=E3=81=99=E3=82=8B=E3=83=90?= =?UTF-8?q?=E3=82=B0=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../asset/functions/mob/0456.gargo_ex_machina/death/.mcfunction | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/death/.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/death/.mcfunction index f4b0bb6462..9774674a42 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/death/.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/death/.mcfunction @@ -53,4 +53,4 @@ scoreboard players reset $Sec Temporary # 再戦フラグ用marker設置 - summon marker ~ ~ ~ {Tags:["CO.IsRematch"]} + execute unless entity @e[type=marker,tag=CO.IsRematch,distance=..30] run summon marker ~ ~ ~ {Tags:["CO.IsRematch"]} From 58baf90b274e75b29298e58b9965aaf38b957da7 Mon Sep 17 00:00:00 2001 From: mokkkk Date: Thu, 26 Mar 2026 02:00:33 +0900 Subject: [PATCH 97/98] =?UTF-8?q?HP=E8=AA=BF=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../functions/mob/0456.gargo_ex_machina/register.mcfunction | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/register.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/register.mcfunction index 3c077be83d..ad755237f4 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/register.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/register.mcfunction @@ -22,7 +22,7 @@ data modify storage asset:mob Lore set value ['{"text":" > Exception in thread \\"main\\"": java.lang.NullPointerException","color":"red"}','{"text":" at item.artifact.getLore(atf/0001.book_of_all-seeing)","color":"red"}','{"text":" Caused by: java.util.NoSuchElementException: Missing \'Lore\'","color":"red"}'] # 体力 (double) (オプション) # 前後半戦で回復するので実態の半分の値を入れる - data modify storage asset:mob Health set value 120000 + data modify storage asset:mob Health set value 237000 # 属性倍率 // 1.0fで100% 最低でも25%は軽減されずに入る # 物理倍率 (float) (オプション) data modify storage asset:mob Resist.Physical set value 1.0f From 549e2131e136398dbb223fb98b428a36527484dc Mon Sep 17 00:00:00 2001 From: mokkkk Date: Thu, 26 Mar 2026 02:43:59 +0900 Subject: [PATCH 98/98] =?UTF-8?q?DPS=E3=82=BF=E3=82=A4=E3=83=9E=E3=83=BC?= =?UTF-8?q?=E8=BF=BD=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mob/0456.gargo_ex_machina/_index.d.mcfunction | 1 + .../mob/0456.gargo_ex_machina/death/.mcfunction | 13 +++++++++++-- .../mob/0456.gargo_ex_machina/init/.mcfunction | 5 +++-- .../init/set_dps_timer.mcfunction | 11 +++++++++++ .../mob/0456.gargo_ex_machina/load.mcfunction | 2 ++ .../mob/0456.gargo_ex_machina/register.mcfunction | 2 +- .../mob/0456.gargo_ex_machina/tick/.mcfunction | 1 + .../tick/util/end_invulnerable.mcfunction | 3 +++ .../tick/util/start_invulnerable.mcfunction | 3 +++ 9 files changed, 36 insertions(+), 5 deletions(-) create mode 100644 Asset/data/asset/functions/mob/0456.gargo_ex_machina/init/set_dps_timer.mcfunction diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/_index.d.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/_index.d.mcfunction index 3d88dd4464..439c8128d8 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/_index.d.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/_index.d.mcfunction @@ -10,6 +10,7 @@ #declare tag CO.CenterPosition 中心点 #declare tag CO.IsLatter 後半戦 #declare tag CO.IsRematch 再戦 + #declare tag CO.IsInvulnerable 無敵 # - スキル #declare tag CO.Skill.Activate 起動 #declare tag CO.Skill.Activate.Short 起動・演出短縮版 diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/death/.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/death/.mcfunction index 9774674a42..685df142f0 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/death/.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/death/.mcfunction @@ -41,16 +41,25 @@ # 石像移動 function asset:mob/0456.gargo_ex_machina/death/clone_statue +# --- + tellraw @a[distance=..80] [{"text":"-------------------------------------------------"}] + # クリアタイム表示 execute store result score $Sec Temporary store result score $Min Temporary run scoreboard players operation @s CO.BattleTimer /= $20 Const scoreboard players operation $Min Temporary /= $60 Const scoreboard players operation $Sec Temporary %= $60 Const - tellraw @a[distance=..80] [{"text":"-------------------------------------------------"}] execute if score $Sec Temporary matches 10.. run tellraw @a[distance=..80] [{"text":"【 クリアタイム:"},{"score":{"name":"$Min","objective":"Temporary"}},{"text": ":"},{"score":{"name":"$Sec","objective":"Temporary"}},{"text": " !! 】"}] execute if score $Sec Temporary matches ..9 run tellraw @a[distance=..80] [{"text":"【 クリアタイム:"},{"score":{"name":"$Min","objective":"Temporary"}},{"text": ":0"},{"score":{"name":"$Sec","objective":"Temporary"}},{"text": " !! 】"}] - tellraw @a[distance=..80] [{"text":"-------------------------------------------------"}] scoreboard players reset $Min Temporary scoreboard players reset $Sec Temporary +# DPS表示 + scoreboard players operation @s CO.ActualHealth /= @s CO.DpsTimer + scoreboard players operation @s CO.ActualHealth *= $20 Const + tellraw @a[distance=..80] [{"text":"【 DPS:"},{"score":{"name":"@s","objective":"CO.ActualHealth"}},{"text": " !! 】"}] + +# --- + tellraw @a[distance=..80] [{"text":"-------------------------------------------------"}] + # 再戦フラグ用marker設置 execute unless entity @e[type=marker,tag=CO.IsRematch,distance=..30] run summon marker ~ ~ ~ {Tags:["CO.IsRematch"]} diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/init/.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/init/.mcfunction index b819c71b8f..00249d5175 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/init/.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/init/.mcfunction @@ -32,13 +32,14 @@ # ダミー用ひつじ召喚 execute unless entity @s[tag=CO.IsRematch] run data modify storage api: Argument.ID set value 2264 execute unless entity @s[tag=CO.IsRematch] run function api:object/summon - # summon sheep ~ ~ ~ {Tags:["CO.ScapeSheep","Uninterferable"],NoAI:1b,Invulnerable:1b} - # playsound entity.sheep.hurt hostile @a ~ ~ ~ 2 0.7 # 登場モーション再生 tag @s add CO.Skill.Activate # 再戦フラグ有効の場合、短縮版登場モーションを再生する execute if entity @s[tag=CO.IsRematch] run tag @s add CO.Skill.Activate.Short +# DPSタイマー計算開始 + function asset:mob/0456.gargo_ex_machina/init/set_dps_timer + # デバッグ # tag @s add CO.IsLatter diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/init/set_dps_timer.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/init/set_dps_timer.mcfunction new file mode 100644 index 0000000000..1c994d6507 --- /dev/null +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/init/set_dps_timer.mcfunction @@ -0,0 +1,11 @@ +#> asset:mob/0456.gargo_ex_machina/init/set_dps_timer +# +# Mobのinit時の処理 +# +# @within asset:mob/0456.gargo_ex_machina/init/ + +# 実HP計算 + function api:mob/get_max_health + execute store result score @s CO.ActualHealth run data get storage api: Return.MaxHealth 1 + data remove storage api: Return + scoreboard players set @s CO.DpsTimer 0 diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/load.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/load.mcfunction index c120654264..f89f9b8962 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/load.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/load.mcfunction @@ -15,7 +15,9 @@ scoreboard objectives add CO.PreTimer dummy scoreboard objectives add CO.JumpCount dummy scoreboard objectives add CO.BattleTimer dummy + scoreboard objectives add CO.DpsTimer dummy scoreboard objectives add CO.HealthOffset dummy + scoreboard objectives add CO.ActualHealth dummy #> Object管理用 # @within function asset:mob/0456.gargo_ex_machina/** # @within function asset:object/2260.gem_attack_drone/** diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/register.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/register.mcfunction index ad755237f4..392f491d2c 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/register.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/register.mcfunction @@ -19,7 +19,7 @@ # 名前 (TextComponentString) (オプション) data modify storage asset:mob Name set value '{"text":"絡繰仕掛の石像"}' # Mobの説明文 (TextComponentString[]) (オプション) - data modify storage asset:mob Lore set value ['{"text":" > Exception in thread \\"main\\"": java.lang.NullPointerException","color":"red"}','{"text":" at item.artifact.getLore(atf/0001.book_of_all-seeing)","color":"red"}','{"text":" Caused by: java.util.NoSuchElementException: Missing \'Lore\'","color":"red"}'] + data modify storage asset:mob Lore set value ['{"text":" > Exception in thread \\"main\\": java.lang.NullPointerException","color":"red"}','{"text":" at item.artifact.getLore(atf/0001.book_of_all-seeing)","color":"red"}','{"text":" Caused by: java.util.NoSuchElementException: Missing \'Lore\'","color":"red"}'] # 体力 (double) (オプション) # 前後半戦で回復するので実態の半分の値を入れる data modify storage asset:mob Health set value 237000 diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/.mcfunction index b641856e8d..176b38bf6d 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/.mcfunction @@ -13,3 +13,4 @@ # 戦闘タイマー増加 execute if entity @s[tag=!CO.Skill.Activate,tag=!CO.Skill.ChangeHead] run scoreboard players add @s CO.BattleTimer 1 + execute if entity @s[tag=!CO.IsInvulnerable] run scoreboard players add @s CO.DpsTimer 1 diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/util/end_invulnerable.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/util/end_invulnerable.mcfunction index 03901ce8e4..9dd211aa8d 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/util/end_invulnerable.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/util/end_invulnerable.mcfunction @@ -13,3 +13,6 @@ # 全Locator無敵化解除 execute as @e[type=item_display,tag=CO.ModelRoot] run function animated_java:gargo_ex_machina/as_own_locator_entities {command:'function asset:mob/0456.gargo_ex_machina/tick/util/end_invulnerable_locator'} + +# 無敵化フラグ + tag @s remove CO.IsInvulnerable diff --git a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/util/start_invulnerable.mcfunction b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/util/start_invulnerable.mcfunction index baedbe4809..c77e2bd53a 100644 --- a/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/util/start_invulnerable.mcfunction +++ b/Asset/data/asset/functions/mob/0456.gargo_ex_machina/tick/util/start_invulnerable.mcfunction @@ -13,3 +13,6 @@ # 全Locatorを無敵化 execute as @e[type=item_display,tag=CO.ModelRoot] run function animated_java:gargo_ex_machina/as_own_locator_entities {command:'function asset:mob/0456.gargo_ex_machina/tick/util/start_invulnerable_locator'} + +# 無敵化フラグ + tag @s add CO.IsInvulnerable