diff --git a/Asset/data/asset/functions/artifact/1327.lunatic_torch/give/1.trigger.mcfunction b/Asset/data/asset/functions/artifact/1327.lunatic_torch/give/1.trigger.mcfunction new file mode 100644 index 0000000000..b5bd4bfcd3 --- /dev/null +++ b/Asset/data/asset/functions/artifact/1327.lunatic_torch/give/1.trigger.mcfunction @@ -0,0 +1,7 @@ +#> asset:artifact/1327.lunatic_torch/give/1.trigger +# +# 神器の取得処理の呼び出し時に実行されるfunction +# +# @within tag/function asset:artifact/give + +execute if data storage asset:context {id:1327} run function asset:artifact/1327.lunatic_torch/give/2.give \ No newline at end of file diff --git a/Asset/data/asset/functions/artifact/1327.lunatic_torch/give/2.give.mcfunction b/Asset/data/asset/functions/artifact/1327.lunatic_torch/give/2.give.mcfunction new file mode 100644 index 0000000000..8ab7d4a0fb --- /dev/null +++ b/Asset/data/asset/functions/artifact/1327.lunatic_torch/give/2.give.mcfunction @@ -0,0 +1,68 @@ +#> asset:artifact/1327.lunatic_torch/give/2.give +# +# 神器の作成部 ここでID等を定義する +# +# @user +# @within function asset:artifact/1327.lunatic_torch/give/1.trigger + +# 神器の説明や消費MPなどをここで設定する。 +# 最後にasset:artifact/common/giveを実行することで入手可能。 + +# 神器のID (int) スプレッドシートの値を入れる + data modify storage asset:artifact ID set value 1327 +# 神器のベースアイテム + data modify storage asset:artifact Item set value "minecraft:stick" +# 神器の名前 (TextComponentString) + data modify storage asset:artifact Name set value '{"text":"狂気の松明","color":"light_purple"}' +# 神器の説明文 (TextComponentString[]) + data modify storage asset:artifact Lore set value ['{"text":"自身と周囲20mの2名に","color":"white"}','{"translate":"%1$sと%2$sを10秒間付与する","with":[{"text":"魔法攻撃+10%","color":"green"},{"text":"MP回復量-25%","color":"red"}]}','{"text":"(魔法攻撃補正の高い、MPの多いプレイヤーを優先","color":"white"}','{"text":" 魔法攻撃補正が0%未満なら付与しない)","color":"white"}','{"text":"この効果はMPが10%未満になると解除される","color":"white"}','{"text":"イッツ、ルナティックターイム!","color":"gray"}'] +# 消費アイテム ({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 "offhand" +# 神器のトリガー (string) Wikiを参照 + data modify storage asset:artifact Trigger set value "onAttack" +# 神器の発動条件 (TextComponentString) (オプション) + data modify storage asset:artifact Condition set value '{"text":"MPが90%以上","color":"white"}' +# 攻撃に関する情報 -Damage量 (literal[]/literal) Wikiを参照 (オプション) + # data modify storage asset:artifact AttackInfo.Damage set value [0,0] +# 攻撃に関する情報 -攻撃タイプ (string[]) Wikiを参照 (オプション) + # data modify storage asset:artifact AttackInfo.AttackType set value [Physical,Magic] +# 攻撃に関する情報 -攻撃属性 (string[]) Wikiを参照 (オプション) + # data modify storage asset:artifact AttackInfo.ElementType set value [Fire,Water,Thunder,None] +# 攻撃に関する情報 -防御無視 (boolean) Wikiを参照 (オプション) + # data modify storage asset:artifact AttackInfo.BypassResist set value +# 攻撃に関する情報 -範囲攻撃 (string) Wikiを参照 (オプション) + # data modify storage asset:artifact AttackInfo.IsRangeAttack set value +# 攻撃に関する情報 -攻撃範囲 (literal) Wikiを参照 (オプション) + # data modify storage asset:artifact AttackInfo.AttackRange set value +# MP消費量 (int) + data modify storage asset:artifact MPCost set value 5 +# MP必要量 (int) (オプション) + # data modify storage asset:artifact MPRequire set value +# MP回復量 (int) + # data modify storage asset:artifact MPHealWhenHit set value +# 神器のクールダウン (int) (オプション) + data modify storage asset:artifact LocalCooldown set value 300 +# 種別クールダウン ({Type: string, Duration: int}) (オプション) + # data modify storage asset:artifact TypeCooldown.Type set value + # data modify storage asset:artifact TypeCooldown.Duration set value +# グローバルクールダウン (int) (オプション) + # data modify storage asset:artifact SpecialCooldown set value +# クールダウンによる使用不可のメッセージを非表示にするか否か (boolean) (オプション) + data modify storage asset:artifact DisableCooldownMessage set value true +# MP不足による使用不可のメッセージを非表示にするか否か (boolean) (オプション) + data modify storage asset:artifact DisableMPMessage set value true +# 破壊時の音を鳴らさないかどうか (boolean) (オプション) + # data modify storage asset:artifact DisableBreakSound set value +# 扱える神 (string[]) Wikiを参照 + data modify storage asset:artifact CanUsedGod set value ["Nyaptov","Wi-ki", "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/1327.lunatic_torch/register.mcfunction b/Asset/data/asset/functions/artifact/1327.lunatic_torch/register.mcfunction new file mode 100644 index 0000000000..d75df43513 --- /dev/null +++ b/Asset/data/asset/functions/artifact/1327.lunatic_torch/register.mcfunction @@ -0,0 +1,7 @@ +#> asset:artifact/1327.lunatic_torch/register +# +# 神器プールへの登録処理 +# +# @within tag/function asset:artifact/register + +data modify storage asset:artifact RarityRegistry[4] append value [1327] \ No newline at end of file diff --git a/Asset/data/asset/functions/artifact/1327.lunatic_torch/trigger/1.trigger.mcfunction b/Asset/data/asset/functions/artifact/1327.lunatic_torch/trigger/1.trigger.mcfunction new file mode 100644 index 0000000000..552ead1823 --- /dev/null +++ b/Asset/data/asset/functions/artifact/1327.lunatic_torch/trigger/1.trigger.mcfunction @@ -0,0 +1,8 @@ +#> asset:artifact/1327.lunatic_torch/trigger/1.trigger +# +# 指定したイベントタイミングで実行されるfunction +# +# @within tag/function asset:artifact/** + +# storage asset:idのoffhandに装備している神器のIDが入っているので比較し、~/2.check_condition.mcfunctionを実行する + execute if data storage asset:context id{offhand:1327} run function asset:artifact/1327.lunatic_torch/trigger/2.check_condition \ No newline at end of file diff --git a/Asset/data/asset/functions/artifact/1327.lunatic_torch/trigger/2.check_condition.mcfunction b/Asset/data/asset/functions/artifact/1327.lunatic_torch/trigger/2.check_condition.mcfunction new file mode 100644 index 0000000000..d7e79b6b2c --- /dev/null +++ b/Asset/data/asset/functions/artifact/1327.lunatic_torch/trigger/2.check_condition.mcfunction @@ -0,0 +1,30 @@ +#> asset:artifact/1327.lunatic_torch/trigger/2.check_condition +# +# 神器の発動条件をチェックします +# +# @within function asset:artifact/1327.lunatic_torch/trigger/1.trigger + +# 神器の基本的な条件の確認を行うfunction、成功している場合CanUsedタグが付く + function asset:artifact/common/check_condition/offhand +# 他にアイテム等確認する場合はここに書く + +#> Private +# @private + #declare score_holder $MPPer + +# CanUsedでないならreturn + execute if entity @s[tag=!CanUsed] run return fail + +# DoT:trueならreturn + execute if data storage asset:context Attack{IsDoT:true} run tag @s remove CanUsed + execute if entity @s[tag=!CanUsed] run return fail + +# MPが90%未満ならreturn + function api:entity/player/get_mp_per + execute store result score $MPPer Temporary run data get storage api: Return.MPPer 100 + execute unless score $MPPer Temporary matches 90.. run tag @s remove CanUsed + scoreboard players reset $MPPer Temporary + execute if entity @s[tag=!CanUsed] run return fail + +# CanUsedタグをチェックして3.main.mcfunctionを実行する + function asset:artifact/1327.lunatic_torch/trigger/3.main diff --git a/Asset/data/asset/functions/artifact/1327.lunatic_torch/trigger/3.main.mcfunction b/Asset/data/asset/functions/artifact/1327.lunatic_torch/trigger/3.main.mcfunction new file mode 100644 index 0000000000..35793cf2a0 --- /dev/null +++ b/Asset/data/asset/functions/artifact/1327.lunatic_torch/trigger/3.main.mcfunction @@ -0,0 +1,53 @@ +#> asset:artifact/1327.lunatic_torch/trigger/3.main +# +# 神器のメイン処理部 +# +# @within function asset:artifact/1327.lunatic_torch/trigger/2.check_condition + +# 基本的な使用時の処理(MP消費や使用回数の処理など)を行う + function asset:artifact/common/use/offhand + +# ここから先は神器側の効果の処理を書く + +# メモがてら仕様を書く +# 1. 自身を除く一定範囲内のプレイヤーの検索用スコアを初期化 魔法攻撃補正が100%未満なら対象としない +# 2. その中のプレイヤーからスコアが最も高いプレイヤーを1名探す、をN回繰り返す +# 3. 自身と対象にバフ付与 +# 4. リセット + +# 演出 + playsound entity.blaze.shoot player @a ~ ~ ~ 0.7 1 + playsound block.enchantment_table.use player @a ~ ~ ~ 0.8 0.9 + playsound block.enchantment_table.use player @a ~ ~ ~ 0.8 1.3 + playsound block.enchantment_table.use player @a ~ ~ ~ 0.8 1.4 + execute rotated ~ 0 anchored eyes positioned ^0.5 ^0.5 ^ run function asset:artifact/1327.lunatic_torch/trigger/vfx + +# 自身にtagを付与 + tag @s add 10V.BuffTarget + +# 自身を除く他プレイヤーのデータの初期化 + execute as @a[tag=!this,distance=..20] run function asset:artifact/1327.lunatic_torch/trigger/target_init + +# まだ対象になりうるプレイヤーがいれば、バフ対象を2人探す + execute if entity @a[tag=10V.SearchTarget,tag=!10V.BuffTarget,distance=..20] run function asset:artifact/1327.lunatic_torch/trigger/find_target + execute if entity @a[tag=10V.SearchTarget,tag=!10V.BuffTarget,distance=..20] run function asset:artifact/1327.lunatic_torch/trigger/find_target + +# バフを付与 + # 調整班用 + # 効果時間 + data modify storage api: Argument.Duration set value 200 + # 補正 + data modify storage api: Argument.FieldOverride.Modifier.MagicAttack set value 0.1 + data modify storage api: Argument.FieldOverride.Modifier.MPHeal set value -0.25 + # MPが何%以上必要か? + data modify storage api: Argument.FieldOverride.NeedMPPer set value 0.1 + + # 付与 + data modify storage api: Argument.ID set value 346 + execute as @a[tag=10V.BuffTarget,distance=..20] run function api:entity/mob/effect/give + function api:entity/mob/effect/reset + +# リセット + scoreboard players reset @a[distance=..20] Temporary + tag @a[tag=10V.BuffTarget] remove 10V.BuffTarget + tag @a[tag=10V.SearchTarget] remove 10V.SearchTarget diff --git a/Asset/data/asset/functions/artifact/1327.lunatic_torch/trigger/_index.d.mcfunction b/Asset/data/asset/functions/artifact/1327.lunatic_torch/trigger/_index.d.mcfunction new file mode 100644 index 0000000000..27ce59827e --- /dev/null +++ b/Asset/data/asset/functions/artifact/1327.lunatic_torch/trigger/_index.d.mcfunction @@ -0,0 +1,7 @@ +#> asset:artifact/1327.lunatic_torch/trigger/_index.d +# @private + +#> tag +# @within function asset:artifact/1327.lunatic_torch/trigger/** + #declare tag 10V.BuffTarget バフの対象となるプレイヤー + #declare tag 10V.SearchTarget バフの対象と"なりうる"プレイヤー diff --git a/Asset/data/asset/functions/artifact/1327.lunatic_torch/trigger/find_target.mcfunction b/Asset/data/asset/functions/artifact/1327.lunatic_torch/trigger/find_target.mcfunction new file mode 100644 index 0000000000..aff5e0e453 --- /dev/null +++ b/Asset/data/asset/functions/artifact/1327.lunatic_torch/trigger/find_target.mcfunction @@ -0,0 +1,29 @@ +#> asset:artifact/1327.lunatic_torch/trigger/find_target +# +# +# +# @within function asset:artifact/1327.lunatic_torch/trigger/3.main + +#> Private +# @private + #declare tag TempTarget + #declare score_holder $HighestScore + +# 検索対象:現在MPが最も多いプレイヤー + +# $HighestScoreの初期化 + scoreboard players set $HighestScore Temporary 0 + +# 全員のスコアと比較する + execute as @a[tag=10V.SearchTarget] run scoreboard players operation $HighestScore Temporary < @s Temporary + +# スコアが最も多いプレイヤーの中で最も近いプレイヤーにtagをつける + execute as @a[tag=10V.SearchTarget] if score @s Temporary = $HighestScore Temporary run tag @s add TempTarget + tag @a[tag=TempTarget,sort=nearest,limit=1] add 10V.BuffTarget + +# 対象となったプレイヤーのSearchTargetを削除 + tag @p[tag=TempTarget,tag=10V.BuffTarget] remove 10V.SearchTarget + +# リセット + scoreboard players reset $HighestScore Temporary + tag @a[tag=TempTarget] remove TempTarget diff --git a/Asset/data/asset/functions/artifact/1327.lunatic_torch/trigger/target_init.mcfunction b/Asset/data/asset/functions/artifact/1327.lunatic_torch/trigger/target_init.mcfunction new file mode 100644 index 0000000000..c3c1d9e879 --- /dev/null +++ b/Asset/data/asset/functions/artifact/1327.lunatic_torch/trigger/target_init.mcfunction @@ -0,0 +1,27 @@ +#> asset:artifact/1327.lunatic_torch/trigger/target_init +# +# +# +# @within function asset:artifact/1327.lunatic_torch/trigger/3.main + +#> Private +# @private + #declare score_holder $MagicAttack + #declare score_holder $CurrentMP + +# 魔法攻撃補正と現在MPを取得 + function api:modifier/attack/magic/get + function api:mp/get_current + execute store result score $MagicAttack Temporary run data get storage api: Return.Attack.Magic 100 + execute store result score $CurrentMP Temporary run data get storage api: Return.CurrentMP + +# 魔法攻撃補正が100%以上なら、SearchTargetを付与 + execute if score $MagicAttack Temporary matches 100.. run tag @s add 10V.SearchTarget + +# (魔法攻撃補正 ^2) * 現在MPを計算し、自身のTemporaryへ代入 + scoreboard players operation $MagicAttack Temporary *= $MagicAttack Temporary + execute store result score @s Temporary run scoreboard players operation $MagicAttack Temporary *= $CurrentMP Temporary + +# リセット + scoreboard players reset $MagicAttack Temporary + scoreboard players reset $CurrentMP Temporary diff --git a/Asset/data/asset/functions/artifact/1327.lunatic_torch/trigger/vfx.mcfunction b/Asset/data/asset/functions/artifact/1327.lunatic_torch/trigger/vfx.mcfunction new file mode 100644 index 0000000000..69777f9db9 --- /dev/null +++ b/Asset/data/asset/functions/artifact/1327.lunatic_torch/trigger/vfx.mcfunction @@ -0,0 +1,111 @@ +#> asset:artifact/1327.lunatic_torch/trigger/vfx +# +# +# +# @within function asset:artifact/1327.lunatic_torch/trigger/3.main + +# [ImportKey]: NobwRALgngDgpmAXGAxgSwE4oDYIDRgCuhaAJkmAIwBMAZgGxxykAMAtJQKwAsAnG9zgBmFGwCGAIwkB2NkLgtqQ3igAcQ0jTAEAdmIC2CZIDDFAASVtYGGIwGAzknAoA9oR0QknFgRRx3cDEcwADcxbEIjcAAPJG8wKFiAX0SCW1I0QgdEShZcvII7CBsPRDi4bGw0GDsjHLiMZyKIIzi0OwBRCqqa9oBHQjDsKABla19yRFowmuSAXSA_3 +# 円 1 +particle dragon_breath ~ ~ ~ ^0 ^ ^-100000 0.0000005 0 +particle dragon_breath ~ ~ ~ ^125333.23356 ^ ^-992114.70131 0.0000005 0 +particle dragon_breath ~ ~ ~ ^248689.88716 ^ ^-968583.16113 0.0000005 0 +particle dragon_breath ~ ~ ~ ^368124.55268 ^ ^-929776.48589 0.0000005 0 +particle dragon_breath ~ ~ ~ ^481753.6741 ^ ^-876306.68004 0.0000005 0 +particle dragon_breath ~ ~ ~ ^587785.25229 ^ ^-809016.99437 0.0000005 0 +particle dragon_breath ~ ~ ~ ^684547.10593 ^ ^-728968.62742 0.0000005 0 +particle dragon_breath ~ ~ ~ ^770513.24278 ^ ^-637423.98975 0.0000005 0 +particle dragon_breath ~ ~ ~ ^844327.9255 ^ ^-535826.79498 0.0000005 0 +particle dragon_breath ~ ~ ~ ^904827.05247 ^ ^-425779.29157 0.0000005 0 +particle dragon_breath ~ ~ ~ ^951056.5163 ^ ^-309016.99437 0.0000005 0 +particle dragon_breath ~ ~ ~ ^982287.25073 ^ ^-187381.31459 0.0000005 0 +particle dragon_breath ~ ~ ~ ^998026.72843 ^ ^-62790.51953 0.0000005 0 +particle dragon_breath ~ ~ ~ ^998026.72843 ^ ^62790.51953 0.0000005 0 +particle dragon_breath ~ ~ ~ ^982287.25073 ^ ^187381.31459 0.0000005 0 +particle dragon_breath ~ ~ ~ ^951056.5163 ^ ^309016.99437 0.0000005 0 +particle dragon_breath ~ ~ ~ ^904827.05247 ^ ^425779.29157 0.0000005 0 +particle dragon_breath ~ ~ ~ ^844327.9255 ^ ^535826.79498 0.0000005 0 +particle dragon_breath ~ ~ ~ ^770513.24278 ^ ^637423.98975 0.0000005 0 +particle dragon_breath ~ ~ ~ ^684547.10593 ^ ^728968.62742 0.0000005 0 +particle dragon_breath ~ ~ ~ ^587785.25229 ^ ^809016.99437 0.0000005 0 +particle dragon_breath ~ ~ ~ ^481753.6741 ^ ^876306.68004 0.0000005 0 +particle dragon_breath ~ ~ ~ ^368124.55268 ^ ^929776.48589 0.0000005 0 +particle dragon_breath ~ ~ ~ ^248689.88716 ^ ^968583.16113 0.0000005 0 +particle dragon_breath ~ ~ ~ ^125333.23356 ^ ^992114.70131 0.0000005 0 +particle dragon_breath ~ ~ ~ ^0 ^ ^100000 0.0000005 0 +particle dragon_breath ~ ~ ~ ^-125333.23356 ^ ^992114.70131 0.0000005 0 +particle dragon_breath ~ ~ ~ ^-248689.88716 ^ ^968583.16113 0.0000005 0 +particle dragon_breath ~ ~ ~ ^-368124.55268 ^ ^929776.48589 0.0000005 0 +particle dragon_breath ~ ~ ~ ^-481753.6741 ^ ^876306.68004 0.0000005 0 +particle dragon_breath ~ ~ ~ ^-587785.25229 ^ ^809016.99437 0.0000005 0 +particle dragon_breath ~ ~ ~ ^-684547.10593 ^ ^728968.62742 0.0000005 0 +particle dragon_breath ~ ~ ~ ^-770513.24278 ^ ^637423.98975 0.0000005 0 +particle dragon_breath ~ ~ ~ ^-844327.9255 ^ ^535826.79498 0.0000005 0 +particle dragon_breath ~ ~ ~ ^-904827.05247 ^ ^425779.29157 0.0000005 0 +particle dragon_breath ~ ~ ~ ^-951056.5163 ^ ^309016.99437 0.0000005 0 +particle dragon_breath ~ ~ ~ ^-982287.25073 ^ ^187381.31459 0.0000005 0 +particle dragon_breath ~ ~ ~ ^-998026.72843 ^ ^62790.51953 0.0000005 0 +particle dragon_breath ~ ~ ~ ^-998026.72843 ^ ^-62790.51953 0.0000005 0 +particle dragon_breath ~ ~ ~ ^-982287.25073 ^ ^-187381.31459 0.0000005 0 +particle dragon_breath ~ ~ ~ ^-951056.5163 ^ ^-309016.99437 0.0000005 0 +particle dragon_breath ~ ~ ~ ^-904827.05247 ^ ^-425779.29157 0.0000005 0 +particle dragon_breath ~ ~ ~ ^-844327.9255 ^ ^-535826.79498 0.0000005 0 +particle dragon_breath ~ ~ ~ ^-770513.24278 ^ ^-637423.98975 0.0000005 0 +particle dragon_breath ~ ~ ~ ^-684547.10593 ^ ^-728968.62742 0.0000005 0 +particle dragon_breath ~ ~ ~ ^-587785.25229 ^ ^-809016.99437 0.0000005 0 +particle dragon_breath ~ ~ ~ ^-481753.6741 ^ ^-876306.68004 0.0000005 0 +particle dragon_breath ~ ~ ~ ^-368124.55268 ^ ^-929776.48589 0.0000005 0 +particle dragon_breath ~ ~ ~ ^-248689.88716 ^ ^-968583.16113 0.0000005 0 +particle dragon_breath ~ ~ ~ ^-125333.23356 ^ ^-992114.70131 0.0000005 0 + +# [ImportKey]: NobwRALgngDgpmAXGAxgSwE4oDYIDRgCuhaAJkmAIwBMAZgGxxykAMAtJQKwAsAnG9zgBmFGwCGAIwkB2NkLgtqQ3igAcQ0jTAEAdmIC2CZIDDFAASVtYGGIwGAzknAoA9oR0QknFgRRx3cDEcwADcxbEIjcAAPJG8wKFiAX0SCW1I0QgdEShZcvII7CBsPRDi4bGw0GDsjHLiMZyKIIzi0OwBRCqqa9oBHQjDsKABla19yRFowmuSAXSA_3 +# 円 1 +particle flame ~ ~ ~ ^0 ^ ^-100000 0.0000005 0 +particle flame ~ ~ ~ ^125333.23356 ^ ^-992114.70131 0.0000005 0 +particle flame ~ ~ ~ ^248689.88716 ^ ^-968583.16113 0.0000005 0 +particle flame ~ ~ ~ ^368124.55268 ^ ^-929776.48589 0.0000005 0 +particle flame ~ ~ ~ ^481753.6741 ^ ^-876306.68004 0.0000005 0 +particle flame ~ ~ ~ ^587785.25229 ^ ^-809016.99437 0.0000005 0 +particle flame ~ ~ ~ ^684547.10593 ^ ^-728968.62742 0.0000005 0 +particle flame ~ ~ ~ ^770513.24278 ^ ^-637423.98975 0.0000005 0 +particle flame ~ ~ ~ ^844327.9255 ^ ^-535826.79498 0.0000005 0 +particle flame ~ ~ ~ ^904827.05247 ^ ^-425779.29157 0.0000005 0 +particle flame ~ ~ ~ ^951056.5163 ^ ^-309016.99437 0.0000005 0 +particle flame ~ ~ ~ ^982287.25073 ^ ^-187381.31459 0.0000005 0 +particle flame ~ ~ ~ ^998026.72843 ^ ^-62790.51953 0.0000005 0 +particle flame ~ ~ ~ ^998026.72843 ^ ^62790.51953 0.0000005 0 +particle flame ~ ~ ~ ^982287.25073 ^ ^187381.31459 0.0000005 0 +particle flame ~ ~ ~ ^951056.5163 ^ ^309016.99437 0.0000005 0 +particle flame ~ ~ ~ ^904827.05247 ^ ^425779.29157 0.0000005 0 +particle flame ~ ~ ~ ^844327.9255 ^ ^535826.79498 0.0000005 0 +particle flame ~ ~ ~ ^770513.24278 ^ ^637423.98975 0.0000005 0 +particle flame ~ ~ ~ ^684547.10593 ^ ^728968.62742 0.0000005 0 +particle flame ~ ~ ~ ^587785.25229 ^ ^809016.99437 0.0000005 0 +particle flame ~ ~ ~ ^481753.6741 ^ ^876306.68004 0.0000005 0 +particle flame ~ ~ ~ ^368124.55268 ^ ^929776.48589 0.0000005 0 +particle flame ~ ~ ~ ^248689.88716 ^ ^968583.16113 0.0000005 0 +particle flame ~ ~ ~ ^125333.23356 ^ ^992114.70131 0.0000005 0 +particle flame ~ ~ ~ ^0 ^ ^100000 0.0000005 0 +particle flame ~ ~ ~ ^-125333.23356 ^ ^992114.70131 0.0000005 0 +particle flame ~ ~ ~ ^-248689.88716 ^ ^968583.16113 0.0000005 0 +particle flame ~ ~ ~ ^-368124.55268 ^ ^929776.48589 0.0000005 0 +particle flame ~ ~ ~ ^-481753.6741 ^ ^876306.68004 0.0000005 0 +particle flame ~ ~ ~ ^-587785.25229 ^ ^809016.99437 0.0000005 0 +particle flame ~ ~ ~ ^-684547.10593 ^ ^728968.62742 0.0000005 0 +particle flame ~ ~ ~ ^-770513.24278 ^ ^637423.98975 0.0000005 0 +particle flame ~ ~ ~ ^-844327.9255 ^ ^535826.79498 0.0000005 0 +particle flame ~ ~ ~ ^-904827.05247 ^ ^425779.29157 0.0000005 0 +particle flame ~ ~ ~ ^-951056.5163 ^ ^309016.99437 0.0000005 0 +particle flame ~ ~ ~ ^-982287.25073 ^ ^187381.31459 0.0000005 0 +particle flame ~ ~ ~ ^-998026.72843 ^ ^62790.51953 0.0000005 0 +particle flame ~ ~ ~ ^-998026.72843 ^ ^-62790.51953 0.0000005 0 +particle flame ~ ~ ~ ^-982287.25073 ^ ^-187381.31459 0.0000005 0 +particle flame ~ ~ ~ ^-951056.5163 ^ ^-309016.99437 0.0000005 0 +particle flame ~ ~ ~ ^-904827.05247 ^ ^-425779.29157 0.0000005 0 +particle flame ~ ~ ~ ^-844327.9255 ^ ^-535826.79498 0.0000005 0 +particle flame ~ ~ ~ ^-770513.24278 ^ ^-637423.98975 0.0000005 0 +particle flame ~ ~ ~ ^-684547.10593 ^ ^-728968.62742 0.0000005 0 +particle flame ~ ~ ~ ^-587785.25229 ^ ^-809016.99437 0.0000005 0 +particle flame ~ ~ ~ ^-481753.6741 ^ ^-876306.68004 0.0000005 0 +particle flame ~ ~ ~ ^-368124.55268 ^ ^-929776.48589 0.0000005 0 +particle flame ~ ~ ~ ^-248689.88716 ^ ^-968583.16113 0.0000005 0 +particle flame ~ ~ ~ ^-125333.23356 ^ ^-992114.70131 0.0000005 0 diff --git a/Asset/data/asset/functions/effect/0346.lunatic_time/_/end.mcfunction b/Asset/data/asset/functions/effect/0346.lunatic_time/_/end.mcfunction new file mode 100644 index 0000000000..6b856b45bb --- /dev/null +++ b/Asset/data/asset/functions/effect/0346.lunatic_time/_/end.mcfunction @@ -0,0 +1,7 @@ +#> asset:effect/0346.lunatic_time/_/end +# +# Effectの効果の終了時に実行されるfunction +# +# @within tag/function asset:effect/end + +execute if data storage asset:context {id:346} run function asset:effect/0346.lunatic_time/end/ \ No newline at end of file diff --git a/Asset/data/asset/functions/effect/0346.lunatic_time/_/given.mcfunction b/Asset/data/asset/functions/effect/0346.lunatic_time/_/given.mcfunction new file mode 100644 index 0000000000..f03ad0fb3a --- /dev/null +++ b/Asset/data/asset/functions/effect/0346.lunatic_time/_/given.mcfunction @@ -0,0 +1,7 @@ +#> asset:effect/0346.lunatic_time/_/given +# +# Effectが付与された時に実行されるfunction +# +# @within tag/function asset:effect/given + +execute if data storage asset:context {id:346} run function asset:effect/0346.lunatic_time/given/ \ No newline at end of file diff --git a/Asset/data/asset/functions/effect/0346.lunatic_time/_/register.mcfunction b/Asset/data/asset/functions/effect/0346.lunatic_time/_/register.mcfunction new file mode 100644 index 0000000000..8fdd428e75 --- /dev/null +++ b/Asset/data/asset/functions/effect/0346.lunatic_time/_/register.mcfunction @@ -0,0 +1,7 @@ +#> asset:effect/0346.lunatic_time/_/register +# +# +# +# @within tag/function asset:effect/register + +execute if data storage asset:context {id:346} run function asset:effect/0346.lunatic_time/register \ No newline at end of file diff --git a/Asset/data/asset/functions/effect/0346.lunatic_time/_/remove.mcfunction b/Asset/data/asset/functions/effect/0346.lunatic_time/_/remove.mcfunction new file mode 100644 index 0000000000..5eb4b0fd78 --- /dev/null +++ b/Asset/data/asset/functions/effect/0346.lunatic_time/_/remove.mcfunction @@ -0,0 +1,7 @@ +#> asset:effect/0346.lunatic_time/_/remove +# +# Effectが神器や牛乳によって削除された時に実行されるfunction +# +# @within tag/function asset:effect/remove + +execute if data storage asset:context {id:346} run function asset:effect/0346.lunatic_time/remove/ \ No newline at end of file diff --git a/Asset/data/asset/functions/effect/0346.lunatic_time/_/tick.mcfunction b/Asset/data/asset/functions/effect/0346.lunatic_time/_/tick.mcfunction new file mode 100644 index 0000000000..b0646a6ee1 --- /dev/null +++ b/Asset/data/asset/functions/effect/0346.lunatic_time/_/tick.mcfunction @@ -0,0 +1,7 @@ +#> asset:effect/0346.lunatic_time/_/tick +# +# Effectが発動している間毎tick実行されるfunction +# +# @within tag/function asset:effect/tick + +execute if data storage asset:context {id:346} run function asset:effect/0346.lunatic_time/tick/ \ No newline at end of file diff --git a/Asset/data/asset/functions/effect/0346.lunatic_time/end/.mcfunction b/Asset/data/asset/functions/effect/0346.lunatic_time/end/.mcfunction new file mode 100644 index 0000000000..4b42575d83 --- /dev/null +++ b/Asset/data/asset/functions/effect/0346.lunatic_time/end/.mcfunction @@ -0,0 +1,8 @@ +#> asset:effect/0346.lunatic_time/end/ +# +# Effectの効果が切れた時の処理 +# +# @within function asset:effect/0346.lunatic_time/_/end + +# 補正を削除する + function asset:effect/0346.lunatic_time/modifier/remove diff --git a/Asset/data/asset/functions/effect/0346.lunatic_time/given/.mcfunction b/Asset/data/asset/functions/effect/0346.lunatic_time/given/.mcfunction new file mode 100644 index 0000000000..0c2b0693c1 --- /dev/null +++ b/Asset/data/asset/functions/effect/0346.lunatic_time/given/.mcfunction @@ -0,0 +1,8 @@ +#> asset:effect/0346.lunatic_time/given/ +# +# Effectが付与された時の処理 +# +# @within function asset:effect/0346.lunatic_time/_/given + +# 補正を付与する + function asset:effect/0346.lunatic_time/modifier/add diff --git a/Asset/data/asset/functions/effect/0346.lunatic_time/modifier/add.mcfunction b/Asset/data/asset/functions/effect/0346.lunatic_time/modifier/add.mcfunction new file mode 100644 index 0000000000..108232671e --- /dev/null +++ b/Asset/data/asset/functions/effect/0346.lunatic_time/modifier/add.mcfunction @@ -0,0 +1,17 @@ +#> asset:effect/0346.lunatic_time/modifier/add +# +# +# +# @within function asset:effect/0346.lunatic_time/given/ + +# 魔法攻撃補正 + data modify storage api: Argument.UUID set from storage asset:context this.UUID + data modify storage api: Argument.Amount set from storage asset:context this.Modifier.MagicAttack + data modify storage api: Argument.Operation set value "multiply" + function api:modifier/attack/magic/add + +# 回復補正 + data modify storage api: Argument.UUID set from storage asset:context this.UUID + data modify storage api: Argument.Amount set from storage asset:context this.Modifier.MPHeal + data modify storage api: Argument.Operation set value "multiply" + function api:modifier/mp_regen/add diff --git a/Asset/data/asset/functions/effect/0346.lunatic_time/modifier/remove.mcfunction b/Asset/data/asset/functions/effect/0346.lunatic_time/modifier/remove.mcfunction new file mode 100644 index 0000000000..645377841a --- /dev/null +++ b/Asset/data/asset/functions/effect/0346.lunatic_time/modifier/remove.mcfunction @@ -0,0 +1,15 @@ +#> asset:effect/0346.lunatic_time/modifier/remove +# +# +# +# @within function +# asset:effect/0346.lunatic_time/end/ +# asset:effect/0346.lunatic_time/remove/ + +# 魔法攻撃補正 + data modify storage api: Argument.UUID set from storage asset:context this.UUID + function api:modifier/attack/magic/remove + +# 回復補正 + data modify storage api: Argument.UUID set from storage asset:context this.UUID + function api:modifier/mp_regen/remove diff --git a/Asset/data/asset/functions/effect/0346.lunatic_time/register.mcfunction b/Asset/data/asset/functions/effect/0346.lunatic_time/register.mcfunction new file mode 100644 index 0000000000..24acae40bf --- /dev/null +++ b/Asset/data/asset/functions/effect/0346.lunatic_time/register.mcfunction @@ -0,0 +1,39 @@ +#> asset:effect/0346.lunatic_time/register +# +# Effectのデータを指定 +# +# @within function asset:effect/0346.lunatic_time/_/register + +# ExtendsSafe (boolean) (default = false) + # data modify storage asset:effect ExtendsSafe set value true +# ID (int) + data modify storage asset:effect ID set value 346 +# 名前 (TextComponentString) + data modify storage asset:effect Name set value '{"text":"ルナティックタイム","color":"light_purple"}' +# 説明文 (TextComponentString[]) + data modify storage asset:effect Description set value ['{"text":"魔法属性与ダメージが上昇し、MP回復量が大きく減少する","color":"white"}','{"text":"MP割合が一定以下になると解除される","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 1 +# 効果時間の操作方法 (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 false +# 死亡時のエフェクトの処理 (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.UUID set value [I;1,3,346,0] diff --git a/Asset/data/asset/functions/effect/0346.lunatic_time/remove/.mcfunction b/Asset/data/asset/functions/effect/0346.lunatic_time/remove/.mcfunction new file mode 100644 index 0000000000..d293199dba --- /dev/null +++ b/Asset/data/asset/functions/effect/0346.lunatic_time/remove/.mcfunction @@ -0,0 +1,8 @@ +#> asset:effect/0346.lunatic_time/remove/ +# +# Effectが削除された時の処理 +# +# @within function asset:effect/0346.lunatic_time/_/remove + +# 補正を削除する + function asset:effect/0346.lunatic_time/modifier/remove diff --git a/Asset/data/asset/functions/effect/0346.lunatic_time/tick/.mcfunction b/Asset/data/asset/functions/effect/0346.lunatic_time/tick/.mcfunction new file mode 100644 index 0000000000..f109b79a19 --- /dev/null +++ b/Asset/data/asset/functions/effect/0346.lunatic_time/tick/.mcfunction @@ -0,0 +1,12 @@ +#> asset:effect/0346.lunatic_time/tick/ +# +# Effectのtick処理 +# +# @within function asset:effect/0346.lunatic_time/_/tick + +# 演出 + execute if predicate lib:random_pass_per/8 run particle flame ~ ~1.2 ~ 0.6 0.4 0.6 0 1 normal @a + execute if predicate lib:random_pass_per/4 run particle dragon_breath ~ ~1.2 ~ 0.6 0.4 0.6 0 1 normal @a + +# MPが一定割合以下かチェックする + function asset:effect/0346.lunatic_time/tick/check_mp_per diff --git a/Asset/data/asset/functions/effect/0346.lunatic_time/tick/check_mp_per.mcfunction b/Asset/data/asset/functions/effect/0346.lunatic_time/tick/check_mp_per.mcfunction new file mode 100644 index 0000000000..ade61244ab --- /dev/null +++ b/Asset/data/asset/functions/effect/0346.lunatic_time/tick/check_mp_per.mcfunction @@ -0,0 +1,22 @@ +#> asset:effect/0346.lunatic_time/tick/check_mp_per +# +# MPが一定割合以下ならエフェクトを解除する +# +# @within function asset:effect/0346.lunatic_time/tick/ + +#> Private +# @private + #declare score_holder $MPPer + #declare score_holder $NeedMPPer + +# 必要な値を取得 + function api:entity/player/get_mp_per + execute store result score $MPPer Temporary run data get storage api: Return.MPPer 100 + execute store result score $NeedMPPer Temporary run data get storage asset:context this.NeedMPPer 100 + +# 比較して、$MPPer < $NeedMPPerならエフェクトを解除する + execute if score $MPPer Temporary < $NeedMPPer Temporary run data modify storage asset:context Duration set value 0 + +# リセット + scoreboard players reset $MPPer Temporary + scoreboard players reset $NeedMPPer Temporary diff --git a/Asset/data/asset/tags/functions/artifact/attack.json b/Asset/data/asset/tags/functions/artifact/attack.json index 2758c71743..77ed4ac469 100644 --- a/Asset/data/asset/tags/functions/artifact/attack.json +++ b/Asset/data/asset/tags/functions/artifact/attack.json @@ -1,5 +1,6 @@ { "values": [ + "asset:artifact/1327.lunatic_torch/trigger/1.trigger", "asset:artifact/0897.lightning_broach/trigger/1.trigger", "asset:artifact/0554.catastrophe/attack/1.trigger", "asset:artifact/1110.lantern_of_firefly/trigger/1.trigger", @@ -8,4 +9,4 @@ "asset:artifact/0664.soul_fire_armor/attack/1.trigger", "asset:artifact/0724.oblivious_snow/attack/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..7229477693 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/1327.lunatic_torch/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..f411fa10c3 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/1327.lunatic_torch/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/end.json b/Asset/data/asset/tags/functions/effect/end.json index 81710cbe5a..a541b36fe9 100644 --- a/Asset/data/asset/tags/functions/effect/end.json +++ b/Asset/data/asset/tags/functions/effect/end.json @@ -1,5 +1,6 @@ { "values": [ + "asset:effect/0346.lunatic_time/_/end", "asset:effect/0025.levitation/_/end", "asset:effect/0621.loyalty_shield/_/end", "asset:effect/0653.absolute_drive/_/end", diff --git a/Asset/data/asset/tags/functions/effect/given.json b/Asset/data/asset/tags/functions/effect/given.json index c20c6c5587..f99024bba9 100644 --- a/Asset/data/asset/tags/functions/effect/given.json +++ b/Asset/data/asset/tags/functions/effect/given.json @@ -1,5 +1,6 @@ { "values": [ + "asset:effect/0346.lunatic_time/_/given", "asset:effect/0315.charge_of_aurora_scythe/_/given", "asset:effect/0621.loyalty_shield/_/given", "asset:effect/0653.absolute_drive/_/given", diff --git a/Asset/data/asset/tags/functions/effect/register.json b/Asset/data/asset/tags/functions/effect/register.json index 2df8839cf1..7962cd8bf6 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/0346.lunatic_time/_/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/remove.json b/Asset/data/asset/tags/functions/effect/remove.json index 3e8ceea4eb..5d8623fd16 100644 --- a/Asset/data/asset/tags/functions/effect/remove.json +++ b/Asset/data/asset/tags/functions/effect/remove.json @@ -1,5 +1,6 @@ { "values": [ + "asset:effect/0346.lunatic_time/_/remove", "asset:effect/0025.levitation/_/remove", "asset:effect/0245.flame_hunter_attire/_/remove", "asset:effect/0255.kaguya_s_difficulties/_/remove", diff --git a/Asset/data/asset/tags/functions/effect/tick.json b/Asset/data/asset/tags/functions/effect/tick.json index 8a5fbd5389..d466873f15 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/0346.lunatic_time/_/tick", "asset:effect/0025.levitation/_/tick", "asset:effect/0244.aurora_armor/_/tick", "asset:effect/0243.oblivious_snow/_/tick",