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..655b36ba72 --- /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":"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 + # 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 "100+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 6 +# 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..c48864e657 --- /dev/null +++ b/Asset/data/asset/functions/artifact/1306.will_o_wisp/trigger/3.main.mcfunction @@ -0,0 +1,31 @@ +#> 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体をターゲットとする + 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 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 new file mode 100644 index 0000000000..28fc8bbdea --- /dev/null +++ b/Asset/data/asset/functions/artifact/1306.will_o_wisp/trigger/_index.d.mcfunction @@ -0,0 +1,8 @@ +#> asset:artifact/1306.will_o_wisp/trigger/_index.d +# @private + +#> 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..2c7c65f4e7 --- /dev/null +++ b/Asset/data/asset/functions/artifact/1306.will_o_wisp/trigger/damage_and_effect.mcfunction @@ -0,0 +1,37 @@ +#> 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.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 + function api:entity/mob/effect/reset + +# リセット + scoreboard players reset $10A.Damage Temporary 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..dcbcc4aa13 --- /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をつける +# まぁある程度適当なので横にも当たる + 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 + +# 近い順に再帰で壁を貫通していないかチェックする + 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..4c40bf7fc5 --- /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 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 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 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..e47fd94873 --- /dev/null +++ b/Asset/data/asset/functions/effect/0339.will_o_wisp/register.mcfunction @@ -0,0 +1,43 @@ +#> 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.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 new file mode 100644 index 0000000000..baa2b2c7ef --- /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.Interval._ int 0.9999999999 run data get storage asset:context this.Interval._ +# 2tickおきにダメージを与える + 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 new file mode 100644 index 0000000000..2c68d4a7eb --- /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.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 + +# ダメージを与える + 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",