From 8d03f3eedcdbd124e301193d11ad31e80504d91a Mon Sep 17 00:00:00 2001 From: Lapis-LJA <87566955+Lapis-LJA@users.noreply.github.com> Date: Mon, 29 Sep 2025 21:33:06 +0900 Subject: [PATCH 1/7] =?UTF-8?q?=E9=80=94=E4=B8=AD=E7=B5=8C=E9=81=8E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../give/1.trigger.mcfunction | 7 ++ .../1306.will_o_wisp/give/2.give.mcfunction | 68 +++++++++++++++++++ .../1306.will_o_wisp/register.mcfunction | 8 +++ .../trigger/1.trigger.mcfunction | 8 +++ .../trigger/2.check_condition.mcfunction | 12 ++++ .../trigger/3.main.mcfunction | 22 ++++++ .../trigger/_index.d.mcfunction | 6 ++ .../0339.will_o_wisp/_/register.mcfunction | 7 ++ .../effect/0339.will_o_wisp/_/tick.mcfunction | 7 ++ .../0339.will_o_wisp/register.mcfunction | 41 +++++++++++ .../effect/0339.will_o_wisp/tick/.mcfunction | 11 +++ .../tick/deal_damage.mcfunction | 27 ++++++++ .../artifact/click.carrot_on_a_stick.json | 6 +- .../asset/tags/functions/artifact/give.json | 3 +- .../tags/functions/artifact/register.json | 3 +- .../asset/tags/functions/effect/register.json | 3 +- .../asset/tags/functions/effect/tick.json | 1 + 17 files changed, 233 insertions(+), 7 deletions(-) create mode 100644 Asset/data/asset/functions/artifact/1306.will_o_wisp/give/1.trigger.mcfunction create mode 100644 Asset/data/asset/functions/artifact/1306.will_o_wisp/give/2.give.mcfunction create mode 100644 Asset/data/asset/functions/artifact/1306.will_o_wisp/register.mcfunction create mode 100644 Asset/data/asset/functions/artifact/1306.will_o_wisp/trigger/1.trigger.mcfunction create mode 100644 Asset/data/asset/functions/artifact/1306.will_o_wisp/trigger/2.check_condition.mcfunction create mode 100644 Asset/data/asset/functions/artifact/1306.will_o_wisp/trigger/3.main.mcfunction create mode 100644 Asset/data/asset/functions/artifact/1306.will_o_wisp/trigger/_index.d.mcfunction create mode 100644 Asset/data/asset/functions/effect/0339.will_o_wisp/_/register.mcfunction create mode 100644 Asset/data/asset/functions/effect/0339.will_o_wisp/_/tick.mcfunction create mode 100644 Asset/data/asset/functions/effect/0339.will_o_wisp/register.mcfunction create mode 100644 Asset/data/asset/functions/effect/0339.will_o_wisp/tick/.mcfunction create mode 100644 Asset/data/asset/functions/effect/0339.will_o_wisp/tick/deal_damage.mcfunction diff --git a/Asset/data/asset/functions/artifact/1306.will_o_wisp/give/1.trigger.mcfunction b/Asset/data/asset/functions/artifact/1306.will_o_wisp/give/1.trigger.mcfunction new file mode 100644 index 0000000000..b82665df62 --- /dev/null +++ b/Asset/data/asset/functions/artifact/1306.will_o_wisp/give/1.trigger.mcfunction @@ -0,0 +1,7 @@ +#> asset:artifact/1306.will_o_wisp/give/1.trigger +# +# 神器の取得処理の呼び出し時に実行されるfunction +# +# @within tag/function asset:artifact/give + +execute if data storage asset:context {id:1306} run function asset:artifact/1306.will_o_wisp/give/2.give \ No newline at end of file diff --git a/Asset/data/asset/functions/artifact/1306.will_o_wisp/give/2.give.mcfunction b/Asset/data/asset/functions/artifact/1306.will_o_wisp/give/2.give.mcfunction new file mode 100644 index 0000000000..b37af2e634 --- /dev/null +++ b/Asset/data/asset/functions/artifact/1306.will_o_wisp/give/2.give.mcfunction @@ -0,0 +1,68 @@ +#> asset:artifact/1306.will_o_wisp/give/2.give +# +# 神器の作成部 ここでID等を定義する +# +# @user +# @within function asset:artifact/1306.will_o_wisp/give/1.trigger + +# 神器の説明や消費MPなどをここで設定する。 +# 最後にasset:artifact/common/giveを実行することで入手可能。 + +# 神器のID (int) スプレッドシートの値を入れる + data modify storage asset:artifact ID set value 1306 +# 神器のベースアイテム + data modify storage asset:artifact Item set value "minecraft:carrot_on_a_stick" +# 神器の名前 (TextComponentString) + data modify storage asset:artifact Name set value '{"text":"鬼火","color":"aqua"}' +# 神器の説明文 (TextComponentString[]) + data modify storage asset:artifact Lore set value ['{"text":"前方の敵1体に鬼火を5秒間付与する","color":"white"}','{"translate":"鬼火のダメージは自身の最大体力の%s分アップする","with":[{"text":"50%","color":"white"}]}'] +# 消費アイテム ({Item: TextComponent, Count: int, Extra?: TextComponent}) (オプション) + # data modify storage asset:artifact ConsumeItem.Item set value '{"translate":"item.minecraft.stick"}' + # data modify storage asset:artifact ConsumeItem.Count set value 1 + # data modify storage asset:artifact ConsumeItem.Extra set value +# 使用回数 (int) (オプション) + # data modify storage asset:artifact RemainingCount set value +# 神器を発動できるスロット (string) Wikiを参照 + data modify storage asset:artifact Slot set value "mainhand" +# 神器のトリガー (string) Wikiを参照 + data modify storage asset:artifact Trigger set value "onClick" +# 神器の発動条件 (TextComponentString) (オプション) + # data modify storage asset:artifact Condition set value +# 攻撃に関する情報 -Damage量 (literal[]/literal) Wikiを参照 (オプション) + data modify storage asset:artifact AttackInfo.Damage set value "50x5" +# 攻撃に関する情報 -攻撃タイプ (string[]) Wikiを参照 (オプション) + data modify storage asset:artifact AttackInfo.AttackType set value [Magic] +# 攻撃に関する情報 -攻撃属性 (string[]) Wikiを参照 (オプション) + data modify storage asset:artifact AttackInfo.ElementType set value [Fire] +# 攻撃に関する情報 -防御無視 (boolean) Wikiを参照 (オプション) + # data modify storage asset:artifact AttackInfo.BypassResist set value +# 攻撃に関する情報 -範囲攻撃 (string) Wikiを参照 (オプション) + data modify storage asset:artifact AttackInfo.IsRangeAttack set value "never" +# 攻撃に関する情報 -攻撃範囲 (literal) Wikiを参照 (オプション) + data modify storage asset:artifact AttackInfo.AttackRange set value 5 +# MP消費量 (int) + # data modify storage asset:artifact MPCost set value +# MP必要量 (int) (オプション) + # data modify storage asset:artifact MPRequire set value +# MP回復量 (int) + data modify storage asset:artifact MPHealWhenHit set value 5 +# 神器のクールダウン (int) (オプション) + # data modify storage asset:artifact LocalCooldown set value +# 種別クールダウン ({Type: string, Duration: int}) (オプション) + data modify storage asset:artifact TypeCooldown.Type set value "shortRange" + data modify storage asset:artifact TypeCooldown.Duration set value 60 +# グローバルクールダウン (int) (オプション) + # data modify storage asset:artifact SpecialCooldown set value +# クールダウンによる使用不可のメッセージを非表示にするか否か (boolean) (オプション) + # data modify storage asset:artifact DisableCooldownMessage set value +# MP不足による使用不可のメッセージを非表示にするか否か (boolean) (オプション) + # data modify storage asset:artifact DisableMPMessage set value +# 破壊時の音を鳴らさないかどうか (boolean) (オプション) + # data modify storage asset:artifact DisableBreakSound set value +# 扱える神 (string[]) Wikiを参照 + data modify storage asset:artifact CanUsedGod set value ["Urban", "Nyaptov", "Rumor"] +# カスタムNBT (NBTCompound) 追加で指定したいNBT (オプション) + # data modify storage asset:artifact CustomNBT set value {} + +# 神器の入手用function + function asset:artifact/common/give diff --git a/Asset/data/asset/functions/artifact/1306.will_o_wisp/register.mcfunction b/Asset/data/asset/functions/artifact/1306.will_o_wisp/register.mcfunction new file mode 100644 index 0000000000..fd411f130b --- /dev/null +++ b/Asset/data/asset/functions/artifact/1306.will_o_wisp/register.mcfunction @@ -0,0 +1,8 @@ +#> asset:artifact/1306.will_o_wisp/register +# +# 神器プールへの登録処理 +# +# @within tag/function asset:artifact/register + +data modify storage asset:artifact RarityRegistry[3] append value [1306] +data modify storage asset:artifact RarityRegistryWithColor.Red[3] append value [1306] diff --git a/Asset/data/asset/functions/artifact/1306.will_o_wisp/trigger/1.trigger.mcfunction b/Asset/data/asset/functions/artifact/1306.will_o_wisp/trigger/1.trigger.mcfunction new file mode 100644 index 0000000000..d1cfc5900d --- /dev/null +++ b/Asset/data/asset/functions/artifact/1306.will_o_wisp/trigger/1.trigger.mcfunction @@ -0,0 +1,8 @@ +#> asset:artifact/1306.will_o_wisp/trigger/1.trigger +# +# 指定したイベントタイミングで実行されるfunction +# +# @within tag/function asset:artifact/** + +# storage asset:idのmainhandに装備している神器のIDが入っているので比較し、~/2.check_condition.mcfunctionを実行する + execute if data storage asset:context id{mainhand:1306} run function asset:artifact/1306.will_o_wisp/trigger/2.check_condition \ No newline at end of file diff --git a/Asset/data/asset/functions/artifact/1306.will_o_wisp/trigger/2.check_condition.mcfunction b/Asset/data/asset/functions/artifact/1306.will_o_wisp/trigger/2.check_condition.mcfunction new file mode 100644 index 0000000000..1ac8ed2cf3 --- /dev/null +++ b/Asset/data/asset/functions/artifact/1306.will_o_wisp/trigger/2.check_condition.mcfunction @@ -0,0 +1,12 @@ +#> asset:artifact/1306.will_o_wisp/trigger/2.check_condition +# +# 神器の発動条件をチェックします +# +# @within function asset:artifact/1306.will_o_wisp/trigger/1.trigger + +# 神器の基本的な条件の確認を行うfunction、成功している場合CanUsedタグが付く + function asset:artifact/common/check_condition/mainhand +# 他にアイテム等確認する場合はここに書く + +# CanUsedタグをチェックして3.main.mcfunctionを実行する + execute if entity @s[tag=CanUsed] run function asset:artifact/1306.will_o_wisp/trigger/3.main \ No newline at end of file diff --git a/Asset/data/asset/functions/artifact/1306.will_o_wisp/trigger/3.main.mcfunction b/Asset/data/asset/functions/artifact/1306.will_o_wisp/trigger/3.main.mcfunction new file mode 100644 index 0000000000..52b653a583 --- /dev/null +++ b/Asset/data/asset/functions/artifact/1306.will_o_wisp/trigger/3.main.mcfunction @@ -0,0 +1,22 @@ +#> asset:artifact/1306.will_o_wisp/trigger/3.main +# +# 神器のメイン処理部 +# +# @within function asset:artifact/1306.will_o_wisp/trigger/2.check_condition + +# 基本的な使用時の処理(MP消費や使用回数の処理など)を行う + function asset:artifact/common/use/mainhand + +# ここから先は神器側の効果の処理を書く + +# ターゲット選定 +# 前方の敵1体をターゲットとする + + + +# エフェクト付与 + data modify storage api: Argument.ID set value 339 + data modify storage api: Argument.Duration set value 100 + data modify storage api: Argument.FieldOverride.AdditionalMPHeal set from storage api: PersistentArgument.AdditionalMPHeal + execute as @e[type=#lib:living,tag=Enemy,tag=!Uninterferable,distance=..5,sort=nearest,limit=1] run function api:entity/mob/effect/give + function api:entity/mob/effect/reset diff --git a/Asset/data/asset/functions/artifact/1306.will_o_wisp/trigger/_index.d.mcfunction b/Asset/data/asset/functions/artifact/1306.will_o_wisp/trigger/_index.d.mcfunction new file mode 100644 index 0000000000..fea0964773 --- /dev/null +++ b/Asset/data/asset/functions/artifact/1306.will_o_wisp/trigger/_index.d.mcfunction @@ -0,0 +1,6 @@ +#> asset:artifact/1306.will_o_wisp/trigger/_index.d +# @private + +#> tag +# @within function asset:artifact/1306.will_o_wisp/trigger/** + #declare tag 10A.Target diff --git a/Asset/data/asset/functions/effect/0339.will_o_wisp/_/register.mcfunction b/Asset/data/asset/functions/effect/0339.will_o_wisp/_/register.mcfunction new file mode 100644 index 0000000000..bc780386e2 --- /dev/null +++ b/Asset/data/asset/functions/effect/0339.will_o_wisp/_/register.mcfunction @@ -0,0 +1,7 @@ +#> asset:effect/0339.will_o_wisp/_/register +# +# +# +# @within tag/function asset:effect/register + +execute if data storage asset:context {id:339} run function asset:effect/0339.will_o_wisp/register \ No newline at end of file diff --git a/Asset/data/asset/functions/effect/0339.will_o_wisp/_/tick.mcfunction b/Asset/data/asset/functions/effect/0339.will_o_wisp/_/tick.mcfunction new file mode 100644 index 0000000000..08ec4df303 --- /dev/null +++ b/Asset/data/asset/functions/effect/0339.will_o_wisp/_/tick.mcfunction @@ -0,0 +1,7 @@ +#> asset:effect/0339.will_o_wisp/_/tick +# +# Effectが発動している間毎tick実行されるfunction +# +# @within tag/function asset:effect/tick + +execute if data storage asset:context {id:339} run function asset:effect/0339.will_o_wisp/tick/ \ No newline at end of file diff --git a/Asset/data/asset/functions/effect/0339.will_o_wisp/register.mcfunction b/Asset/data/asset/functions/effect/0339.will_o_wisp/register.mcfunction new file mode 100644 index 0000000000..ec5a08804a --- /dev/null +++ b/Asset/data/asset/functions/effect/0339.will_o_wisp/register.mcfunction @@ -0,0 +1,41 @@ +#> asset:effect/0339.will_o_wisp/register +# +# Effectのデータを指定 +# +# @within function asset:effect/0339.will_o_wisp/_/register + +# ExtendsSafe (boolean) (default = false) + # data modify storage asset:effect ExtendsSafe set value true +# ID (int) + data modify storage asset:effect ID set value 339 +# 名前 (TextComponentString) + data modify storage asset:effect Name set value '{"text":"鬼火","color":"aqua"}' +# 説明文 (TextComponentString[]) + data modify storage asset:effect Description set value ['{"text":"継続的に魔法火属性ダメージを受ける","color":"white"}'] +# 効果時間 (int) (default = API || error) + # data modify storage asset:effect Duration set value +# スタック (int) (default = API || 1) + # data modify storage asset:effect Stack set value +# 効果時間の操作方法 (default = API || "replace") + # data modify storage asset:effect DurationOperation set value +# スタックの操作方法 (default = API || "replace") + # data modify storage asset:effect StackOperation set value +# 最大効果時間 (int) (default = 2147483647) + # data modify storage asset:effect MaxDuration set value +# 最大スタック (int) (default = 2147483647) + data modify storage asset:effect MaxStack set value 1 +# 悪い効果か否か (boolean) + data modify storage asset:effect IsBadEffect set value true +# 死亡時のエフェクトの処理 (default = "remove") + # data modify storage asset:effect ProcessOnDied set value +# 消すのに必要なレベル (int) (default = 1) + data modify storage asset:effect RequireClearLv set value 3 +# エフェクトをUIに表示するか (boolean) (default = true) + # data modify storage asset:effect Visible set value +# エフェクトのスタックををUIに表示するか (boolean) (default = true) + data modify storage asset:effect StackVisible set value false + +# フィールド + data modify storage asset:effect Field.Damage set value 1 + data modify storage asset:effect Field.AdditionalMPHeal set value 1 + data modify storage asset:effect Field.AppliedFrom set value -1 diff --git a/Asset/data/asset/functions/effect/0339.will_o_wisp/tick/.mcfunction b/Asset/data/asset/functions/effect/0339.will_o_wisp/tick/.mcfunction new file mode 100644 index 0000000000..4d6f8fd2be --- /dev/null +++ b/Asset/data/asset/functions/effect/0339.will_o_wisp/tick/.mcfunction @@ -0,0 +1,11 @@ +#> asset:effect/0339.will_o_wisp/tick/ +# +# Effectのtick処理 +# +# @within function asset:effect/0339.will_o_wisp/_/tick + +# デクリメント + execute store result storage asset:context this.Tick int 0.9999999999 run data get storage asset:context this.Tick +# 2tickおきにダメージを与える + execute if data storage asset:context this{Tick:0} run function asset:effect/0339.will_o_wisp/tick/deal_damage + execute if data storage asset:context this{Tick:0} run data modify storage asset:context this.Tick set value 20 diff --git a/Asset/data/asset/functions/effect/0339.will_o_wisp/tick/deal_damage.mcfunction b/Asset/data/asset/functions/effect/0339.will_o_wisp/tick/deal_damage.mcfunction new file mode 100644 index 0000000000..07b5ae36be --- /dev/null +++ b/Asset/data/asset/functions/effect/0339.will_o_wisp/tick/deal_damage.mcfunction @@ -0,0 +1,27 @@ +#> asset:effect/0339.will_o_wisp/tick/deal_damage +# +# +# +# @within function asset:effect/0339.will_o_wisp/tick/ + +#> Private +# @private + #declare score_holder $UserID + +# 演出 + playsound entity.blaze.shoot player @a ~ ~ ~ 0.5 1 + particle soul_fire_flame ~ ~1.2 ~ 0.4 0.4 0.4 0.05 12 + #particle minecraft:dust_color_transition 0.3 1 1 1.3 1 0.3 0.7 ~ ~1.2 ~ 0.4 0.4 0.4 0 10 + +# ダメージを与える + data modify storage api: Argument.Damage set from storage asset:context this.Damage + data modify storage api: Argument.AttackType set value "Magic" + data modify storage api: Argument.ElementType set value "Fire" + data modify storage api: Argument.AdditionalMPHeal set from storage asset:context this.AdditionalMPHeal + execute store result score $UserID Temporary run data get storage asset:context this.UserID + execute as @a if score @s UserID = $UserID Temporary run function api:damage/modifier + data modify storage api: Argument.ApplyTrigger set value false + function api:damage/ + function api:damage/reset +# リセット + scoreboard players reset $UserID Temporary diff --git a/Asset/data/asset/tags/functions/artifact/click.carrot_on_a_stick.json b/Asset/data/asset/tags/functions/artifact/click.carrot_on_a_stick.json index 5864dbd366..fb19d46202 100644 --- a/Asset/data/asset/tags/functions/artifact/click.carrot_on_a_stick.json +++ b/Asset/data/asset/tags/functions/artifact/click.carrot_on_a_stick.json @@ -1,5 +1,6 @@ { "values": [ + "asset:artifact/1306.will_o_wisp/trigger/1.trigger", "asset:artifact/0005.musket_matchlock/trigger/1.trigger", "asset:artifact/0017.harmful_books/trigger/1.trigger", "asset:artifact/0075.whirlpool_wand/trigger/1.trigger", @@ -90,7 +91,6 @@ "asset:artifact/1265.thunder_ray/trigger/1.trigger", "asset:artifact/1270.raging_passion_pickaxe/trigger/1.trigger", "asset:artifact/1272.big_water_launcher/trigger/1.trigger", - "asset:artifact/0001.book_of_all-seeing/trigger/1.trigger", "asset:artifact/0002.blessing/trigger/1.trigger", "asset:artifact/0007.nitrogen_fixater/trigger/1.trigger", @@ -175,8 +175,6 @@ "asset:artifact/1284.quiver/trigger/1.trigger", "asset:artifact/1285.torch_bag/trigger/1.trigger", "asset:artifact/2001.staff_of_the_willless/trigger/1.trigger", - "asset:artifact/0019.scripture/trigger/1.trigger" - ] -} +} \ No newline at end of file diff --git a/Asset/data/asset/tags/functions/artifact/give.json b/Asset/data/asset/tags/functions/artifact/give.json index f3eb008857..ef52b49c66 100644 --- a/Asset/data/asset/tags/functions/artifact/give.json +++ b/Asset/data/asset/tags/functions/artifact/give.json @@ -1,5 +1,6 @@ { "values": [ + "asset:artifact/1306.will_o_wisp/give/1.trigger", "asset:artifact/1140.over_pulse_booster/give/1.trigger", "asset:artifact/1139.over_pulse_legframe/give/1.trigger", "asset:artifact/1138.over_pulse_bodyarmor/give/1.trigger", @@ -517,4 +518,4 @@ "asset:artifact/0735.collision_plate/give/1.trigger", "asset:artifact/0745.blade_of_whirlwind/give/1.trigger" ] -} +} \ No newline at end of file diff --git a/Asset/data/asset/tags/functions/artifact/register.json b/Asset/data/asset/tags/functions/artifact/register.json index deba166150..5d58b3bc93 100644 --- a/Asset/data/asset/tags/functions/artifact/register.json +++ b/Asset/data/asset/tags/functions/artifact/register.json @@ -1,5 +1,6 @@ { "values": [ + "asset:artifact/1306.will_o_wisp/register", "asset:artifact/1137.over_pulse_headgear/register", "asset:artifact/1228.fatalerror/register", "asset:artifact/1273.maidchan_plush/register", @@ -295,4 +296,4 @@ "asset:artifact/1027.fire_of_rebirth/register", "asset:artifact/1111.rod_o_redeem/register" ] -} +} \ No newline at end of file diff --git a/Asset/data/asset/tags/functions/effect/register.json b/Asset/data/asset/tags/functions/effect/register.json index 2df8839cf1..7fb80aeade 100644 --- a/Asset/data/asset/tags/functions/effect/register.json +++ b/Asset/data/asset/tags/functions/effect/register.json @@ -1,5 +1,6 @@ { "values": [ + "asset:effect/0339.will_o_wisp/_/register", "asset:effect/0025.levitation/_/register", "asset:effect/0247.great_demon_armor/_/register", "asset:effect/0246.flame_devil_armor/_/register", @@ -167,4 +168,4 @@ "asset:effect/0007.defense_base_debuff/_/register", "asset:effect/0258.spirit_melody/_/register" ] -} +} \ No newline at end of file diff --git a/Asset/data/asset/tags/functions/effect/tick.json b/Asset/data/asset/tags/functions/effect/tick.json index 8a5fbd5389..5b85f218ae 100644 --- a/Asset/data/asset/tags/functions/effect/tick.json +++ b/Asset/data/asset/tags/functions/effect/tick.json @@ -1,5 +1,6 @@ { "values": [ + "asset:effect/0339.will_o_wisp/_/tick", "asset:effect/0025.levitation/_/tick", "asset:effect/0244.aurora_armor/_/tick", "asset:effect/0243.oblivious_snow/_/tick", From bde1961f25676e39d610fd1db59d80016d536589 Mon Sep 17 00:00:00 2001 From: Lapis-LJA <87566955+Lapis-LJA@users.noreply.github.com> Date: Sun, 30 Nov 2025 02:44:43 +0900 Subject: [PATCH 2/7] =?UTF-8?q?=E5=AE=8C=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../1306.will_o_wisp/give/2.give.mcfunction | 4 +- .../trigger/3.main.mcfunction | 23 +++-- .../trigger/_index.d.mcfunction | 2 + .../trigger/damage_and_effect.mcfunction | 33 +++++++ .../trigger/target/forward/.mcfunction | 15 +++ .../target/forward/check_through.mcfunction | 16 ++++ .../trigger/target/forward/success.mcfunction | 11 +++ .../trigger/target/line_of_sight.mcfunction | 19 ++++ .../1306.will_o_wisp/trigger/vfx.mcfunction | 94 +++++++++++++++++++ .../0339.will_o_wisp/register.mcfunction | 2 + .../effect/0339.will_o_wisp/tick/.mcfunction | 6 +- .../tick/deal_damage.mcfunction | 2 +- 12 files changed, 214 insertions(+), 13 deletions(-) create mode 100644 Asset/data/asset/functions/artifact/1306.will_o_wisp/trigger/damage_and_effect.mcfunction create mode 100644 Asset/data/asset/functions/artifact/1306.will_o_wisp/trigger/target/forward/.mcfunction create mode 100644 Asset/data/asset/functions/artifact/1306.will_o_wisp/trigger/target/forward/check_through.mcfunction create mode 100644 Asset/data/asset/functions/artifact/1306.will_o_wisp/trigger/target/forward/success.mcfunction create mode 100644 Asset/data/asset/functions/artifact/1306.will_o_wisp/trigger/target/line_of_sight.mcfunction create mode 100644 Asset/data/asset/functions/artifact/1306.will_o_wisp/trigger/vfx.mcfunction diff --git a/Asset/data/asset/functions/artifact/1306.will_o_wisp/give/2.give.mcfunction b/Asset/data/asset/functions/artifact/1306.will_o_wisp/give/2.give.mcfunction index b37af2e634..855979999a 100644 --- a/Asset/data/asset/functions/artifact/1306.will_o_wisp/give/2.give.mcfunction +++ b/Asset/data/asset/functions/artifact/1306.will_o_wisp/give/2.give.mcfunction @@ -15,7 +15,7 @@ # 神器の名前 (TextComponentString) data modify storage asset:artifact Name set value '{"text":"鬼火","color":"aqua"}' # 神器の説明文 (TextComponentString[]) - data modify storage asset:artifact Lore set value ['{"text":"前方の敵1体に鬼火を5秒間付与する","color":"white"}','{"translate":"鬼火のダメージは自身の最大体力の%s分アップする","with":[{"text":"50%","color":"white"}]}'] + data modify storage asset:artifact Lore set value ['{"text":"前方の敵1体にダメージを与え、鬼火を5秒間付与する","color":"white"}','{"translate":"鬼火のダメージは自身の最大体力の%s分アップする","with":[{"text":"20%","color":"white"}]}'] # 消費アイテム ({Item: TextComponent, Count: int, Extra?: TextComponent}) (オプション) # data modify storage asset:artifact ConsumeItem.Item set value '{"translate":"item.minecraft.stick"}' # data modify storage asset:artifact ConsumeItem.Count set value 1 @@ -29,7 +29,7 @@ # 神器の発動条件 (TextComponentString) (オプション) # data modify storage asset:artifact Condition set value # 攻撃に関する情報 -Damage量 (literal[]/literal) Wikiを参照 (オプション) - data modify storage asset:artifact AttackInfo.Damage set value "50x5" + data modify storage asset:artifact AttackInfo.Damage set value "100+50x5" # 攻撃に関する情報 -攻撃タイプ (string[]) Wikiを参照 (オプション) data modify storage asset:artifact AttackInfo.AttackType set value [Magic] # 攻撃に関する情報 -攻撃属性 (string[]) Wikiを参照 (オプション) diff --git a/Asset/data/asset/functions/artifact/1306.will_o_wisp/trigger/3.main.mcfunction b/Asset/data/asset/functions/artifact/1306.will_o_wisp/trigger/3.main.mcfunction index 52b653a583..c48864e657 100644 --- a/Asset/data/asset/functions/artifact/1306.will_o_wisp/trigger/3.main.mcfunction +++ b/Asset/data/asset/functions/artifact/1306.will_o_wisp/trigger/3.main.mcfunction @@ -10,13 +10,22 @@ # ここから先は神器側の効果の処理を書く # ターゲット選定 +# 何段階かターゲット選択処理をする + # 前方の敵1体をターゲットとする - + execute anchored eyes positioned ^ ^ ^ run function asset:artifact/1306.will_o_wisp/trigger/target/line_of_sight + +# ターゲットがいなければ、前方の近くの敵をターゲットとする + execute unless entity @e[type=#lib:living_without_player,tag=10A.Target,distance=..10] run function asset:artifact/1306.will_o_wisp/trigger/target/forward/ + +# ここまでしてターゲットがいなければ前方で演出 + execute unless entity @e[type=#lib:living_without_player,tag=10A.Target,distance=..10] anchored eyes positioned ^ ^-0.5 ^4.5 rotated ~ 0 run function asset:artifact/1306.will_o_wisp/trigger/vfx +# ターゲットにダメージやエフェクト等 + execute as @e[type=#lib:living_without_player,tag=10A.Target,distance=..10] at @s run function asset:artifact/1306.will_o_wisp/trigger/damage_and_effect -# エフェクト付与 - data modify storage api: Argument.ID set value 339 - data modify storage api: Argument.Duration set value 100 - data modify storage api: Argument.FieldOverride.AdditionalMPHeal set from storage api: PersistentArgument.AdditionalMPHeal - execute as @e[type=#lib:living,tag=Enemy,tag=!Uninterferable,distance=..5,sort=nearest,limit=1] run function api:entity/mob/effect/give - function api:entity/mob/effect/reset +# リセット + data remove storage asset:temp Success + scoreboard players reset $10A.Recursive Temporary + tag @e[type=#lib:living_without_player,tag=10A.Target,distance=..10,limit=1] remove 10A.Target + tag @e[type=#lib:living_without_player,tag=10A.TempTarget,distance=..10] remove 10A.TempTarget diff --git a/Asset/data/asset/functions/artifact/1306.will_o_wisp/trigger/_index.d.mcfunction b/Asset/data/asset/functions/artifact/1306.will_o_wisp/trigger/_index.d.mcfunction index fea0964773..28fc8bbdea 100644 --- a/Asset/data/asset/functions/artifact/1306.will_o_wisp/trigger/_index.d.mcfunction +++ b/Asset/data/asset/functions/artifact/1306.will_o_wisp/trigger/_index.d.mcfunction @@ -4,3 +4,5 @@ #> tag # @within function asset:artifact/1306.will_o_wisp/trigger/** #declare tag 10A.Target + #declare tag 10A.TempTarget + #declare score_holder $10A.Recursive diff --git a/Asset/data/asset/functions/artifact/1306.will_o_wisp/trigger/damage_and_effect.mcfunction b/Asset/data/asset/functions/artifact/1306.will_o_wisp/trigger/damage_and_effect.mcfunction new file mode 100644 index 0000000000..20462bd66b --- /dev/null +++ b/Asset/data/asset/functions/artifact/1306.will_o_wisp/trigger/damage_and_effect.mcfunction @@ -0,0 +1,33 @@ +#> asset:artifact/1306.will_o_wisp/trigger/damage_and_effect +# +# ターゲットにすること諸々 +# +# @within function asset:artifact/1306.will_o_wisp/trigger/3.main + +#> Private +# @private + #declare score_holder $10A.Damage + +# ターゲットの位置で演出 + execute positioned ~ ~0.5 ~ rotated ~ 0 run function asset:artifact/1306.will_o_wisp/trigger/vfx + +# ダメージ + data modify storage api: Argument.Damage set value 100f + data modify storage api: Argument.AttackType set value "Physical" + data modify storage api: Argument.ElementType set value "Water" + execute as @p[tag=this] run function api:damage/modifier + function api:damage/ + function api:damage/reset + +# エフェクトのダメージ計算 + execute as @p[tag=this] run function api:modifier/max_health/get + execute store result score $10A.Damage Temporary run data get storage api: Return.MaxHealth 0.2 + scoreboard players add $10A.Damage Temporary 50 + +# エフェクト付与 + data modify storage api: Argument.ID set value 339 + data modify storage api: Argument.Duration set value 100 + execute store result storage api: Argument.FieldOverride.Damage int 1 run scoreboard players get $10A.Damage Temporary + data modify storage api: Argument.FieldOverride.AdditionalMPHeal set from storage api: PersistentArgument.AdditionalMPHeal + function api:entity/mob/effect/give + function api:entity/mob/effect/reset diff --git a/Asset/data/asset/functions/artifact/1306.will_o_wisp/trigger/target/forward/.mcfunction b/Asset/data/asset/functions/artifact/1306.will_o_wisp/trigger/target/forward/.mcfunction new file mode 100644 index 0000000000..088daf7224 --- /dev/null +++ b/Asset/data/asset/functions/artifact/1306.will_o_wisp/trigger/target/forward/.mcfunction @@ -0,0 +1,15 @@ +#> asset:artifact/1306.will_o_wisp/trigger/target/forward/ +# +# +# +# @within function asset:artifact/1306.will_o_wisp/trigger/3.main + +# 自身の前方でかつ、最も近くの、壁を通してない敵を探す + +# 前方の敵にTempTargetをつける +# まぁある程度適当なので横にも当たる + tag @e[type=#lib:living_without_player,tag=Enemy,tag=!Uninterferable,distance=..5] add 10A.TempTarget + execute positioned ^ ^ ^-10 run tag @e[type=#lib:living_without_player,tag=10A.TempTarget,distance=..10] remove 10A.TempTarget + +# 近い順に再帰で壁を貫通していないかチェックする + execute as @e[type=#lib:living_without_player,tag=10A.TempTarget,distance=..10,sort=nearest] facing entity @s eyes run function asset:artifact/1306.will_o_wisp/trigger/target/forward/check_through diff --git a/Asset/data/asset/functions/artifact/1306.will_o_wisp/trigger/target/forward/check_through.mcfunction b/Asset/data/asset/functions/artifact/1306.will_o_wisp/trigger/target/forward/check_through.mcfunction new file mode 100644 index 0000000000..e949ad7abf --- /dev/null +++ b/Asset/data/asset/functions/artifact/1306.will_o_wisp/trigger/target/forward/check_through.mcfunction @@ -0,0 +1,16 @@ +#> asset:artifact/1306.will_o_wisp/trigger/target/forward/check_through +# +# +# +# @within function +# asset:artifact/1306.will_o_wisp/trigger/target/forward/ +# asset:artifact/1306.will_o_wisp/trigger/target/forward/check_through + +# 成功済みならreturn + execute if data storage asset:temp {Success:true} run return fail + +# 自身が近くにいたらreturn + execute positioned ~-0.5 ~-0.5 ~-0.5 if entity @s[dx=0] run return run function asset:artifact/1306.will_o_wisp/trigger/target/forward/success + +# 壁を再帰 + execute positioned ^ ^ ^0.5 if block ~ ~ ~ #lib:no_collision/ run function asset:artifact/1306.will_o_wisp/trigger/target/forward/check_through diff --git a/Asset/data/asset/functions/artifact/1306.will_o_wisp/trigger/target/forward/success.mcfunction b/Asset/data/asset/functions/artifact/1306.will_o_wisp/trigger/target/forward/success.mcfunction new file mode 100644 index 0000000000..33ffbe7655 --- /dev/null +++ b/Asset/data/asset/functions/artifact/1306.will_o_wisp/trigger/target/forward/success.mcfunction @@ -0,0 +1,11 @@ +#> asset:artifact/1306.will_o_wisp/trigger/target/forward/success +# +# +# +# @within function asset:artifact/1306.will_o_wisp/trigger/target/forward/check_through + +# 自身にtagを付与 + tag @s add 10A.Target + +# 成功済み判定用storageを設定 + data modify storage asset:temp Success set value true diff --git a/Asset/data/asset/functions/artifact/1306.will_o_wisp/trigger/target/line_of_sight.mcfunction b/Asset/data/asset/functions/artifact/1306.will_o_wisp/trigger/target/line_of_sight.mcfunction new file mode 100644 index 0000000000..fba6cfb2e4 --- /dev/null +++ b/Asset/data/asset/functions/artifact/1306.will_o_wisp/trigger/target/line_of_sight.mcfunction @@ -0,0 +1,19 @@ +#> asset:artifact/1306.will_o_wisp/trigger/target/line_of_sight +# +# +# +# @within function +# asset:artifact/1306.will_o_wisp/trigger/3.main +# asset:artifact/1306.will_o_wisp/trigger/target/line_of_sight + +# 視線先に敵がいるかを再帰で検知する + +# 敵がいたらtag付けてreturn + execute positioned ~-0.5 ~-0.5 ~-0.5 if entity @e[type=#lib:living_without_player,tag=!Uninterferable,dx=0,limit=1] run return run tag @e[type=#lib:living_without_player,tag=!Uninterferable,dx=0,sort=random,limit=1] add 10A.Target + +# 再帰暴走防止スコア + scoreboard players add $10A.Recursive Temporary 1 + execute if score $10A.Recursive Temporary matches 10.. run return fail + +# 再帰 + execute positioned ^ ^ ^0.5 if block ~ ~ ~ #lib:no_collision/ run function asset:artifact/1306.will_o_wisp/trigger/target/line_of_sight diff --git a/Asset/data/asset/functions/artifact/1306.will_o_wisp/trigger/vfx.mcfunction b/Asset/data/asset/functions/artifact/1306.will_o_wisp/trigger/vfx.mcfunction new file mode 100644 index 0000000000..59c8839af6 --- /dev/null +++ b/Asset/data/asset/functions/artifact/1306.will_o_wisp/trigger/vfx.mcfunction @@ -0,0 +1,94 @@ +#> asset:artifact/1306.will_o_wisp/trigger/vfx +# +# +# +# @within function +# asset:artifact/1306.will_o_wisp/trigger/3.main +# asset:artifact/1306.will_o_wisp/trigger/damage_and_effect + +# playsound + playsound entity.blaze.shoot player @a ~ ~ ~ 0.5 0.8 + playsound minecraft:block.fire.ambient player @a ~ ~ ~ 1 0.7 + +particle soul_fire_flame ^4 ^ ^0 ^-40000000 ^ ^0 0.000000005 0 +particle soul_fire_flame ^3.9507 ^ ^0.6257 ^-39507000 ^ ^-6257000 0.000000005 0 +particle soul_fire_flame ^3.8042 ^ ^1.236 ^-38042000 ^ ^-12360000 0.000000005 0 +particle soul_fire_flame ^3.564 ^ ^1.8159 ^-35640000 ^ ^-18159000 0.000000005 0 +particle soul_fire_flame ^3.236 ^ ^2.3511 ^-32360000. ^ ^-23511000. 0.000000005 0 +particle soul_fire_flame ^2.8284 ^ ^2.8284 ^-28284000. ^ ^-28284000. 0.000000005 0 +particle soul_fire_flame ^2.3511 ^ ^3.236 ^-23511000. ^ ^-32360000. 0.000000005 0 +particle soul_fire_flame ^1.8159 ^ ^3.564 ^-18159000 ^ ^-35640000 0.000000005 0 +particle soul_fire_flame ^1.236 ^ ^3.8042 ^-12360000 ^ ^-38042000 0.000000005 0 +particle soul_fire_flame ^0.6257 ^ ^3.9507 ^-6257000 ^ ^-39507000 0.000000005 0 +particle soul_fire_flame ^0 ^ ^4 ^0 ^ ^-40000000 0.000000005 0 +particle soul_fire_flame ^-0.6257 ^ ^3.9507 ^6257000 ^ ^-39507000 0.000000005 0 +particle soul_fire_flame ^-1.236 ^ ^3.8042 ^12360000 ^ ^-38042000 0.000000005 0 +particle soul_fire_flame ^-1.8159 ^ ^3.564 ^18159000 ^ ^-35640000 0.000000005 0 +particle soul_fire_flame ^-2.3511 ^ ^3.236 ^23511000. ^ ^-32360000. 0.000000005 0 +particle soul_fire_flame ^-2.8284 ^ ^2.8284 ^28284000. ^ ^-28284000. 0.000000005 0 +particle soul_fire_flame ^-3.236 ^ ^2.3511 ^32360000. ^ ^-23511000. 0.000000005 0 +particle soul_fire_flame ^-3.564 ^ ^1.8159 ^35640000 ^ ^-18159000 0.000000005 0 +particle soul_fire_flame ^-3.8042 ^ ^1.236 ^38042000 ^ ^-12360000 0.000000005 0 +particle soul_fire_flame ^-3.9507 ^ ^0.6257 ^39507000 ^ ^-6257000 0.000000005 0 +particle soul_fire_flame ^-4 ^ ^0 ^40000000 ^ ^0 0.000000005 0 +particle soul_fire_flame ^-3.9507 ^ ^-0.6257 ^39507000 ^ ^6257000 0.000000005 0 +particle soul_fire_flame ^-3.8042 ^ ^-1.236 ^38042000 ^ ^12360000 0.000000005 0 +particle soul_fire_flame ^-3.564 ^ ^-1.8159 ^35640000 ^ ^18159000 0.000000005 0 +particle soul_fire_flame ^-3.236 ^ ^-2.3511 ^32360000. ^ ^23511000. 0.000000005 0 +particle soul_fire_flame ^-2.8284 ^ ^-2.8284 ^28284000. ^ ^28284000. 0.000000005 0 +particle soul_fire_flame ^-2.3511 ^ ^-3.236 ^23511000. ^ ^32360000. 0.000000005 0 +particle soul_fire_flame ^-1.8159 ^ ^-3.564 ^18159000 ^ ^35640000 0.000000005 0 +particle soul_fire_flame ^-1.236 ^ ^-3.8042 ^12360000 ^ ^38042000 0.000000005 0 +particle soul_fire_flame ^-0.6257 ^ ^-3.9507 ^6257000 ^ ^39507000 0.000000005 0 +particle soul_fire_flame ^0 ^ ^-4 ^0 ^ ^40000000 0.000000005 0 +particle soul_fire_flame ^0.6257 ^ ^-3.9507 ^-6257000 ^ ^39507000 0.000000005 0 +particle soul_fire_flame ^1.236 ^ ^-3.8042 ^-12360000 ^ ^38042000 0.000000005 0 +particle soul_fire_flame ^1.8159 ^ ^-3.564 ^-18159000 ^ ^35640000 0.000000005 0 +particle soul_fire_flame ^2.3511 ^ ^-3.236 ^-23511000. ^ ^32360000. 0.000000005 0 +particle soul_fire_flame ^2.8284 ^ ^-2.8284 ^-28284000. ^ ^28284000. 0.000000005 0 +particle soul_fire_flame ^3.236 ^ ^-2.3511 ^-32360000. ^ ^23511000. 0.000000005 0 +particle soul_fire_flame ^3.564 ^ ^-1.8159 ^-35640000 ^ ^18159000 0.000000005 0 +particle soul_fire_flame ^3.8042 ^ ^-1.236 ^-38042000 ^ ^12360000 0.000000005 0 +particle soul_fire_flame ^3.9507 ^ ^-0.6257 ^-39507000 ^ ^6257000 0.000000005 0 + +particle soul_fire_flame ^2.5 ^ ^0 ^-25000000 ^ ^0 0.0000000045 0 +particle soul_fire_flame ^2.4148 ^ ^0.647 ^-24148000 ^ ^-6470000 0.0000000045 0 +particle soul_fire_flame ^2.165 ^ ^1.25 ^-21650000 ^ ^-12500000 0.0000000045 0 +particle soul_fire_flame ^1.7677 ^ ^1.7677 ^-17677000 ^ ^-17677000 0.0000000045 0 +particle soul_fire_flame ^1.25 ^ ^2.165 ^-12500000 ^ ^-21650000 0.0000000045 0 +particle soul_fire_flame ^0.647 ^ ^2.4148 ^-6470000 ^ ^-24148000 0.0000000045 0 +particle soul_fire_flame ^0 ^ ^2.5 ^0 ^ ^-25000000 0.0000000045 0 +particle soul_fire_flame ^-0.647 ^ ^2.4148 ^6470000 ^ ^-24148000 0.0000000045 0 +particle soul_fire_flame ^-1.25 ^ ^2.165 ^12500000 ^ ^-21650000 0.0000000045 0 +particle soul_fire_flame ^-1.7677 ^ ^1.7677 ^17677000 ^ ^-17677000 0.0000000045 0 +particle soul_fire_flame ^-2.165 ^ ^1.25 ^21650000 ^ ^-12500000 0.0000000045 0 +particle soul_fire_flame ^-2.4148 ^ ^0.647 ^24148000 ^ ^-6470000 0.0000000045 0 +particle soul_fire_flame ^-2.5 ^ ^0 ^25000000 ^ ^0 0.0000000045 0 +particle soul_fire_flame ^-2.4148 ^ ^-0.647 ^24148000 ^ ^6470000 0.0000000045 0 +particle soul_fire_flame ^-2.165 ^ ^-1.25 ^21650000 ^ ^12500000 0.0000000045 0 +particle soul_fire_flame ^-1.7677 ^ ^-1.7677 ^17677000 ^ ^17677000 0.0000000045 0 +particle soul_fire_flame ^-1.25 ^ ^-2.165 ^12500000 ^ ^21650000 0.0000000045 0 +particle soul_fire_flame ^-0.647 ^ ^-2.4148 ^6470000 ^ ^24148000 0.0000000045 0 +particle soul_fire_flame ^0 ^ ^-2.5 ^0 ^ ^25000000 0.0000000045 0 +particle soul_fire_flame ^0.647 ^ ^-2.4148 ^-6470000 ^ ^24148000 0.0000000045 0 +particle soul_fire_flame ^1.25 ^ ^-2.165 ^-12500000 ^ ^21650000 0.0000000045 0 +particle soul_fire_flame ^1.7677 ^ ^-1.7677 ^-17677000 ^ ^17677000 0.0000000045 0 +particle soul_fire_flame ^2.165 ^ ^-1.25 ^-21650000 ^ ^12500000 0.0000000045 0 +particle soul_fire_flame ^2.4148 ^ ^-0.647 ^-24148000 ^ ^6470000 0.0000000045 0 + +particle soul_fire_flame ^1.5 ^ ^0 ^-15000000 ^ ^0 0.000000004 0 +particle soul_fire_flame ^1.3858 ^ ^0.574 ^-13858000 ^ ^-5740000 0.000000004 0 +particle soul_fire_flame ^1.0606 ^ ^1.0606 ^-10606000 ^ ^-10606000 0.000000004 0 +particle soul_fire_flame ^0.574 ^ ^1.3858 ^-5740000 ^ ^-13858000 0.000000004 0 +particle soul_fire_flame ^0 ^ ^1.5 ^0 ^ ^-15000000 0.000000004 0 +particle soul_fire_flame ^-0.574 ^ ^1.3858 ^5740000 ^ ^-13858000 0.000000004 0 +particle soul_fire_flame ^-1.0606 ^ ^1.0606 ^10606000 ^ ^-10606000 0.000000004 0 +particle soul_fire_flame ^-1.3858 ^ ^0.574 ^13858000 ^ ^-5740000 0.000000004 0 +particle soul_fire_flame ^-1.5 ^ ^0 ^15000000 ^ ^0 0.000000004 0 +particle soul_fire_flame ^-1.3858 ^ ^-0.574 ^13858000 ^ ^5740000 0.000000004 0 +particle soul_fire_flame ^-1.0606 ^ ^-1.0606 ^10606000 ^ ^10606000 0.000000004 0 +particle soul_fire_flame ^-0.574 ^ ^-1.3858 ^5740000 ^ ^13858000 0.000000004 0 +particle soul_fire_flame ^0 ^ ^-1.5 ^0 ^ ^15000000 0.000000004 0 +particle soul_fire_flame ^0.574 ^ ^-1.3858 ^-5740000 ^ ^13858000 0.000000004 0 +particle soul_fire_flame ^1.0606 ^ ^-1.0606 ^-10606000 ^ ^10606000 0.000000004 0 +particle soul_fire_flame ^1.3858 ^ ^-0.574 ^-13858000 ^ ^5740000 0.000000004 0 diff --git a/Asset/data/asset/functions/effect/0339.will_o_wisp/register.mcfunction b/Asset/data/asset/functions/effect/0339.will_o_wisp/register.mcfunction index ec5a08804a..e47fd94873 100644 --- a/Asset/data/asset/functions/effect/0339.will_o_wisp/register.mcfunction +++ b/Asset/data/asset/functions/effect/0339.will_o_wisp/register.mcfunction @@ -36,6 +36,8 @@ data modify storage asset:effect StackVisible set value false # フィールド + data modify storage asset:effect Field.Interval._ set value 20 + data modify storage asset:effect Field.Interval.Max set value 20 data modify storage asset:effect Field.Damage set value 1 data modify storage asset:effect Field.AdditionalMPHeal set value 1 data modify storage asset:effect Field.AppliedFrom set value -1 diff --git a/Asset/data/asset/functions/effect/0339.will_o_wisp/tick/.mcfunction b/Asset/data/asset/functions/effect/0339.will_o_wisp/tick/.mcfunction index 4d6f8fd2be..baa2b2c7ef 100644 --- a/Asset/data/asset/functions/effect/0339.will_o_wisp/tick/.mcfunction +++ b/Asset/data/asset/functions/effect/0339.will_o_wisp/tick/.mcfunction @@ -5,7 +5,7 @@ # @within function asset:effect/0339.will_o_wisp/_/tick # デクリメント - execute store result storage asset:context this.Tick int 0.9999999999 run data get storage asset:context this.Tick + execute store result storage asset:context this.Interval._ int 0.9999999999 run data get storage asset:context this.Interval._ # 2tickおきにダメージを与える - execute if data storage asset:context this{Tick:0} run function asset:effect/0339.will_o_wisp/tick/deal_damage - execute if data storage asset:context this{Tick:0} run data modify storage asset:context this.Tick set value 20 + execute if data storage asset:context this.Interval{_:0} run function asset:effect/0339.will_o_wisp/tick/deal_damage + execute if data storage asset:context this.Interval{_:0} run data modify storage asset:context this.Interval._ set from storage asset:context this.Interval.Max diff --git a/Asset/data/asset/functions/effect/0339.will_o_wisp/tick/deal_damage.mcfunction b/Asset/data/asset/functions/effect/0339.will_o_wisp/tick/deal_damage.mcfunction index 07b5ae36be..2c68d4a7eb 100644 --- a/Asset/data/asset/functions/effect/0339.will_o_wisp/tick/deal_damage.mcfunction +++ b/Asset/data/asset/functions/effect/0339.will_o_wisp/tick/deal_damage.mcfunction @@ -9,7 +9,7 @@ #declare score_holder $UserID # 演出 - playsound entity.blaze.shoot player @a ~ ~ ~ 0.5 1 + playsound entity.blaze.shoot player @a ~ ~ ~ 0.3 1 particle soul_fire_flame ~ ~1.2 ~ 0.4 0.4 0.4 0.05 12 #particle minecraft:dust_color_transition 0.3 1 1 1.3 1 0.3 0.7 ~ ~1.2 ~ 0.4 0.4 0.4 0 10 From e6b3ffaf4089125909db3c3e8e8c05c557797733 Mon Sep 17 00:00:00 2001 From: Lapis-LJA <87566955+Lapis-LJA@users.noreply.github.com> Date: Sun, 30 Nov 2025 04:00:44 +0900 Subject: [PATCH 3/7] =?UTF-8?q?=E3=81=A8=E3=82=8A=E3=81=82=E3=81=88?= =?UTF-8?q?=E3=81=9A=E5=B0=84=E7=A8=8B=E3=82=92=E5=BB=B6=E9=95=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../functions/artifact/1306.will_o_wisp/give/2.give.mcfunction | 2 +- .../1306.will_o_wisp/trigger/target/forward/.mcfunction | 2 +- .../1306.will_o_wisp/trigger/target/line_of_sight.mcfunction | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Asset/data/asset/functions/artifact/1306.will_o_wisp/give/2.give.mcfunction b/Asset/data/asset/functions/artifact/1306.will_o_wisp/give/2.give.mcfunction index 855979999a..e5ef157e11 100644 --- a/Asset/data/asset/functions/artifact/1306.will_o_wisp/give/2.give.mcfunction +++ b/Asset/data/asset/functions/artifact/1306.will_o_wisp/give/2.give.mcfunction @@ -39,7 +39,7 @@ # 攻撃に関する情報 -範囲攻撃 (string) Wikiを参照 (オプション) data modify storage asset:artifact AttackInfo.IsRangeAttack set value "never" # 攻撃に関する情報 -攻撃範囲 (literal) Wikiを参照 (オプション) - data modify storage asset:artifact AttackInfo.AttackRange set value 5 + data modify storage asset:artifact AttackInfo.AttackRange set value 8 # MP消費量 (int) # data modify storage asset:artifact MPCost set value # MP必要量 (int) (オプション) diff --git a/Asset/data/asset/functions/artifact/1306.will_o_wisp/trigger/target/forward/.mcfunction b/Asset/data/asset/functions/artifact/1306.will_o_wisp/trigger/target/forward/.mcfunction index 088daf7224..c5e45ad68e 100644 --- a/Asset/data/asset/functions/artifact/1306.will_o_wisp/trigger/target/forward/.mcfunction +++ b/Asset/data/asset/functions/artifact/1306.will_o_wisp/trigger/target/forward/.mcfunction @@ -8,7 +8,7 @@ # 前方の敵にTempTargetをつける # まぁある程度適当なので横にも当たる - tag @e[type=#lib:living_without_player,tag=Enemy,tag=!Uninterferable,distance=..5] add 10A.TempTarget + execute positioned ^ ^ ^3 run tag @e[type=#lib:living_without_player,tag=Enemy,tag=!Uninterferable,distance=..5] add 10A.TempTarget execute positioned ^ ^ ^-10 run tag @e[type=#lib:living_without_player,tag=10A.TempTarget,distance=..10] remove 10A.TempTarget # 近い順に再帰で壁を貫通していないかチェックする diff --git a/Asset/data/asset/functions/artifact/1306.will_o_wisp/trigger/target/line_of_sight.mcfunction b/Asset/data/asset/functions/artifact/1306.will_o_wisp/trigger/target/line_of_sight.mcfunction index fba6cfb2e4..8c1162ac03 100644 --- a/Asset/data/asset/functions/artifact/1306.will_o_wisp/trigger/target/line_of_sight.mcfunction +++ b/Asset/data/asset/functions/artifact/1306.will_o_wisp/trigger/target/line_of_sight.mcfunction @@ -13,7 +13,7 @@ # 再帰暴走防止スコア scoreboard players add $10A.Recursive Temporary 1 - execute if score $10A.Recursive Temporary matches 10.. run return fail + execute if score $10A.Recursive Temporary matches 16.. run return fail # 再帰 execute positioned ^ ^ ^0.5 if block ~ ~ ~ #lib:no_collision/ run function asset:artifact/1306.will_o_wisp/trigger/target/line_of_sight From 250f89ce0fcfb9a16f7edc253785d8af01f5829f Mon Sep 17 00:00:00 2001 From: Lapis-LJA <87566955+Lapis-LJA@users.noreply.github.com> Date: Sun, 30 Nov 2025 05:00:33 +0900 Subject: [PATCH 4/7] =?UTF-8?q?UserID=E3=82=92=E5=85=A5=E3=82=8C=E3=81=A6?= =?UTF-8?q?=E3=81=AA=E3=81=8B=E3=81=A3=E3=81=9F=E5=95=8F=E9=A1=8C=E3=82=92?= =?UTF-8?q?=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../1306.will_o_wisp/trigger/damage_and_effect.mcfunction | 1 + 1 file changed, 1 insertion(+) diff --git a/Asset/data/asset/functions/artifact/1306.will_o_wisp/trigger/damage_and_effect.mcfunction b/Asset/data/asset/functions/artifact/1306.will_o_wisp/trigger/damage_and_effect.mcfunction index 20462bd66b..2d0c7e1e7a 100644 --- a/Asset/data/asset/functions/artifact/1306.will_o_wisp/trigger/damage_and_effect.mcfunction +++ b/Asset/data/asset/functions/artifact/1306.will_o_wisp/trigger/damage_and_effect.mcfunction @@ -27,6 +27,7 @@ # エフェクト付与 data modify storage api: Argument.ID set value 339 data modify storage api: Argument.Duration set value 100 + execute store result storage api: Argument.FieldOverride.UserID int 1 run scoreboard players get @p[tag=this] UserID execute store result storage api: Argument.FieldOverride.Damage int 1 run scoreboard players get $10A.Damage Temporary data modify storage api: Argument.FieldOverride.AdditionalMPHeal set from storage api: PersistentArgument.AdditionalMPHeal function api:entity/mob/effect/give From b094a602a47e2b6336901eba4fbb5966553a8093 Mon Sep 17 00:00:00 2001 From: Lapis-LJA <87566955+Lapis-LJA@users.noreply.github.com> Date: Sun, 30 Nov 2025 12:27:54 +0900 Subject: [PATCH 5/7] =?UTF-8?q?=E5=B0=84=E7=A8=8B=E7=9F=AD=E7=B8=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../functions/artifact/1306.will_o_wisp/give/2.give.mcfunction | 2 +- .../1306.will_o_wisp/trigger/target/forward/.mcfunction | 2 +- .../1306.will_o_wisp/trigger/target/line_of_sight.mcfunction | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Asset/data/asset/functions/artifact/1306.will_o_wisp/give/2.give.mcfunction b/Asset/data/asset/functions/artifact/1306.will_o_wisp/give/2.give.mcfunction index e5ef157e11..57da29008f 100644 --- a/Asset/data/asset/functions/artifact/1306.will_o_wisp/give/2.give.mcfunction +++ b/Asset/data/asset/functions/artifact/1306.will_o_wisp/give/2.give.mcfunction @@ -39,7 +39,7 @@ # 攻撃に関する情報 -範囲攻撃 (string) Wikiを参照 (オプション) data modify storage asset:artifact AttackInfo.IsRangeAttack set value "never" # 攻撃に関する情報 -攻撃範囲 (literal) Wikiを参照 (オプション) - data modify storage asset:artifact AttackInfo.AttackRange set value 8 + data modify storage asset:artifact AttackInfo.AttackRange set value 7 # MP消費量 (int) # data modify storage asset:artifact MPCost set value # MP必要量 (int) (オプション) diff --git a/Asset/data/asset/functions/artifact/1306.will_o_wisp/trigger/target/forward/.mcfunction b/Asset/data/asset/functions/artifact/1306.will_o_wisp/trigger/target/forward/.mcfunction index c5e45ad68e..a990cc9359 100644 --- a/Asset/data/asset/functions/artifact/1306.will_o_wisp/trigger/target/forward/.mcfunction +++ b/Asset/data/asset/functions/artifact/1306.will_o_wisp/trigger/target/forward/.mcfunction @@ -8,7 +8,7 @@ # 前方の敵にTempTargetをつける # まぁある程度適当なので横にも当たる - execute positioned ^ ^ ^3 run tag @e[type=#lib:living_without_player,tag=Enemy,tag=!Uninterferable,distance=..5] add 10A.TempTarget + execute positioned ^ ^ ^2 run tag @e[type=#lib:living_without_player,tag=Enemy,tag=!Uninterferable,distance=..5] add 10A.TempTarget execute positioned ^ ^ ^-10 run tag @e[type=#lib:living_without_player,tag=10A.TempTarget,distance=..10] remove 10A.TempTarget # 近い順に再帰で壁を貫通していないかチェックする diff --git a/Asset/data/asset/functions/artifact/1306.will_o_wisp/trigger/target/line_of_sight.mcfunction b/Asset/data/asset/functions/artifact/1306.will_o_wisp/trigger/target/line_of_sight.mcfunction index 8c1162ac03..fbe56b8430 100644 --- a/Asset/data/asset/functions/artifact/1306.will_o_wisp/trigger/target/line_of_sight.mcfunction +++ b/Asset/data/asset/functions/artifact/1306.will_o_wisp/trigger/target/line_of_sight.mcfunction @@ -13,7 +13,7 @@ # 再帰暴走防止スコア scoreboard players add $10A.Recursive Temporary 1 - execute if score $10A.Recursive Temporary matches 16.. run return fail + execute if score $10A.Recursive Temporary matches 14.. run return fail # 再帰 execute positioned ^ ^ ^0.5 if block ~ ~ ~ #lib:no_collision/ run function asset:artifact/1306.will_o_wisp/trigger/target/line_of_sight From a2610cbf8dde813f0bae467458524579864eb92a Mon Sep 17 00:00:00 2001 From: Lapis-LJA <87566955+Lapis-LJA@users.noreply.github.com> Date: Sun, 30 Nov 2025 23:23:24 +0900 Subject: [PATCH 6/7] =?UTF-8?q?=E5=B0=84=E7=A8=8B=E7=9F=AD=E7=B8=AEv2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../functions/artifact/1306.will_o_wisp/give/2.give.mcfunction | 2 +- .../1306.will_o_wisp/trigger/target/forward/.mcfunction | 2 +- .../1306.will_o_wisp/trigger/target/line_of_sight.mcfunction | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Asset/data/asset/functions/artifact/1306.will_o_wisp/give/2.give.mcfunction b/Asset/data/asset/functions/artifact/1306.will_o_wisp/give/2.give.mcfunction index 57da29008f..655b36ba72 100644 --- a/Asset/data/asset/functions/artifact/1306.will_o_wisp/give/2.give.mcfunction +++ b/Asset/data/asset/functions/artifact/1306.will_o_wisp/give/2.give.mcfunction @@ -39,7 +39,7 @@ # 攻撃に関する情報 -範囲攻撃 (string) Wikiを参照 (オプション) data modify storage asset:artifact AttackInfo.IsRangeAttack set value "never" # 攻撃に関する情報 -攻撃範囲 (literal) Wikiを参照 (オプション) - data modify storage asset:artifact AttackInfo.AttackRange set value 7 + data modify storage asset:artifact AttackInfo.AttackRange set value 6 # MP消費量 (int) # data modify storage asset:artifact MPCost set value # MP必要量 (int) (オプション) diff --git a/Asset/data/asset/functions/artifact/1306.will_o_wisp/trigger/target/forward/.mcfunction b/Asset/data/asset/functions/artifact/1306.will_o_wisp/trigger/target/forward/.mcfunction index a990cc9359..dcbcc4aa13 100644 --- a/Asset/data/asset/functions/artifact/1306.will_o_wisp/trigger/target/forward/.mcfunction +++ b/Asset/data/asset/functions/artifact/1306.will_o_wisp/trigger/target/forward/.mcfunction @@ -8,7 +8,7 @@ # 前方の敵にTempTargetをつける # まぁある程度適当なので横にも当たる - execute positioned ^ ^ ^2 run tag @e[type=#lib:living_without_player,tag=Enemy,tag=!Uninterferable,distance=..5] add 10A.TempTarget + execute positioned ^ ^ ^1 run tag @e[type=#lib:living_without_player,tag=Enemy,tag=!Uninterferable,distance=..5] add 10A.TempTarget execute positioned ^ ^ ^-10 run tag @e[type=#lib:living_without_player,tag=10A.TempTarget,distance=..10] remove 10A.TempTarget # 近い順に再帰で壁を貫通していないかチェックする diff --git a/Asset/data/asset/functions/artifact/1306.will_o_wisp/trigger/target/line_of_sight.mcfunction b/Asset/data/asset/functions/artifact/1306.will_o_wisp/trigger/target/line_of_sight.mcfunction index fbe56b8430..4c40bf7fc5 100644 --- a/Asset/data/asset/functions/artifact/1306.will_o_wisp/trigger/target/line_of_sight.mcfunction +++ b/Asset/data/asset/functions/artifact/1306.will_o_wisp/trigger/target/line_of_sight.mcfunction @@ -13,7 +13,7 @@ # 再帰暴走防止スコア scoreboard players add $10A.Recursive Temporary 1 - execute if score $10A.Recursive Temporary matches 14.. run return fail + execute if score $10A.Recursive Temporary matches 12.. run return fail # 再帰 execute positioned ^ ^ ^0.5 if block ~ ~ ~ #lib:no_collision/ run function asset:artifact/1306.will_o_wisp/trigger/target/line_of_sight From 6bfa1caa759c6bdc8ca92d4dc621ac9758aa52e7 Mon Sep 17 00:00:00 2001 From: Lapis-LJA <87566955+Lapis-LJA@users.noreply.github.com> Date: Fri, 26 Dec 2025 05:22:53 +0900 Subject: [PATCH 7/7] =?UTF-8?q?=E3=83=AA=E3=82=BB=E3=83=83=E3=83=88?= =?UTF-8?q?=E6=BC=8F=E3=82=8C=E3=82=92=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../1306.will_o_wisp/trigger/damage_and_effect.mcfunction | 3 +++ 1 file changed, 3 insertions(+) diff --git a/Asset/data/asset/functions/artifact/1306.will_o_wisp/trigger/damage_and_effect.mcfunction b/Asset/data/asset/functions/artifact/1306.will_o_wisp/trigger/damage_and_effect.mcfunction index 2d0c7e1e7a..2c7c65f4e7 100644 --- a/Asset/data/asset/functions/artifact/1306.will_o_wisp/trigger/damage_and_effect.mcfunction +++ b/Asset/data/asset/functions/artifact/1306.will_o_wisp/trigger/damage_and_effect.mcfunction @@ -32,3 +32,6 @@ data modify storage api: Argument.FieldOverride.AdditionalMPHeal set from storage api: PersistentArgument.AdditionalMPHeal function api:entity/mob/effect/give function api:entity/mob/effect/reset + +# リセット + scoreboard players reset $10A.Damage Temporary